Ignore:
Timestamp:
10/12/16 14:35:14 (8 years ago)
Author:
phdmakk
Message:

+ generated resources

Location:
v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist
Files:
6 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

    r61 r97  
    167167                // subclasses may override 
    168168        } 
     169        public void completeRepeatedSequence_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
     170                completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 
     171        } 
     172        public void completeRepeatRange_From(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
     173                completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 
     174        } 
     175        public void completeRepeatRange_To(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
     176                completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 
     177        } 
    169178     
    170179        public void complete_EtsiBnf(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
     
    234243                // subclasses may override 
    235244        } 
     245        public void complete_RepeatRange(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
     246                // subclasses may override 
     247        } 
    236248        public void complete_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 
    237249                // subclasses may override 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/EbnfParser.java

    r61 r97  
    4848                                        put(grammarAccess.getAtomAccess().getAlternatives(), "rule__Atom__Alternatives"); 
    4949                                        put(grammarAccess.getStringRuleAccess().getAlternatives(), "rule__StringRule__Alternatives"); 
     50                                        put(grammarAccess.getRepeatedSequenceAccess().getAlternatives_3(), "rule__RepeatedSequence__Alternatives_3"); 
    5051                                        put(grammarAccess.getEtsiBnfAccess().getGroup_0(), "rule__EtsiBnf__Group_0__0"); 
    5152                                        put(grammarAccess.getEtsiBnfAccess().getGroup_0_2(), "rule__EtsiBnf__Group_0_2__0"); 
     
    7374                                        put(grammarAccess.getOptionalSequenceAccess().getGroup(), "rule__OptionalSequence__Group__0"); 
    7475                                        put(grammarAccess.getRepeatedSequenceAccess().getGroup(), "rule__RepeatedSequence__Group__0"); 
     76                                        put(grammarAccess.getRepeatRangeAccess().getGroup(), "rule__RepeatRange__Group__0"); 
    7577                                        put(grammarAccess.getEtsiBnfAccess().getNameAssignment_0_1(), "rule__EtsiBnf__NameAssignment_0_1"); 
    7678                                        put(grammarAccess.getEtsiBnfAccess().getTypeAssignment_0_2_0(), "rule__EtsiBnf__TypeAssignment_0_2_0"); 
     
    129131                                        put(grammarAccess.getOptionalSequenceAccess().getDefinitionListAssignment_1(), "rule__OptionalSequence__DefinitionListAssignment_1"); 
    130132                                        put(grammarAccess.getRepeatedSequenceAccess().getDefinitionsAssignment_1(), "rule__RepeatedSequence__DefinitionsAssignment_1"); 
    131                                         put(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3(), "rule__RepeatedSequence__MorethanonceAssignment_3"); 
     133                                        put(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3_0(), "rule__RepeatedSequence__MorethanonceAssignment_3_0"); 
     134                                        put(grammarAccess.getRepeatedSequenceAccess().getRangeAssignment_3_1(), "rule__RepeatedSequence__RangeAssignment_3_1"); 
     135                                        put(grammarAccess.getRepeatRangeAccess().getFromAssignment_2(), "rule__RepeatRange__FromAssignment_2"); 
     136                                        put(grammarAccess.getRepeatRangeAccess().getToAssignment_4(), "rule__RepeatRange__ToAssignment_4"); 
    132137                                } 
    133138                        }; 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g

    r61 r97  
    66options { 
    77        superClass=AbstractInternalContentAssistParser; 
     8        backtrack=true; 
     9         memoize=true; 
    810         
    911} 
     
    687689 
    688690 
     691// Entry rule entryRuleRepeatRange 
     692entryRuleRepeatRange  
     693: 
     694{ before(grammarAccess.getRepeatRangeRule()); } 
     695         ruleRepeatRange 
     696{ after(grammarAccess.getRepeatRangeRule()); }  
     697         EOF  
     698; 
     699 
     700// Rule RepeatRange 
     701ruleRepeatRange 
     702    @init { 
     703                int stackSize = keepStackSize(); 
     704    } 
     705        : 
     706( 
     707{ before(grammarAccess.getRepeatRangeAccess().getGroup()); } 
     708(rule__RepeatRange__Group__0) 
     709{ after(grammarAccess.getRepeatRangeAccess().getGroup()); } 
     710) 
     711 
     712; 
     713finally { 
     714        restoreStackSize(stackSize); 
     715} 
     716 
     717 
     718 
    689719 
    690720rule__EtsiBnf__Alternatives 
     
    10101040} 
    10111041 
     1042rule__RepeatedSequence__Alternatives_3 
     1043    @init { 
     1044                int stackSize = keepStackSize(); 
     1045    } 
     1046: 
     1047( 
     1048{ before(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3_0()); } 
     1049(rule__RepeatedSequence__MorethanonceAssignment_3_0)? 
     1050{ after(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3_0()); } 
     1051) 
     1052 
     1053    |( 
     1054{ before(grammarAccess.getRepeatedSequenceAccess().getRangeAssignment_3_1()); } 
     1055(rule__RepeatedSequence__RangeAssignment_3_1)? 
     1056{ after(grammarAccess.getRepeatedSequenceAccess().getRangeAssignment_3_1()); } 
     1057) 
     1058 
     1059; 
     1060finally { 
     1061        restoreStackSize(stackSize); 
     1062} 
     1063 
    10121064 
    10131065 
     
    37573809: 
    37583810( 
    3759 { before(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3()); } 
    3760 (rule__RepeatedSequence__MorethanonceAssignment_3)? 
    3761 { after(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3()); } 
    3762 ) 
    3763  
    3764 ; 
    3765 finally { 
    3766         restoreStackSize(stackSize); 
    3767 } 
     3811{ before(grammarAccess.getRepeatedSequenceAccess().getAlternatives_3()); } 
     3812(rule__RepeatedSequence__Alternatives_3) 
     3813{ after(grammarAccess.getRepeatedSequenceAccess().getAlternatives_3()); } 
     3814) 
     3815 
     3816; 
     3817finally { 
     3818        restoreStackSize(stackSize); 
     3819} 
     3820 
     3821 
     3822 
     3823 
     3824 
     3825 
     3826 
     3827 
     3828 
     3829 
     3830rule__RepeatRange__Group__0 
     3831    @init { 
     3832                int stackSize = keepStackSize(); 
     3833    } 
     3834: 
     3835        rule__RepeatRange__Group__0__Impl 
     3836        rule__RepeatRange__Group__1 
     3837; 
     3838finally { 
     3839        restoreStackSize(stackSize); 
     3840} 
     3841 
     3842rule__RepeatRange__Group__0__Impl 
     3843    @init { 
     3844                int stackSize = keepStackSize(); 
     3845    } 
     3846: 
     3847( 
     3848{ before(grammarAccess.getRepeatRangeAccess().getNumberSignKeyword_0()); } 
     3849 
     3850        '#'  
     3851 
     3852{ after(grammarAccess.getRepeatRangeAccess().getNumberSignKeyword_0()); } 
     3853) 
     3854 
     3855; 
     3856finally { 
     3857        restoreStackSize(stackSize); 
     3858} 
     3859 
     3860 
     3861rule__RepeatRange__Group__1 
     3862    @init { 
     3863                int stackSize = keepStackSize(); 
     3864    } 
     3865: 
     3866        rule__RepeatRange__Group__1__Impl 
     3867        rule__RepeatRange__Group__2 
     3868; 
     3869finally { 
     3870        restoreStackSize(stackSize); 
     3871} 
     3872 
     3873rule__RepeatRange__Group__1__Impl 
     3874    @init { 
     3875                int stackSize = keepStackSize(); 
     3876    } 
     3877: 
     3878( 
     3879{ before(grammarAccess.getRepeatRangeAccess().getLeftParenthesisKeyword_1()); } 
     3880 
     3881        '('  
     3882 
     3883{ after(grammarAccess.getRepeatRangeAccess().getLeftParenthesisKeyword_1()); } 
     3884) 
     3885 
     3886; 
     3887finally { 
     3888        restoreStackSize(stackSize); 
     3889} 
     3890 
     3891 
     3892rule__RepeatRange__Group__2 
     3893    @init { 
     3894                int stackSize = keepStackSize(); 
     3895    } 
     3896: 
     3897        rule__RepeatRange__Group__2__Impl 
     3898        rule__RepeatRange__Group__3 
     3899; 
     3900finally { 
     3901        restoreStackSize(stackSize); 
     3902} 
     3903 
     3904rule__RepeatRange__Group__2__Impl 
     3905    @init { 
     3906                int stackSize = keepStackSize(); 
     3907    } 
     3908: 
     3909( 
     3910{ before(grammarAccess.getRepeatRangeAccess().getFromAssignment_2()); } 
     3911(rule__RepeatRange__FromAssignment_2) 
     3912{ after(grammarAccess.getRepeatRangeAccess().getFromAssignment_2()); } 
     3913) 
     3914 
     3915; 
     3916finally { 
     3917        restoreStackSize(stackSize); 
     3918} 
     3919 
     3920 
     3921rule__RepeatRange__Group__3 
     3922    @init { 
     3923                int stackSize = keepStackSize(); 
     3924    } 
     3925: 
     3926        rule__RepeatRange__Group__3__Impl 
     3927        rule__RepeatRange__Group__4 
     3928; 
     3929finally { 
     3930        restoreStackSize(stackSize); 
     3931} 
     3932 
     3933rule__RepeatRange__Group__3__Impl 
     3934    @init { 
     3935                int stackSize = keepStackSize(); 
     3936    } 
     3937: 
     3938( 
     3939{ before(grammarAccess.getRepeatRangeAccess().getCommaKeyword_3()); } 
     3940 
     3941        ','  
     3942 
     3943{ after(grammarAccess.getRepeatRangeAccess().getCommaKeyword_3()); } 
     3944) 
     3945 
     3946; 
     3947finally { 
     3948        restoreStackSize(stackSize); 
     3949} 
     3950 
     3951 
     3952rule__RepeatRange__Group__4 
     3953    @init { 
     3954                int stackSize = keepStackSize(); 
     3955    } 
     3956: 
     3957        rule__RepeatRange__Group__4__Impl 
     3958        rule__RepeatRange__Group__5 
     3959; 
     3960finally { 
     3961        restoreStackSize(stackSize); 
     3962} 
     3963 
     3964rule__RepeatRange__Group__4__Impl 
     3965    @init { 
     3966                int stackSize = keepStackSize(); 
     3967    } 
     3968: 
     3969( 
     3970{ before(grammarAccess.getRepeatRangeAccess().getToAssignment_4()); } 
     3971(rule__RepeatRange__ToAssignment_4) 
     3972{ after(grammarAccess.getRepeatRangeAccess().getToAssignment_4()); } 
     3973) 
     3974 
     3975; 
     3976finally { 
     3977        restoreStackSize(stackSize); 
     3978} 
     3979 
     3980 
     3981rule__RepeatRange__Group__5 
     3982    @init { 
     3983                int stackSize = keepStackSize(); 
     3984    } 
     3985: 
     3986        rule__RepeatRange__Group__5__Impl 
     3987; 
     3988finally { 
     3989        restoreStackSize(stackSize); 
     3990} 
     3991 
     3992rule__RepeatRange__Group__5__Impl 
     3993    @init { 
     3994                int stackSize = keepStackSize(); 
     3995    } 
     3996: 
     3997( 
     3998{ before(grammarAccess.getRepeatRangeAccess().getRightParenthesisKeyword_5()); } 
     3999 
     4000        ')'  
     4001 
     4002{ after(grammarAccess.getRepeatRangeAccess().getRightParenthesisKeyword_5()); } 
     4003) 
     4004 
     4005; 
     4006finally { 
     4007        restoreStackSize(stackSize); 
     4008} 
     4009 
     4010 
     4011 
     4012 
    37684013 
    37694014 
     
    46694914} 
    46704915 
    4671 rule__RepeatedSequence__MorethanonceAssignment_3 
    4672     @init { 
    4673                 int stackSize = keepStackSize(); 
    4674     } 
    4675 : 
    4676 ( 
    4677 { before(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0()); } 
    4678 ( 
    4679 { before(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0()); } 
     4916rule__RepeatedSequence__MorethanonceAssignment_3_0 
     4917    @init { 
     4918                int stackSize = keepStackSize(); 
     4919    } 
     4920: 
     4921( 
     4922{ before(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0()); } 
     4923( 
     4924{ before(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0()); } 
    46804925 
    46814926        '+'  
    46824927 
    4683 { after(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0()); } 
    4684 ) 
    4685  
    4686 { after(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0()); } 
     4928{ after(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0()); } 
     4929) 
     4930 
     4931{ after(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0()); } 
     4932) 
     4933 
     4934; 
     4935finally { 
     4936        restoreStackSize(stackSize); 
     4937} 
     4938 
     4939rule__RepeatedSequence__RangeAssignment_3_1 
     4940    @init { 
     4941                int stackSize = keepStackSize(); 
     4942    } 
     4943: 
     4944( 
     4945{ before(grammarAccess.getRepeatedSequenceAccess().getRangeRepeatRangeParserRuleCall_3_1_0()); } 
     4946        ruleRepeatRange{ after(grammarAccess.getRepeatedSequenceAccess().getRangeRepeatRangeParserRuleCall_3_1_0()); } 
     4947) 
     4948 
     4949; 
     4950finally { 
     4951        restoreStackSize(stackSize); 
     4952} 
     4953 
     4954rule__RepeatRange__FromAssignment_2 
     4955    @init { 
     4956                int stackSize = keepStackSize(); 
     4957    } 
     4958: 
     4959( 
     4960{ before(grammarAccess.getRepeatRangeAccess().getFromINTTerminalRuleCall_2_0()); } 
     4961        RULE_INT{ after(grammarAccess.getRepeatRangeAccess().getFromINTTerminalRuleCall_2_0()); } 
     4962) 
     4963 
     4964; 
     4965finally { 
     4966        restoreStackSize(stackSize); 
     4967} 
     4968 
     4969rule__RepeatRange__ToAssignment_4 
     4970    @init { 
     4971                int stackSize = keepStackSize(); 
     4972    } 
     4973: 
     4974( 
     4975{ before(grammarAccess.getRepeatRangeAccess().getToINTTerminalRuleCall_4_0()); } 
     4976        RULE_INT{ after(grammarAccess.getRepeatRangeAccess().getToINTTerminalRuleCall_4_0()); } 
    46874977) 
    46884978 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.tokens

    r61 r97  
    11RULE_ID=4 
     2T__40=40 
    23RULE_SECTIONHEADER=5 
     4T__41=41 
    35T__29=29 
    46T__28=28 
     
    3537RULE_INT=7 
    3638RULE_WS=10 
    37 'update'=39 
     39'update'=41 
    3840'|'=16 
    3941'::='=27 
     42'#'=34 
    4043'/'=25 
    4144';'=23 
    4245'grammar'=22 
    4346'global'=30 
    44 'core'=37 
     47'core'=39 
    4548'+'=21 
    4649')'=13 
     
    5154'}'=15 
    5255'rule'=32 
    53 '/delta'=35 
    54 '/bnf'=34 
    55 '/merge'=36 
     56'/delta'=37 
     57'/merge'=38 
     58'/bnf'=36 
    5659'{'=19 
    57 'package'=38 
     60'package'=40 
    5861'label:'=26 
    5962'combinator:'=31 
     
    6164'*'=20 
    6265'['=18 
     66','=35 
    6367']'=14 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnfLexer.java

    r61 r97  
    1313@SuppressWarnings("all") 
    1414public class InternalEbnfLexer extends Lexer { 
     15    public static final int T__40=40; 
    1516    public static final int RULE_ID=4; 
    1617    public static final int RULE_SECTIONHEADER=5; 
     18    public static final int T__41=41; 
    1719    public static final int T__29=29; 
    1820    public static final int T__28=28; 
     
    498500            int _type = T__34; 
    499501            int _channel = DEFAULT_TOKEN_CHANNEL; 
    500             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:32:7: ( '/bnf' ) 
    501             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:32:9: '/bnf' 
    502             { 
    503             match("/bnf");  
    504  
     502            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:32:7: ( '#' ) 
     503            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:32:9: '#' 
     504            { 
     505            match('#');  
    505506 
    506507            } 
     
    519520            int _type = T__35; 
    520521            int _channel = DEFAULT_TOKEN_CHANNEL; 
    521             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:33:7: ( '/delta' ) 
    522             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:33:9: '/delta' 
    523             { 
    524             match("/delta");  
    525  
     522            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:33:7: ( ',' ) 
     523            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:33:9: ',' 
     524            { 
     525            match(',');  
    526526 
    527527            } 
     
    540540            int _type = T__36; 
    541541            int _channel = DEFAULT_TOKEN_CHANNEL; 
    542             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:34:7: ( '/merge' ) 
    543             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:34:9: '/merge' 
    544             { 
    545             match("/merge");  
     542            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:34:7: ( '/bnf' ) 
     543            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:34:9: '/bnf' 
     544            { 
     545            match("/bnf");  
    546546 
    547547 
     
    561561            int _type = T__37; 
    562562            int _channel = DEFAULT_TOKEN_CHANNEL; 
    563             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:35:7: ( 'core' ) 
    564             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:35:9: 'core' 
    565             { 
    566             match("core");  
     563            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:35:7: ( '/delta' ) 
     564            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:35:9: '/delta' 
     565            { 
     566            match("/delta");  
    567567 
    568568 
     
    582582            int _type = T__38; 
    583583            int _channel = DEFAULT_TOKEN_CHANNEL; 
    584             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:36:7: ( 'package' ) 
    585             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:36:9: 'package' 
    586             { 
    587             match("package");  
     584            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:36:7: ( '/merge' ) 
     585            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:36:9: '/merge' 
     586            { 
     587            match("/merge");  
    588588 
    589589 
     
    603603            int _type = T__39; 
    604604            int _channel = DEFAULT_TOKEN_CHANNEL; 
    605             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:37:7: ( 'update' ) 
    606             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:37:9: 'update' 
     605            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:37:7: ( 'core' ) 
     606            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:37:9: 'core' 
     607            { 
     608            match("core");  
     609 
     610 
     611            } 
     612 
     613            state.type = _type; 
     614            state.channel = _channel; 
     615        } 
     616        finally { 
     617        } 
     618    } 
     619    // $ANTLR end "T__39" 
     620 
     621    // $ANTLR start "T__40" 
     622    public final void mT__40() throws RecognitionException { 
     623        try { 
     624            int _type = T__40; 
     625            int _channel = DEFAULT_TOKEN_CHANNEL; 
     626            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:38:7: ( 'package' ) 
     627            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:38:9: 'package' 
     628            { 
     629            match("package");  
     630 
     631 
     632            } 
     633 
     634            state.type = _type; 
     635            state.channel = _channel; 
     636        } 
     637        finally { 
     638        } 
     639    } 
     640    // $ANTLR end "T__40" 
     641 
     642    // $ANTLR start "T__41" 
     643    public final void mT__41() throws RecognitionException { 
     644        try { 
     645            int _type = T__41; 
     646            int _channel = DEFAULT_TOKEN_CHANNEL; 
     647            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:39:7: ( 'update' ) 
     648            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:39:9: 'update' 
    607649            { 
    608650            match("update");  
     
    617659        } 
    618660    } 
    619     // $ANTLR end "T__39" 
     661    // $ANTLR end "T__41" 
    620662 
    621663    // $ANTLR start "RULE_ID" 
     
    624666            int _type = RULE_ID; 
    625667            int _channel = DEFAULT_TOKEN_CHANNEL; 
    626             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4695:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) 
    627             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4695: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: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' | '_' )* 
    628670            { 
    629671            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { 
     
    636678                throw mse;} 
    637679 
    638             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4695: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:4985:35: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* 
    639681            loop1: 
    640682            do { 
     
    685727            int _type = RULE_INT; 
    686728            int _channel = DEFAULT_TOKEN_CHANNEL; 
    687             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4697:10: ( ( '0' .. '9' )+ ) 
    688             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4697:12: ( '0' .. '9' )+ 
    689             { 
    690             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4697:12: ( '0' .. '9' )+ 
     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' )+ 
    691733            int cnt2=0; 
    692734            loop2: 
     
    702744                switch (alt2) { 
    703745                case 1 : 
    704                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4697:13: '0' .. '9' 
     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' 
    705747                    { 
    706748                    matchRange('0','9');  
     
    734776            int _type = RULE_WS; 
    735777            int _channel = DEFAULT_TOKEN_CHANNEL; 
    736             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4699:9: ( ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ ) 
    737             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4699:11: ( ' ' | '\\t' | ( '\\r' )? '\\n' )+ 
    738             { 
    739             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4699: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: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' )+ 
    740782            int cnt4=0; 
    741783            loop4: 
     
    764806                switch (alt4) { 
    765807                case 1 : 
    766                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4699:12: ' ' 
     808                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:12: ' ' 
    767809                    { 
    768810                    match(' ');  
     
    771813                    break; 
    772814                case 2 : 
    773                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4699:16: '\\t' 
     815                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:16: '\\t' 
    774816                    { 
    775817                    match('\t');  
     
    778820                    break; 
    779821                case 3 : 
    780                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4699:21: ( '\\r' )? '\\n' 
     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' 
    781823                    { 
    782                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4699:21: ( '\\r' )? 
     824                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:21: ( '\\r' )? 
    783825                    int alt3=2; 
    784826                    int LA3_0 = input.LA(1); 
     
    789831                    switch (alt3) { 
    790832                        case 1 : 
    791                             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4699:21: '\\r' 
     833                            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4989:21: '\\r' 
    792834                            { 
    793835                            match('\r');  
     
    828870            int _type = RULE_COLON; 
    829871            int _channel = DEFAULT_TOKEN_CHANNEL; 
    830             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4701:12: ( '\"' '\"' '\"' ) 
    831             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4701:14: '\"' '\"' '\"' 
     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: '\"' '\"' '\"' 
    832874            { 
    833875            match('\"');  
     
    850892            int _type = RULE_STRING; 
    851893            int _channel = DEFAULT_TOKEN_CHANNEL; 
    852             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4703:13: ( ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) ) 
    853             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4703:15: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
    854             { 
    855             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4703:15: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
     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: ( '\"' (~ ( '\"' ) )* '\"' | '\\'' (~ ( '\\'' ) )* '\\'' ) 
    856898            int alt7=2; 
    857899            int LA7_0 = input.LA(1); 
     
    871913            switch (alt7) { 
    872914                case 1 : 
    873                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4703:16: '\"' (~ ( '\"' ) )* '\"' 
     915                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:16: '\"' (~ ( '\"' ) )* '\"' 
    874916                    { 
    875917                    match('\"');  
    876                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4703:20: (~ ( '\"' ) )* 
     918                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:20: (~ ( '\"' ) )* 
    877919                    loop5: 
    878920                    do { 
     
    887929                        switch (alt5) { 
    888930                        case 1 : 
    889                             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4703:20: ~ ( '\"' ) 
     931                            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:20: ~ ( '\"' ) 
    890932                            { 
    891933                            if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='\uFFFF') ) { 
     
    912954                    break; 
    913955                case 2 : 
    914                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4703:32: '\\'' (~ ( '\\'' ) )* '\\'' 
     956                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:32: '\\'' (~ ( '\\'' ) )* '\\'' 
    915957                    { 
    916958                    match('\'');  
    917                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4703:37: (~ ( '\\'' ) )* 
     959                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:37: (~ ( '\\'' ) )* 
    918960                    loop6: 
    919961                    do { 
     
    928970                        switch (alt6) { 
    929971                        case 1 : 
    930                             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4703:37: ~ ( '\\'' ) 
     972                            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4993:37: ~ ( '\\'' ) 
    931973                            { 
    932974                            if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='\uFFFF') ) { 
     
    9711013            int _type = RULE_SECTIONHEADER; 
    9721014            int _channel = DEFAULT_TOKEN_CHANNEL; 
    973             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4705:20: ( ( 'a' .. 'z' | 'A' .. 'Z' ) ( '.' | '0' .. '9' )+ ( ' ' | '\\t' ) (~ ( ( '\\n' | '\\r' ) ) )* ( '\\r' )? '\\n' ) 
    974             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4705: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: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' 
    9751017            { 
    9761018            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) { 
     
    9831025                throw mse;} 
    9841026 
    985             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4705:42: ( '.' | '0' .. '9' )+ 
     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' )+ 
    9861028            int cnt8=0; 
    9871029            loop8: 
     
    10301072                throw mse;} 
    10311073 
    1032             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4705:69: (~ ( ( '\\n' | '\\r' ) ) )* 
     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' ) ) )* 
    10331075            loop9: 
    10341076            do { 
     
    10431085                switch (alt9) { 
    10441086                case 1 : 
    1045                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4705:69: ~ ( ( '\\n' | '\\r' ) ) 
     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' ) ) 
    10461088                    { 
    10471089                    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') ) { 
     
    10631105            } while (true); 
    10641106 
    1065             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4705:85: ( '\\r' )? 
     1107            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4995:85: ( '\\r' )? 
    10661108            int alt10=2; 
    10671109            int LA10_0 = input.LA(1); 
     
    10721114            switch (alt10) { 
    10731115                case 1 : 
    1074                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4705:85: '\\r' 
     1116                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4995:85: '\\r' 
    10751117                    { 
    10761118                    match('\r');  
     
    10981140            int _type = RULE_SL_COMMENT; 
    10991141            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1100             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4707:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) 
    1101             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4707: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: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' )? 
    11021144            { 
    11031145            match("//");  
    11041146 
    1105             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4707:24: (~ ( ( '\\n' | '\\r' ) ) )* 
     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' ) ) )* 
    11061148            loop11: 
    11071149            do { 
     
    11161158                switch (alt11) { 
    11171159                case 1 : 
    1118                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4707:24: ~ ( ( '\\n' | '\\r' ) ) 
     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' ) ) 
    11191161                    { 
    11201162                    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') ) { 
     
    11361178            } while (true); 
    11371179 
    1138             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4707:40: ( ( '\\r' )? '\\n' )? 
     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' )? 
    11391181            int alt13=2; 
    11401182            int LA13_0 = input.LA(1); 
     
    11451187            switch (alt13) { 
    11461188                case 1 : 
    1147                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4707:41: ( '\\r' )? '\\n' 
     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' 
    11481190                    { 
    1149                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4707:41: ( '\\r' )? 
     1191                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4997:41: ( '\\r' )? 
    11501192                    int alt12=2; 
    11511193                    int LA12_0 = input.LA(1); 
     
    11561198                    switch (alt12) { 
    11571199                        case 1 : 
    1158                             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4707:41: '\\r' 
     1200                            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4997:41: '\\r' 
    11591201                            { 
    11601202                            match('\r');  
     
    11881230            int _type = RULE_ML_COMMENT; 
    11891231            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1190             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4709:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) 
    1191             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4709: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: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; } : . )* '*/' 
    11921234            { 
    11931235            match("/*");  
    11941236 
    1195             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4709: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:4999:24: ( options {greedy=false; } : . )* 
    11961238            loop14: 
    11971239            do { 
     
    12181260                switch (alt14) { 
    12191261                case 1 : 
    1220                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4709:52: . 
     1262                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4999:52: . 
    12211263                    { 
    12221264                    matchAny();  
     
    12481290            int _type = RULE_LOGIC; 
    12491291            int _channel = DEFAULT_TOKEN_CHANNEL; 
    1250             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4711:12: ( ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) ) 
    1251             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4711:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' ) 
    1252             { 
    1253             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4711: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: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' ) 
    12541296            int alt15=6; 
    12551297            alt15 = dfa15.predict(input); 
    12561298            switch (alt15) { 
    12571299                case 1 : 
    1258                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4711:15: '/and' 
     1300                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:15: '/and' 
    12591301                    { 
    12601302                    match("/and");  
     
    12641306                    break; 
    12651307                case 2 : 
    1266                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4711:22: '/or' 
     1308                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:22: '/or' 
    12671309                    { 
    12681310                    match("/or");  
     
    12721314                    break; 
    12731315                case 3 : 
    1274                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4711:28: '/andr' 
     1316                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:28: '/andr' 
    12751317                    { 
    12761318                    match("/andr");  
     
    12801322                    break; 
    12811323                case 4 : 
    1282                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4711:36: '/orr' 
     1324                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:36: '/orr' 
    12831325                    { 
    12841326                    match("/orr");  
     
    12881330                    break; 
    12891331                case 5 : 
    1290                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4711:43: '/any' 
     1332                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:43: '/any' 
    12911333                    { 
    12921334                    match("/any");  
     
    12961338                    break; 
    12971339                case 6 : 
    1298                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4711:50: '/together' 
     1340                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:5001:50: '/together' 
    12991341                    { 
    13001342                    match("/together");  
     
    13181360 
    13191361    public void mTokens() throws RecognitionException { 
    1320         // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | RULE_ID | RULE_INT | RULE_WS | RULE_COLON | RULE_STRING | RULE_SECTIONHEADER | RULE_SL_COMMENT | RULE_ML_COMMENT | RULE_LOGIC ) 
    1321         int alt16=36; 
     1362        // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | RULE_ID | RULE_INT | RULE_WS | RULE_COLON | RULE_STRING | RULE_SECTIONHEADER | RULE_SL_COMMENT | RULE_ML_COMMENT | RULE_LOGIC ) 
     1363        int alt16=38; 
    13221364        alt16 = dfa16.predict(input); 
    13231365        switch (alt16) { 
     
    15121554                break; 
    15131555            case 28 : 
    1514                 // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:172: RULE_ID 
     1556                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:172: T__40 
     1557                { 
     1558                mT__40();  
     1559 
     1560                } 
     1561                break; 
     1562            case 29 : 
     1563                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:178: T__41 
     1564                { 
     1565                mT__41();  
     1566 
     1567                } 
     1568                break; 
     1569            case 30 : 
     1570                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:184: RULE_ID 
    15151571                { 
    15161572                mRULE_ID();  
     
    15181574                } 
    15191575                break; 
    1520             case 29 : 
    1521                 // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:180: RULE_INT 
     1576            case 31 : 
     1577                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:192: RULE_INT 
    15221578                { 
    15231579                mRULE_INT();  
     
    15251581                } 
    15261582                break; 
    1527             case 30 : 
    1528                 // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:189: RULE_WS 
     1583            case 32 : 
     1584                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:201: RULE_WS 
    15291585                { 
    15301586                mRULE_WS();  
     
    15321588                } 
    15331589                break; 
    1534             case 31 : 
    1535                 // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:197: RULE_COLON 
     1590            case 33 : 
     1591                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:209: RULE_COLON 
    15361592                { 
    15371593                mRULE_COLON();  
     
    15391595                } 
    15401596                break; 
    1541             case 32 : 
    1542                 // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:208: RULE_STRING 
     1597            case 34 : 
     1598                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:220: RULE_STRING 
    15431599                { 
    15441600                mRULE_STRING();  
     
    15461602                } 
    15471603                break; 
    1548             case 33 : 
    1549                 // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:220: RULE_SECTIONHEADER 
     1604            case 35 : 
     1605                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:232: RULE_SECTIONHEADER 
    15501606                { 
    15511607                mRULE_SECTIONHEADER();  
     
    15531609                } 
    15541610                break; 
    1555             case 34 : 
    1556                 // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:239: RULE_SL_COMMENT 
     1611            case 36 : 
     1612                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:251: RULE_SL_COMMENT 
    15571613                { 
    15581614                mRULE_SL_COMMENT();  
     
    15601616                } 
    15611617                break; 
    1562             case 35 : 
    1563                 // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:255: RULE_ML_COMMENT 
     1618            case 37 : 
     1619                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:267: RULE_ML_COMMENT 
    15641620                { 
    15651621                mRULE_ML_COMMENT();  
     
    15671623                } 
    15681624                break; 
    1569             case 36 : 
    1570                 // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:271: RULE_LOGIC 
     1625            case 38 : 
     1626                // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1:283: RULE_LOGIC 
    15711627                { 
    15721628                mRULE_LOGIC();  
     
    16401696        } 
    16411697        public String getDescription() { 
    1642             return "4711:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' )"; 
     1698            return "5001:14: ( '/and' | '/or' | '/andr' | '/orr' | '/any' | '/together' )"; 
    16431699        } 
    16441700    } 
    16451701    static final String DFA16_eotS = 
    1646         "\12\uffff\1\34\1\uffff\1\34\1\50\1\34\3\uffff\6\34\5\uffff\3\34"+ 
    1647         "\1\uffff\1\34\7\uffff\6\34\1\33\12\34\1\uffff\5\34\1\112\1\113\1"+ 
    1648         "\114\7\34\3\uffff\3\34\1\127\1\130\1\uffff\2\34\1\133\1\134\2\uffff"+ 
    1649         "\1\34\1\136\2\uffff\1\34\1\uffff\2\34\1\uffff"; 
     1702        "\12\uffff\1\36\1\uffff\1\36\1\52\1\36\3\uffff\3\36\2\uffff\3\36"+ 
     1703        "\5\uffff\3\36\1\uffff\1\36\7\uffff\6\36\1\35\12\36\1\uffff\5\36"+ 
     1704        "\1\114\1\115\1\116\7\36\3\uffff\3\36\1\131\1\132\1\uffff\2\36\1"+ 
     1705        "\135\1\136\2\uffff\1\36\1\140\2\uffff\1\36\1\uffff\2\36\1\uffff"; 
    16501706    static final String DFA16_eofS = 
    1651         "\142\uffff"; 
     1707        "\144\uffff"; 
    16521708    static final String DFA16_minS = 
    1653         "\1\11\11\uffff\1\56\1\uffff\1\56\1\52\1\56\3\uffff\6\56\2\uffff"+ 
    1654         "\1\0\2\uffff\1\141\1\157\1\11\1\uffff\1\160\7\uffff\1\142\1\155"+ 
    1655         "\1\154\1\157\1\143\1\144\1\42\1\155\1\142\1\157\1\145\1\142\2\145"+ 
    1656         "\2\153\1\141\1\uffff\1\155\1\141\1\162\1\154\1\151\3\60\1\141\1"+ 
    1657         "\164\1\141\1\154\1\164\1\72\1\156\3\uffff\1\147\1\145\1\162\2\60"+ 
    1658         "\1\uffff\1\141\1\145\2\60\2\uffff\1\164\1\60\2\uffff\1\157\1\uffff"+ 
    1659         "\1\162\1\72\1\uffff"; 
     1709        "\1\11\11\uffff\1\56\1\uffff\1\56\1\52\1\56\3\uffff\3\56\2\uffff"+ 
     1710        "\3\56\2\uffff\1\0\2\uffff\1\141\1\157\1\11\1\uffff\1\160\7\uffff"+ 
     1711        "\1\142\1\155\1\154\1\157\1\143\1\144\1\42\1\155\1\142\1\157\1\145"+ 
     1712        "\1\142\2\145\2\153\1\141\1\uffff\1\155\1\141\1\162\1\154\1\151\3"+ 
     1713        "\60\1\141\1\164\1\141\1\154\1\164\1\72\1\156\3\uffff\1\147\1\145"+ 
     1714        "\1\162\2\60\1\uffff\1\141\1\145\2\60\2\uffff\1\164\1\60\2\uffff"+ 
     1715        "\1\157\1\uffff\1\162\1\72\1\uffff"; 
    16601716    static final String DFA16_maxS = 
    16611717        "\1\175\11\uffff\1\162\1\uffff\1\155\1\164\1\141\3\uffff\1\157\1"+ 
    1662         "\165\1\157\1\141\1\160\1\71\2\uffff\1\uffff\2\uffff\1\141\1\157"+ 
    1663         "\1\71\1\uffff\1\160\7\uffff\1\142\1\162\1\154\1\157\1\143\1\144"+ 
    1664         "\1\42\1\155\1\142\1\157\1\145\1\142\2\145\2\153\1\141\1\uffff\1"+ 
    1665         "\155\1\141\1\162\1\154\1\151\3\172\1\141\1\164\1\141\1\154\1\164"+ 
     1718        "\165\1\157\2\uffff\1\141\1\160\1\71\2\uffff\1\uffff\2\uffff\1\141"+ 
     1719        "\1\157\1\71\1\uffff\1\160\7\uffff\1\142\1\162\1\154\1\157\1\143"+ 
     1720        "\1\144\1\42\1\155\1\142\1\157\1\145\1\142\2\145\2\153\1\141\1\uffff"+ 
     1721        "\1\155\1\141\1\162\1\154\1\151\3\172\1\141\1\164\1\141\1\154\1\164"+ 
    16661722        "\1\72\1\156\3\uffff\1\147\1\145\1\162\2\172\1\uffff\1\141\1\145"+ 
    16671723        "\2\172\2\uffff\1\164\1\172\2\uffff\1\157\1\uffff\1\162\1\72\1\uffff"; 
    16681724    static final String DFA16_acceptS = 
    16691725        "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\uffff\1\13\3\uffff"+ 
    1670         "\1\17\1\20\1\21\6\uffff\1\35\1\36\1\uffff\1\40\1\34\3\uffff\1\41"+ 
    1671         "\1\uffff\1\26\1\27\1\30\1\42\1\43\1\44\1\15\21\uffff\1\37\17\uffff"+ 
    1672         "\1\31\1\24\1\25\5\uffff\1\16\4\uffff\1\22\1\14\2\uffff\1\33\1\12"+ 
    1673         "\1\uffff\1\32\2\uffff\1\23"; 
     1726        "\1\17\1\20\1\21\3\uffff\1\26\1\27\3\uffff\1\37\1\40\1\uffff\1\42"+ 
     1727        "\1\36\3\uffff\1\43\1\uffff\1\30\1\31\1\32\1\44\1\45\1\46\1\15\21"+ 
     1728        "\uffff\1\41\17\uffff\1\33\1\24\1\25\5\uffff\1\16\4\uffff\1\22\1"+ 
     1729        "\14\2\uffff\1\35\1\12\1\uffff\1\34\2\uffff\1\23"; 
    16741730    static final String DFA16_specialS = 
    1675         "\32\uffff\1\0\107\uffff}>"; 
     1731        "\34\uffff\1\0\107\uffff}>"; 
    16761732    static final String[] DFA16_transitionS = { 
    1677             "\2\31\2\uffff\1\31\22\uffff\1\31\1\uffff\1\32\4\uffff\1\33"+ 
    1678             "\1\5\1\1\1\10\1\11\2\uffff\1\20\1\15\12\30\1\17\1\13\1\21\4"+ 
    1679             "\uffff\32\27\1\6\1\uffff\1\2\1\uffff\1\34\1\uffff\2\27\1\22"+ 
    1680             "\3\27\1\12\1\24\1\14\2\27\1\16\3\27\1\25\1\27\1\23\2\27\1\26"+ 
    1681             "\5\27\1\7\1\4\1\3", 
    1682             "", 
    1683             "", 
    1684             "", 
    1685             "", 
    1686             "", 
    1687             "", 
    1688             "", 
    1689             "", 
    1690             "", 
    1691             "\1\40\1\uffff\12\37\62\uffff\1\36\5\uffff\1\35", 
    1692             "", 
    1693             "\1\40\1\uffff\12\37\63\uffff\1\41", 
    1694             "\1\46\4\uffff\1\45\61\uffff\1\47\1\42\1\uffff\1\43\10\uffff"+ 
    1695             "\1\44\1\uffff\1\47\4\uffff\1\47", 
    1696             "\1\40\1\uffff\12\37\47\uffff\1\51", 
    1697             "", 
    1698             "", 
    1699             "", 
    1700             "\1\40\1\uffff\12\37\65\uffff\1\52", 
    1701             "\1\40\1\uffff\12\37\73\uffff\1\53", 
    1702             "\1\40\1\uffff\12\37\65\uffff\1\54", 
    1703             "\1\40\1\uffff\12\37\47\uffff\1\55", 
    1704             "\1\40\1\uffff\12\37\66\uffff\1\56", 
    1705             "\1\40\1\uffff\12\37", 
    1706             "", 
    1707             "", 
    1708             "\42\33\1\57\uffdd\33", 
    1709             "", 
    1710             "", 
    1711             "\1\60", 
    1712             "\1\61", 
    1713             "\1\40\26\uffff\1\40\15\uffff\1\40\1\uffff\12\37", 
     1733            "\2\33\2\uffff\1\33\22\uffff\1\33\1\uffff\1\34\1\25\3\uffff\1"+ 
     1734            "\35\1\5\1\1\1\10\1\11\1\26\1\uffff\1\20\1\15\12\32\1\17\1\13"+ 
     1735            "\1\21\4\uffff\32\31\1\6\1\uffff\1\2\1\uffff\1\36\1\uffff\2\31"+ 
     1736            "\1\22\3\31\1\12\1\24\1\14\2\31\1\16\3\31\1\27\1\31\1\23\2\31"+ 
     1737            "\1\30\5\31\1\7\1\4\1\3", 
     1738            "", 
     1739            "", 
     1740            "", 
     1741            "", 
     1742            "", 
     1743            "", 
     1744            "", 
     1745            "", 
     1746            "", 
     1747            "\1\42\1\uffff\12\41\62\uffff\1\40\5\uffff\1\37", 
     1748            "", 
     1749            "\1\42\1\uffff\12\41\63\uffff\1\43", 
     1750            "\1\50\4\uffff\1\47\61\uffff\1\51\1\44\1\uffff\1\45\10\uffff"+ 
     1751            "\1\46\1\uffff\1\51\4\uffff\1\51", 
     1752            "\1\42\1\uffff\12\41\47\uffff\1\53", 
     1753            "", 
     1754            "", 
     1755            "", 
     1756            "\1\42\1\uffff\12\41\65\uffff\1\54", 
     1757            "\1\42\1\uffff\12\41\73\uffff\1\55", 
     1758            "\1\42\1\uffff\12\41\65\uffff\1\56", 
     1759            "", 
     1760            "", 
     1761            "\1\42\1\uffff\12\41\47\uffff\1\57", 
     1762            "\1\42\1\uffff\12\41\66\uffff\1\60", 
     1763            "\1\42\1\uffff\12\41", 
     1764            "", 
     1765            "", 
     1766            "\42\35\1\61\uffdd\35", 
     1767            "", 
    17141768            "", 
    17151769            "\1\62", 
    1716             "", 
    1717             "", 
    1718             "", 
    1719             "", 
    1720             "", 
    1721             "", 
    1722             "", 
    17231770            "\1\63", 
    1724             "\1\64\4\uffff\1\65", 
    1725             "\1\66", 
    1726             "\1\67", 
     1771            "\1\42\26\uffff\1\42\15\uffff\1\42\1\uffff\12\41", 
     1772            "", 
     1773            "\1\64", 
     1774            "", 
     1775            "", 
     1776            "", 
     1777            "", 
     1778            "", 
     1779            "", 
     1780            "", 
     1781            "\1\65", 
     1782            "\1\66\4\uffff\1\67", 
    17271783            "\1\70", 
    17281784            "\1\71", 
     
    17381794            "\1\103", 
    17391795            "\1\104", 
    1740             "", 
    17411796            "\1\105", 
    17421797            "\1\106", 
     1798            "", 
    17431799            "\1\107", 
    17441800            "\1\110", 
    17451801            "\1\111", 
    1746             "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34", 
    1747             "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34", 
    1748             "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34", 
    1749             "\1\115", 
    1750             "\1\116", 
     1802            "\1\112", 
     1803            "\1\113", 
     1804            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", 
     1805            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", 
     1806            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", 
    17511807            "\1\117", 
    17521808            "\1\120", 
     
    17541810            "\1\122", 
    17551811            "\1\123", 
    1756             "", 
    1757             "", 
    1758             "", 
    17591812            "\1\124", 
    17601813            "\1\125", 
     1814            "", 
     1815            "", 
     1816            "", 
    17611817            "\1\126", 
    1762             "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34", 
    1763             "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34", 
    1764             "", 
    1765             "\1\131", 
    1766             "\1\132", 
    1767             "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34", 
    1768             "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34", 
    1769             "", 
    1770             "", 
    1771             "\1\135", 
    1772             "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34", 
     1818            "\1\127", 
     1819            "\1\130", 
     1820            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", 
     1821            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", 
     1822            "", 
     1823            "\1\133", 
     1824            "\1\134", 
     1825            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", 
     1826            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", 
    17731827            "", 
    17741828            "", 
    17751829            "\1\137", 
    1776             "", 
    1777             "\1\140", 
     1830            "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", 
     1831            "", 
     1832            "", 
    17781833            "\1\141", 
     1834            "", 
     1835            "\1\142", 
     1836            "\1\143", 
    17791837            "" 
    17801838    }; 
     
    18101868        } 
    18111869        public String getDescription() { 
    1812             return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | RULE_ID | RULE_INT | RULE_WS | RULE_COLON | RULE_STRING | RULE_SECTIONHEADER | RULE_SL_COMMENT | RULE_ML_COMMENT | RULE_LOGIC );"; 
     1870            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | RULE_ID | RULE_INT | RULE_WS | RULE_COLON | RULE_STRING | RULE_SECTIONHEADER | RULE_SL_COMMENT | RULE_ML_COMMENT | RULE_LOGIC );"; 
    18131871        } 
    18141872        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 
     
    18171875            switch ( s ) { 
    18181876                    case 0 :  
    1819                         int LA16_26 = input.LA(1); 
     1877                        int LA16_28 = input.LA(1); 
    18201878 
    18211879                        s = -1; 
    1822                         if ( (LA16_26=='\"') ) {s = 47;} 
    1823  
    1824                         else if ( ((LA16_26>='\u0000' && LA16_26<='!')||(LA16_26>='#' && LA16_26<='\uFFFF')) ) {s = 27;} 
     1880                        if ( (LA16_28=='\"') ) {s = 49;} 
     1881 
     1882                        else if ( ((LA16_28>='\u0000' && LA16_28<='!')||(LA16_28>='#' && LA16_28<='\uFFFF')) ) {s = 29;} 
    18251883 
    18261884                        if ( s>=0 ) return s; 
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnfParser.java

    r61 r97  
    1919import java.util.List; 
    2020import java.util.ArrayList; 
    21  
     21import java.util.Map; 
     22import java.util.HashMap; 
    2223@SuppressWarnings("all") 
    2324public class InternalEbnfParser extends AbstractInternalContentAssistParser { 
    2425    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'", "';'", "'import'", "'/'", "'label:'", "'::='", "'.'", "'<-'", "'global'", "'combinator:'", "'rule'", "'hook'", "'/bnf'", "'/delta'", "'/merge'", "'core'", "'package'", "'update'" 
     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'" 
    2627    }; 
    2728    public static final int RULE_ID=4; 
     29    public static final int T__40=40; 
    2830    public static final int RULE_SECTIONHEADER=5; 
     31    public static final int T__41=41; 
    2932    public static final int T__29=29; 
    3033    public static final int T__28=28; 
     
    7275        public InternalEbnfParser(TokenStream input, RecognizerSharedState state) { 
    7376            super(input, state); 
     77            this.state.ruleMemo = new HashMap[356+1]; 
     78              
    7479              
    7580        } 
     
    101106 
    102107    // $ANTLR start "entryRuleEtsiBnf" 
    103     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:60:1: entryRuleEtsiBnf : ruleEtsiBnf EOF ; 
     108    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:62:1: entryRuleEtsiBnf : ruleEtsiBnf EOF ; 
    104109    public final void entryRuleEtsiBnf() throws RecognitionException { 
    105         try { 
    106             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:61:1: ( ruleEtsiBnf EOF ) 
    107             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:62:1: ruleEtsiBnf EOF 
    108             { 
    109              before(grammarAccess.getEtsiBnfRule());  
    110             pushFollow(FOLLOW_ruleEtsiBnf_in_entryRuleEtsiBnf61); 
     110        int entryRuleEtsiBnf_StartIndex = input.index(); 
     111        try { 
     112            if ( state.backtracking>0 && alreadyParsedRule(input, 1) ) { return ; } 
     113            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:63:1: ( ruleEtsiBnf EOF ) 
     114            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:64:1: ruleEtsiBnf EOF 
     115            { 
     116            if ( state.backtracking==0 ) { 
     117               before(grammarAccess.getEtsiBnfRule());  
     118            } 
     119            pushFollow(FOLLOW_ruleEtsiBnf_in_entryRuleEtsiBnf74); 
    111120            ruleEtsiBnf(); 
    112121 
    113122            state._fsp--; 
    114  
    115              after(grammarAccess.getEtsiBnfRule());  
    116             match(input,EOF,FOLLOW_EOF_in_entryRuleEtsiBnf68);  
    117  
    118             } 
    119  
    120         } 
    121         catch (RecognitionException re) { 
    122             reportError(re); 
    123             recover(input,re); 
    124         } 
    125         finally { 
     123            if (state.failed) return ; 
     124            if ( state.backtracking==0 ) { 
     125               after(grammarAccess.getEtsiBnfRule());  
     126            } 
     127            match(input,EOF,FOLLOW_EOF_in_entryRuleEtsiBnf81); if (state.failed) return ; 
     128 
     129            } 
     130 
     131        } 
     132        catch (RecognitionException re) { 
     133            reportError(re); 
     134            recover(input,re); 
     135        } 
     136        finally { 
     137            if ( state.backtracking>0 ) { memoize(input, 1, entryRuleEtsiBnf_StartIndex); } 
    126138        } 
    127139        return ; 
     
    131143 
    132144    // $ANTLR start "ruleEtsiBnf" 
    133     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:69:1: ruleEtsiBnf : ( ( rule__EtsiBnf__Alternatives ) ) ; 
     145    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:71:1: ruleEtsiBnf : ( ( rule__EtsiBnf__Alternatives ) ) ; 
    134146    public final void ruleEtsiBnf() throws RecognitionException { 
    135  
    136                         int stackSize = keepStackSize(); 
    137              
    138         try { 
    139             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:73:2: ( ( ( rule__EtsiBnf__Alternatives ) ) ) 
    140             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:74:1: ( ( rule__EtsiBnf__Alternatives ) ) 
    141             { 
    142             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:74:1: ( ( rule__EtsiBnf__Alternatives ) ) 
    143             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:75:1: ( rule__EtsiBnf__Alternatives ) 
    144             { 
    145              before(grammarAccess.getEtsiBnfAccess().getAlternatives());  
    146             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:76:1: ( rule__EtsiBnf__Alternatives ) 
    147             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:76:2: rule__EtsiBnf__Alternatives 
    148             { 
    149             pushFollow(FOLLOW_rule__EtsiBnf__Alternatives_in_ruleEtsiBnf94); 
     147        int ruleEtsiBnf_StartIndex = input.index(); 
     148 
     149                        int stackSize = keepStackSize(); 
     150             
     151        try { 
     152            if ( state.backtracking>0 && alreadyParsedRule(input, 2) ) { return ; } 
     153            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:75:2: ( ( ( rule__EtsiBnf__Alternatives ) ) ) 
     154            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:76:1: ( ( rule__EtsiBnf__Alternatives ) ) 
     155            { 
     156            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:76:1: ( ( rule__EtsiBnf__Alternatives ) ) 
     157            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:77:1: ( rule__EtsiBnf__Alternatives ) 
     158            { 
     159            if ( state.backtracking==0 ) { 
     160               before(grammarAccess.getEtsiBnfAccess().getAlternatives());  
     161            } 
     162            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:78:1: ( rule__EtsiBnf__Alternatives ) 
     163            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:78:2: rule__EtsiBnf__Alternatives 
     164            { 
     165            pushFollow(FOLLOW_rule__EtsiBnf__Alternatives_in_ruleEtsiBnf107); 
    150166            rule__EtsiBnf__Alternatives(); 
    151167 
    152168            state._fsp--; 
    153  
    154  
    155             } 
    156  
    157              after(grammarAccess.getEtsiBnfAccess().getAlternatives());  
    158  
    159             } 
    160  
    161  
    162             } 
    163  
    164         } 
    165         catch (RecognitionException re) { 
    166             reportError(re); 
    167             recover(input,re); 
    168         } 
    169         finally { 
     169            if (state.failed) return ; 
     170 
     171            } 
     172 
     173            if ( state.backtracking==0 ) { 
     174               after(grammarAccess.getEtsiBnfAccess().getAlternatives());  
     175            } 
     176 
     177            } 
     178 
     179 
     180            } 
     181 
     182        } 
     183        catch (RecognitionException re) { 
     184            reportError(re); 
     185            recover(input,re); 
     186        } 
     187        finally { 
     188            if ( state.backtracking>0 ) { memoize(input, 2, ruleEtsiBnf_StartIndex); } 
    170189 
    171190                restoreStackSize(stackSize); 
     
    178197 
    179198    // $ANTLR start "entryRuleImportSection" 
    180     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:88:1: entryRuleImportSection : ruleImportSection EOF ; 
     199    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:90:1: entryRuleImportSection : ruleImportSection EOF ; 
    181200    public final void entryRuleImportSection() throws RecognitionException { 
    182         try { 
    183             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:89:1: ( ruleImportSection EOF ) 
    184             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:90:1: ruleImportSection EOF 
    185             { 
    186              before(grammarAccess.getImportSectionRule());  
    187             pushFollow(FOLLOW_ruleImportSection_in_entryRuleImportSection121); 
     201        int entryRuleImportSection_StartIndex = input.index(); 
     202        try { 
     203            if ( state.backtracking>0 && alreadyParsedRule(input, 3) ) { return ; } 
     204            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:91:1: ( ruleImportSection EOF ) 
     205            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:92:1: ruleImportSection EOF 
     206            { 
     207            if ( state.backtracking==0 ) { 
     208               before(grammarAccess.getImportSectionRule());  
     209            } 
     210            pushFollow(FOLLOW_ruleImportSection_in_entryRuleImportSection134); 
    188211            ruleImportSection(); 
    189212 
    190213            state._fsp--; 
    191  
    192              after(grammarAccess.getImportSectionRule());  
    193             match(input,EOF,FOLLOW_EOF_in_entryRuleImportSection128);  
    194  
    195             } 
    196  
    197         } 
    198         catch (RecognitionException re) { 
    199             reportError(re); 
    200             recover(input,re); 
    201         } 
    202         finally { 
     214            if (state.failed) return ; 
     215            if ( state.backtracking==0 ) { 
     216               after(grammarAccess.getImportSectionRule());  
     217            } 
     218            match(input,EOF,FOLLOW_EOF_in_entryRuleImportSection141); if (state.failed) return ; 
     219 
     220            } 
     221 
     222        } 
     223        catch (RecognitionException re) { 
     224            reportError(re); 
     225            recover(input,re); 
     226        } 
     227        finally { 
     228            if ( state.backtracking>0 ) { memoize(input, 3, entryRuleImportSection_StartIndex); } 
    203229        } 
    204230        return ; 
     
    208234 
    209235    // $ANTLR start "ruleImportSection" 
    210     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:97:1: ruleImportSection : ( ( ( rule__ImportSection__ImportsAssignment ) ) ( ( rule__ImportSection__ImportsAssignment )* ) ) ; 
     236    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:99:1: ruleImportSection : ( ( ( rule__ImportSection__ImportsAssignment ) ) ( ( rule__ImportSection__ImportsAssignment )* ) ) ; 
    211237    public final void ruleImportSection() throws RecognitionException { 
    212  
    213                         int stackSize = keepStackSize(); 
    214              
    215         try { 
    216             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:101:2: ( ( ( ( rule__ImportSection__ImportsAssignment ) ) ( ( rule__ImportSection__ImportsAssignment )* ) ) ) 
    217             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:102:1: ( ( ( rule__ImportSection__ImportsAssignment ) ) ( ( rule__ImportSection__ImportsAssignment )* ) ) 
    218             { 
    219             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:102:1: ( ( ( rule__ImportSection__ImportsAssignment ) ) ( ( rule__ImportSection__ImportsAssignment )* ) ) 
    220             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:103:1: ( ( rule__ImportSection__ImportsAssignment ) ) ( ( rule__ImportSection__ImportsAssignment )* ) 
    221             { 
    222             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:103:1: ( ( rule__ImportSection__ImportsAssignment ) ) 
    223             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:104:1: ( rule__ImportSection__ImportsAssignment ) 
    224             { 
    225              before(grammarAccess.getImportSectionAccess().getImportsAssignment());  
    226             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:105:1: ( rule__ImportSection__ImportsAssignment ) 
    227             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:105:2: rule__ImportSection__ImportsAssignment 
    228             { 
    229             pushFollow(FOLLOW_rule__ImportSection__ImportsAssignment_in_ruleImportSection156); 
     238        int ruleImportSection_StartIndex = input.index(); 
     239 
     240                        int stackSize = keepStackSize(); 
     241             
     242        try { 
     243            if ( state.backtracking>0 && alreadyParsedRule(input, 4) ) { return ; } 
     244            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:103:2: ( ( ( ( rule__ImportSection__ImportsAssignment ) ) ( ( rule__ImportSection__ImportsAssignment )* ) ) ) 
     245            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:104:1: ( ( ( rule__ImportSection__ImportsAssignment ) ) ( ( rule__ImportSection__ImportsAssignment )* ) ) 
     246            { 
     247            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:104:1: ( ( ( rule__ImportSection__ImportsAssignment ) ) ( ( rule__ImportSection__ImportsAssignment )* ) ) 
     248            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:105:1: ( ( rule__ImportSection__ImportsAssignment ) ) ( ( rule__ImportSection__ImportsAssignment )* ) 
     249            { 
     250            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:105:1: ( ( rule__ImportSection__ImportsAssignment ) ) 
     251            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:106:1: ( rule__ImportSection__ImportsAssignment ) 
     252            { 
     253            if ( state.backtracking==0 ) { 
     254               before(grammarAccess.getImportSectionAccess().getImportsAssignment());  
     255            } 
     256            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:107:1: ( rule__ImportSection__ImportsAssignment ) 
     257            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:107:2: rule__ImportSection__ImportsAssignment 
     258            { 
     259            pushFollow(FOLLOW_rule__ImportSection__ImportsAssignment_in_ruleImportSection169); 
    230260            rule__ImportSection__ImportsAssignment(); 
    231261 
    232262            state._fsp--; 
    233  
    234  
    235             } 
    236  
    237              after(grammarAccess.getImportSectionAccess().getImportsAssignment());  
    238  
    239             } 
    240  
    241             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:108:1: ( ( rule__ImportSection__ImportsAssignment )* ) 
    242             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:109:1: ( rule__ImportSection__ImportsAssignment )* 
    243             { 
    244              before(grammarAccess.getImportSectionAccess().getImportsAssignment());  
    245             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:110:1: ( rule__ImportSection__ImportsAssignment )* 
     263            if (state.failed) return ; 
     264 
     265            } 
     266 
     267            if ( state.backtracking==0 ) { 
     268               after(grammarAccess.getImportSectionAccess().getImportsAssignment());  
     269            } 
     270 
     271            } 
     272 
     273            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:110:1: ( ( rule__ImportSection__ImportsAssignment )* ) 
     274            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:111:1: ( rule__ImportSection__ImportsAssignment )* 
     275            { 
     276            if ( state.backtracking==0 ) { 
     277               before(grammarAccess.getImportSectionAccess().getImportsAssignment());  
     278            } 
     279            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:112:1: ( rule__ImportSection__ImportsAssignment )* 
    246280            loop1: 
    247281            do { 
     
    256290                switch (alt1) { 
    257291                case 1 : 
    258                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:110:2: rule__ImportSection__ImportsAssignment 
     292                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:112:2: rule__ImportSection__ImportsAssignment 
    259293                    { 
    260                     pushFollow(FOLLOW_rule__ImportSection__ImportsAssignment_in_ruleImportSection168); 
     294                    pushFollow(FOLLOW_rule__ImportSection__ImportsAssignment_in_ruleImportSection181); 
    261295                    rule__ImportSection__ImportsAssignment(); 
    262296 
    263297                    state._fsp--; 
    264  
     298                    if (state.failed) return ; 
    265299 
    266300                    } 
     
    272306            } while (true); 
    273307 
    274              after(grammarAccess.getImportSectionAccess().getImportsAssignment());  
    275  
    276             } 
    277  
    278  
    279             } 
    280  
    281  
    282             } 
    283  
    284         } 
    285         catch (RecognitionException re) { 
    286             reportError(re); 
    287             recover(input,re); 
    288         } 
    289         finally { 
     308            if ( state.backtracking==0 ) { 
     309               after(grammarAccess.getImportSectionAccess().getImportsAssignment());  
     310            } 
     311 
     312            } 
     313 
     314 
     315            } 
     316 
     317 
     318            } 
     319 
     320        } 
     321        catch (RecognitionException re) { 
     322            reportError(re); 
     323            recover(input,re); 
     324        } 
     325        finally { 
     326            if ( state.backtracking>0 ) { memoize(input, 4, ruleImportSection_StartIndex); } 
    290327 
    291328                restoreStackSize(stackSize); 
     
    298335 
    299336    // $ANTLR start "entryRuleBnfEntry" 
    300     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:123:1: entryRuleBnfEntry : ruleBnfEntry EOF ; 
     337    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:125:1: entryRuleBnfEntry : ruleBnfEntry EOF ; 
    301338    public final void entryRuleBnfEntry() throws RecognitionException { 
    302         try { 
    303             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:124:1: ( ruleBnfEntry EOF ) 
    304             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:125:1: ruleBnfEntry EOF 
    305             { 
    306              before(grammarAccess.getBnfEntryRule());  
    307             pushFollow(FOLLOW_ruleBnfEntry_in_entryRuleBnfEntry198); 
     339        int entryRuleBnfEntry_StartIndex = input.index(); 
     340        try { 
     341            if ( state.backtracking>0 && alreadyParsedRule(input, 5) ) { return ; } 
     342            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:126:1: ( ruleBnfEntry EOF ) 
     343            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:127:1: ruleBnfEntry EOF 
     344            { 
     345            if ( state.backtracking==0 ) { 
     346               before(grammarAccess.getBnfEntryRule());  
     347            } 
     348            pushFollow(FOLLOW_ruleBnfEntry_in_entryRuleBnfEntry211); 
    308349            ruleBnfEntry(); 
    309350 
    310351            state._fsp--; 
    311  
    312              after(grammarAccess.getBnfEntryRule());  
    313             match(input,EOF,FOLLOW_EOF_in_entryRuleBnfEntry205);  
    314  
    315             } 
    316  
    317         } 
    318         catch (RecognitionException re) { 
    319             reportError(re); 
    320             recover(input,re); 
    321         } 
    322         finally { 
     352            if (state.failed) return ; 
     353            if ( state.backtracking==0 ) { 
     354               after(grammarAccess.getBnfEntryRule());  
     355            } 
     356            match(input,EOF,FOLLOW_EOF_in_entryRuleBnfEntry218); if (state.failed) return ; 
     357 
     358            } 
     359 
     360        } 
     361        catch (RecognitionException re) { 
     362            reportError(re); 
     363            recover(input,re); 
     364        } 
     365        finally { 
     366            if ( state.backtracking>0 ) { memoize(input, 5, entryRuleBnfEntry_StartIndex); } 
    323367        } 
    324368        return ; 
     
    328372 
    329373    // $ANTLR start "ruleBnfEntry" 
    330     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:132:1: ruleBnfEntry : ( ( rule__BnfEntry__Alternatives ) ) ; 
     374    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:134:1: ruleBnfEntry : ( ( rule__BnfEntry__Alternatives ) ) ; 
    331375    public final void ruleBnfEntry() throws RecognitionException { 
    332  
    333                         int stackSize = keepStackSize(); 
    334              
    335         try { 
    336             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:136:2: ( ( ( rule__BnfEntry__Alternatives ) ) ) 
    337             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:137:1: ( ( rule__BnfEntry__Alternatives ) ) 
    338             { 
    339             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:137:1: ( ( rule__BnfEntry__Alternatives ) ) 
    340             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:138:1: ( rule__BnfEntry__Alternatives ) 
    341             { 
    342              before(grammarAccess.getBnfEntryAccess().getAlternatives());  
    343             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:139:1: ( rule__BnfEntry__Alternatives ) 
    344             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:139:2: rule__BnfEntry__Alternatives 
    345             { 
    346             pushFollow(FOLLOW_rule__BnfEntry__Alternatives_in_ruleBnfEntry231); 
     376        int ruleBnfEntry_StartIndex = input.index(); 
     377 
     378                        int stackSize = keepStackSize(); 
     379             
     380        try { 
     381            if ( state.backtracking>0 && alreadyParsedRule(input, 6) ) { return ; } 
     382            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:138:2: ( ( ( rule__BnfEntry__Alternatives ) ) ) 
     383            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:139:1: ( ( rule__BnfEntry__Alternatives ) ) 
     384            { 
     385            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:139:1: ( ( rule__BnfEntry__Alternatives ) ) 
     386            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:140:1: ( rule__BnfEntry__Alternatives ) 
     387            { 
     388            if ( state.backtracking==0 ) { 
     389               before(grammarAccess.getBnfEntryAccess().getAlternatives());  
     390            } 
     391            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:141:1: ( rule__BnfEntry__Alternatives ) 
     392            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:141:2: rule__BnfEntry__Alternatives 
     393            { 
     394            pushFollow(FOLLOW_rule__BnfEntry__Alternatives_in_ruleBnfEntry244); 
    347395            rule__BnfEntry__Alternatives(); 
    348396 
    349397            state._fsp--; 
    350  
    351  
    352             } 
    353  
    354              after(grammarAccess.getBnfEntryAccess().getAlternatives());  
    355  
    356             } 
    357  
    358  
    359             } 
    360  
    361         } 
    362         catch (RecognitionException re) { 
    363             reportError(re); 
    364             recover(input,re); 
    365         } 
    366         finally { 
     398            if (state.failed) return ; 
     399 
     400            } 
     401 
     402            if ( state.backtracking==0 ) { 
     403               after(grammarAccess.getBnfEntryAccess().getAlternatives());  
     404            } 
     405 
     406            } 
     407 
     408 
     409            } 
     410 
     411        } 
     412        catch (RecognitionException re) { 
     413            reportError(re); 
     414            recover(input,re); 
     415        } 
     416        finally { 
     417            if ( state.backtracking>0 ) { memoize(input, 6, ruleBnfEntry_StartIndex); } 
    367418 
    368419                restoreStackSize(stackSize); 
     
    375426 
    376427    // $ANTLR start "entryRuleDeltaEntry" 
    377     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:151:1: entryRuleDeltaEntry : ruleDeltaEntry EOF ; 
     428    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:153:1: entryRuleDeltaEntry : ruleDeltaEntry EOF ; 
    378429    public final void entryRuleDeltaEntry() throws RecognitionException { 
    379         try { 
    380             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:152:1: ( ruleDeltaEntry EOF ) 
    381             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:153:1: ruleDeltaEntry EOF 
    382             { 
    383              before(grammarAccess.getDeltaEntryRule());  
    384             pushFollow(FOLLOW_ruleDeltaEntry_in_entryRuleDeltaEntry258); 
     430        int entryRuleDeltaEntry_StartIndex = input.index(); 
     431        try { 
     432            if ( state.backtracking>0 && alreadyParsedRule(input, 7) ) { return ; } 
     433            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:154:1: ( ruleDeltaEntry EOF ) 
     434            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:155:1: ruleDeltaEntry EOF 
     435            { 
     436            if ( state.backtracking==0 ) { 
     437               before(grammarAccess.getDeltaEntryRule());  
     438            } 
     439            pushFollow(FOLLOW_ruleDeltaEntry_in_entryRuleDeltaEntry271); 
    385440            ruleDeltaEntry(); 
    386441 
    387442            state._fsp--; 
    388  
    389              after(grammarAccess.getDeltaEntryRule());  
    390             match(input,EOF,FOLLOW_EOF_in_entryRuleDeltaEntry265);  
    391  
    392             } 
    393  
    394         } 
    395         catch (RecognitionException re) { 
    396             reportError(re); 
    397             recover(input,re); 
    398         } 
    399         finally { 
     443            if (state.failed) return ; 
     444            if ( state.backtracking==0 ) { 
     445               after(grammarAccess.getDeltaEntryRule());  
     446            } 
     447            match(input,EOF,FOLLOW_EOF_in_entryRuleDeltaEntry278); if (state.failed) return ; 
     448 
     449            } 
     450 
     451        } 
     452        catch (RecognitionException re) { 
     453            reportError(re); 
     454            recover(input,re); 
     455        } 
     456        finally { 
     457            if ( state.backtracking>0 ) { memoize(input, 7, entryRuleDeltaEntry_StartIndex); } 
    400458        } 
    401459        return ; 
     
    405463 
    406464    // $ANTLR start "ruleDeltaEntry" 
    407     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:160:1: ruleDeltaEntry : ( ( rule__DeltaEntry__Alternatives ) ) ; 
     465    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:162:1: ruleDeltaEntry : ( ( rule__DeltaEntry__Alternatives ) ) ; 
    408466    public final void ruleDeltaEntry() throws RecognitionException { 
    409  
    410                         int stackSize = keepStackSize(); 
    411              
    412         try { 
    413             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:164:2: ( ( ( rule__DeltaEntry__Alternatives ) ) ) 
    414             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:165:1: ( ( rule__DeltaEntry__Alternatives ) ) 
    415             { 
    416             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:165:1: ( ( rule__DeltaEntry__Alternatives ) ) 
    417             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:166:1: ( rule__DeltaEntry__Alternatives ) 
    418             { 
    419              before(grammarAccess.getDeltaEntryAccess().getAlternatives());  
    420             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:167:1: ( rule__DeltaEntry__Alternatives ) 
    421             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:167:2: rule__DeltaEntry__Alternatives 
    422             { 
    423             pushFollow(FOLLOW_rule__DeltaEntry__Alternatives_in_ruleDeltaEntry291); 
     467        int ruleDeltaEntry_StartIndex = input.index(); 
     468 
     469                        int stackSize = keepStackSize(); 
     470             
     471        try { 
     472            if ( state.backtracking>0 && alreadyParsedRule(input, 8) ) { return ; } 
     473            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:166:2: ( ( ( rule__DeltaEntry__Alternatives ) ) ) 
     474            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:167:1: ( ( rule__DeltaEntry__Alternatives ) ) 
     475            { 
     476            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:167:1: ( ( rule__DeltaEntry__Alternatives ) ) 
     477            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:168:1: ( rule__DeltaEntry__Alternatives ) 
     478            { 
     479            if ( state.backtracking==0 ) { 
     480               before(grammarAccess.getDeltaEntryAccess().getAlternatives());  
     481            } 
     482            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:169:1: ( rule__DeltaEntry__Alternatives ) 
     483            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:169:2: rule__DeltaEntry__Alternatives 
     484            { 
     485            pushFollow(FOLLOW_rule__DeltaEntry__Alternatives_in_ruleDeltaEntry304); 
    424486            rule__DeltaEntry__Alternatives(); 
    425487 
    426488            state._fsp--; 
    427  
    428  
    429             } 
    430  
    431              after(grammarAccess.getDeltaEntryAccess().getAlternatives());  
    432  
    433             } 
    434  
    435  
    436             } 
    437  
    438         } 
    439         catch (RecognitionException re) { 
    440             reportError(re); 
    441             recover(input,re); 
    442         } 
    443         finally { 
     489            if (state.failed) return ; 
     490 
     491            } 
     492 
     493            if ( state.backtracking==0 ) { 
     494               after(grammarAccess.getDeltaEntryAccess().getAlternatives());  
     495            } 
     496 
     497            } 
     498 
     499 
     500            } 
     501 
     502        } 
     503        catch (RecognitionException re) { 
     504            reportError(re); 
     505            recover(input,re); 
     506        } 
     507        finally { 
     508            if ( state.backtracking>0 ) { memoize(input, 8, ruleDeltaEntry_StartIndex); } 
    444509 
    445510                restoreStackSize(stackSize); 
     
    452517 
    453518    // $ANTLR start "entryRuleMergeEntry" 
    454     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:179:1: entryRuleMergeEntry : ruleMergeEntry EOF ; 
     519    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:181:1: entryRuleMergeEntry : ruleMergeEntry EOF ; 
    455520    public final void entryRuleMergeEntry() throws RecognitionException { 
    456         try { 
    457             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:180:1: ( ruleMergeEntry EOF ) 
    458             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:181:1: ruleMergeEntry EOF 
    459             { 
    460              before(grammarAccess.getMergeEntryRule());  
    461             pushFollow(FOLLOW_ruleMergeEntry_in_entryRuleMergeEntry318); 
     521        int entryRuleMergeEntry_StartIndex = input.index(); 
     522        try { 
     523            if ( state.backtracking>0 && alreadyParsedRule(input, 9) ) { return ; } 
     524            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:182:1: ( ruleMergeEntry EOF ) 
     525            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:183:1: ruleMergeEntry EOF 
     526            { 
     527            if ( state.backtracking==0 ) { 
     528               before(grammarAccess.getMergeEntryRule());  
     529            } 
     530            pushFollow(FOLLOW_ruleMergeEntry_in_entryRuleMergeEntry331); 
    462531            ruleMergeEntry(); 
    463532 
    464533            state._fsp--; 
    465  
    466              after(grammarAccess.getMergeEntryRule());  
    467             match(input,EOF,FOLLOW_EOF_in_entryRuleMergeEntry325);  
    468  
    469             } 
    470  
    471         } 
    472         catch (RecognitionException re) { 
    473             reportError(re); 
    474             recover(input,re); 
    475         } 
    476         finally { 
     534            if (state.failed) return ; 
     535            if ( state.backtracking==0 ) { 
     536               after(grammarAccess.getMergeEntryRule());  
     537            } 
     538            match(input,EOF,FOLLOW_EOF_in_entryRuleMergeEntry338); if (state.failed) return ; 
     539 
     540            } 
     541 
     542        } 
     543        catch (RecognitionException re) { 
     544            reportError(re); 
     545            recover(input,re); 
     546        } 
     547        finally { 
     548            if ( state.backtracking>0 ) { memoize(input, 9, entryRuleMergeEntry_StartIndex); } 
    477549        } 
    478550        return ; 
     
    482554 
    483555    // $ANTLR start "ruleMergeEntry" 
    484     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:188:1: ruleMergeEntry : ( ( rule__MergeEntry__Alternatives ) ) ; 
     556    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:190:1: ruleMergeEntry : ( ( rule__MergeEntry__Alternatives ) ) ; 
    485557    public final void ruleMergeEntry() throws RecognitionException { 
    486  
    487                         int stackSize = keepStackSize(); 
    488              
    489         try { 
    490             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:192:2: ( ( ( rule__MergeEntry__Alternatives ) ) ) 
    491             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:193:1: ( ( rule__MergeEntry__Alternatives ) ) 
    492             { 
    493             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:193:1: ( ( rule__MergeEntry__Alternatives ) ) 
    494             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:194:1: ( rule__MergeEntry__Alternatives ) 
    495             { 
    496              before(grammarAccess.getMergeEntryAccess().getAlternatives());  
    497             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:195:1: ( rule__MergeEntry__Alternatives ) 
    498             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:195:2: rule__MergeEntry__Alternatives 
    499             { 
    500             pushFollow(FOLLOW_rule__MergeEntry__Alternatives_in_ruleMergeEntry351); 
     558        int ruleMergeEntry_StartIndex = input.index(); 
     559 
     560                        int stackSize = keepStackSize(); 
     561             
     562        try { 
     563            if ( state.backtracking>0 && alreadyParsedRule(input, 10) ) { return ; } 
     564            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:194:2: ( ( ( rule__MergeEntry__Alternatives ) ) ) 
     565            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:195:1: ( ( rule__MergeEntry__Alternatives ) ) 
     566            { 
     567            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:195:1: ( ( rule__MergeEntry__Alternatives ) ) 
     568            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:196:1: ( rule__MergeEntry__Alternatives ) 
     569            { 
     570            if ( state.backtracking==0 ) { 
     571               before(grammarAccess.getMergeEntryAccess().getAlternatives());  
     572            } 
     573            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:197:1: ( rule__MergeEntry__Alternatives ) 
     574            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:197:2: rule__MergeEntry__Alternatives 
     575            { 
     576            pushFollow(FOLLOW_rule__MergeEntry__Alternatives_in_ruleMergeEntry364); 
    501577            rule__MergeEntry__Alternatives(); 
    502578 
    503579            state._fsp--; 
    504  
    505  
    506             } 
    507  
    508              after(grammarAccess.getMergeEntryAccess().getAlternatives());  
    509  
    510             } 
    511  
    512  
    513             } 
    514  
    515         } 
    516         catch (RecognitionException re) { 
    517             reportError(re); 
    518             recover(input,re); 
    519         } 
    520         finally { 
     580            if (state.failed) return ; 
     581 
     582            } 
     583 
     584            if ( state.backtracking==0 ) { 
     585               after(grammarAccess.getMergeEntryAccess().getAlternatives());  
     586            } 
     587 
     588            } 
     589 
     590 
     591            } 
     592 
     593        } 
     594        catch (RecognitionException re) { 
     595            reportError(re); 
     596            recover(input,re); 
     597        } 
     598        finally { 
     599            if ( state.backtracking>0 ) { memoize(input, 10, ruleMergeEntry_StartIndex); } 
    521600 
    522601                restoreStackSize(stackSize); 
     
    529608 
    530609    // $ANTLR start "entryRuleSectionHeading" 
    531     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:207:1: entryRuleSectionHeading : ruleSectionHeading EOF ; 
     610    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:209:1: entryRuleSectionHeading : ruleSectionHeading EOF ; 
    532611    public final void entryRuleSectionHeading() throws RecognitionException { 
    533         try { 
    534             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:208:1: ( ruleSectionHeading EOF ) 
    535             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:209:1: ruleSectionHeading EOF 
    536             { 
    537              before(grammarAccess.getSectionHeadingRule());  
    538             pushFollow(FOLLOW_ruleSectionHeading_in_entryRuleSectionHeading378); 
     612        int entryRuleSectionHeading_StartIndex = input.index(); 
     613        try { 
     614            if ( state.backtracking>0 && alreadyParsedRule(input, 11) ) { return ; } 
     615            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:210:1: ( ruleSectionHeading EOF ) 
     616            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:211:1: ruleSectionHeading EOF 
     617            { 
     618            if ( state.backtracking==0 ) { 
     619               before(grammarAccess.getSectionHeadingRule());  
     620            } 
     621            pushFollow(FOLLOW_ruleSectionHeading_in_entryRuleSectionHeading391); 
    539622            ruleSectionHeading(); 
    540623 
    541624            state._fsp--; 
    542  
    543              after(grammarAccess.getSectionHeadingRule());  
    544             match(input,EOF,FOLLOW_EOF_in_entryRuleSectionHeading385);  
    545  
    546             } 
    547  
    548         } 
    549         catch (RecognitionException re) { 
    550             reportError(re); 
    551             recover(input,re); 
    552         } 
    553         finally { 
     625            if (state.failed) return ; 
     626            if ( state.backtracking==0 ) { 
     627               after(grammarAccess.getSectionHeadingRule());  
     628            } 
     629            match(input,EOF,FOLLOW_EOF_in_entryRuleSectionHeading398); if (state.failed) return ; 
     630 
     631            } 
     632 
     633        } 
     634        catch (RecognitionException re) { 
     635            reportError(re); 
     636            recover(input,re); 
     637        } 
     638        finally { 
     639            if ( state.backtracking>0 ) { memoize(input, 11, entryRuleSectionHeading_StartIndex); } 
    554640        } 
    555641        return ; 
     
    559645 
    560646    // $ANTLR start "ruleSectionHeading" 
    561     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:216:1: ruleSectionHeading : ( ( rule__SectionHeading__Group__0 ) ) ; 
     647    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:218:1: ruleSectionHeading : ( ( rule__SectionHeading__Group__0 ) ) ; 
    562648    public final void ruleSectionHeading() throws RecognitionException { 
    563  
    564                         int stackSize = keepStackSize(); 
    565              
    566         try { 
    567             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:220:2: ( ( ( rule__SectionHeading__Group__0 ) ) ) 
    568             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:221:1: ( ( rule__SectionHeading__Group__0 ) ) 
    569             { 
    570             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:221:1: ( ( rule__SectionHeading__Group__0 ) ) 
    571             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:222:1: ( rule__SectionHeading__Group__0 ) 
    572             { 
    573              before(grammarAccess.getSectionHeadingAccess().getGroup());  
    574             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:223:1: ( rule__SectionHeading__Group__0 ) 
    575             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:223:2: rule__SectionHeading__Group__0 
    576             { 
    577             pushFollow(FOLLOW_rule__SectionHeading__Group__0_in_ruleSectionHeading411); 
     649        int ruleSectionHeading_StartIndex = input.index(); 
     650 
     651                        int stackSize = keepStackSize(); 
     652             
     653        try { 
     654            if ( state.backtracking>0 && alreadyParsedRule(input, 12) ) { return ; } 
     655            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:222:2: ( ( ( rule__SectionHeading__Group__0 ) ) ) 
     656            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:223:1: ( ( rule__SectionHeading__Group__0 ) ) 
     657            { 
     658            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:223:1: ( ( rule__SectionHeading__Group__0 ) ) 
     659            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:224:1: ( rule__SectionHeading__Group__0 ) 
     660            { 
     661            if ( state.backtracking==0 ) { 
     662               before(grammarAccess.getSectionHeadingAccess().getGroup());  
     663            } 
     664            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:225:1: ( rule__SectionHeading__Group__0 ) 
     665            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:225:2: rule__SectionHeading__Group__0 
     666            { 
     667            pushFollow(FOLLOW_rule__SectionHeading__Group__0_in_ruleSectionHeading424); 
    578668            rule__SectionHeading__Group__0(); 
    579669 
    580670            state._fsp--; 
    581  
    582  
    583             } 
    584  
    585              after(grammarAccess.getSectionHeadingAccess().getGroup());  
    586  
    587             } 
    588  
    589  
    590             } 
    591  
    592         } 
    593         catch (RecognitionException re) { 
    594             reportError(re); 
    595             recover(input,re); 
    596         } 
    597         finally { 
     671            if (state.failed) return ; 
     672 
     673            } 
     674 
     675            if ( state.backtracking==0 ) { 
     676               after(grammarAccess.getSectionHeadingAccess().getGroup());  
     677            } 
     678 
     679            } 
     680 
     681 
     682            } 
     683 
     684        } 
     685        catch (RecognitionException re) { 
     686            reportError(re); 
     687            recover(input,re); 
     688        } 
     689        finally { 
     690            if ( state.backtracking>0 ) { memoize(input, 12, ruleSectionHeading_StartIndex); } 
    598691 
    599692                restoreStackSize(stackSize); 
     
    606699 
    607700    // $ANTLR start "entryRuleImport" 
    608     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:235:1: entryRuleImport : ruleImport EOF ; 
     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 ; 
    609702    public final void entryRuleImport() throws RecognitionException { 
    610         try { 
    611             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:236:1: ( ruleImport EOF ) 
    612             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:237:1: ruleImport EOF 
    613             { 
    614              before(grammarAccess.getImportRule());  
    615             pushFollow(FOLLOW_ruleImport_in_entryRuleImport438); 
     703        int entryRuleImport_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: ( 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 
     708            { 
     709            if ( state.backtracking==0 ) { 
     710               before(grammarAccess.getImportRule());  
     711            } 
     712            pushFollow(FOLLOW_ruleImport_in_entryRuleImport451); 
    616713            ruleImport(); 
    617714 
    618715            state._fsp--; 
    619  
    620              after(grammarAccess.getImportRule());  
    621             match(input,EOF,FOLLOW_EOF_in_entryRuleImport445);  
    622  
    623             } 
    624  
    625         } 
    626         catch (RecognitionException re) { 
    627             reportError(re); 
    628             recover(input,re); 
    629         } 
    630         finally { 
     716            if (state.failed) return ; 
     717            if ( state.backtracking==0 ) { 
     718               after(grammarAccess.getImportRule());  
     719            } 
     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); } 
    631731        } 
    632732        return ; 
     
    636736 
    637737    // $ANTLR start "ruleImport" 
    638     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:244:1: ruleImport : ( ( rule__Import__Group__0 ) ) ; 
     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 ) ) ; 
    639739    public final void ruleImport() throws RecognitionException { 
    640  
    641                         int stackSize = keepStackSize(); 
    642              
    643         try { 
    644             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:248:2: ( ( ( rule__Import__Group__0 ) ) ) 
    645             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:249:1: ( ( rule__Import__Group__0 ) ) 
    646             { 
    647             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:249:1: ( ( rule__Import__Group__0 ) ) 
    648             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:250:1: ( rule__Import__Group__0 ) 
    649             { 
    650              before(grammarAccess.getImportAccess().getGroup());  
    651             // ../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 ) 
    652             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:251:2: rule__Import__Group__0 
    653             { 
    654             pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport471); 
     740        int ruleImport_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__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 ) 
     751            { 
     752            if ( state.backtracking==0 ) { 
     753               before(grammarAccess.getImportAccess().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__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); 
    655759            rule__Import__Group__0(); 
    656760 
    657761            state._fsp--; 
    658  
    659  
    660             } 
    661  
    662              after(grammarAccess.getImportAccess().getGroup());  
    663  
    664             } 
    665  
    666  
    667             } 
    668  
    669         } 
    670         catch (RecognitionException re) { 
    671             reportError(re); 
    672             recover(input,re); 
    673         } 
    674         finally { 
     762            if (state.failed) return ; 
     763 
     764            } 
     765 
     766            if ( state.backtracking==0 ) { 
     767               after(grammarAccess.getImportAccess().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, ruleImport_StartIndex); } 
    675782 
    676783                restoreStackSize(stackSize); 
     
    683790 
    684791    // $ANTLR start "entryRuleRule" 
    685     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:263:1: entryRuleRule : ruleRule EOF ; 
     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 ; 
    686793    public final void entryRuleRule() throws RecognitionException { 
    687         try { 
    688             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:264:1: ( ruleRule EOF ) 
    689             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:265:1: ruleRule EOF 
    690             { 
    691              before(grammarAccess.getRuleRule());  
    692             pushFollow(FOLLOW_ruleRule_in_entryRuleRule498); 
     794        int entryRuleRule_StartIndex = input.index(); 
     795        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 
     799            { 
     800            if ( state.backtracking==0 ) { 
     801               before(grammarAccess.getRuleRule());  
     802            } 
     803            pushFollow(FOLLOW_ruleRule_in_entryRuleRule511); 
    693804            ruleRule(); 
    694805 
    695806            state._fsp--; 
    696  
    697              after(grammarAccess.getRuleRule());  
    698             match(input,EOF,FOLLOW_EOF_in_entryRuleRule505);  
    699  
    700             } 
    701  
    702         } 
    703         catch (RecognitionException re) { 
    704             reportError(re); 
    705             recover(input,re); 
    706         } 
    707         finally { 
     807            if (state.failed) return ; 
     808            if ( state.backtracking==0 ) { 
     809               after(grammarAccess.getRuleRule());  
     810            } 
     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); } 
    708822        } 
    709823        return ; 
     
    713827 
    714828    // $ANTLR start "ruleRule" 
    715     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:272:1: ruleRule : ( ( rule__Rule__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: ruleRule : ( ( rule__Rule__Group__0 ) ) ; 
    716830    public final void ruleRule() throws RecognitionException { 
    717  
    718                         int stackSize = keepStackSize(); 
    719              
    720         try { 
    721             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:276:2: ( ( ( rule__Rule__Group__0 ) ) ) 
    722             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:277:1: ( ( rule__Rule__Group__0 ) ) 
    723             { 
    724             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:277:1: ( ( rule__Rule__Group__0 ) ) 
    725             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:278:1: ( rule__Rule__Group__0 ) 
    726             { 
    727              before(grammarAccess.getRuleAccess().getGroup());  
    728             // ../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 ) 
    729             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:279:2: rule__Rule__Group__0 
    730             { 
    731             pushFollow(FOLLOW_rule__Rule__Group__0_in_ruleRule531); 
     831        int ruleRule_StartIndex = input.index(); 
     832 
     833                        int stackSize = keepStackSize(); 
     834             
     835        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 ) 
     842            { 
     843            if ( state.backtracking==0 ) { 
     844               before(grammarAccess.getRuleAccess().getGroup());  
     845            } 
     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); 
    732850            rule__Rule__Group__0(); 
    733851 
    734852            state._fsp--; 
    735  
    736  
    737             } 
    738  
    739              after(grammarAccess.getRuleAccess().getGroup());  
    740  
    741             } 
    742  
    743  
    744             } 
    745  
    746         } 
    747         catch (RecognitionException re) { 
    748             reportError(re); 
    749             recover(input,re); 
    750         } 
    751         finally { 
     853            if (state.failed) return ; 
     854 
     855            } 
     856 
     857            if ( state.backtracking==0 ) { 
     858               after(grammarAccess.getRuleAccess().getGroup());  
     859            } 
     860 
     861            } 
     862 
     863 
     864            } 
     865 
     866        } 
     867        catch (RecognitionException re) { 
     868            reportError(re); 
     869            recover(input,re); 
     870        } 
     871        finally { 
     872            if ( state.backtracking>0 ) { memoize(input, 16, ruleRule_StartIndex); } 
    752873 
    753874                restoreStackSize(stackSize); 
     
    760881 
    761882    // $ANTLR start "entryRuleExtRule" 
    762     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:291:1: entryRuleExtRule : ruleExtRule EOF ; 
     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 ; 
    763884    public final void entryRuleExtRule() throws RecognitionException { 
    764         try { 
    765             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:292:1: ( ruleExtRule EOF ) 
    766             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:293:1: ruleExtRule EOF 
    767             { 
    768              before(grammarAccess.getExtRuleRule());  
    769             pushFollow(FOLLOW_ruleExtRule_in_entryRuleExtRule558); 
     885        int entryRuleExtRule_StartIndex = input.index(); 
     886        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 
     890            { 
     891            if ( state.backtracking==0 ) { 
     892               before(grammarAccess.getExtRuleRule());  
     893            } 
     894            pushFollow(FOLLOW_ruleExtRule_in_entryRuleExtRule571); 
    770895            ruleExtRule(); 
    771896 
    772897            state._fsp--; 
    773  
    774              after(grammarAccess.getExtRuleRule());  
    775             match(input,EOF,FOLLOW_EOF_in_entryRuleExtRule565);  
    776  
    777             } 
    778  
    779         } 
    780         catch (RecognitionException re) { 
    781             reportError(re); 
    782             recover(input,re); 
    783         } 
    784         finally { 
     898            if (state.failed) return ; 
     899            if ( state.backtracking==0 ) { 
     900               after(grammarAccess.getExtRuleRule());  
     901            } 
     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); } 
    785913        } 
    786914        return ; 
     
    790918 
    791919    // $ANTLR start "ruleExtRule" 
    792     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:300:1: ruleExtRule : ( ( rule__ExtRule__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: ruleExtRule : ( ( rule__ExtRule__Group__0 ) ) ; 
    793921    public final void ruleExtRule() throws RecognitionException { 
    794  
    795                         int stackSize = keepStackSize(); 
    796              
    797         try { 
    798             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:304:2: ( ( ( rule__ExtRule__Group__0 ) ) ) 
    799             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:305:1: ( ( rule__ExtRule__Group__0 ) ) 
    800             { 
    801             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:305:1: ( ( rule__ExtRule__Group__0 ) ) 
    802             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:306:1: ( rule__ExtRule__Group__0 ) 
    803             { 
    804              before(grammarAccess.getExtRuleAccess().getGroup());  
    805             // ../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 ) 
    806             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:307:2: rule__ExtRule__Group__0 
    807             { 
    808             pushFollow(FOLLOW_rule__ExtRule__Group__0_in_ruleExtRule591); 
     922        int ruleExtRule_StartIndex = input.index(); 
     923 
     924                        int stackSize = keepStackSize(); 
     925             
     926        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 ) 
     933            { 
     934            if ( state.backtracking==0 ) { 
     935               before(grammarAccess.getExtRuleAccess().getGroup());  
     936            } 
     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); 
    809941            rule__ExtRule__Group__0(); 
    810942 
    811943            state._fsp--; 
    812  
    813  
    814             } 
    815  
    816              after(grammarAccess.getExtRuleAccess().getGroup());  
    817  
    818             } 
    819  
    820  
    821             } 
    822  
    823         } 
    824         catch (RecognitionException re) { 
    825             reportError(re); 
    826             recover(input,re); 
    827         } 
    828         finally { 
     944            if (state.failed) return ; 
     945 
     946            } 
     947 
     948            if ( state.backtracking==0 ) { 
     949               after(grammarAccess.getExtRuleAccess().getGroup());  
     950            } 
     951 
     952            } 
     953 
     954 
     955            } 
     956 
     957        } 
     958        catch (RecognitionException re) { 
     959            reportError(re); 
     960            recover(input,re); 
     961        } 
     962        finally { 
     963            if ( state.backtracking>0 ) { memoize(input, 18, ruleExtRule_StartIndex); } 
    829964 
    830965                restoreStackSize(stackSize); 
     
    837972 
    838973    // $ANTLR start "entryRuleMergeRule" 
    839     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:319:1: entryRuleMergeRule : ruleMergeRule EOF ; 
     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 ; 
    840975    public final void entryRuleMergeRule() throws RecognitionException { 
    841         try { 
    842             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:320:1: ( ruleMergeRule EOF ) 
    843             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:321:1: ruleMergeRule EOF 
    844             { 
    845              before(grammarAccess.getMergeRuleRule());  
    846             pushFollow(FOLLOW_ruleMergeRule_in_entryRuleMergeRule618); 
     976        int entryRuleMergeRule_StartIndex = input.index(); 
     977        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 
     981            { 
     982            if ( state.backtracking==0 ) { 
     983               before(grammarAccess.getMergeRuleRule());  
     984            } 
     985            pushFollow(FOLLOW_ruleMergeRule_in_entryRuleMergeRule631); 
    847986            ruleMergeRule(); 
    848987 
    849988            state._fsp--; 
    850  
    851              after(grammarAccess.getMergeRuleRule());  
    852             match(input,EOF,FOLLOW_EOF_in_entryRuleMergeRule625);  
    853  
    854             } 
    855  
    856         } 
    857         catch (RecognitionException re) { 
    858             reportError(re); 
    859             recover(input,re); 
    860         } 
    861         finally { 
     989            if (state.failed) return ; 
     990            if ( state.backtracking==0 ) { 
     991               after(grammarAccess.getMergeRuleRule());  
     992            } 
     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); } 
    8621004        } 
    8631005        return ; 
     
    8671009 
    8681010    // $ANTLR start "ruleMergeRule" 
    869     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:328:1: ruleMergeRule : ( ( rule__MergeRule__Alternatives ) ) ; 
     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 ) ) ; 
    8701012    public final void ruleMergeRule() throws RecognitionException { 
    871  
    872                         int stackSize = keepStackSize(); 
    873              
    874         try { 
    875             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:332:2: ( ( ( rule__MergeRule__Alternatives ) ) ) 
    876             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:333:1: ( ( rule__MergeRule__Alternatives ) ) 
    877             { 
    878             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:333:1: ( ( rule__MergeRule__Alternatives ) ) 
    879             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:334:1: ( rule__MergeRule__Alternatives ) 
    880             { 
    881              before(grammarAccess.getMergeRuleAccess().getAlternatives());  
    882             // ../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 ) 
    883             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:335:2: rule__MergeRule__Alternatives 
    884             { 
    885             pushFollow(FOLLOW_rule__MergeRule__Alternatives_in_ruleMergeRule651); 
     1013        int ruleMergeRule_StartIndex = input.index(); 
     1014 
     1015                        int stackSize = keepStackSize(); 
     1016             
     1017        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 ) 
     1024            { 
     1025            if ( state.backtracking==0 ) { 
     1026               before(grammarAccess.getMergeRuleAccess().getAlternatives());  
     1027            } 
     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); 
    8861032            rule__MergeRule__Alternatives(); 
    8871033 
    8881034            state._fsp--; 
    889  
    890  
    891             } 
    892  
    893              after(grammarAccess.getMergeRuleAccess().getAlternatives());  
    894  
    895             } 
    896  
    897  
    898             } 
    899  
    900         } 
    901         catch (RecognitionException re) { 
    902             reportError(re); 
    903             recover(input,re); 
    904         } 
    905         finally { 
     1035            if (state.failed) return ; 
     1036 
     1037            } 
     1038 
     1039            if ( state.backtracking==0 ) { 
     1040               after(grammarAccess.getMergeRuleAccess().getAlternatives());  
     1041            } 
     1042 
     1043            } 
     1044 
     1045 
     1046            } 
     1047 
     1048        } 
     1049        catch (RecognitionException re) { 
     1050            reportError(re); 
     1051            recover(input,re); 
     1052        } 
     1053        finally { 
     1054            if ( state.backtracking>0 ) { memoize(input, 20, ruleMergeRule_StartIndex); } 
    9061055 
    9071056                restoreStackSize(stackSize); 
     
    9141063 
    9151064    // $ANTLR start "entryRuleGlobalCombinator" 
    916     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:347:1: entryRuleGlobalCombinator : ruleGlobalCombinator EOF ; 
     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 ; 
    9171066    public final void entryRuleGlobalCombinator() throws RecognitionException { 
    918         try { 
    919             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:348:1: ( ruleGlobalCombinator EOF ) 
    920             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:349:1: ruleGlobalCombinator EOF 
    921             { 
    922              before(grammarAccess.getGlobalCombinatorRule());  
    923             pushFollow(FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator678); 
     1067        int entryRuleGlobalCombinator_StartIndex = input.index(); 
     1068        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 
     1072            { 
     1073            if ( state.backtracking==0 ) { 
     1074               before(grammarAccess.getGlobalCombinatorRule());  
     1075            } 
     1076            pushFollow(FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator691); 
    9241077            ruleGlobalCombinator(); 
    9251078 
    9261079            state._fsp--; 
    927  
    928              after(grammarAccess.getGlobalCombinatorRule());  
    929             match(input,EOF,FOLLOW_EOF_in_entryRuleGlobalCombinator685);  
    930  
    931             } 
    932  
    933         } 
    934         catch (RecognitionException re) { 
    935             reportError(re); 
    936             recover(input,re); 
    937         } 
    938         finally { 
     1080            if (state.failed) return ; 
     1081            if ( state.backtracking==0 ) { 
     1082               after(grammarAccess.getGlobalCombinatorRule());  
     1083            } 
     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); } 
    9391095        } 
    9401096        return ; 
     
    9441100 
    9451101    // $ANTLR start "ruleGlobalCombinator" 
    946     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:356:1: ruleGlobalCombinator : ( ( rule__GlobalCombinator__Group__0 ) ) ; 
     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 ) ) ; 
    9471103    public final void ruleGlobalCombinator() throws RecognitionException { 
    948  
    949                         int stackSize = keepStackSize(); 
    950              
    951         try { 
    952             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:360:2: ( ( ( rule__GlobalCombinator__Group__0 ) ) ) 
    953             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:361:1: ( ( rule__GlobalCombinator__Group__0 ) ) 
    954             { 
    955             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:361:1: ( ( rule__GlobalCombinator__Group__0 ) ) 
    956             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:362:1: ( rule__GlobalCombinator__Group__0 ) 
    957             { 
    958              before(grammarAccess.getGlobalCombinatorAccess().getGroup());  
    959             // ../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 ) 
    960             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:363:2: rule__GlobalCombinator__Group__0 
    961             { 
    962             pushFollow(FOLLOW_rule__GlobalCombinator__Group__0_in_ruleGlobalCombinator711); 
     1104        int ruleGlobalCombinator_StartIndex = input.index(); 
     1105 
     1106                        int stackSize = keepStackSize(); 
     1107             
     1108        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 ) 
     1115            { 
     1116            if ( state.backtracking==0 ) { 
     1117               before(grammarAccess.getGlobalCombinatorAccess().getGroup());  
     1118            } 
     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); 
    9631123            rule__GlobalCombinator__Group__0(); 
    9641124 
    9651125            state._fsp--; 
    966  
    967  
    968             } 
    969  
    970              after(grammarAccess.getGlobalCombinatorAccess().getGroup());  
    971  
    972             } 
    973  
    974  
    975             } 
    976  
    977         } 
    978         catch (RecognitionException re) { 
    979             reportError(re); 
    980             recover(input,re); 
    981         } 
    982         finally { 
     1126            if (state.failed) return ; 
     1127 
     1128            } 
     1129 
     1130            if ( state.backtracking==0 ) { 
     1131               after(grammarAccess.getGlobalCombinatorAccess().getGroup());  
     1132            } 
     1133 
     1134            } 
     1135 
     1136 
     1137            } 
     1138 
     1139        } 
     1140        catch (RecognitionException re) { 
     1141            reportError(re); 
     1142            recover(input,re); 
     1143        } 
     1144        finally { 
     1145            if ( state.backtracking>0 ) { memoize(input, 22, ruleGlobalCombinator_StartIndex); } 
    9831146 
    9841147                restoreStackSize(stackSize); 
     
    9911154 
    9921155    // $ANTLR start "entryRuleRuleCombinator" 
    993     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:375:1: entryRuleRuleCombinator : ruleRuleCombinator EOF ; 
     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 ; 
    9941157    public final void entryRuleRuleCombinator() throws RecognitionException { 
    995         try { 
    996             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:376:1: ( ruleRuleCombinator EOF ) 
    997             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:377:1: ruleRuleCombinator EOF 
    998             { 
    999              before(grammarAccess.getRuleCombinatorRule());  
    1000             pushFollow(FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator738); 
     1158        int entryRuleRuleCombinator_StartIndex = input.index(); 
     1159        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 
     1163            { 
     1164            if ( state.backtracking==0 ) { 
     1165               before(grammarAccess.getRuleCombinatorRule());  
     1166            } 
     1167            pushFollow(FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator751); 
    10011168            ruleRuleCombinator(); 
    10021169 
    10031170            state._fsp--; 
    1004  
    1005              after(grammarAccess.getRuleCombinatorRule());  
    1006             match(input,EOF,FOLLOW_EOF_in_entryRuleRuleCombinator745);  
    1007  
    1008             } 
    1009  
    1010         } 
    1011         catch (RecognitionException re) { 
    1012             reportError(re); 
    1013             recover(input,re); 
    1014         } 
    1015         finally { 
     1171            if (state.failed) return ; 
     1172            if ( state.backtracking==0 ) { 
     1173               after(grammarAccess.getRuleCombinatorRule());  
     1174            } 
     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); } 
    10161186        } 
    10171187        return ; 
     
    10211191 
    10221192    // $ANTLR start "ruleRuleCombinator" 
    1023     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:384:1: ruleRuleCombinator : ( ( rule__RuleCombinator__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: ruleRuleCombinator : ( ( rule__RuleCombinator__Group__0 ) ) ; 
    10241194    public final void ruleRuleCombinator() throws RecognitionException { 
    1025  
    1026                         int stackSize = keepStackSize(); 
    1027              
    1028         try { 
    1029             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:388:2: ( ( ( rule__RuleCombinator__Group__0 ) ) ) 
    1030             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:389:1: ( ( rule__RuleCombinator__Group__0 ) ) 
    1031             { 
    1032             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:389:1: ( ( rule__RuleCombinator__Group__0 ) ) 
    1033             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:390:1: ( rule__RuleCombinator__Group__0 ) 
    1034             { 
    1035              before(grammarAccess.getRuleCombinatorAccess().getGroup());  
    1036             // ../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 ) 
    1037             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:391:2: rule__RuleCombinator__Group__0 
    1038             { 
    1039             pushFollow(FOLLOW_rule__RuleCombinator__Group__0_in_ruleRuleCombinator771); 
     1195        int ruleRuleCombinator_StartIndex = input.index(); 
     1196 
     1197                        int stackSize = keepStackSize(); 
     1198             
     1199        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 ) 
     1206            { 
     1207            if ( state.backtracking==0 ) { 
     1208               before(grammarAccess.getRuleCombinatorAccess().getGroup());  
     1209            } 
     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); 
    10401214            rule__RuleCombinator__Group__0(); 
    10411215 
    10421216            state._fsp--; 
    1043  
    1044  
    1045             } 
    1046  
    1047              after(grammarAccess.getRuleCombinatorAccess().getGroup());  
    1048  
    1049             } 
    1050  
    1051  
    1052             } 
    1053  
    1054         } 
    1055         catch (RecognitionException re) { 
    1056             reportError(re); 
    1057             recover(input,re); 
    1058         } 
    1059         finally { 
     1217            if (state.failed) return ; 
     1218 
     1219            } 
     1220 
     1221            if ( state.backtracking==0 ) { 
     1222               after(grammarAccess.getRuleCombinatorAccess().getGroup());  
     1223            } 
     1224 
     1225            } 
     1226 
     1227 
     1228            } 
     1229 
     1230        } 
     1231        catch (RecognitionException re) { 
     1232            reportError(re); 
     1233            recover(input,re); 
     1234        } 
     1235        finally { 
     1236            if ( state.backtracking>0 ) { memoize(input, 24, ruleRuleCombinator_StartIndex); } 
    10601237 
    10611238                restoreStackSize(stackSize); 
     
    10681245 
    10691246    // $ANTLR start "entryRuleHookCombinator" 
    1070     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:403:1: entryRuleHookCombinator : ruleHookCombinator EOF ; 
     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 ; 
    10711248    public final void entryRuleHookCombinator() throws RecognitionException { 
    1072         try { 
    1073             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:404:1: ( ruleHookCombinator EOF ) 
    1074             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:405:1: ruleHookCombinator EOF 
    1075             { 
    1076              before(grammarAccess.getHookCombinatorRule());  
    1077             pushFollow(FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator798); 
     1249        int entryRuleHookCombinator_StartIndex = input.index(); 
     1250        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 
     1254            { 
     1255            if ( state.backtracking==0 ) { 
     1256               before(grammarAccess.getHookCombinatorRule());  
     1257            } 
     1258            pushFollow(FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator811); 
    10781259            ruleHookCombinator(); 
    10791260 
    10801261            state._fsp--; 
    1081  
    1082              after(grammarAccess.getHookCombinatorRule());  
    1083             match(input,EOF,FOLLOW_EOF_in_entryRuleHookCombinator805);  
    1084  
    1085             } 
    1086  
    1087         } 
    1088         catch (RecognitionException re) { 
    1089             reportError(re); 
    1090             recover(input,re); 
    1091         } 
    1092         finally { 
     1262            if (state.failed) return ; 
     1263            if ( state.backtracking==0 ) { 
     1264               after(grammarAccess.getHookCombinatorRule());  
     1265            } 
     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); } 
    10931277        } 
    10941278        return ; 
     
    10981282 
    10991283    // $ANTLR start "ruleHookCombinator" 
    1100     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:412:1: ruleHookCombinator : ( ( rule__HookCombinator__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: ruleHookCombinator : ( ( rule__HookCombinator__Group__0 ) ) ; 
    11011285    public final void ruleHookCombinator() throws RecognitionException { 
    1102  
    1103                         int stackSize = keepStackSize(); 
    1104              
    1105         try { 
    1106             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:416:2: ( ( ( rule__HookCombinator__Group__0 ) ) ) 
    1107             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:417:1: ( ( rule__HookCombinator__Group__0 ) ) 
    1108             { 
    1109             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:417:1: ( ( rule__HookCombinator__Group__0 ) ) 
    1110             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:418:1: ( rule__HookCombinator__Group__0 ) 
    1111             { 
    1112              before(grammarAccess.getHookCombinatorAccess().getGroup());  
    1113             // ../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 ) 
    1114             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:419:2: rule__HookCombinator__Group__0 
    1115             { 
    1116             pushFollow(FOLLOW_rule__HookCombinator__Group__0_in_ruleHookCombinator831); 
     1286        int ruleHookCombinator_StartIndex = input.index(); 
     1287 
     1288                        int stackSize = keepStackSize(); 
     1289             
     1290        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 ) 
     1297            { 
     1298            if ( state.backtracking==0 ) { 
     1299               before(grammarAccess.getHookCombinatorAccess().getGroup());  
     1300            } 
     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); 
    11171305            rule__HookCombinator__Group__0(); 
    11181306 
    11191307            state._fsp--; 
    1120  
    1121  
    1122             } 
    1123  
    1124              after(grammarAccess.getHookCombinatorAccess().getGroup());  
    1125  
    1126             } 
    1127  
    1128  
    1129             } 
    1130  
    1131         } 
    1132         catch (RecognitionException re) { 
    1133             reportError(re); 
    1134             recover(input,re); 
    1135         } 
    1136         finally { 
     1308            if (state.failed) return ; 
     1309 
     1310            } 
     1311 
     1312            if ( state.backtracking==0 ) { 
     1313               after(grammarAccess.getHookCombinatorAccess().getGroup());  
     1314            } 
     1315 
     1316            } 
     1317 
     1318 
     1319            } 
     1320 
     1321        } 
     1322        catch (RecognitionException re) { 
     1323            reportError(re); 
     1324            recover(input,re); 
     1325        } 
     1326        finally { 
     1327            if ( state.backtracking>0 ) { memoize(input, 26, ruleHookCombinator_StartIndex); } 
    11371328 
    11381329                restoreStackSize(stackSize); 
     
    11451336 
    11461337    // $ANTLR start "entryRuleDefinitionList" 
    1147     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:431:1: entryRuleDefinitionList : ruleDefinitionList EOF ; 
     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 ; 
    11481339    public final void entryRuleDefinitionList() throws RecognitionException { 
    1149         try { 
    1150             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:432:1: ( ruleDefinitionList EOF ) 
    1151             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:433:1: ruleDefinitionList EOF 
    1152             { 
    1153              before(grammarAccess.getDefinitionListRule());  
    1154             pushFollow(FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList858); 
     1340        int entryRuleDefinitionList_StartIndex = input.index(); 
     1341        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 
     1345            { 
     1346            if ( state.backtracking==0 ) { 
     1347               before(grammarAccess.getDefinitionListRule());  
     1348            } 
     1349            pushFollow(FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList871); 
    11551350            ruleDefinitionList(); 
    11561351 
    11571352            state._fsp--; 
    1158  
    1159              after(grammarAccess.getDefinitionListRule());  
    1160             match(input,EOF,FOLLOW_EOF_in_entryRuleDefinitionList865);  
    1161  
    1162             } 
    1163  
    1164         } 
    1165         catch (RecognitionException re) { 
    1166             reportError(re); 
    1167             recover(input,re); 
    1168         } 
    1169         finally { 
     1353            if (state.failed) return ; 
     1354            if ( state.backtracking==0 ) { 
     1355               after(grammarAccess.getDefinitionListRule());  
     1356            } 
     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); } 
    11701368        } 
    11711369        return ; 
     
    11751373 
    11761374    // $ANTLR start "ruleDefinitionList" 
    1177     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:440:1: ruleDefinitionList : ( ( rule__DefinitionList__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: ruleDefinitionList : ( ( rule__DefinitionList__Group__0 ) ) ; 
    11781376    public final void ruleDefinitionList() throws RecognitionException { 
    1179  
    1180                         int stackSize = keepStackSize(); 
    1181              
    1182         try { 
    1183             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:444:2: ( ( ( rule__DefinitionList__Group__0 ) ) ) 
    1184             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:445:1: ( ( rule__DefinitionList__Group__0 ) ) 
    1185             { 
    1186             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:445:1: ( ( rule__DefinitionList__Group__0 ) ) 
    1187             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:446:1: ( rule__DefinitionList__Group__0 ) 
    1188             { 
    1189              before(grammarAccess.getDefinitionListAccess().getGroup());  
    1190             // ../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 ) 
    1191             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:447:2: rule__DefinitionList__Group__0 
    1192             { 
    1193             pushFollow(FOLLOW_rule__DefinitionList__Group__0_in_ruleDefinitionList891); 
     1377        int ruleDefinitionList_StartIndex = input.index(); 
     1378 
     1379                        int stackSize = keepStackSize(); 
     1380             
     1381        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 ) 
     1388            { 
     1389            if ( state.backtracking==0 ) { 
     1390               before(grammarAccess.getDefinitionListAccess().getGroup());  
     1391            } 
     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); 
    11941396            rule__DefinitionList__Group__0(); 
    11951397 
    11961398            state._fsp--; 
    1197  
    1198  
    1199             } 
    1200  
    1201              after(grammarAccess.getDefinitionListAccess().getGroup());  
    1202  
    1203             } 
    1204  
    1205  
    1206             } 
    1207  
    1208         } 
    1209         catch (RecognitionException re) { 
    1210             reportError(re); 
    1211             recover(input,re); 
    1212         } 
    1213         finally { 
     1399            if (state.failed) return ; 
     1400 
     1401            } 
     1402 
     1403            if ( state.backtracking==0 ) { 
     1404               after(grammarAccess.getDefinitionListAccess().getGroup());  
     1405            } 
     1406 
     1407            } 
     1408 
     1409 
     1410            } 
     1411 
     1412        } 
     1413        catch (RecognitionException re) { 
     1414            reportError(re); 
     1415            recover(input,re); 
     1416        } 
     1417        finally { 
     1418            if ( state.backtracking>0 ) { memoize(input, 28, ruleDefinitionList_StartIndex); } 
    12141419 
    12151420                restoreStackSize(stackSize); 
     
    12221427 
    12231428    // $ANTLR start "entryRuleSingleDefinition" 
    1224     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:459:1: entryRuleSingleDefinition : ruleSingleDefinition EOF ; 
     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 ; 
    12251430    public final void entryRuleSingleDefinition() throws RecognitionException { 
    1226         try { 
    1227             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:460:1: ( ruleSingleDefinition EOF ) 
    1228             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:461:1: ruleSingleDefinition EOF 
    1229             { 
    1230              before(grammarAccess.getSingleDefinitionRule());  
    1231             pushFollow(FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition918); 
     1431        int entryRuleSingleDefinition_StartIndex = input.index(); 
     1432        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 
     1436            { 
     1437            if ( state.backtracking==0 ) { 
     1438               before(grammarAccess.getSingleDefinitionRule());  
     1439            } 
     1440            pushFollow(FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition931); 
    12321441            ruleSingleDefinition(); 
    12331442 
    12341443            state._fsp--; 
    1235  
    1236              after(grammarAccess.getSingleDefinitionRule());  
    1237             match(input,EOF,FOLLOW_EOF_in_entryRuleSingleDefinition925);  
    1238  
    1239             } 
    1240  
    1241         } 
    1242         catch (RecognitionException re) { 
    1243             reportError(re); 
    1244             recover(input,re); 
    1245         } 
    1246         finally { 
     1444            if (state.failed) return ; 
     1445            if ( state.backtracking==0 ) { 
     1446               after(grammarAccess.getSingleDefinitionRule());  
     1447            } 
     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); } 
    12471459        } 
    12481460        return ; 
     
    12521464 
    12531465    // $ANTLR start "ruleSingleDefinition" 
    1254     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:468:1: ruleSingleDefinition : ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) ; 
     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 )* ) ) ; 
    12551467    public final void ruleSingleDefinition() throws RecognitionException { 
    1256  
    1257                         int stackSize = keepStackSize(); 
    1258              
    1259         try { 
    1260             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:472:2: ( ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) ) 
    1261             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:473:1: ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) 
    1262             { 
    1263             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:473:1: ( ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) ) 
    1264             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:474:1: ( ( rule__SingleDefinition__TermsAssignment ) ) ( ( rule__SingleDefinition__TermsAssignment )* ) 
    1265             { 
    1266             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:474:1: ( ( rule__SingleDefinition__TermsAssignment ) ) 
    1267             // ../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 ) 
    1268             { 
    1269              before(grammarAccess.getSingleDefinitionAccess().getTermsAssignment());  
    1270             // ../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 ) 
    1271             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:476:2: rule__SingleDefinition__TermsAssignment 
    1272             { 
    1273             pushFollow(FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition953); 
     1468        int ruleSingleDefinition_StartIndex = input.index(); 
     1469 
     1470                        int stackSize = keepStackSize(); 
     1471             
     1472        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 ) 
     1482            { 
     1483            if ( state.backtracking==0 ) { 
     1484               before(grammarAccess.getSingleDefinitionAccess().getTermsAssignment());  
     1485            } 
     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); 
    12741490            rule__SingleDefinition__TermsAssignment(); 
    12751491 
    12761492            state._fsp--; 
    1277  
    1278  
    1279             } 
    1280  
    1281              after(grammarAccess.getSingleDefinitionAccess().getTermsAssignment());  
    1282  
    1283             } 
    1284  
    1285             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:479:1: ( ( rule__SingleDefinition__TermsAssignment )* ) 
    1286             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:480:1: ( rule__SingleDefinition__TermsAssignment )* 
    1287             { 
    1288              before(grammarAccess.getSingleDefinitionAccess().getTermsAssignment());  
    1289             // ../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 )* 
     1493            if (state.failed) return ; 
     1494 
     1495            } 
     1496 
     1497            if ( state.backtracking==0 ) { 
     1498               after(grammarAccess.getSingleDefinitionAccess().getTermsAssignment());  
     1499            } 
     1500 
     1501            } 
     1502 
     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 )* 
     1505            { 
     1506            if ( state.backtracking==0 ) { 
     1507               before(grammarAccess.getSingleDefinitionAccess().getTermsAssignment());  
     1508            } 
     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 )* 
    12901510            loop2: 
    12911511            do { 
     
    13181538                switch (alt2) { 
    13191539                case 1 : 
    1320                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:481:2: rule__SingleDefinition__TermsAssignment 
     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 
    13211541                    { 
    1322                     pushFollow(FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition965); 
     1542                    pushFollow(FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition978); 
    13231543                    rule__SingleDefinition__TermsAssignment(); 
    13241544 
    13251545                    state._fsp--; 
    1326  
     1546                    if (state.failed) return ; 
    13271547 
    13281548                    } 
     
    13341554            } while (true); 
    13351555 
    1336              after(grammarAccess.getSingleDefinitionAccess().getTermsAssignment());  
    1337  
    1338             } 
    1339  
    1340  
    1341             } 
    1342  
    1343  
    1344             } 
    1345  
    1346         } 
    1347         catch (RecognitionException re) { 
    1348             reportError(re); 
    1349             recover(input,re); 
    1350         } 
    1351         finally { 
     1556            if ( state.backtracking==0 ) { 
     1557               after(grammarAccess.getSingleDefinitionAccess().getTermsAssignment());  
     1558            } 
     1559 
     1560            } 
     1561 
     1562 
     1563            } 
     1564 
     1565 
     1566            } 
     1567 
     1568        } 
     1569        catch (RecognitionException re) { 
     1570            reportError(re); 
     1571            recover(input,re); 
     1572        } 
     1573        finally { 
     1574            if ( state.backtracking>0 ) { memoize(input, 30, ruleSingleDefinition_StartIndex); } 
    13521575 
    13531576                restoreStackSize(stackSize); 
     
    13601583 
    13611584    // $ANTLR start "entryRuleTerm" 
    1362     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:494:1: entryRuleTerm : ruleTerm EOF ; 
     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 ; 
    13631586    public final void entryRuleTerm() throws RecognitionException { 
    1364         try { 
    1365             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:495:1: ( ruleTerm EOF ) 
    1366             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:496:1: ruleTerm EOF 
    1367             { 
    1368              before(grammarAccess.getTermRule());  
    1369             pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm995); 
     1587        int entryRuleTerm_StartIndex = input.index(); 
     1588        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 
     1592            { 
     1593            if ( state.backtracking==0 ) { 
     1594               before(grammarAccess.getTermRule());  
     1595            } 
     1596            pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm1008); 
    13701597            ruleTerm(); 
    13711598 
    13721599            state._fsp--; 
    1373  
    1374              after(grammarAccess.getTermRule());  
    1375             match(input,EOF,FOLLOW_EOF_in_entryRuleTerm1002);  
    1376  
    1377             } 
    1378  
    1379         } 
    1380         catch (RecognitionException re) { 
    1381             reportError(re); 
    1382             recover(input,re); 
    1383         } 
    1384         finally { 
     1600            if (state.failed) return ; 
     1601            if ( state.backtracking==0 ) { 
     1602               after(grammarAccess.getTermRule());  
     1603            } 
     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); } 
    13851615        } 
    13861616        return ; 
     
    13901620 
    13911621    // $ANTLR start "ruleTerm" 
    1392     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:503:1: ruleTerm : ( ( rule__Term__Alternatives ) ) ; 
     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 ) ) ; 
    13931623    public final void ruleTerm() throws RecognitionException { 
    1394  
    1395                         int stackSize = keepStackSize(); 
    1396              
    1397         try { 
    1398             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:507:2: ( ( ( rule__Term__Alternatives ) ) ) 
    1399             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:508:1: ( ( rule__Term__Alternatives ) ) 
    1400             { 
    1401             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:508:1: ( ( rule__Term__Alternatives ) ) 
    1402             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:509:1: ( rule__Term__Alternatives ) 
    1403             { 
    1404              before(grammarAccess.getTermAccess().getAlternatives());  
    1405             // ../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 ) 
    1406             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:510:2: rule__Term__Alternatives 
    1407             { 
    1408             pushFollow(FOLLOW_rule__Term__Alternatives_in_ruleTerm1028); 
     1624        int ruleTerm_StartIndex = input.index(); 
     1625 
     1626                        int stackSize = keepStackSize(); 
     1627             
     1628        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 ) 
     1635            { 
     1636            if ( state.backtracking==0 ) { 
     1637               before(grammarAccess.getTermAccess().getAlternatives());  
     1638            } 
     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); 
    14091643            rule__Term__Alternatives(); 
    14101644 
    14111645            state._fsp--; 
    1412  
    1413  
    1414             } 
    1415  
    1416              after(grammarAccess.getTermAccess().getAlternatives());  
    1417  
    1418             } 
    1419  
    1420  
    1421             } 
    1422  
    1423         } 
    1424         catch (RecognitionException re) { 
    1425             reportError(re); 
    1426             recover(input,re); 
    1427         } 
    1428         finally { 
     1646            if (state.failed) return ; 
     1647 
     1648            } 
     1649 
     1650            if ( state.backtracking==0 ) { 
     1651               after(grammarAccess.getTermAccess().getAlternatives());  
     1652            } 
     1653 
     1654            } 
     1655 
     1656 
     1657            } 
     1658 
     1659        } 
     1660        catch (RecognitionException re) { 
     1661            reportError(re); 
     1662            recover(input,re); 
     1663        } 
     1664        finally { 
     1665            if ( state.backtracking>0 ) { memoize(input, 32, ruleTerm_StartIndex); } 
    14291666 
    14301667                restoreStackSize(stackSize); 
     
    14371674 
    14381675    // $ANTLR start "entryRuleAtom" 
    1439     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:522:1: entryRuleAtom : ruleAtom EOF ; 
     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 ; 
    14401677    public final void entryRuleAtom() throws RecognitionException { 
    1441         try { 
    1442             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:523:1: ( ruleAtom EOF ) 
    1443             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:524:1: ruleAtom EOF 
    1444             { 
    1445              before(grammarAccess.getAtomRule());  
    1446             pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom1055); 
     1678        int entryRuleAtom_StartIndex = input.index(); 
     1679        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 
     1683            { 
     1684            if ( state.backtracking==0 ) { 
     1685               before(grammarAccess.getAtomRule());  
     1686            } 
     1687            pushFollow(FOLLOW_ruleAtom_in_entryRuleAtom1068); 
    14471688            ruleAtom(); 
    14481689 
    14491690            state._fsp--; 
    1450  
    1451              after(grammarAccess.getAtomRule());  
    1452             match(input,EOF,FOLLOW_EOF_in_entryRuleAtom1062);  
    1453  
    1454             } 
    1455  
    1456         } 
    1457         catch (RecognitionException re) { 
    1458             reportError(re); 
    1459             recover(input,re); 
    1460         } 
    1461         finally { 
     1691            if (state.failed) return ; 
     1692            if ( state.backtracking==0 ) { 
     1693               after(grammarAccess.getAtomRule());  
     1694            } 
     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); } 
    14621706        } 
    14631707        return ; 
     
    14671711 
    14681712    // $ANTLR start "ruleAtom" 
    1469     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:531:1: ruleAtom : ( ( rule__Atom__Alternatives ) ) ; 
     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 ) ) ; 
    14701714    public final void ruleAtom() throws RecognitionException { 
    1471  
    1472                         int stackSize = keepStackSize(); 
    1473              
    1474         try { 
    1475             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:535:2: ( ( ( rule__Atom__Alternatives ) ) ) 
    1476             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:536:1: ( ( rule__Atom__Alternatives ) ) 
    1477             { 
    1478             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:536:1: ( ( rule__Atom__Alternatives ) ) 
    1479             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:537:1: ( rule__Atom__Alternatives ) 
    1480             { 
    1481              before(grammarAccess.getAtomAccess().getAlternatives());  
    1482             // ../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 ) 
    1483             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:538:2: rule__Atom__Alternatives 
    1484             { 
    1485             pushFollow(FOLLOW_rule__Atom__Alternatives_in_ruleAtom1088); 
     1715        int ruleAtom_StartIndex = input.index(); 
     1716 
     1717                        int stackSize = keepStackSize(); 
     1718             
     1719        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 ) 
     1726            { 
     1727            if ( state.backtracking==0 ) { 
     1728               before(grammarAccess.getAtomAccess().getAlternatives());  
     1729            } 
     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); 
    14861734            rule__Atom__Alternatives(); 
    14871735 
    14881736            state._fsp--; 
    1489  
    1490  
    1491             } 
    1492  
    1493              after(grammarAccess.getAtomAccess().getAlternatives());  
    1494  
    1495             } 
    1496  
    1497  
    1498             } 
    1499  
    1500         } 
    1501         catch (RecognitionException re) { 
    1502             reportError(re); 
    1503             recover(input,re); 
    1504         } 
    1505         finally { 
     1737            if (state.failed) return ; 
     1738 
     1739            } 
     1740 
     1741            if ( state.backtracking==0 ) { 
     1742               after(grammarAccess.getAtomAccess().getAlternatives());  
     1743            } 
     1744 
     1745            } 
     1746 
     1747 
     1748            } 
     1749 
     1750        } 
     1751        catch (RecognitionException re) { 
     1752            reportError(re); 
     1753            recover(input,re); 
     1754        } 
     1755        finally { 
     1756            if ( state.backtracking>0 ) { memoize(input, 34, ruleAtom_StartIndex); } 
    15061757 
    15071758                restoreStackSize(stackSize); 
     
    15141765 
    15151766    // $ANTLR start "entryRuleRuleReference" 
    1516     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:550:1: entryRuleRuleReference : ruleRuleReference EOF ; 
     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 ; 
    15171768    public final void entryRuleRuleReference() throws RecognitionException { 
    1518         try { 
    1519             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:551:1: ( ruleRuleReference EOF ) 
    1520             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:552:1: ruleRuleReference EOF 
    1521             { 
    1522              before(grammarAccess.getRuleReferenceRule());  
    1523             pushFollow(FOLLOW_ruleRuleReference_in_entryRuleRuleReference1115); 
     1769        int entryRuleRuleReference_StartIndex = input.index(); 
     1770        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 
     1774            { 
     1775            if ( state.backtracking==0 ) { 
     1776               before(grammarAccess.getRuleReferenceRule());  
     1777            } 
     1778            pushFollow(FOLLOW_ruleRuleReference_in_entryRuleRuleReference1128); 
    15241779            ruleRuleReference(); 
    15251780 
    15261781            state._fsp--; 
    1527  
    1528              after(grammarAccess.getRuleReferenceRule());  
    1529             match(input,EOF,FOLLOW_EOF_in_entryRuleRuleReference1122);  
    1530  
    1531             } 
    1532  
    1533         } 
    1534         catch (RecognitionException re) { 
    1535             reportError(re); 
    1536             recover(input,re); 
    1537         } 
    1538         finally { 
     1782            if (state.failed) return ; 
     1783            if ( state.backtracking==0 ) { 
     1784               after(grammarAccess.getRuleReferenceRule());  
     1785            } 
     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); } 
    15391797        } 
    15401798        return ; 
     
    15441802 
    15451803    // $ANTLR start "ruleRuleReference" 
    1546     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:559:1: ruleRuleReference : ( ( rule__RuleReference__RulerefAssignment ) ) ; 
     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 ) ) ; 
    15471805    public final void ruleRuleReference() throws RecognitionException { 
    1548  
    1549                         int stackSize = keepStackSize(); 
    1550              
    1551         try { 
    1552             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:563:2: ( ( ( rule__RuleReference__RulerefAssignment ) ) ) 
    1553             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:564:1: ( ( rule__RuleReference__RulerefAssignment ) ) 
    1554             { 
    1555             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:564:1: ( ( rule__RuleReference__RulerefAssignment ) ) 
    1556             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:565:1: ( rule__RuleReference__RulerefAssignment ) 
    1557             { 
    1558              before(grammarAccess.getRuleReferenceAccess().getRulerefAssignment());  
    1559             // ../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 ) 
    1560             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:566:2: rule__RuleReference__RulerefAssignment 
    1561             { 
    1562             pushFollow(FOLLOW_rule__RuleReference__RulerefAssignment_in_ruleRuleReference1148); 
     1806        int ruleRuleReference_StartIndex = input.index(); 
     1807 
     1808                        int stackSize = keepStackSize(); 
     1809             
     1810        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 ) 
     1817            { 
     1818            if ( state.backtracking==0 ) { 
     1819               before(grammarAccess.getRuleReferenceAccess().getRulerefAssignment());  
     1820            } 
     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); 
    15631825            rule__RuleReference__RulerefAssignment(); 
    15641826 
    15651827            state._fsp--; 
    1566  
    1567  
    1568             } 
    1569  
    1570              after(grammarAccess.getRuleReferenceAccess().getRulerefAssignment());  
    1571  
    1572             } 
    1573  
    1574  
    1575             } 
    1576  
    1577         } 
    1578         catch (RecognitionException re) { 
    1579             reportError(re); 
    1580             recover(input,re); 
    1581         } 
    1582         finally { 
     1828            if (state.failed) return ; 
     1829 
     1830            } 
     1831 
     1832            if ( state.backtracking==0 ) { 
     1833               after(grammarAccess.getRuleReferenceAccess().getRulerefAssignment());  
     1834            } 
     1835 
     1836            } 
     1837 
     1838 
     1839            } 
     1840 
     1841        } 
     1842        catch (RecognitionException re) { 
     1843            reportError(re); 
     1844            recover(input,re); 
     1845        } 
     1846        finally { 
     1847            if ( state.backtracking>0 ) { memoize(input, 36, ruleRuleReference_StartIndex); } 
    15831848 
    15841849                restoreStackSize(stackSize); 
     
    15911856 
    15921857    // $ANTLR start "entryRuleStringRule" 
    1593     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:578:1: entryRuleStringRule : ruleStringRule EOF ; 
     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 ; 
    15941859    public final void entryRuleStringRule() throws RecognitionException { 
    1595         try { 
    1596             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:579:1: ( ruleStringRule EOF ) 
    1597             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:580:1: ruleStringRule EOF 
    1598             { 
    1599              before(grammarAccess.getStringRuleRule());  
    1600             pushFollow(FOLLOW_ruleStringRule_in_entryRuleStringRule1175); 
     1860        int entryRuleStringRule_StartIndex = input.index(); 
     1861        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 
     1865            { 
     1866            if ( state.backtracking==0 ) { 
     1867               before(grammarAccess.getStringRuleRule());  
     1868            } 
     1869            pushFollow(FOLLOW_ruleStringRule_in_entryRuleStringRule1188); 
    16011870            ruleStringRule(); 
    16021871 
    16031872            state._fsp--; 
    1604  
    1605              after(grammarAccess.getStringRuleRule());  
    1606             match(input,EOF,FOLLOW_EOF_in_entryRuleStringRule1182);  
    1607  
    1608             } 
    1609  
    1610         } 
    1611         catch (RecognitionException re) { 
    1612             reportError(re); 
    1613             recover(input,re); 
    1614         } 
    1615         finally { 
     1873            if (state.failed) return ; 
     1874            if ( state.backtracking==0 ) { 
     1875               after(grammarAccess.getStringRuleRule());  
     1876            } 
     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); } 
    16161888        } 
    16171889        return ; 
     
    16211893 
    16221894    // $ANTLR start "ruleStringRule" 
    1623     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:587:1: ruleStringRule : ( ( rule__StringRule__Alternatives ) ) ; 
     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 ) ) ; 
    16241896    public final void ruleStringRule() throws RecognitionException { 
    1625  
    1626                         int stackSize = keepStackSize(); 
    1627              
    1628         try { 
    1629             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:591:2: ( ( ( rule__StringRule__Alternatives ) ) ) 
    1630             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:592:1: ( ( rule__StringRule__Alternatives ) ) 
    1631             { 
    1632             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:592:1: ( ( rule__StringRule__Alternatives ) ) 
    1633             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:593:1: ( rule__StringRule__Alternatives ) 
    1634             { 
    1635              before(grammarAccess.getStringRuleAccess().getAlternatives());  
    1636             // ../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 ) 
    1637             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:594:2: rule__StringRule__Alternatives 
    1638             { 
    1639             pushFollow(FOLLOW_rule__StringRule__Alternatives_in_ruleStringRule1208); 
     1897        int ruleStringRule_StartIndex = input.index(); 
     1898 
     1899                        int stackSize = keepStackSize(); 
     1900             
     1901        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 ) 
     1908            { 
     1909            if ( state.backtracking==0 ) { 
     1910               before(grammarAccess.getStringRuleAccess().getAlternatives());  
     1911            } 
     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); 
    16401916            rule__StringRule__Alternatives(); 
    16411917 
    16421918            state._fsp--; 
    1643  
    1644  
    1645             } 
    1646  
    1647              after(grammarAccess.getStringRuleAccess().getAlternatives());  
    1648  
    1649             } 
    1650  
    1651  
    1652             } 
    1653  
    1654         } 
    1655         catch (RecognitionException re) { 
    1656             reportError(re); 
    1657             recover(input,re); 
    1658         } 
    1659         finally { 
     1919            if (state.failed) return ; 
     1920 
     1921            } 
     1922 
     1923            if ( state.backtracking==0 ) { 
     1924               after(grammarAccess.getStringRuleAccess().getAlternatives());  
     1925            } 
     1926 
     1927            } 
     1928 
     1929 
     1930            } 
     1931 
     1932        } 
     1933        catch (RecognitionException re) { 
     1934            reportError(re); 
     1935            recover(input,re); 
     1936        } 
     1937        finally { 
     1938            if ( state.backtracking>0 ) { memoize(input, 38, ruleStringRule_StartIndex); } 
    16601939 
    16611940                restoreStackSize(stackSize); 
     
    16681947 
    16691948    // $ANTLR start "entryRuleGroupedSequence" 
    1670     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:606:1: entryRuleGroupedSequence : ruleGroupedSequence EOF ; 
     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 ; 
    16711950    public final void entryRuleGroupedSequence() throws RecognitionException { 
    1672         try { 
    1673             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:607:1: ( ruleGroupedSequence EOF ) 
    1674             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:608:1: ruleGroupedSequence EOF 
    1675             { 
    1676              before(grammarAccess.getGroupedSequenceRule());  
    1677             pushFollow(FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence1235); 
     1951        int entryRuleGroupedSequence_StartIndex = input.index(); 
     1952        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 
     1956            { 
     1957            if ( state.backtracking==0 ) { 
     1958               before(grammarAccess.getGroupedSequenceRule());  
     1959            } 
     1960            pushFollow(FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence1248); 
    16781961            ruleGroupedSequence(); 
    16791962 
    16801963            state._fsp--; 
    1681  
    1682              after(grammarAccess.getGroupedSequenceRule());  
    1683             match(input,EOF,FOLLOW_EOF_in_entryRuleGroupedSequence1242);  
    1684  
    1685             } 
    1686  
    1687         } 
    1688         catch (RecognitionException re) { 
    1689             reportError(re); 
    1690             recover(input,re); 
    1691         } 
    1692         finally { 
     1964            if (state.failed) return ; 
     1965            if ( state.backtracking==0 ) { 
     1966               after(grammarAccess.getGroupedSequenceRule());  
     1967            } 
     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); } 
    16931979        } 
    16941980        return ; 
     
    16981984 
    16991985    // $ANTLR start "ruleGroupedSequence" 
    1700     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:615:1: ruleGroupedSequence : ( ( rule__GroupedSequence__Group__0 ) ) ; 
     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 ) ) ; 
    17011987    public final void ruleGroupedSequence() throws RecognitionException { 
    1702  
    1703                         int stackSize = keepStackSize(); 
    1704              
    1705         try { 
    1706             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:619:2: ( ( ( rule__GroupedSequence__Group__0 ) ) ) 
    1707             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:620:1: ( ( rule__GroupedSequence__Group__0 ) ) 
    1708             { 
    1709             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:620:1: ( ( rule__GroupedSequence__Group__0 ) ) 
    1710             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:621:1: ( rule__GroupedSequence__Group__0 ) 
    1711             { 
    1712              before(grammarAccess.getGroupedSequenceAccess().getGroup());  
    1713             // ../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 ) 
    1714             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:622:2: rule__GroupedSequence__Group__0 
    1715             { 
    1716             pushFollow(FOLLOW_rule__GroupedSequence__Group__0_in_ruleGroupedSequence1268); 
     1988        int ruleGroupedSequence_StartIndex = input.index(); 
     1989 
     1990                        int stackSize = keepStackSize(); 
     1991             
     1992        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 ) 
     1999            { 
     2000            if ( state.backtracking==0 ) { 
     2001               before(grammarAccess.getGroupedSequenceAccess().getGroup());  
     2002            } 
     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); 
    17172007            rule__GroupedSequence__Group__0(); 
    17182008 
    17192009            state._fsp--; 
    1720  
    1721  
    1722             } 
    1723  
    1724              after(grammarAccess.getGroupedSequenceAccess().getGroup());  
    1725  
    1726             } 
    1727  
    1728  
    1729             } 
    1730  
    1731         } 
    1732         catch (RecognitionException re) { 
    1733             reportError(re); 
    1734             recover(input,re); 
    1735         } 
    1736         finally { 
     2010            if (state.failed) return ; 
     2011 
     2012            } 
     2013 
     2014            if ( state.backtracking==0 ) { 
     2015               after(grammarAccess.getGroupedSequenceAccess().getGroup());  
     2016            } 
     2017 
     2018            } 
     2019 
     2020 
     2021            } 
     2022 
     2023        } 
     2024        catch (RecognitionException re) { 
     2025            reportError(re); 
     2026            recover(input,re); 
     2027        } 
     2028        finally { 
     2029            if ( state.backtracking>0 ) { memoize(input, 40, ruleGroupedSequence_StartIndex); } 
    17372030 
    17382031                restoreStackSize(stackSize); 
     
    17452038 
    17462039    // $ANTLR start "entryRuleOptionalSequence" 
    1747     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:634:1: entryRuleOptionalSequence : ruleOptionalSequence EOF ; 
     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 ; 
    17482041    public final void entryRuleOptionalSequence() throws RecognitionException { 
    1749         try { 
    1750             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:635:1: ( ruleOptionalSequence EOF ) 
    1751             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:636:1: ruleOptionalSequence EOF 
    1752             { 
    1753              before(grammarAccess.getOptionalSequenceRule());  
    1754             pushFollow(FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence1295); 
     2042        int entryRuleOptionalSequence_StartIndex = input.index(); 
     2043        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 
     2047            { 
     2048            if ( state.backtracking==0 ) { 
     2049               before(grammarAccess.getOptionalSequenceRule());  
     2050            } 
     2051            pushFollow(FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence1308); 
    17552052            ruleOptionalSequence(); 
    17562053 
    17572054            state._fsp--; 
    1758  
    1759              after(grammarAccess.getOptionalSequenceRule());  
    1760             match(input,EOF,FOLLOW_EOF_in_entryRuleOptionalSequence1302);  
    1761  
    1762             } 
    1763  
    1764         } 
    1765         catch (RecognitionException re) { 
    1766             reportError(re); 
    1767             recover(input,re); 
    1768         } 
    1769         finally { 
     2055            if (state.failed) return ; 
     2056            if ( state.backtracking==0 ) { 
     2057               after(grammarAccess.getOptionalSequenceRule());  
     2058            } 
     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); } 
    17702070        } 
    17712071        return ; 
     
    17752075 
    17762076    // $ANTLR start "ruleOptionalSequence" 
    1777     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:643:1: ruleOptionalSequence : ( ( rule__OptionalSequence__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: ruleOptionalSequence : ( ( rule__OptionalSequence__Group__0 ) ) ; 
    17782078    public final void ruleOptionalSequence() throws RecognitionException { 
    1779  
    1780                         int stackSize = keepStackSize(); 
    1781              
    1782         try { 
    1783             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:647:2: ( ( ( rule__OptionalSequence__Group__0 ) ) ) 
    1784             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:648:1: ( ( rule__OptionalSequence__Group__0 ) ) 
    1785             { 
    1786             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:648:1: ( ( rule__OptionalSequence__Group__0 ) ) 
    1787             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:649:1: ( rule__OptionalSequence__Group__0 ) 
    1788             { 
    1789              before(grammarAccess.getOptionalSequenceAccess().getGroup());  
    1790             // ../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 ) 
    1791             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:650:2: rule__OptionalSequence__Group__0 
    1792             { 
    1793             pushFollow(FOLLOW_rule__OptionalSequence__Group__0_in_ruleOptionalSequence1328); 
     2079        int ruleOptionalSequence_StartIndex = input.index(); 
     2080 
     2081                        int stackSize = keepStackSize(); 
     2082             
     2083        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 ) 
     2090            { 
     2091            if ( state.backtracking==0 ) { 
     2092               before(grammarAccess.getOptionalSequenceAccess().getGroup());  
     2093            } 
     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); 
    17942098            rule__OptionalSequence__Group__0(); 
    17952099 
    17962100            state._fsp--; 
    1797  
    1798  
    1799             } 
    1800  
    1801              after(grammarAccess.getOptionalSequenceAccess().getGroup());  
    1802  
    1803             } 
    1804  
    1805  
    1806             } 
    1807  
    1808         } 
    1809         catch (RecognitionException re) { 
    1810             reportError(re); 
    1811             recover(input,re); 
    1812         } 
    1813         finally { 
     2101            if (state.failed) return ; 
     2102 
     2103            } 
     2104 
     2105            if ( state.backtracking==0 ) { 
     2106               after(grammarAccess.getOptionalSequenceAccess().getGroup());  
     2107            } 
     2108 
     2109            } 
     2110 
     2111 
     2112            } 
     2113 
     2114        } 
     2115        catch (RecognitionException re) { 
     2116            reportError(re); 
     2117            recover(input,re); 
     2118        } 
     2119        finally { 
     2120            if ( state.backtracking>0 ) { memoize(input, 42, ruleOptionalSequence_StartIndex); } 
    18142121 
    18152122                restoreStackSize(stackSize); 
     
    18222129 
    18232130    // $ANTLR start "entryRuleRepeatedSequence" 
    1824     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:662:1: entryRuleRepeatedSequence : ruleRepeatedSequence EOF ; 
     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 ; 
    18252132    public final void entryRuleRepeatedSequence() throws RecognitionException { 
    1826         try { 
    1827             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:663:1: ( ruleRepeatedSequence EOF ) 
    1828             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:664:1: ruleRepeatedSequence EOF 
    1829             { 
    1830              before(grammarAccess.getRepeatedSequenceRule());  
    1831             pushFollow(FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence1355); 
     2133        int entryRuleRepeatedSequence_StartIndex = input.index(); 
     2134        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 
     2138            { 
     2139            if ( state.backtracking==0 ) { 
     2140               before(grammarAccess.getRepeatedSequenceRule());  
     2141            } 
     2142            pushFollow(FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence1368); 
    18322143            ruleRepeatedSequence(); 
    18332144 
    18342145            state._fsp--; 
    1835  
    1836              after(grammarAccess.getRepeatedSequenceRule());  
    1837             match(input,EOF,FOLLOW_EOF_in_entryRuleRepeatedSequence1362);  
    1838  
    1839             } 
    1840  
    1841         } 
    1842         catch (RecognitionException re) { 
    1843             reportError(re); 
    1844             recover(input,re); 
    1845         } 
    1846         finally { 
     2146            if (state.failed) return ; 
     2147            if ( state.backtracking==0 ) { 
     2148               after(grammarAccess.getRepeatedSequenceRule());  
     2149            } 
     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); } 
    18472161        } 
    18482162        return ; 
     
    18522166 
    18532167    // $ANTLR start "ruleRepeatedSequence" 
    1854     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:671:1: ruleRepeatedSequence : ( ( rule__RepeatedSequence__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: ruleRepeatedSequence : ( ( rule__RepeatedSequence__Group__0 ) ) ; 
    18552169    public final void ruleRepeatedSequence() throws RecognitionException { 
    1856  
    1857                         int stackSize = keepStackSize(); 
    1858              
    1859         try { 
    1860             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:675:2: ( ( ( rule__RepeatedSequence__Group__0 ) ) ) 
    1861             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:676:1: ( ( rule__RepeatedSequence__Group__0 ) ) 
    1862             { 
    1863             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:676:1: ( ( rule__RepeatedSequence__Group__0 ) ) 
    1864             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:677:1: ( rule__RepeatedSequence__Group__0 ) 
    1865             { 
    1866              before(grammarAccess.getRepeatedSequenceAccess().getGroup());  
    1867             // ../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 ) 
    1868             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:678:2: rule__RepeatedSequence__Group__0 
    1869             { 
    1870             pushFollow(FOLLOW_rule__RepeatedSequence__Group__0_in_ruleRepeatedSequence1388); 
     2170        int ruleRepeatedSequence_StartIndex = input.index(); 
     2171 
     2172                        int stackSize = keepStackSize(); 
     2173             
     2174        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 ) 
     2181            { 
     2182            if ( state.backtracking==0 ) { 
     2183               before(grammarAccess.getRepeatedSequenceAccess().getGroup());  
     2184            } 
     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); 
    18712189            rule__RepeatedSequence__Group__0(); 
    18722190 
    18732191            state._fsp--; 
    1874  
    1875  
    1876             } 
    1877  
    1878              after(grammarAccess.getRepeatedSequenceAccess().getGroup());  
    1879  
    1880             } 
    1881  
    1882  
    1883             } 
    1884  
    1885         } 
    1886         catch (RecognitionException re) { 
    1887             reportError(re); 
    1888             recover(input,re); 
    1889         } 
    1890         finally { 
     2192            if (state.failed) return ; 
     2193 
     2194            } 
     2195 
     2196            if ( state.backtracking==0 ) { 
     2197               after(grammarAccess.getRepeatedSequenceAccess().getGroup());  
     2198            } 
     2199 
     2200            } 
     2201 
     2202 
     2203            } 
     2204 
     2205        } 
     2206        catch (RecognitionException re) { 
     2207            reportError(re); 
     2208            recover(input,re); 
     2209        } 
     2210        finally { 
     2211            if ( state.backtracking>0 ) { memoize(input, 44, ruleRepeatedSequence_StartIndex); } 
    18912212 
    18922213                restoreStackSize(stackSize); 
     
    18982219 
    18992220 
     2221    // $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 ; 
     2223    public final void entryRuleRepeatRange() throws RecognitionException { 
     2224        int entryRuleRepeatRange_StartIndex = input.index(); 
     2225        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 
     2229            { 
     2230            if ( state.backtracking==0 ) { 
     2231               before(grammarAccess.getRepeatRangeRule());  
     2232            } 
     2233            pushFollow(FOLLOW_ruleRepeatRange_in_entryRuleRepeatRange1428); 
     2234            ruleRepeatRange(); 
     2235 
     2236            state._fsp--; 
     2237            if (state.failed) return ; 
     2238            if ( state.backtracking==0 ) { 
     2239               after(grammarAccess.getRepeatRangeRule());  
     2240            } 
     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); } 
     2252        } 
     2253        return ; 
     2254    } 
     2255    // $ANTLR end "entryRuleRepeatRange" 
     2256 
     2257 
     2258    // $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 ) ) ; 
     2260    public final void ruleRepeatRange() throws RecognitionException { 
     2261        int ruleRepeatRange_StartIndex = input.index(); 
     2262 
     2263                        int stackSize = keepStackSize(); 
     2264             
     2265        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 ) 
     2272            { 
     2273            if ( state.backtracking==0 ) { 
     2274               before(grammarAccess.getRepeatRangeAccess().getGroup());  
     2275            } 
     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); 
     2280            rule__RepeatRange__Group__0(); 
     2281 
     2282            state._fsp--; 
     2283            if (state.failed) return ; 
     2284 
     2285            } 
     2286 
     2287            if ( state.backtracking==0 ) { 
     2288               after(grammarAccess.getRepeatRangeAccess().getGroup());  
     2289            } 
     2290 
     2291            } 
     2292 
     2293 
     2294            } 
     2295 
     2296        } 
     2297        catch (RecognitionException re) { 
     2298            reportError(re); 
     2299            recover(input,re); 
     2300        } 
     2301        finally { 
     2302            if ( state.backtracking>0 ) { memoize(input, 46, ruleRepeatRange_StartIndex); } 
     2303 
     2304                restoreStackSize(stackSize); 
     2305 
     2306        } 
     2307        return ; 
     2308    } 
     2309    // $ANTLR end "ruleRepeatRange" 
     2310 
     2311 
    19002312    // $ANTLR start "rule__EtsiBnf__Alternatives" 
    1901     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:690:1: rule__EtsiBnf__Alternatives : ( ( ( rule__EtsiBnf__Group_0__0 ) ) | ( ( rule__EtsiBnf__Group_1__0 ) ) | ( ( rule__EtsiBnf__Group_2__0 ) ) ); 
     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 ) ) ); 
    19022314    public final void rule__EtsiBnf__Alternatives() throws RecognitionException { 
    1903  
    1904                         int stackSize = keepStackSize(); 
    1905              
    1906         try { 
    1907             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:694:1: ( ( ( rule__EtsiBnf__Group_0__0 ) ) | ( ( rule__EtsiBnf__Group_1__0 ) ) | ( ( rule__EtsiBnf__Group_2__0 ) ) ) 
     2315        int rule__EtsiBnf__Alternatives_StartIndex = input.index(); 
     2316 
     2317                        int stackSize = keepStackSize(); 
     2318             
     2319        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 ) ) ) 
    19082322            int alt3=3; 
    19092323            switch ( input.LA(1) ) { 
     
    19132327                } 
    19142328                break; 
    1915             case 35: 
     2329            case 37: 
    19162330                { 
    19172331                alt3=2; 
    19182332                } 
    19192333                break; 
    1920             case 36: 
     2334            case 38: 
    19212335                { 
    19222336                alt3=3; 
     
    19242338                break; 
    19252339            default: 
     2340                if (state.backtracking>0) {state.failed=true; return ;} 
    19262341                NoViableAltException nvae = 
    19272342                    new NoViableAltException("", 3, 0, input); 
     
    19322347            switch (alt3) { 
    19332348                case 1 : 
    1934                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:695:1: ( ( rule__EtsiBnf__Group_0__0 ) ) 
     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 ) ) 
    19352350                    { 
    1936                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:695:1: ( ( rule__EtsiBnf__Group_0__0 ) ) 
    1937                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:696:1: ( rule__EtsiBnf__Group_0__0 ) 
     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 ) 
    19382353                    { 
    1939                      before(grammarAccess.getEtsiBnfAccess().getGroup_0());  
    1940                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:697:1: ( rule__EtsiBnf__Group_0__0 ) 
    1941                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:697:2: rule__EtsiBnf__Group_0__0 
     2354                    if ( state.backtracking==0 ) { 
     2355                       before(grammarAccess.getEtsiBnfAccess().getGroup_0());  
     2356                    } 
     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 
    19422359                    { 
    1943                     pushFollow(FOLLOW_rule__EtsiBnf__Group_0__0_in_rule__EtsiBnf__Alternatives1424); 
     2360                    pushFollow(FOLLOW_rule__EtsiBnf__Group_0__0_in_rule__EtsiBnf__Alternatives1497); 
    19442361                    rule__EtsiBnf__Group_0__0(); 
    19452362 
    19462363                    state._fsp--; 
    1947  
    1948  
    1949                     } 
    1950  
    1951                      after(grammarAccess.getEtsiBnfAccess().getGroup_0());  
     2364                    if (state.failed) return ; 
     2365 
     2366                    } 
     2367 
     2368                    if ( state.backtracking==0 ) { 
     2369                       after(grammarAccess.getEtsiBnfAccess().getGroup_0());  
     2370                    } 
    19522371 
    19532372                    } 
     
    19572376                    break; 
    19582377                case 2 : 
    1959                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:701:6: ( ( rule__EtsiBnf__Group_1__0 ) ) 
     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 ) ) 
    19602379                    { 
    1961                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:701:6: ( ( rule__EtsiBnf__Group_1__0 ) ) 
    1962                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:702:1: ( rule__EtsiBnf__Group_1__0 ) 
     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 ) 
    19632382                    { 
    1964                      before(grammarAccess.getEtsiBnfAccess().getGroup_1());  
    1965                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:703:1: ( rule__EtsiBnf__Group_1__0 ) 
    1966                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:703:2: rule__EtsiBnf__Group_1__0 
     2383                    if ( state.backtracking==0 ) { 
     2384                       before(grammarAccess.getEtsiBnfAccess().getGroup_1());  
     2385                    } 
     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 
    19672388                    { 
    1968                     pushFollow(FOLLOW_rule__EtsiBnf__Group_1__0_in_rule__EtsiBnf__Alternatives1442); 
     2389                    pushFollow(FOLLOW_rule__EtsiBnf__Group_1__0_in_rule__EtsiBnf__Alternatives1515); 
    19692390                    rule__EtsiBnf__Group_1__0(); 
    19702391 
    19712392                    state._fsp--; 
    1972  
    1973  
    1974                     } 
    1975  
    1976                      after(grammarAccess.getEtsiBnfAccess().getGroup_1());  
     2393                    if (state.failed) return ; 
     2394 
     2395                    } 
     2396 
     2397                    if ( state.backtracking==0 ) { 
     2398                       after(grammarAccess.getEtsiBnfAccess().getGroup_1());  
     2399                    } 
    19772400 
    19782401                    } 
     
    19822405                    break; 
    19832406                case 3 : 
    1984                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:707:6: ( ( rule__EtsiBnf__Group_2__0 ) ) 
     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 ) ) 
    19852408                    { 
    1986                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:707:6: ( ( rule__EtsiBnf__Group_2__0 ) ) 
    1987                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:708:1: ( rule__EtsiBnf__Group_2__0 ) 
     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 ) 
    19882411                    { 
    1989                      before(grammarAccess.getEtsiBnfAccess().getGroup_2());  
    1990                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:709:1: ( rule__EtsiBnf__Group_2__0 ) 
    1991                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:709:2: rule__EtsiBnf__Group_2__0 
     2412                    if ( state.backtracking==0 ) { 
     2413                       before(grammarAccess.getEtsiBnfAccess().getGroup_2());  
     2414                    } 
     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 
    19922417                    { 
    1993                     pushFollow(FOLLOW_rule__EtsiBnf__Group_2__0_in_rule__EtsiBnf__Alternatives1460); 
     2418                    pushFollow(FOLLOW_rule__EtsiBnf__Group_2__0_in_rule__EtsiBnf__Alternatives1533); 
    19942419                    rule__EtsiBnf__Group_2__0(); 
    19952420 
    19962421                    state._fsp--; 
    1997  
    1998  
    1999                     } 
    2000  
    2001                      after(grammarAccess.getEtsiBnfAccess().getGroup_2());  
     2422                    if (state.failed) return ; 
     2423 
     2424                    } 
     2425 
     2426                    if ( state.backtracking==0 ) { 
     2427                       after(grammarAccess.getEtsiBnfAccess().getGroup_2());  
     2428                    } 
    20022429 
    20032430                    } 
     
    20142441        } 
    20152442        finally { 
     2443            if ( state.backtracking>0 ) { memoize(input, 47, rule__EtsiBnf__Alternatives_StartIndex); } 
    20162444 
    20172445                restoreStackSize(stackSize); 
     
    20242452 
    20252453    // $ANTLR start "rule__BnfEntry__Alternatives" 
    2026     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:718:1: rule__BnfEntry__Alternatives : ( ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) | ( ( rule__BnfEntry__RuleAssignment_1 ) ) ); 
     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 ) ) ); 
    20272455    public final void rule__BnfEntry__Alternatives() throws RecognitionException { 
    2028  
    2029                         int stackSize = keepStackSize(); 
    2030              
    2031         try { 
    2032             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:722:1: ( ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) | ( ( rule__BnfEntry__RuleAssignment_1 ) ) ) 
     2456        int rule__BnfEntry__Alternatives_StartIndex = input.index(); 
     2457 
     2458                        int stackSize = keepStackSize(); 
     2459             
     2460        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 ) ) ) 
    20332463            int alt4=2; 
    20342464            int LA4_0 = input.LA(1); 
     
    20412471            } 
    20422472            else { 
     2473                if (state.backtracking>0) {state.failed=true; return ;} 
    20432474                NoViableAltException nvae = 
    20442475                    new NoViableAltException("", 4, 0, input); 
     
    20482479            switch (alt4) { 
    20492480                case 1 : 
    2050                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:723:1: ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) 
     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 ) ) 
    20512482                    { 
    2052                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:723:1: ( ( rule__BnfEntry__SectionheaderAssignment_0 ) ) 
    2053                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:724:1: ( rule__BnfEntry__SectionheaderAssignment_0 ) 
     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 ) 
    20542485                    { 
    2055                      before(grammarAccess.getBnfEntryAccess().getSectionheaderAssignment_0());  
    2056                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:725:1: ( rule__BnfEntry__SectionheaderAssignment_0 ) 
    2057                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:725:2: rule__BnfEntry__SectionheaderAssignment_0 
     2486                    if ( state.backtracking==0 ) { 
     2487                       before(grammarAccess.getBnfEntryAccess().getSectionheaderAssignment_0());  
     2488                    } 
     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 
    20582491                    { 
    2059                     pushFollow(FOLLOW_rule__BnfEntry__SectionheaderAssignment_0_in_rule__BnfEntry__Alternatives1493); 
     2492                    pushFollow(FOLLOW_rule__BnfEntry__SectionheaderAssignment_0_in_rule__BnfEntry__Alternatives1566); 
    20602493                    rule__BnfEntry__SectionheaderAssignment_0(); 
    20612494 
    20622495                    state._fsp--; 
    2063  
    2064  
    2065                     } 
    2066  
    2067                      after(grammarAccess.getBnfEntryAccess().getSectionheaderAssignment_0());  
     2496                    if (state.failed) return ; 
     2497 
     2498                    } 
     2499 
     2500                    if ( state.backtracking==0 ) { 
     2501                       after(grammarAccess.getBnfEntryAccess().getSectionheaderAssignment_0());  
     2502                    } 
    20682503 
    20692504                    } 
     
    20732508                    break; 
    20742509                case 2 : 
    2075                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:729:6: ( ( rule__BnfEntry__RuleAssignment_1 ) ) 
     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 ) ) 
    20762511                    { 
    2077                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:729:6: ( ( rule__BnfEntry__RuleAssignment_1 ) ) 
    2078                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:730:1: ( rule__BnfEntry__RuleAssignment_1 ) 
     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 ) 
    20792514                    { 
    2080                      before(grammarAccess.getBnfEntryAccess().getRuleAssignment_1());  
    2081                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:731:1: ( rule__BnfEntry__RuleAssignment_1 ) 
    2082                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:731:2: rule__BnfEntry__RuleAssignment_1 
     2515                    if ( state.backtracking==0 ) { 
     2516                       before(grammarAccess.getBnfEntryAccess().getRuleAssignment_1());  
     2517                    } 
     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 
    20832520                    { 
    2084                     pushFollow(FOLLOW_rule__BnfEntry__RuleAssignment_1_in_rule__BnfEntry__Alternatives1511); 
     2521                    pushFollow(FOLLOW_rule__BnfEntry__RuleAssignment_1_in_rule__BnfEntry__Alternatives1584); 
    20852522                    rule__BnfEntry__RuleAssignment_1(); 
    20862523 
    20872524                    state._fsp--; 
    2088  
    2089  
    2090                     } 
    2091  
    2092                      after(grammarAccess.getBnfEntryAccess().getRuleAssignment_1());  
     2525                    if (state.failed) return ; 
     2526 
     2527                    } 
     2528 
     2529                    if ( state.backtracking==0 ) { 
     2530                       after(grammarAccess.getBnfEntryAccess().getRuleAssignment_1());  
     2531                    } 
    20932532 
    20942533                    } 
     
    21052544        } 
    21062545        finally { 
     2546            if ( state.backtracking>0 ) { memoize(input, 48, rule__BnfEntry__Alternatives_StartIndex); } 
    21072547 
    21082548                restoreStackSize(stackSize); 
     
    21152555 
    21162556    // $ANTLR start "rule__DeltaEntry__Alternatives" 
    2117     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:740:1: rule__DeltaEntry__Alternatives : ( ( ( rule__DeltaEntry__RuleAssignment_0 ) ) | ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) | ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) ); 
     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 ) ) ); 
    21182558    public final void rule__DeltaEntry__Alternatives() throws RecognitionException { 
    2119  
    2120                         int stackSize = keepStackSize(); 
    2121              
    2122         try { 
    2123             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:744:1: ( ( ( rule__DeltaEntry__RuleAssignment_0 ) ) | ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) | ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) ) 
     2559        int rule__DeltaEntry__Alternatives_StartIndex = input.index(); 
     2560 
     2561                        int stackSize = keepStackSize(); 
     2562             
     2563        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 ) ) ) 
    21242566            int alt5=3; 
    21252567            switch ( input.LA(1) ) { 
     
    21372579                            int LA5_2 = input.LA(5); 
    21382580 
    2139                             if ( (LA5_2==27) ) { 
     2581                            if ( (LA5_2==17) ) { 
     2582                                alt5=3; 
     2583                            } 
     2584                            else if ( (LA5_2==27) ) { 
    21402585                                alt5=1; 
    21412586                            } 
    2142                             else if ( (LA5_2==17) ) { 
    2143                                 alt5=3; 
    2144                             } 
    21452587                            else { 
     2588                                if (state.backtracking>0) {state.failed=true; return ;} 
    21462589                                NoViableAltException nvae = 
    21472590                                    new NoViableAltException("", 5, 2, input); 
     
    21512594                        } 
    21522595                        else { 
     2596                            if (state.backtracking>0) {state.failed=true; return ;} 
    21532597                            NoViableAltException nvae = 
    21542598                                new NoViableAltException("", 5, 5, input); 
     
    21582602                    } 
    21592603                    else { 
     2604                        if (state.backtracking>0) {state.failed=true; return ;} 
    21602605                        NoViableAltException nvae = 
    21612606                            new NoViableAltException("", 5, 4, input); 
     
    21702615                        int LA5_2 = input.LA(4); 
    21712616 
    2172                         if ( (LA5_2==27) ) { 
     2617                        if ( (LA5_2==17) ) { 
     2618                            alt5=3; 
     2619                        } 
     2620                        else if ( (LA5_2==27) ) { 
    21732621                            alt5=1; 
    21742622                        } 
    2175                         else if ( (LA5_2==17) ) { 
    2176                             alt5=3; 
    2177                         } 
    21782623                        else { 
     2624                            if (state.backtracking>0) {state.failed=true; return ;} 
    21792625                            NoViableAltException nvae = 
    21802626                                new NoViableAltException("", 5, 2, input); 
     
    21842630                    } 
    21852631                    else { 
     2632                        if (state.backtracking>0) {state.failed=true; return ;} 
    21862633                        NoViableAltException nvae = 
    21872634                            new NoViableAltException("", 5, 5, input); 
     
    21912638                } 
    21922639                else { 
     2640                    if (state.backtracking>0) {state.failed=true; return ;} 
    21932641                    NoViableAltException nvae = 
    21942642                        new NoViableAltException("", 5, 1, input); 
     
    22022650                int LA5_2 = input.LA(2); 
    22032651 
    2204                 if ( (LA5_2==27) ) { 
     2652                if ( (LA5_2==17) ) { 
     2653                    alt5=3; 
     2654                } 
     2655                else if ( (LA5_2==27) ) { 
    22052656                    alt5=1; 
    22062657                } 
    2207                 else if ( (LA5_2==17) ) { 
    2208                     alt5=3; 
    2209                 } 
    22102658                else { 
     2659                    if (state.backtracking>0) {state.failed=true; return ;} 
    22112660                    NoViableAltException nvae = 
    22122661                        new NoViableAltException("", 5, 2, input); 
     
    22222671                break; 
    22232672            default: 
     2673                if (state.backtracking>0) {state.failed=true; return ;} 
    22242674                NoViableAltException nvae = 
    22252675                    new NoViableAltException("", 5, 0, input); 
     
    22302680            switch (alt5) { 
    22312681                case 1 : 
    2232                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:745:1: ( ( rule__DeltaEntry__RuleAssignment_0 ) ) 
     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 ) ) 
    22332683                    { 
    2234                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:745:1: ( ( rule__DeltaEntry__RuleAssignment_0 ) ) 
    2235                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:746:1: ( rule__DeltaEntry__RuleAssignment_0 ) 
     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 ) 
    22362686                    { 
    2237                      before(grammarAccess.getDeltaEntryAccess().getRuleAssignment_0());  
    2238                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:747:1: ( rule__DeltaEntry__RuleAssignment_0 ) 
    2239                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:747:2: rule__DeltaEntry__RuleAssignment_0 
     2687                    if ( state.backtracking==0 ) { 
     2688                       before(grammarAccess.getDeltaEntryAccess().getRuleAssignment_0());  
     2689                    } 
     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 
    22402692                    { 
    2241                     pushFollow(FOLLOW_rule__DeltaEntry__RuleAssignment_0_in_rule__DeltaEntry__Alternatives1544); 
     2693                    pushFollow(FOLLOW_rule__DeltaEntry__RuleAssignment_0_in_rule__DeltaEntry__Alternatives1617); 
    22422694                    rule__DeltaEntry__RuleAssignment_0(); 
    22432695 
    22442696                    state._fsp--; 
    2245  
    2246  
    2247                     } 
    2248  
    2249                      after(grammarAccess.getDeltaEntryAccess().getRuleAssignment_0());  
     2697                    if (state.failed) return ; 
     2698 
     2699                    } 
     2700 
     2701                    if ( state.backtracking==0 ) { 
     2702                       after(grammarAccess.getDeltaEntryAccess().getRuleAssignment_0());  
     2703                    } 
    22502704 
    22512705                    } 
     
    22552709                    break; 
    22562710                case 2 : 
    2257                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:751:6: ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) 
     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 ) ) 
    22582712                    { 
    2259                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:751:6: ( ( rule__DeltaEntry__SectionheaderAssignment_1 ) ) 
    2260                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:752:1: ( rule__DeltaEntry__SectionheaderAssignment_1 ) 
     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 ) 
    22612715                    { 
    2262                      before(grammarAccess.getDeltaEntryAccess().getSectionheaderAssignment_1());  
    2263                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:753:1: ( rule__DeltaEntry__SectionheaderAssignment_1 ) 
    2264                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:753:2: rule__DeltaEntry__SectionheaderAssignment_1 
     2716                    if ( state.backtracking==0 ) { 
     2717                       before(grammarAccess.getDeltaEntryAccess().getSectionheaderAssignment_1());  
     2718                    } 
     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 
    22652721                    { 
    2266                     pushFollow(FOLLOW_rule__DeltaEntry__SectionheaderAssignment_1_in_rule__DeltaEntry__Alternatives1562); 
     2722                    pushFollow(FOLLOW_rule__DeltaEntry__SectionheaderAssignment_1_in_rule__DeltaEntry__Alternatives1635); 
    22672723                    rule__DeltaEntry__SectionheaderAssignment_1(); 
    22682724 
    22692725                    state._fsp--; 
    2270  
    2271  
    2272                     } 
    2273  
    2274                      after(grammarAccess.getDeltaEntryAccess().getSectionheaderAssignment_1());  
     2726                    if (state.failed) return ; 
     2727 
     2728                    } 
     2729 
     2730                    if ( state.backtracking==0 ) { 
     2731                       after(grammarAccess.getDeltaEntryAccess().getSectionheaderAssignment_1());  
     2732                    } 
    22752733 
    22762734                    } 
     
    22802738                    break; 
    22812739                case 3 : 
    2282                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:757:6: ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) 
     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 ) ) 
    22832741                    { 
    2284                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:757:6: ( ( rule__DeltaEntry__ExtRuleAssignment_2 ) ) 
    2285                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:758:1: ( rule__DeltaEntry__ExtRuleAssignment_2 ) 
     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 ) 
    22862744                    { 
    2287                      before(grammarAccess.getDeltaEntryAccess().getExtRuleAssignment_2());  
    2288                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:759:1: ( rule__DeltaEntry__ExtRuleAssignment_2 ) 
    2289                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:759:2: rule__DeltaEntry__ExtRuleAssignment_2 
     2745                    if ( state.backtracking==0 ) { 
     2746                       before(grammarAccess.getDeltaEntryAccess().getExtRuleAssignment_2());  
     2747                    } 
     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 
    22902750                    { 
    2291                     pushFollow(FOLLOW_rule__DeltaEntry__ExtRuleAssignment_2_in_rule__DeltaEntry__Alternatives1580); 
     2751                    pushFollow(FOLLOW_rule__DeltaEntry__ExtRuleAssignment_2_in_rule__DeltaEntry__Alternatives1653); 
    22922752                    rule__DeltaEntry__ExtRuleAssignment_2(); 
    22932753 
    22942754                    state._fsp--; 
    2295  
    2296  
    2297                     } 
    2298  
    2299                      after(grammarAccess.getDeltaEntryAccess().getExtRuleAssignment_2());  
     2755                    if (state.failed) return ; 
     2756 
     2757                    } 
     2758 
     2759                    if ( state.backtracking==0 ) { 
     2760                       after(grammarAccess.getDeltaEntryAccess().getExtRuleAssignment_2());  
     2761                    } 
    23002762 
    23012763                    } 
     
    23122774        } 
    23132775        finally { 
     2776            if ( state.backtracking>0 ) { memoize(input, 49, rule__DeltaEntry__Alternatives_StartIndex); } 
    23142777 
    23152778                restoreStackSize(stackSize); 
     
    23222785 
    23232786    // $ANTLR start "rule__MergeEntry__Alternatives" 
    2324     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:768:1: rule__MergeEntry__Alternatives : ( ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) | ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) ); 
     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 ) ) ); 
    23252788    public final void rule__MergeEntry__Alternatives() throws RecognitionException { 
    2326  
    2327                         int stackSize = keepStackSize(); 
    2328              
    2329         try { 
    2330             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:772:1: ( ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) | ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) ) 
     2789        int rule__MergeEntry__Alternatives_StartIndex = input.index(); 
     2790 
     2791                        int stackSize = keepStackSize(); 
     2792             
     2793        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 ) ) ) 
    23312796            int alt6=2; 
    23322797            int LA6_0 = input.LA(1); 
     
    23392804            } 
    23402805            else { 
     2806                if (state.backtracking>0) {state.failed=true; return ;} 
    23412807                NoViableAltException nvae = 
    23422808                    new NoViableAltException("", 6, 0, input); 
     
    23462812            switch (alt6) { 
    23472813                case 1 : 
    2348                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:773:1: ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) 
     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 ) ) 
    23492815                    { 
    2350                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:773:1: ( ( rule__MergeEntry__SectionheaderAssignment_0 ) ) 
    2351                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:774:1: ( rule__MergeEntry__SectionheaderAssignment_0 ) 
     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 ) 
    23522818                    { 
    2353                      before(grammarAccess.getMergeEntryAccess().getSectionheaderAssignment_0());  
    2354                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:775:1: ( rule__MergeEntry__SectionheaderAssignment_0 ) 
    2355                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:775:2: rule__MergeEntry__SectionheaderAssignment_0 
     2819                    if ( state.backtracking==0 ) { 
     2820                       before(grammarAccess.getMergeEntryAccess().getSectionheaderAssignment_0());  
     2821                    } 
     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 
    23562824                    { 
    2357                     pushFollow(FOLLOW_rule__MergeEntry__SectionheaderAssignment_0_in_rule__MergeEntry__Alternatives1613); 
     2825                    pushFollow(FOLLOW_rule__MergeEntry__SectionheaderAssignment_0_in_rule__MergeEntry__Alternatives1686); 
    23582826                    rule__MergeEntry__SectionheaderAssignment_0(); 
    23592827 
    23602828                    state._fsp--; 
    2361  
    2362  
    2363                     } 
    2364  
    2365                      after(grammarAccess.getMergeEntryAccess().getSectionheaderAssignment_0());  
     2829                    if (state.failed) return ; 
     2830 
     2831                    } 
     2832 
     2833                    if ( state.backtracking==0 ) { 
     2834                       after(grammarAccess.getMergeEntryAccess().getSectionheaderAssignment_0());  
     2835                    } 
    23662836 
    23672837                    } 
     
    23712841                    break; 
    23722842                case 2 : 
    2373                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:779:6: ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) 
     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 ) ) 
    23742844                    { 
    2375                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:779:6: ( ( rule__MergeEntry__MergeRuleAssignment_1 ) ) 
    2376                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:780:1: ( rule__MergeEntry__MergeRuleAssignment_1 ) 
     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 ) 
    23772847                    { 
    2378                      before(grammarAccess.getMergeEntryAccess().getMergeRuleAssignment_1());  
    2379                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:781:1: ( rule__MergeEntry__MergeRuleAssignment_1 ) 
    2380                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:781:2: rule__MergeEntry__MergeRuleAssignment_1 
     2848                    if ( state.backtracking==0 ) { 
     2849                       before(grammarAccess.getMergeEntryAccess().getMergeRuleAssignment_1());  
     2850                    } 
     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 
    23812853                    { 
    2382                     pushFollow(FOLLOW_rule__MergeEntry__MergeRuleAssignment_1_in_rule__MergeEntry__Alternatives1631); 
     2854                    pushFollow(FOLLOW_rule__MergeEntry__MergeRuleAssignment_1_in_rule__MergeEntry__Alternatives1704); 
    23832855                    rule__MergeEntry__MergeRuleAssignment_1(); 
    23842856 
    23852857                    state._fsp--; 
    2386  
    2387  
    2388                     } 
    2389  
    2390                      after(grammarAccess.getMergeEntryAccess().getMergeRuleAssignment_1());  
     2858                    if (state.failed) return ; 
     2859 
     2860                    } 
     2861 
     2862                    if ( state.backtracking==0 ) { 
     2863                       after(grammarAccess.getMergeEntryAccess().getMergeRuleAssignment_1());  
     2864                    } 
    23912865 
    23922866                    } 
     
    24032877        } 
    24042878        finally { 
     2879            if ( state.backtracking>0 ) { memoize(input, 50, rule__MergeEntry__Alternatives_StartIndex); } 
    24052880 
    24062881                restoreStackSize(stackSize); 
     
    24132888 
    24142889    // $ANTLR start "rule__Import__Alternatives_2_1" 
    2415     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:790:1: rule__Import__Alternatives_2_1 : ( ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) ); 
     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 ) ) ); 
    24162891    public final void rule__Import__Alternatives_2_1() throws RecognitionException { 
    2417  
    2418                         int stackSize = keepStackSize(); 
    2419              
    2420         try { 
    2421             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:794:1: ( ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) | ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) ) 
     2892        int rule__Import__Alternatives_2_1_StartIndex = input.index(); 
     2893 
     2894                        int stackSize = keepStackSize(); 
     2895             
     2896        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 ) ) ) 
    24222899            int alt7=3; 
    24232900            switch ( input.LA(1) ) { 
    2424             case 37: 
     2901            case 39: 
    24252902                { 
    24262903                alt7=1; 
    24272904                } 
    24282905                break; 
    2429             case 38: 
     2906            case 40: 
    24302907                { 
    24312908                alt7=2; 
    24322909                } 
    24332910                break; 
    2434             case 39: 
     2911            case 41: 
    24352912                { 
    24362913                alt7=3; 
     
    24382915                break; 
    24392916            default: 
     2917                if (state.backtracking>0) {state.failed=true; return ;} 
    24402918                NoViableAltException nvae = 
    24412919                    new NoViableAltException("", 7, 0, input); 
     
    24462924            switch (alt7) { 
    24472925                case 1 : 
    2448                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:795:1: ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) 
     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 ) ) 
    24492927                    { 
    2450                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:795:1: ( ( rule__Import__GrammarTypeAssignment_2_1_0 ) ) 
    2451                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:796:1: ( rule__Import__GrammarTypeAssignment_2_1_0 ) 
     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 ) 
    24522930                    { 
    2453                      before(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_0());  
    2454                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:797:1: ( rule__Import__GrammarTypeAssignment_2_1_0 ) 
    2455                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:797:2: rule__Import__GrammarTypeAssignment_2_1_0 
     2931                    if ( state.backtracking==0 ) { 
     2932                       before(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_0());  
     2933                    } 
     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 
    24562936                    { 
    2457                     pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_0_in_rule__Import__Alternatives_2_11664); 
     2937                    pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_0_in_rule__Import__Alternatives_2_11737); 
    24582938                    rule__Import__GrammarTypeAssignment_2_1_0(); 
    24592939 
    24602940                    state._fsp--; 
    2461  
    2462  
    2463                     } 
    2464  
    2465                      after(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_0());  
     2941                    if (state.failed) return ; 
     2942 
     2943                    } 
     2944 
     2945                    if ( state.backtracking==0 ) { 
     2946                       after(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_0());  
     2947                    } 
    24662948 
    24672949                    } 
     
    24712953                    break; 
    24722954                case 2 : 
    2473                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:801:6: ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) 
     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 ) ) 
    24742956                    { 
    2475                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:801:6: ( ( rule__Import__GrammarTypeAssignment_2_1_1 ) ) 
    2476                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:802:1: ( rule__Import__GrammarTypeAssignment_2_1_1 ) 
     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 ) 
    24772959                    { 
    2478                      before(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_1());  
    2479                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:803:1: ( rule__Import__GrammarTypeAssignment_2_1_1 ) 
    2480                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:803:2: rule__Import__GrammarTypeAssignment_2_1_1 
     2960                    if ( state.backtracking==0 ) { 
     2961                       before(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_1());  
     2962                    } 
     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 
    24812965                    { 
    2482                     pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_1_in_rule__Import__Alternatives_2_11682); 
     2966                    pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_1_in_rule__Import__Alternatives_2_11755); 
    24832967                    rule__Import__GrammarTypeAssignment_2_1_1(); 
    24842968 
    24852969                    state._fsp--; 
    2486  
    2487  
    2488                     } 
    2489  
    2490                      after(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_1());  
     2970                    if (state.failed) return ; 
     2971 
     2972                    } 
     2973 
     2974                    if ( state.backtracking==0 ) { 
     2975                       after(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_1());  
     2976                    } 
    24912977 
    24922978                    } 
     
    24962982                    break; 
    24972983                case 3 : 
    2498                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:807:6: ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) 
     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 ) ) 
    24992985                    { 
    2500                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:807:6: ( ( rule__Import__GrammarTypeAssignment_2_1_2 ) ) 
    2501                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:808:1: ( rule__Import__GrammarTypeAssignment_2_1_2 ) 
     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 ) 
    25022988                    { 
    2503                      before(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_2());  
    2504                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:809:1: ( rule__Import__GrammarTypeAssignment_2_1_2 ) 
    2505                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:809:2: rule__Import__GrammarTypeAssignment_2_1_2 
     2989                    if ( state.backtracking==0 ) { 
     2990                       before(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_2());  
     2991                    } 
     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 
    25062994                    { 
    2507                     pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_2_in_rule__Import__Alternatives_2_11700); 
     2995                    pushFollow(FOLLOW_rule__Import__GrammarTypeAssignment_2_1_2_in_rule__Import__Alternatives_2_11773); 
    25082996                    rule__Import__GrammarTypeAssignment_2_1_2(); 
    25092997 
    25102998                    state._fsp--; 
    2511  
    2512  
    2513                     } 
    2514  
    2515                      after(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_2());  
     2999                    if (state.failed) return ; 
     3000 
     3001                    } 
     3002 
     3003                    if ( state.backtracking==0 ) { 
     3004                       after(grammarAccess.getImportAccess().getGrammarTypeAssignment_2_1_2());  
     3005                    } 
    25163006 
    25173007                    } 
     
    25283018        } 
    25293019        finally { 
     3020            if ( state.backtracking>0 ) { memoize(input, 51, rule__Import__Alternatives_2_1_StartIndex); } 
    25303021 
    25313022                restoreStackSize(stackSize); 
     
    25383029 
    25393030    // $ANTLR start "rule__ExtRule__Alternatives_4" 
    2540     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:818:1: rule__ExtRule__Alternatives_4 : ( ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) | ( ')' ) | ( ']' ) | ( '}' ) | ( '|' ) | ( '(' ) | ( '[' ) | ( '{' ) | ( '*' ) | ( '+' ) ); 
     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 ) ) | ( ')' ) | ( ']' ) | ( '}' ) | ( '|' ) | ( '(' ) | ( '[' ) | ( '{' ) | ( '*' ) | ( '+' ) ); 
    25413032    public final void rule__ExtRule__Alternatives_4() throws RecognitionException { 
    2542  
    2543                         int stackSize = keepStackSize(); 
    2544              
    2545         try { 
    2546             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:822:1: ( ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) | ( ')' ) | ( ']' ) | ( '}' ) | ( '|' ) | ( '(' ) | ( '[' ) | ( '{' ) | ( '*' ) | ( '+' ) ) 
     3033        int rule__ExtRule__Alternatives_4_StartIndex = input.index(); 
     3034 
     3035                        int stackSize = keepStackSize(); 
     3036             
     3037        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 ) ) | ( ')' ) | ( ']' ) | ( '}' ) | ( '|' ) | ( '(' ) | ( '[' ) | ( '{' ) | ( '*' ) | ( '+' ) ) 
    25473040            int alt8=10; 
    25483041            switch ( input.LA(1) ) { 
     
    26003093                break; 
    26013094            default: 
     3095                if (state.backtracking>0) {state.failed=true; return ;} 
    26023096                NoViableAltException nvae = 
    26033097                    new NoViableAltException("", 8, 0, input); 
     
    26083102            switch (alt8) { 
    26093103                case 1 : 
    2610                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:823:1: ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) 
     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 ) ) 
    26113105                    { 
    2612                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:823:1: ( ( rule__ExtRule__ElementsAssignment_4_0 ) ) 
    2613                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:824:1: ( rule__ExtRule__ElementsAssignment_4_0 ) 
     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 ) 
    26143108                    { 
    2615                      before(grammarAccess.getExtRuleAccess().getElementsAssignment_4_0());  
    2616                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:825:1: ( rule__ExtRule__ElementsAssignment_4_0 ) 
    2617                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:825:2: rule__ExtRule__ElementsAssignment_4_0 
     3109                    if ( state.backtracking==0 ) { 
     3110                       before(grammarAccess.getExtRuleAccess().getElementsAssignment_4_0());  
     3111                    } 
     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 
    26183114                    { 
    2619                     pushFollow(FOLLOW_rule__ExtRule__ElementsAssignment_4_0_in_rule__ExtRule__Alternatives_41733); 
     3115                    pushFollow(FOLLOW_rule__ExtRule__ElementsAssignment_4_0_in_rule__ExtRule__Alternatives_41806); 
    26203116                    rule__ExtRule__ElementsAssignment_4_0(); 
    26213117 
    26223118                    state._fsp--; 
    2623  
    2624  
    2625                     } 
    2626  
    2627                      after(grammarAccess.getExtRuleAccess().getElementsAssignment_4_0());  
     3119                    if (state.failed) return ; 
     3120 
     3121                    } 
     3122 
     3123                    if ( state.backtracking==0 ) { 
     3124                       after(grammarAccess.getExtRuleAccess().getElementsAssignment_4_0());  
     3125                    } 
    26283126 
    26293127                    } 
     
    26333131                    break; 
    26343132                case 2 : 
    2635                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:829:6: ( ')' ) 
     3133                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:859:6: ( ')' ) 
    26363134                    { 
    2637                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:829:6: ( ')' ) 
    2638                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:830:1: ')' 
     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: ')' 
    26393137                    { 
    2640                      before(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_4_1());  
    2641                     match(input,13,FOLLOW_13_in_rule__ExtRule__Alternatives_41752);  
    2642                      after(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_4_1());  
     3138                    if ( state.backtracking==0 ) { 
     3139                       before(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_4_1());  
     3140                    } 
     3141                    match(input,13,FOLLOW_13_in_rule__ExtRule__Alternatives_41825); if (state.failed) return ; 
     3142                    if ( state.backtracking==0 ) { 
     3143                       after(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_4_1());  
     3144                    } 
    26433145 
    26443146                    } 
     
    26483150                    break; 
    26493151                case 3 : 
    2650                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:837:6: ( ']' ) 
     3152                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:867:6: ( ']' ) 
    26513153                    { 
    2652                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:837:6: ( ']' ) 
    2653                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:838:1: ']' 
     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: ']' 
    26543156                    { 
    2655                      before(grammarAccess.getExtRuleAccess().getRightSquareBracketKeyword_4_2());  
    2656                     match(input,14,FOLLOW_14_in_rule__ExtRule__Alternatives_41772);  
    2657                      after(grammarAccess.getExtRuleAccess().getRightSquareBracketKeyword_4_2());  
     3157                    if ( state.backtracking==0 ) { 
     3158                       before(grammarAccess.getExtRuleAccess().getRightSquareBracketKeyword_4_2());  
     3159                    } 
     3160                    match(input,14,FOLLOW_14_in_rule__ExtRule__Alternatives_41845); if (state.failed) return ; 
     3161                    if ( state.backtracking==0 ) { 
     3162                       after(grammarAccess.getExtRuleAccess().getRightSquareBracketKeyword_4_2());  
     3163                    } 
    26583164 
    26593165                    } 
     
    26633169                    break; 
    26643170                case 4 : 
    2665                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:845:6: ( '}' ) 
     3171                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:875:6: ( '}' ) 
    26663172                    { 
    2667                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:845:6: ( '}' ) 
    2668                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:846:1: '}' 
     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: '}' 
    26693175                    { 
    2670                      before(grammarAccess.getExtRuleAccess().getRightCurlyBracketKeyword_4_3());  
    2671                     match(input,15,FOLLOW_15_in_rule__ExtRule__Alternatives_41792);  
    2672                      after(grammarAccess.getExtRuleAccess().getRightCurlyBracketKeyword_4_3());  
     3176                    if ( state.backtracking==0 ) { 
     3177                       before(grammarAccess.getExtRuleAccess().getRightCurlyBracketKeyword_4_3());  
     3178                    } 
     3179                    match(input,15,FOLLOW_15_in_rule__ExtRule__Alternatives_41865); if (state.failed) return ; 
     3180                    if ( state.backtracking==0 ) { 
     3181                       after(grammarAccess.getExtRuleAccess().getRightCurlyBracketKeyword_4_3());  
     3182                    } 
    26733183 
    26743184                    } 
     
    26783188                    break; 
    26793189                case 5 : 
    2680                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:853:6: ( '|' ) 
     3190                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:883:6: ( '|' ) 
    26813191                    { 
    2682                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:853:6: ( '|' ) 
    2683                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:854:1: '|' 
     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: '|' 
    26843194                    { 
    2685                      before(grammarAccess.getExtRuleAccess().getVerticalLineKeyword_4_4());  
    2686                     match(input,16,FOLLOW_16_in_rule__ExtRule__Alternatives_41812);  
    2687                      after(grammarAccess.getExtRuleAccess().getVerticalLineKeyword_4_4());  
     3195                    if ( state.backtracking==0 ) { 
     3196                       before(grammarAccess.getExtRuleAccess().getVerticalLineKeyword_4_4());  
     3197                    } 
     3198                    match(input,16,FOLLOW_16_in_rule__ExtRule__Alternatives_41885); if (state.failed) return ; 
     3199                    if ( state.backtracking==0 ) { 
     3200                       after(grammarAccess.getExtRuleAccess().getVerticalLineKeyword_4_4());  
     3201                    } 
    26883202 
    26893203                    } 
     
    26933207                    break; 
    26943208                case 6 : 
    2695                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:861:6: ( '(' ) 
     3209                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:891:6: ( '(' ) 
    26963210                    { 
    2697                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:861:6: ( '(' ) 
    2698                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:862:1: '(' 
     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: '(' 
    26993213                    { 
    2700                      before(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_4_5());  
    2701                     match(input,17,FOLLOW_17_in_rule__ExtRule__Alternatives_41832);  
    2702                      after(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_4_5());  
     3214                    if ( state.backtracking==0 ) { 
     3215                       before(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_4_5());  
     3216                    } 
     3217                    match(input,17,FOLLOW_17_in_rule__ExtRule__Alternatives_41905); if (state.failed) return ; 
     3218                    if ( state.backtracking==0 ) { 
     3219                       after(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_4_5());  
     3220                    } 
    27033221 
    27043222                    } 
     
    27083226                    break; 
    27093227                case 7 : 
    2710                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:869:6: ( '[' ) 
     3228                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:899:6: ( '[' ) 
    27113229                    { 
    2712                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:869:6: ( '[' ) 
    2713                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:870:1: '[' 
     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: '[' 
    27143232                    { 
    2715                      before(grammarAccess.getExtRuleAccess().getLeftSquareBracketKeyword_4_6());  
    2716                     match(input,18,FOLLOW_18_in_rule__ExtRule__Alternatives_41852);  
    2717                      after(grammarAccess.getExtRuleAccess().getLeftSquareBracketKeyword_4_6());  
     3233                    if ( state.backtracking==0 ) { 
     3234                       before(grammarAccess.getExtRuleAccess().getLeftSquareBracketKeyword_4_6());  
     3235                    } 
     3236                    match(input,18,FOLLOW_18_in_rule__ExtRule__Alternatives_41925); if (state.failed) return ; 
     3237                    if ( state.backtracking==0 ) { 
     3238                       after(grammarAccess.getExtRuleAccess().getLeftSquareBracketKeyword_4_6());  
     3239                    } 
    27183240 
    27193241                    } 
     
    27233245                    break; 
    27243246                case 8 : 
    2725                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:877:6: ( '{' ) 
     3247                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:907:6: ( '{' ) 
    27263248                    { 
    2727                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:877:6: ( '{' ) 
    2728                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:878:1: '{' 
     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: '{' 
    27293251                    { 
    2730                      before(grammarAccess.getExtRuleAccess().getLeftCurlyBracketKeyword_4_7());  
    2731                     match(input,19,FOLLOW_19_in_rule__ExtRule__Alternatives_41872);  
    2732                      after(grammarAccess.getExtRuleAccess().getLeftCurlyBracketKeyword_4_7());  
     3252                    if ( state.backtracking==0 ) { 
     3253                       before(grammarAccess.getExtRuleAccess().getLeftCurlyBracketKeyword_4_7());  
     3254                    } 
     3255                    match(input,19,FOLLOW_19_in_rule__ExtRule__Alternatives_41945); if (state.failed) return ; 
     3256                    if ( state.backtracking==0 ) { 
     3257                       after(grammarAccess.getExtRuleAccess().getLeftCurlyBracketKeyword_4_7());  
     3258                    } 
    27333259 
    27343260                    } 
     
    27383264                    break; 
    27393265                case 9 : 
    2740                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:885:6: ( '*' ) 
     3266                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:915:6: ( '*' ) 
    27413267                    { 
    2742                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:885:6: ( '*' ) 
    2743                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:886:1: '*' 
     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: '*' 
    27443270                    { 
    2745                      before(grammarAccess.getExtRuleAccess().getAsteriskKeyword_4_8());  
    2746                     match(input,20,FOLLOW_20_in_rule__ExtRule__Alternatives_41892);  
    2747                      after(grammarAccess.getExtRuleAccess().getAsteriskKeyword_4_8());  
     3271                    if ( state.backtracking==0 ) { 
     3272                       before(grammarAccess.getExtRuleAccess().getAsteriskKeyword_4_8());  
     3273                    } 
     3274                    match(input,20,FOLLOW_20_in_rule__ExtRule__Alternatives_41965); if (state.failed) return ; 
     3275                    if ( state.backtracking==0 ) { 
     3276                       after(grammarAccess.getExtRuleAccess().getAsteriskKeyword_4_8());  
     3277                    } 
    27483278 
    27493279                    } 
     
    27533283                    break; 
    27543284                case 10 : 
    2755                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:893:6: ( '+' ) 
     3285                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:923:6: ( '+' ) 
    27563286                    { 
    2757                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:893:6: ( '+' ) 
    2758                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:894:1: '+' 
     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: '+' 
    27593289                    { 
    2760                      before(grammarAccess.getExtRuleAccess().getPlusSignKeyword_4_9());  
    2761                     match(input,21,FOLLOW_21_in_rule__ExtRule__Alternatives_41912);  
    2762                      after(grammarAccess.getExtRuleAccess().getPlusSignKeyword_4_9());  
     3290                    if ( state.backtracking==0 ) { 
     3291                       before(grammarAccess.getExtRuleAccess().getPlusSignKeyword_4_9());  
     3292                    } 
     3293                    match(input,21,FOLLOW_21_in_rule__ExtRule__Alternatives_41985); if (state.failed) return ; 
     3294                    if ( state.backtracking==0 ) { 
     3295                       after(grammarAccess.getExtRuleAccess().getPlusSignKeyword_4_9());  
     3296                    } 
    27633297 
    27643298                    } 
     
    27753309        } 
    27763310        finally { 
     3311            if ( state.backtracking>0 ) { memoize(input, 52, rule__ExtRule__Alternatives_4_StartIndex); } 
    27773312 
    27783313                restoreStackSize(stackSize); 
     
    27853320 
    27863321    // $ANTLR start "rule__MergeRule__Alternatives" 
    2787     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:906:1: rule__MergeRule__Alternatives : ( ( ruleGlobalCombinator ) | ( ruleRuleCombinator ) | ( ruleHookCombinator ) ); 
     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 ) ); 
    27883323    public final void rule__MergeRule__Alternatives() throws RecognitionException { 
    2789  
    2790                         int stackSize = keepStackSize(); 
    2791              
    2792         try { 
    2793             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:910:1: ( ( ruleGlobalCombinator ) | ( ruleRuleCombinator ) | ( ruleHookCombinator ) ) 
     3324        int rule__MergeRule__Alternatives_StartIndex = input.index(); 
     3325 
     3326                        int stackSize = keepStackSize(); 
     3327             
     3328        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 ) ) 
    27943331            int alt9=3; 
    27953332            switch ( input.LA(1) ) { 
     
    28103347                break; 
    28113348            default: 
     3349                if (state.backtracking>0) {state.failed=true; return ;} 
    28123350                NoViableAltException nvae = 
    28133351                    new NoViableAltException("", 9, 0, input); 
     
    28183356            switch (alt9) { 
    28193357                case 1 : 
    2820                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:911:1: ( ruleGlobalCombinator ) 
     3358                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:941:1: ( ruleGlobalCombinator ) 
    28213359                    { 
    2822                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:911:1: ( ruleGlobalCombinator ) 
    2823                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:912:1: ruleGlobalCombinator 
     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 
    28243362                    { 
    2825                      before(grammarAccess.getMergeRuleAccess().getGlobalCombinatorParserRuleCall_0());  
    2826                     pushFollow(FOLLOW_ruleGlobalCombinator_in_rule__MergeRule__Alternatives1946); 
     3363                    if ( state.backtracking==0 ) { 
     3364                       before(grammarAccess.getMergeRuleAccess().getGlobalCombinatorParserRuleCall_0());  
     3365                    } 
     3366                    pushFollow(FOLLOW_ruleGlobalCombinator_in_rule__MergeRule__Alternatives2019); 
    28273367                    ruleGlobalCombinator(); 
    28283368 
    28293369                    state._fsp--; 
    2830  
    2831                      after(grammarAccess.getMergeRuleAccess().getGlobalCombinatorParserRuleCall_0());  
     3370                    if (state.failed) return ; 
     3371                    if ( state.backtracking==0 ) { 
     3372                       after(grammarAccess.getMergeRuleAccess().getGlobalCombinatorParserRuleCall_0());  
     3373                    } 
    28323374 
    28333375                    } 
     
    28373379                    break; 
    28383380                case 2 : 
    2839                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:917:6: ( ruleRuleCombinator ) 
     3381                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:947:6: ( ruleRuleCombinator ) 
    28403382                    { 
    2841                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:917:6: ( ruleRuleCombinator ) 
    2842                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:918:1: ruleRuleCombinator 
     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 
    28433385                    { 
    2844                      before(grammarAccess.getMergeRuleAccess().getRuleCombinatorParserRuleCall_1());  
    2845                     pushFollow(FOLLOW_ruleRuleCombinator_in_rule__MergeRule__Alternatives1963); 
     3386                    if ( state.backtracking==0 ) { 
     3387                       before(grammarAccess.getMergeRuleAccess().getRuleCombinatorParserRuleCall_1());  
     3388                    } 
     3389                    pushFollow(FOLLOW_ruleRuleCombinator_in_rule__MergeRule__Alternatives2036); 
    28463390                    ruleRuleCombinator(); 
    28473391 
    28483392                    state._fsp--; 
    2849  
    2850                      after(grammarAccess.getMergeRuleAccess().getRuleCombinatorParserRuleCall_1());  
     3393                    if (state.failed) return ; 
     3394                    if ( state.backtracking==0 ) { 
     3395                       after(grammarAccess.getMergeRuleAccess().getRuleCombinatorParserRuleCall_1());  
     3396                    } 
    28513397 
    28523398                    } 
     
    28563402                    break; 
    28573403                case 3 : 
    2858                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:923:6: ( ruleHookCombinator ) 
     3404                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:953:6: ( ruleHookCombinator ) 
    28593405                    { 
    2860                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:923:6: ( ruleHookCombinator ) 
    2861                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:924:1: ruleHookCombinator 
     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 
    28623408                    { 
    2863                      before(grammarAccess.getMergeRuleAccess().getHookCombinatorParserRuleCall_2());  
    2864                     pushFollow(FOLLOW_ruleHookCombinator_in_rule__MergeRule__Alternatives1980); 
     3409                    if ( state.backtracking==0 ) { 
     3410                       before(grammarAccess.getMergeRuleAccess().getHookCombinatorParserRuleCall_2());  
     3411                    } 
     3412                    pushFollow(FOLLOW_ruleHookCombinator_in_rule__MergeRule__Alternatives2053); 
    28653413                    ruleHookCombinator(); 
    28663414 
    28673415                    state._fsp--; 
    2868  
    2869                      after(grammarAccess.getMergeRuleAccess().getHookCombinatorParserRuleCall_2());  
     3416                    if (state.failed) return ; 
     3417                    if ( state.backtracking==0 ) { 
     3418                       after(grammarAccess.getMergeRuleAccess().getHookCombinatorParserRuleCall_2());  
     3419                    } 
    28703420 
    28713421                    } 
     
    28823432        } 
    28833433        finally { 
     3434            if ( state.backtracking>0 ) { memoize(input, 53, rule__MergeRule__Alternatives_StartIndex); } 
    28843435 
    28853436                restoreStackSize(stackSize); 
     
    28923443 
    28933444    // $ANTLR start "rule__Term__Alternatives" 
    2894     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:934:1: rule__Term__Alternatives : ( ( ( rule__Term__TermAtomAssignment_0 ) ) | ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) | ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) | ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) ); 
     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 ) ) ); 
    28953446    public final void rule__Term__Alternatives() throws RecognitionException { 
    2896  
    2897                         int stackSize = keepStackSize(); 
    2898              
    2899         try { 
    2900             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:938:1: ( ( ( rule__Term__TermAtomAssignment_0 ) ) | ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) | ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) | ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) ) 
     3447        int rule__Term__Alternatives_StartIndex = input.index(); 
     3448 
     3449                        int stackSize = keepStackSize(); 
     3450             
     3451        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 ) ) ) 
    29013454            int alt10=4; 
    29023455            switch ( input.LA(1) ) { 
     
    29243477                break; 
    29253478            default: 
     3479                if (state.backtracking>0) {state.failed=true; return ;} 
    29263480                NoViableAltException nvae = 
    29273481                    new NoViableAltException("", 10, 0, input); 
     
    29323486            switch (alt10) { 
    29333487                case 1 : 
    2934                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:939:1: ( ( rule__Term__TermAtomAssignment_0 ) ) 
     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 ) ) 
    29353489                    { 
    2936                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:939:1: ( ( rule__Term__TermAtomAssignment_0 ) ) 
    2937                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:940:1: ( rule__Term__TermAtomAssignment_0 ) 
     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 ) 
    29383492                    { 
    2939                      before(grammarAccess.getTermAccess().getTermAtomAssignment_0());  
    2940                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:941:1: ( rule__Term__TermAtomAssignment_0 ) 
    2941                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:941:2: rule__Term__TermAtomAssignment_0 
     3493                    if ( state.backtracking==0 ) { 
     3494                       before(grammarAccess.getTermAccess().getTermAtomAssignment_0());  
     3495                    } 
     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 
    29423498                    { 
    2943                     pushFollow(FOLLOW_rule__Term__TermAtomAssignment_0_in_rule__Term__Alternatives2012); 
     3499                    pushFollow(FOLLOW_rule__Term__TermAtomAssignment_0_in_rule__Term__Alternatives2085); 
    29443500                    rule__Term__TermAtomAssignment_0(); 
    29453501 
    29463502                    state._fsp--; 
    2947  
    2948  
    2949                     } 
    2950  
    2951                      after(grammarAccess.getTermAccess().getTermAtomAssignment_0());  
     3503                    if (state.failed) return ; 
     3504 
     3505                    } 
     3506 
     3507                    if ( state.backtracking==0 ) { 
     3508                       after(grammarAccess.getTermAccess().getTermAtomAssignment_0());  
     3509                    } 
    29523510 
    29533511                    } 
     
    29573515                    break; 
    29583516                case 2 : 
    2959                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:945:6: ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) 
     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 ) ) 
    29603518                    { 
    2961                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:945:6: ( ( rule__Term__TermGroupedSequenceAssignment_1 ) ) 
    2962                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:946:1: ( rule__Term__TermGroupedSequenceAssignment_1 ) 
     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 ) 
    29633521                    { 
    2964                      before(grammarAccess.getTermAccess().getTermGroupedSequenceAssignment_1());  
    2965                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:947:1: ( rule__Term__TermGroupedSequenceAssignment_1 ) 
    2966                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:947:2: rule__Term__TermGroupedSequenceAssignment_1 
     3522                    if ( state.backtracking==0 ) { 
     3523                       before(grammarAccess.getTermAccess().getTermGroupedSequenceAssignment_1());  
     3524                    } 
     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 
    29673527                    { 
    2968                     pushFollow(FOLLOW_rule__Term__TermGroupedSequenceAssignment_1_in_rule__Term__Alternatives2030); 
     3528                    pushFollow(FOLLOW_rule__Term__TermGroupedSequenceAssignment_1_in_rule__Term__Alternatives2103); 
    29693529                    rule__Term__TermGroupedSequenceAssignment_1(); 
    29703530 
    29713531                    state._fsp--; 
    2972  
    2973  
    2974                     } 
    2975  
    2976                      after(grammarAccess.getTermAccess().getTermGroupedSequenceAssignment_1());  
     3532                    if (state.failed) return ; 
     3533 
     3534                    } 
     3535 
     3536                    if ( state.backtracking==0 ) { 
     3537                       after(grammarAccess.getTermAccess().getTermGroupedSequenceAssignment_1());  
     3538                    } 
    29773539 
    29783540                    } 
     
    29823544                    break; 
    29833545                case 3 : 
    2984                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:951:6: ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) 
     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 ) ) 
    29853547                    { 
    2986                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:951:6: ( ( rule__Term__TermOptionalSequenceAssignment_2 ) ) 
    2987                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:952:1: ( rule__Term__TermOptionalSequenceAssignment_2 ) 
     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 ) 
    29883550                    { 
    2989                      before(grammarAccess.getTermAccess().getTermOptionalSequenceAssignment_2());  
    2990                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:953:1: ( rule__Term__TermOptionalSequenceAssignment_2 ) 
    2991                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:953:2: rule__Term__TermOptionalSequenceAssignment_2 
     3551                    if ( state.backtracking==0 ) { 
     3552                       before(grammarAccess.getTermAccess().getTermOptionalSequenceAssignment_2());  
     3553                    } 
     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 
    29923556                    { 
    2993                     pushFollow(FOLLOW_rule__Term__TermOptionalSequenceAssignment_2_in_rule__Term__Alternatives2048); 
     3557                    pushFollow(FOLLOW_rule__Term__TermOptionalSequenceAssignment_2_in_rule__Term__Alternatives2121); 
    29943558                    rule__Term__TermOptionalSequenceAssignment_2(); 
    29953559 
    29963560                    state._fsp--; 
    2997  
    2998  
    2999                     } 
    3000  
    3001                      after(grammarAccess.getTermAccess().getTermOptionalSequenceAssignment_2());  
     3561                    if (state.failed) return ; 
     3562 
     3563                    } 
     3564 
     3565                    if ( state.backtracking==0 ) { 
     3566                       after(grammarAccess.getTermAccess().getTermOptionalSequenceAssignment_2());  
     3567                    } 
    30023568 
    30033569                    } 
     
    30073573                    break; 
    30083574                case 4 : 
    3009                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:957:6: ( ( 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:987:6: ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) 
    30103576                    { 
    3011                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:957:6: ( ( rule__Term__TermRepeatedSequenceAssignment_3 ) ) 
    3012                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:958:1: ( rule__Term__TermRepeatedSequenceAssignment_3 ) 
     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 ) 
    30133579                    { 
    3014                      before(grammarAccess.getTermAccess().getTermRepeatedSequenceAssignment_3());  
    3015                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:959:1: ( rule__Term__TermRepeatedSequenceAssignment_3 ) 
    3016                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:959:2: rule__Term__TermRepeatedSequenceAssignment_3 
     3580                    if ( state.backtracking==0 ) { 
     3581                       before(grammarAccess.getTermAccess().getTermRepeatedSequenceAssignment_3());  
     3582                    } 
     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 
    30173585                    { 
    3018                     pushFollow(FOLLOW_rule__Term__TermRepeatedSequenceAssignment_3_in_rule__Term__Alternatives2066); 
     3586                    pushFollow(FOLLOW_rule__Term__TermRepeatedSequenceAssignment_3_in_rule__Term__Alternatives2139); 
    30193587                    rule__Term__TermRepeatedSequenceAssignment_3(); 
    30203588 
    30213589                    state._fsp--; 
    3022  
    3023  
    3024                     } 
    3025  
    3026                      after(grammarAccess.getTermAccess().getTermRepeatedSequenceAssignment_3());  
     3590                    if (state.failed) return ; 
     3591 
     3592                    } 
     3593 
     3594                    if ( state.backtracking==0 ) { 
     3595                       after(grammarAccess.getTermAccess().getTermRepeatedSequenceAssignment_3());  
     3596                    } 
    30273597 
    30283598                    } 
     
    30393609        } 
    30403610        finally { 
     3611            if ( state.backtracking>0 ) { memoize(input, 54, rule__Term__Alternatives_StartIndex); } 
    30413612 
    30423613                restoreStackSize(stackSize); 
     
    30493620 
    30503621    // $ANTLR start "rule__Atom__Alternatives" 
    3051     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:968:1: rule__Atom__Alternatives : ( ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) | ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) ); 
     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 ) ) ); 
    30523623    public final void rule__Atom__Alternatives() throws RecognitionException { 
    3053  
    3054                         int stackSize = keepStackSize(); 
    3055              
    3056         try { 
    3057             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:972:1: ( ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) | ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) ) 
     3624        int rule__Atom__Alternatives_StartIndex = input.index(); 
     3625 
     3626                        int stackSize = keepStackSize(); 
     3627             
     3628        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 ) ) ) 
    30583631            int alt11=2; 
    30593632            int LA11_0 = input.LA(1); 
     
    30663639            } 
    30673640            else { 
     3641                if (state.backtracking>0) {state.failed=true; return ;} 
    30683642                NoViableAltException nvae = 
    30693643                    new NoViableAltException("", 11, 0, input); 
     
    30733647            switch (alt11) { 
    30743648                case 1 : 
    3075                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:973:1: ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) 
     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 ) ) 
    30763650                    { 
    3077                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:973:1: ( ( rule__Atom__AtomStringRuleAssignment_0 ) ) 
    3078                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:974:1: ( rule__Atom__AtomStringRuleAssignment_0 ) 
     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 ) 
    30793653                    { 
    3080                      before(grammarAccess.getAtomAccess().getAtomStringRuleAssignment_0());  
    3081                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:975:1: ( rule__Atom__AtomStringRuleAssignment_0 ) 
    3082                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:975:2: rule__Atom__AtomStringRuleAssignment_0 
     3654                    if ( state.backtracking==0 ) { 
     3655                       before(grammarAccess.getAtomAccess().getAtomStringRuleAssignment_0());  
     3656                    } 
     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 
    30833659                    { 
    3084                     pushFollow(FOLLOW_rule__Atom__AtomStringRuleAssignment_0_in_rule__Atom__Alternatives2099); 
     3660                    pushFollow(FOLLOW_rule__Atom__AtomStringRuleAssignment_0_in_rule__Atom__Alternatives2172); 
    30853661                    rule__Atom__AtomStringRuleAssignment_0(); 
    30863662 
    30873663                    state._fsp--; 
    3088  
    3089  
    3090                     } 
    3091  
    3092                      after(grammarAccess.getAtomAccess().getAtomStringRuleAssignment_0());  
     3664                    if (state.failed) return ; 
     3665 
     3666                    } 
     3667 
     3668                    if ( state.backtracking==0 ) { 
     3669                       after(grammarAccess.getAtomAccess().getAtomStringRuleAssignment_0());  
     3670                    } 
    30933671 
    30943672                    } 
     
    30983676                    break; 
    30993677                case 2 : 
    3100                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:979:6: ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) 
     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 ) ) 
    31013679                    { 
    3102                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:979:6: ( ( rule__Atom__AtomRuleReferenceAssignment_1 ) ) 
    3103                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:980:1: ( rule__Atom__AtomRuleReferenceAssignment_1 ) 
     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 ) 
    31043682                    { 
    3105                      before(grammarAccess.getAtomAccess().getAtomRuleReferenceAssignment_1());  
    3106                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:981:1: ( rule__Atom__AtomRuleReferenceAssignment_1 ) 
    3107                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:981:2: rule__Atom__AtomRuleReferenceAssignment_1 
     3683                    if ( state.backtracking==0 ) { 
     3684                       before(grammarAccess.getAtomAccess().getAtomRuleReferenceAssignment_1());  
     3685                    } 
     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 
    31083688                    { 
    3109                     pushFollow(FOLLOW_rule__Atom__AtomRuleReferenceAssignment_1_in_rule__Atom__Alternatives2117); 
     3689                    pushFollow(FOLLOW_rule__Atom__AtomRuleReferenceAssignment_1_in_rule__Atom__Alternatives2190); 
    31103690                    rule__Atom__AtomRuleReferenceAssignment_1(); 
    31113691 
    31123692                    state._fsp--; 
    3113  
    3114  
    3115                     } 
    3116  
    3117                      after(grammarAccess.getAtomAccess().getAtomRuleReferenceAssignment_1());  
     3693                    if (state.failed) return ; 
     3694 
     3695                    } 
     3696 
     3697                    if ( state.backtracking==0 ) { 
     3698                       after(grammarAccess.getAtomAccess().getAtomRuleReferenceAssignment_1());  
     3699                    } 
    31183700 
    31193701                    } 
     
    31303712        } 
    31313713        finally { 
     3714            if ( state.backtracking>0 ) { memoize(input, 55, rule__Atom__Alternatives_StartIndex); } 
    31323715 
    31333716                restoreStackSize(stackSize); 
     
    31403723 
    31413724    // $ANTLR start "rule__StringRule__Alternatives" 
    3142     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:990:1: rule__StringRule__Alternatives : ( ( ( rule__StringRule__LiteralAssignment_0 ) ) | ( ( rule__StringRule__ColonAssignment_1 ) ) ); 
     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 ) ) ); 
    31433726    public final void rule__StringRule__Alternatives() throws RecognitionException { 
    3144  
    3145                         int stackSize = keepStackSize(); 
    3146              
    3147         try { 
    3148             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:994:1: ( ( ( rule__StringRule__LiteralAssignment_0 ) ) | ( ( rule__StringRule__ColonAssignment_1 ) ) ) 
     3727        int rule__StringRule__Alternatives_StartIndex = input.index(); 
     3728 
     3729                        int stackSize = keepStackSize(); 
     3730             
     3731        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 ) ) ) 
    31493734            int alt12=2; 
    31503735            int LA12_0 = input.LA(1); 
     
    31573742            } 
    31583743            else { 
     3744                if (state.backtracking>0) {state.failed=true; return ;} 
    31593745                NoViableAltException nvae = 
    31603746                    new NoViableAltException("", 12, 0, input); 
     
    31643750            switch (alt12) { 
    31653751                case 1 : 
    3166                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:995:1: ( ( rule__StringRule__LiteralAssignment_0 ) ) 
     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 ) ) 
    31673753                    { 
    3168                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:995:1: ( ( rule__StringRule__LiteralAssignment_0 ) ) 
    3169                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:996:1: ( rule__StringRule__LiteralAssignment_0 ) 
     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 ) 
    31703756                    { 
    3171                      before(grammarAccess.getStringRuleAccess().getLiteralAssignment_0());  
    3172                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:997:1: ( rule__StringRule__LiteralAssignment_0 ) 
    3173                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:997:2: rule__StringRule__LiteralAssignment_0 
     3757                    if ( state.backtracking==0 ) { 
     3758                       before(grammarAccess.getStringRuleAccess().getLiteralAssignment_0());  
     3759                    } 
     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 
    31743762                    { 
    3175                     pushFollow(FOLLOW_rule__StringRule__LiteralAssignment_0_in_rule__StringRule__Alternatives2150); 
     3763                    pushFollow(FOLLOW_rule__StringRule__LiteralAssignment_0_in_rule__StringRule__Alternatives2223); 
    31763764                    rule__StringRule__LiteralAssignment_0(); 
    31773765 
    31783766                    state._fsp--; 
    3179  
    3180  
    3181                     } 
    3182  
    3183                      after(grammarAccess.getStringRuleAccess().getLiteralAssignment_0());  
     3767                    if (state.failed) return ; 
     3768 
     3769                    } 
     3770 
     3771                    if ( state.backtracking==0 ) { 
     3772                       after(grammarAccess.getStringRuleAccess().getLiteralAssignment_0());  
     3773                    } 
    31843774 
    31853775                    } 
     
    31893779                    break; 
    31903780                case 2 : 
    3191                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1001:6: ( ( rule__StringRule__ColonAssignment_1 ) ) 
     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 ) ) 
    31923782                    { 
    3193                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1001:6: ( ( rule__StringRule__ColonAssignment_1 ) ) 
    3194                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1002:1: ( rule__StringRule__ColonAssignment_1 ) 
     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 ) 
    31953785                    { 
    3196                      before(grammarAccess.getStringRuleAccess().getColonAssignment_1());  
    3197                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1003:1: ( rule__StringRule__ColonAssignment_1 ) 
    3198                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1003:2: rule__StringRule__ColonAssignment_1 
     3786                    if ( state.backtracking==0 ) { 
     3787                       before(grammarAccess.getStringRuleAccess().getColonAssignment_1());  
     3788                    } 
     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 
    31993791                    { 
    3200                     pushFollow(FOLLOW_rule__StringRule__ColonAssignment_1_in_rule__StringRule__Alternatives2168); 
     3792                    pushFollow(FOLLOW_rule__StringRule__ColonAssignment_1_in_rule__StringRule__Alternatives2241); 
    32013793                    rule__StringRule__ColonAssignment_1(); 
    32023794 
    32033795                    state._fsp--; 
    3204  
    3205  
    3206                     } 
    3207  
    3208                      after(grammarAccess.getStringRuleAccess().getColonAssignment_1());  
     3796                    if (state.failed) return ; 
     3797 
     3798                    } 
     3799 
     3800                    if ( state.backtracking==0 ) { 
     3801                       after(grammarAccess.getStringRuleAccess().getColonAssignment_1());  
     3802                    } 
    32093803 
    32103804                    } 
     
    32213815        } 
    32223816        finally { 
     3817            if ( state.backtracking>0 ) { memoize(input, 56, rule__StringRule__Alternatives_StartIndex); } 
    32233818 
    32243819                restoreStackSize(stackSize); 
     
    32303825 
    32313826 
     3827    // $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 )? ) ); 
     3829    public final void rule__RepeatedSequence__Alternatives_3() throws RecognitionException { 
     3830        int rule__RepeatedSequence__Alternatives_3_StartIndex = input.index(); 
     3831 
     3832                        int stackSize = keepStackSize(); 
     3833             
     3834        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 )? ) ) 
     3837            int alt15=2; 
     3838            alt15 = dfa15.predict(input); 
     3839            switch (alt15) { 
     3840                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 )? ) 
     3842                    { 
     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 )? 
     3845                    { 
     3846                    if ( state.backtracking==0 ) { 
     3847                       before(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3_0());  
     3848                    } 
     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 )? 
     3850                    int alt13=2; 
     3851                    int LA13_0 = input.LA(1); 
     3852 
     3853                    if ( (LA13_0==21) ) { 
     3854                        alt13=1; 
     3855                    } 
     3856                    switch (alt13) { 
     3857                        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 
     3859                            { 
     3860                            pushFollow(FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_0_in_rule__RepeatedSequence__Alternatives_32274); 
     3861                            rule__RepeatedSequence__MorethanonceAssignment_3_0(); 
     3862 
     3863                            state._fsp--; 
     3864                            if (state.failed) return ; 
     3865 
     3866                            } 
     3867                            break; 
     3868 
     3869                    } 
     3870 
     3871                    if ( state.backtracking==0 ) { 
     3872                       after(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3_0());  
     3873                    } 
     3874 
     3875                    } 
     3876 
     3877 
     3878                    } 
     3879                    break; 
     3880                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 )? ) 
     3882                    { 
     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 )? 
     3885                    { 
     3886                    if ( state.backtracking==0 ) { 
     3887                       before(grammarAccess.getRepeatedSequenceAccess().getRangeAssignment_3_1());  
     3888                    } 
     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 )? 
     3890                    int alt14=2; 
     3891                    int LA14_0 = input.LA(1); 
     3892 
     3893                    if ( (LA14_0==34) ) { 
     3894                        alt14=1; 
     3895                    } 
     3896                    switch (alt14) { 
     3897                        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 
     3899                            { 
     3900                            pushFollow(FOLLOW_rule__RepeatedSequence__RangeAssignment_3_1_in_rule__RepeatedSequence__Alternatives_32293); 
     3901                            rule__RepeatedSequence__RangeAssignment_3_1(); 
     3902 
     3903                            state._fsp--; 
     3904                            if (state.failed) return ; 
     3905 
     3906                            } 
     3907                            break; 
     3908 
     3909                    } 
     3910 
     3911                    if ( state.backtracking==0 ) { 
     3912                       after(grammarAccess.getRepeatedSequenceAccess().getRangeAssignment_3_1());  
     3913                    } 
     3914 
     3915                    } 
     3916 
     3917 
     3918                    } 
     3919                    break; 
     3920 
     3921            } 
     3922        } 
     3923        catch (RecognitionException re) { 
     3924            reportError(re); 
     3925            recover(input,re); 
     3926        } 
     3927        finally { 
     3928            if ( state.backtracking>0 ) { memoize(input, 57, rule__RepeatedSequence__Alternatives_3_StartIndex); } 
     3929 
     3930                restoreStackSize(stackSize); 
     3931 
     3932        } 
     3933        return ; 
     3934    } 
     3935    // $ANTLR end "rule__RepeatedSequence__Alternatives_3" 
     3936 
     3937 
    32323938    // $ANTLR start "rule__EtsiBnf__Group_0__0" 
    3233     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1014:1: rule__EtsiBnf__Group_0__0 : rule__EtsiBnf__Group_0__0__Impl rule__EtsiBnf__Group_0__1 ; 
     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 ; 
    32343940    public final void rule__EtsiBnf__Group_0__0() throws RecognitionException { 
    3235  
    3236                         int stackSize = keepStackSize(); 
    3237              
    3238         try { 
    3239             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1018:1: ( rule__EtsiBnf__Group_0__0__Impl rule__EtsiBnf__Group_0__1 ) 
    3240             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1019:2: rule__EtsiBnf__Group_0__0__Impl rule__EtsiBnf__Group_0__1 
    3241             { 
    3242             pushFollow(FOLLOW_rule__EtsiBnf__Group_0__0__Impl_in_rule__EtsiBnf__Group_0__02199); 
     3941        int rule__EtsiBnf__Group_0__0_StartIndex = input.index(); 
     3942 
     3943                        int stackSize = keepStackSize(); 
     3944             
     3945        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); 
    32433951            rule__EtsiBnf__Group_0__0__Impl(); 
    32443952 
    32453953            state._fsp--; 
    3246  
    3247             pushFollow(FOLLOW_rule__EtsiBnf__Group_0__1_in_rule__EtsiBnf__Group_0__02202); 
     3954            if (state.failed) return ; 
     3955            pushFollow(FOLLOW_rule__EtsiBnf__Group_0__1_in_rule__EtsiBnf__Group_0__02328); 
    32483956            rule__EtsiBnf__Group_0__1(); 
    32493957 
    32503958            state._fsp--; 
    3251  
    3252  
    3253             } 
    3254  
    3255         } 
    3256         catch (RecognitionException re) { 
    3257             reportError(re); 
    3258             recover(input,re); 
    3259         } 
    3260         finally { 
     3959            if (state.failed) return ; 
     3960 
     3961            } 
     3962 
     3963        } 
     3964        catch (RecognitionException re) { 
     3965            reportError(re); 
     3966            recover(input,re); 
     3967        } 
     3968        finally { 
     3969            if ( state.backtracking>0 ) { memoize(input, 58, rule__EtsiBnf__Group_0__0_StartIndex); } 
    32613970 
    32623971                restoreStackSize(stackSize); 
     
    32693978 
    32703979    // $ANTLR start "rule__EtsiBnf__Group_0__0__Impl" 
    3271     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1026:1: rule__EtsiBnf__Group_0__0__Impl : ( 'grammar' ) ; 
     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' ) ; 
    32723981    public final void rule__EtsiBnf__Group_0__0__Impl() throws RecognitionException { 
    3273  
    3274                         int stackSize = keepStackSize(); 
    3275              
    3276         try { 
    3277             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1030:1: ( ( 'grammar' ) ) 
    3278             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1031:1: ( 'grammar' ) 
    3279             { 
    3280             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1031:1: ( 'grammar' ) 
    3281             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1032:1: 'grammar' 
    3282             { 
    3283              before(grammarAccess.getEtsiBnfAccess().getGrammarKeyword_0_0());  
    3284             match(input,22,FOLLOW_22_in_rule__EtsiBnf__Group_0__0__Impl2230);  
    3285              after(grammarAccess.getEtsiBnfAccess().getGrammarKeyword_0_0());  
    3286  
    3287             } 
    3288  
    3289  
    3290             } 
    3291  
    3292         } 
    3293         catch (RecognitionException re) { 
    3294             reportError(re); 
    3295             recover(input,re); 
    3296         } 
    3297         finally { 
     3982        int rule__EtsiBnf__Group_0__0__Impl_StartIndex = input.index(); 
     3983 
     3984                        int stackSize = keepStackSize(); 
     3985             
     3986        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' 
     3993            { 
     3994            if ( state.backtracking==0 ) { 
     3995               before(grammarAccess.getEtsiBnfAccess().getGrammarKeyword_0_0());  
     3996            } 
     3997            match(input,22,FOLLOW_22_in_rule__EtsiBnf__Group_0__0__Impl2356); if (state.failed) return ; 
     3998            if ( state.backtracking==0 ) { 
     3999               after(grammarAccess.getEtsiBnfAccess().getGrammarKeyword_0_0());  
     4000            } 
     4001 
     4002            } 
     4003 
     4004 
     4005            } 
     4006 
     4007        } 
     4008        catch (RecognitionException re) { 
     4009            reportError(re); 
     4010            recover(input,re); 
     4011        } 
     4012        finally { 
     4013            if ( state.backtracking>0 ) { memoize(input, 59, rule__EtsiBnf__Group_0__0__Impl_StartIndex); } 
    32984014 
    32994015                restoreStackSize(stackSize); 
     
    33064022 
    33074023    // $ANTLR start "rule__EtsiBnf__Group_0__1" 
    3308     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1045:1: rule__EtsiBnf__Group_0__1 : rule__EtsiBnf__Group_0__1__Impl rule__EtsiBnf__Group_0__2 ; 
     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 ; 
    33094025    public final void rule__EtsiBnf__Group_0__1() throws RecognitionException { 
    3310  
    3311                         int stackSize = keepStackSize(); 
    3312              
    3313         try { 
    3314             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1049:1: ( rule__EtsiBnf__Group_0__1__Impl rule__EtsiBnf__Group_0__2 ) 
    3315             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1050:2: rule__EtsiBnf__Group_0__1__Impl rule__EtsiBnf__Group_0__2 
    3316             { 
    3317             pushFollow(FOLLOW_rule__EtsiBnf__Group_0__1__Impl_in_rule__EtsiBnf__Group_0__12261); 
     4026        int rule__EtsiBnf__Group_0__1_StartIndex = input.index(); 
     4027 
     4028                        int stackSize = keepStackSize(); 
     4029             
     4030        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); 
    33184036            rule__EtsiBnf__Group_0__1__Impl(); 
    33194037 
    33204038            state._fsp--; 
    3321  
    3322             pushFollow(FOLLOW_rule__EtsiBnf__Group_0__2_in_rule__EtsiBnf__Group_0__12264); 
     4039            if (state.failed) return ; 
     4040            pushFollow(FOLLOW_rule__EtsiBnf__Group_0__2_in_rule__EtsiBnf__Group_0__12390); 
    33234041            rule__EtsiBnf__Group_0__2(); 
    33244042 
    33254043            state._fsp--; 
    3326  
    3327  
    3328             } 
    3329  
    3330         } 
    3331         catch (RecognitionException re) { 
    3332             reportError(re); 
    3333             recover(input,re); 
    3334         } 
    3335         finally { 
     4044            if (state.failed) return ; 
     4045 
     4046            } 
     4047 
     4048        } 
     4049        catch (RecognitionException re) { 
     4050            reportError(re); 
     4051            recover(input,re); 
     4052        } 
     4053        finally { 
     4054            if ( state.backtracking>0 ) { memoize(input, 60, rule__EtsiBnf__Group_0__1_StartIndex); } 
    33364055 
    33374056                restoreStackSize(stackSize); 
     
    33444063 
    33454064    // $ANTLR start "rule__EtsiBnf__Group_0__1__Impl" 
    3346     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1057:1: rule__EtsiBnf__Group_0__1__Impl : ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) ; 
     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 ) ) ; 
    33474066    public final void rule__EtsiBnf__Group_0__1__Impl() throws RecognitionException { 
    3348  
    3349                         int stackSize = keepStackSize(); 
    3350              
    3351         try { 
    3352             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1061:1: ( ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) ) 
    3353             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1062:1: ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) 
    3354             { 
    3355             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1062:1: ( ( rule__EtsiBnf__NameAssignment_0_1 ) ) 
    3356             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1063:1: ( rule__EtsiBnf__NameAssignment_0_1 ) 
    3357             { 
    3358              before(grammarAccess.getEtsiBnfAccess().getNameAssignment_0_1());  
    3359             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1064:1: ( rule__EtsiBnf__NameAssignment_0_1 ) 
    3360             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1064:2: rule__EtsiBnf__NameAssignment_0_1 
    3361             { 
    3362             pushFollow(FOLLOW_rule__EtsiBnf__NameAssignment_0_1_in_rule__EtsiBnf__Group_0__1__Impl2291); 
     4067        int rule__EtsiBnf__Group_0__1__Impl_StartIndex = input.index(); 
     4068 
     4069                        int stackSize = keepStackSize(); 
     4070             
     4071        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 ) 
     4078            { 
     4079            if ( state.backtracking==0 ) { 
     4080               before(grammarAccess.getEtsiBnfAccess().getNameAssignment_0_1());  
     4081            } 
     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); 
    33634086            rule__EtsiBnf__NameAssignment_0_1(); 
    33644087 
    33654088            state._fsp--; 
    3366  
    3367  
    3368             } 
    3369  
    3370              after(grammarAccess.getEtsiBnfAccess().getNameAssignment_0_1());  
    3371  
    3372             } 
    3373  
    3374  
    3375             } 
    3376  
    3377         } 
    3378         catch (RecognitionException re) { 
    3379             reportError(re); 
    3380             recover(input,re); 
    3381         } 
    3382         finally { 
     4089            if (state.failed) return ; 
     4090 
     4091            } 
     4092 
     4093            if ( state.backtracking==0 ) { 
     4094               after(grammarAccess.getEtsiBnfAccess().getNameAssignment_0_1());  
     4095            } 
     4096 
     4097            } 
     4098 
     4099 
     4100            } 
     4101 
     4102        } 
     4103        catch (RecognitionException re) { 
     4104            reportError(re); 
     4105            recover(input,re); 
     4106        } 
     4107        finally { 
     4108            if ( state.backtracking>0 ) { memoize(input, 61, rule__EtsiBnf__Group_0__1__Impl_StartIndex); } 
    33834109 
    33844110                restoreStackSize(stackSize); 
     
    33914117 
    33924118    // $ANTLR start "rule__EtsiBnf__Group_0__2" 
    3393     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1074:1: rule__EtsiBnf__Group_0__2 : rule__EtsiBnf__Group_0__2__Impl ; 
     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 ; 
    33944120    public final void rule__EtsiBnf__Group_0__2() throws RecognitionException { 
    3395  
    3396                         int stackSize = keepStackSize(); 
    3397              
    3398         try { 
    3399             // ../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__2__Impl ) 
    3400             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1079:2: rule__EtsiBnf__Group_0__2__Impl 
    3401             { 
    3402             pushFollow(FOLLOW_rule__EtsiBnf__Group_0__2__Impl_in_rule__EtsiBnf__Group_0__22321); 
     4121        int rule__EtsiBnf__Group_0__2_StartIndex = input.index(); 
     4122 
     4123                        int stackSize = keepStackSize(); 
     4124             
     4125        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); 
    34034131            rule__EtsiBnf__Group_0__2__Impl(); 
    34044132 
    34054133            state._fsp--; 
    3406  
    3407  
    3408             } 
    3409  
    3410         } 
    3411         catch (RecognitionException re) { 
    3412             reportError(re); 
    3413             recover(input,re); 
    3414         } 
    3415         finally { 
     4134            if (state.failed) return ; 
     4135 
     4136            } 
     4137 
     4138        } 
     4139        catch (RecognitionException re) { 
     4140            reportError(re); 
     4141            recover(input,re); 
     4142        } 
     4143        finally { 
     4144            if ( state.backtracking>0 ) { memoize(input, 62, rule__EtsiBnf__Group_0__2_StartIndex); } 
    34164145 
    34174146                restoreStackSize(stackSize); 
     
    34244153 
    34254154    // $ANTLR start "rule__EtsiBnf__Group_0__2__Impl" 
    3426     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1085:1: rule__EtsiBnf__Group_0__2__Impl : ( ( rule__EtsiBnf__Group_0_2__0 ) ) ; 
     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 ) ) ; 
    34274156    public final void rule__EtsiBnf__Group_0__2__Impl() throws RecognitionException { 
    3428  
    3429                         int stackSize = keepStackSize(); 
    3430              
    3431         try { 
    3432             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1089:1: ( ( ( rule__EtsiBnf__Group_0_2__0 ) ) ) 
    3433             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1090:1: ( ( rule__EtsiBnf__Group_0_2__0 ) ) 
    3434             { 
    3435             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1090:1: ( ( rule__EtsiBnf__Group_0_2__0 ) ) 
    3436             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1091:1: ( rule__EtsiBnf__Group_0_2__0 ) 
    3437             { 
    3438              before(grammarAccess.getEtsiBnfAccess().getGroup_0_2());  
    3439             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1092:1: ( rule__EtsiBnf__Group_0_2__0 ) 
    3440             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1092:2: rule__EtsiBnf__Group_0_2__0 
    3441             { 
    3442             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__0_in_rule__EtsiBnf__Group_0__2__Impl2348); 
     4157        int rule__EtsiBnf__Group_0__2__Impl_StartIndex = input.index(); 
     4158 
     4159                        int stackSize = keepStackSize(); 
     4160             
     4161        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 ) 
     4168            { 
     4169            if ( state.backtracking==0 ) { 
     4170               before(grammarAccess.getEtsiBnfAccess().getGroup_0_2());  
     4171            } 
     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); 
    34434176            rule__EtsiBnf__Group_0_2__0(); 
    34444177 
    34454178            state._fsp--; 
    3446  
    3447  
    3448             } 
    3449  
    3450              after(grammarAccess.getEtsiBnfAccess().getGroup_0_2());  
    3451  
    3452             } 
    3453  
    3454  
    3455             } 
    3456  
    3457         } 
    3458         catch (RecognitionException re) { 
    3459             reportError(re); 
    3460             recover(input,re); 
    3461         } 
    3462         finally { 
     4179            if (state.failed) return ; 
     4180 
     4181            } 
     4182 
     4183            if ( state.backtracking==0 ) { 
     4184               after(grammarAccess.getEtsiBnfAccess().getGroup_0_2());  
     4185            } 
     4186 
     4187            } 
     4188 
     4189 
     4190            } 
     4191 
     4192        } 
     4193        catch (RecognitionException re) { 
     4194            reportError(re); 
     4195            recover(input,re); 
     4196        } 
     4197        finally { 
     4198            if ( state.backtracking>0 ) { memoize(input, 63, rule__EtsiBnf__Group_0__2__Impl_StartIndex); } 
    34634199 
    34644200                restoreStackSize(stackSize); 
     
    34714207 
    34724208    // $ANTLR start "rule__EtsiBnf__Group_0_2__0" 
    3473     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1108:1: rule__EtsiBnf__Group_0_2__0 : rule__EtsiBnf__Group_0_2__0__Impl rule__EtsiBnf__Group_0_2__1 ; 
     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 ; 
    34744210    public final void rule__EtsiBnf__Group_0_2__0() throws RecognitionException { 
    3475  
    3476                         int stackSize = keepStackSize(); 
    3477              
    3478         try { 
    3479             // ../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_2__0__Impl rule__EtsiBnf__Group_0_2__1 ) 
    3480             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1113:2: rule__EtsiBnf__Group_0_2__0__Impl rule__EtsiBnf__Group_0_2__1 
    3481             { 
    3482             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__0__Impl_in_rule__EtsiBnf__Group_0_2__02384); 
     4211        int rule__EtsiBnf__Group_0_2__0_StartIndex = input.index(); 
     4212 
     4213                        int stackSize = keepStackSize(); 
     4214             
     4215        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); 
    34834221            rule__EtsiBnf__Group_0_2__0__Impl(); 
    34844222 
    34854223            state._fsp--; 
    3486  
    3487             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__1_in_rule__EtsiBnf__Group_0_2__02387); 
     4224            if (state.failed) return ; 
     4225            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__1_in_rule__EtsiBnf__Group_0_2__02513); 
    34884226            rule__EtsiBnf__Group_0_2__1(); 
    34894227 
    34904228            state._fsp--; 
    3491  
    3492  
    3493             } 
    3494  
    3495         } 
    3496         catch (RecognitionException re) { 
    3497             reportError(re); 
    3498             recover(input,re); 
    3499         } 
    3500         finally { 
     4229            if (state.failed) return ; 
     4230 
     4231            } 
     4232 
     4233        } 
     4234        catch (RecognitionException re) { 
     4235            reportError(re); 
     4236            recover(input,re); 
     4237        } 
     4238        finally { 
     4239            if ( state.backtracking>0 ) { memoize(input, 64, rule__EtsiBnf__Group_0_2__0_StartIndex); } 
    35014240 
    35024241                restoreStackSize(stackSize); 
     
    35094248 
    35104249    // $ANTLR start "rule__EtsiBnf__Group_0_2__0__Impl" 
    3511     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1120:1: rule__EtsiBnf__Group_0_2__0__Impl : ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) ; 
     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 )? ) ; 
    35124251    public final void rule__EtsiBnf__Group_0_2__0__Impl() throws RecognitionException { 
    3513  
    3514                         int stackSize = keepStackSize(); 
    3515              
    3516         try { 
    3517             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1124:1: ( ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) ) 
    3518             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1125:1: ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) 
    3519             { 
    3520             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1125:1: ( ( rule__EtsiBnf__TypeAssignment_0_2_0 )? ) 
    3521             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1126:1: ( rule__EtsiBnf__TypeAssignment_0_2_0 )? 
    3522             { 
    3523              before(grammarAccess.getEtsiBnfAccess().getTypeAssignment_0_2_0());  
    3524             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1127:1: ( rule__EtsiBnf__TypeAssignment_0_2_0 )? 
    3525             int alt13=2; 
    3526             int LA13_0 = input.LA(1); 
    3527  
    3528             if ( (LA13_0==34) ) { 
    3529                 alt13=1; 
    3530             } 
    3531             switch (alt13) { 
     4252        int rule__EtsiBnf__Group_0_2__0__Impl_StartIndex = input.index(); 
     4253 
     4254                        int stackSize = keepStackSize(); 
     4255             
     4256        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 )? 
     4263            { 
     4264            if ( state.backtracking==0 ) { 
     4265               before(grammarAccess.getEtsiBnfAccess().getTypeAssignment_0_2_0());  
     4266            } 
     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 )? 
     4268            int alt16=2; 
     4269            int LA16_0 = input.LA(1); 
     4270 
     4271            if ( (LA16_0==36) ) { 
     4272                alt16=1; 
     4273            } 
     4274            switch (alt16) { 
    35324275                case 1 : 
    3533                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1127:2: rule__EtsiBnf__TypeAssignment_0_2_0 
     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 
    35344277                    { 
    3535                     pushFollow(FOLLOW_rule__EtsiBnf__TypeAssignment_0_2_0_in_rule__EtsiBnf__Group_0_2__0__Impl2414); 
     4278                    pushFollow(FOLLOW_rule__EtsiBnf__TypeAssignment_0_2_0_in_rule__EtsiBnf__Group_0_2__0__Impl2540); 
    35364279                    rule__EtsiBnf__TypeAssignment_0_2_0(); 
    35374280 
    35384281                    state._fsp--; 
    3539  
     4282                    if (state.failed) return ; 
    35404283 
    35414284                    } 
     
    35444287            } 
    35454288 
    3546              after(grammarAccess.getEtsiBnfAccess().getTypeAssignment_0_2_0());  
    3547  
    3548             } 
    3549  
    3550  
    3551             } 
    3552  
    3553         } 
    3554         catch (RecognitionException re) { 
    3555             reportError(re); 
    3556             recover(input,re); 
    3557         } 
    3558         finally { 
     4289            if ( state.backtracking==0 ) { 
     4290               after(grammarAccess.getEtsiBnfAccess().getTypeAssignment_0_2_0());  
     4291            } 
     4292 
     4293            } 
     4294 
     4295 
     4296            } 
     4297 
     4298        } 
     4299        catch (RecognitionException re) { 
     4300            reportError(re); 
     4301            recover(input,re); 
     4302        } 
     4303        finally { 
     4304            if ( state.backtracking>0 ) { memoize(input, 65, rule__EtsiBnf__Group_0_2__0__Impl_StartIndex); } 
    35594305 
    35604306                restoreStackSize(stackSize); 
     
    35674313 
    35684314    // $ANTLR start "rule__EtsiBnf__Group_0_2__1" 
    3569     // ../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__1 : rule__EtsiBnf__Group_0_2__1__Impl rule__EtsiBnf__Group_0_2__2 ; 
     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 ; 
    35704316    public final void rule__EtsiBnf__Group_0_2__1() throws RecognitionException { 
    3571  
    3572                         int stackSize = keepStackSize(); 
    3573              
    3574         try { 
    3575             // ../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__1__Impl rule__EtsiBnf__Group_0_2__2 ) 
    3576             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1142:2: rule__EtsiBnf__Group_0_2__1__Impl rule__EtsiBnf__Group_0_2__2 
    3577             { 
    3578             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__1__Impl_in_rule__EtsiBnf__Group_0_2__12445); 
     4317        int rule__EtsiBnf__Group_0_2__1_StartIndex = input.index(); 
     4318 
     4319                        int stackSize = keepStackSize(); 
     4320             
     4321        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); 
    35794327            rule__EtsiBnf__Group_0_2__1__Impl(); 
    35804328 
    35814329            state._fsp--; 
    3582  
    3583             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__2_in_rule__EtsiBnf__Group_0_2__12448); 
     4330            if (state.failed) return ; 
     4331            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__2_in_rule__EtsiBnf__Group_0_2__12574); 
    35844332            rule__EtsiBnf__Group_0_2__2(); 
    35854333 
    35864334            state._fsp--; 
    3587  
    3588  
    3589             } 
    3590  
    3591         } 
    3592         catch (RecognitionException re) { 
    3593             reportError(re); 
    3594             recover(input,re); 
    3595         } 
    3596         finally { 
     4335            if (state.failed) return ; 
     4336 
     4337            } 
     4338 
     4339        } 
     4340        catch (RecognitionException re) { 
     4341            reportError(re); 
     4342            recover(input,re); 
     4343        } 
     4344        finally { 
     4345            if ( state.backtracking>0 ) { memoize(input, 66, rule__EtsiBnf__Group_0_2__1_StartIndex); } 
    35974346 
    35984347                restoreStackSize(stackSize); 
     
    36054354 
    36064355    // $ANTLR start "rule__EtsiBnf__Group_0_2__1__Impl" 
    3607     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1149:1: 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 : ( ';' ) ; 
    36084357    public final void rule__EtsiBnf__Group_0_2__1__Impl() throws RecognitionException { 
    3609  
    3610                         int stackSize = keepStackSize(); 
    3611              
    3612         try { 
    3613             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1153:1: ( ( ';' ) ) 
    3614             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1154:1: ( ';' ) 
    3615             { 
    3616             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1154:1: ( ';' ) 
    3617             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1155:1: ';' 
    3618             { 
    3619              before(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_0_2_1());  
    3620             match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_0_2__1__Impl2476);  
    3621              after(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_0_2_1());  
    3622  
    3623             } 
    3624  
    3625  
    3626             } 
    3627  
    3628         } 
    3629         catch (RecognitionException re) { 
    3630             reportError(re); 
    3631             recover(input,re); 
    3632         } 
    3633         finally { 
     4358        int rule__EtsiBnf__Group_0_2__1__Impl_StartIndex = input.index(); 
     4359 
     4360                        int stackSize = keepStackSize(); 
     4361             
     4362        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: ';' 
     4369            { 
     4370            if ( state.backtracking==0 ) { 
     4371               before(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_0_2_1());  
     4372            } 
     4373            match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_0_2__1__Impl2602); if (state.failed) return ; 
     4374            if ( state.backtracking==0 ) { 
     4375               after(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_0_2_1());  
     4376            } 
     4377 
     4378            } 
     4379 
     4380 
     4381            } 
     4382 
     4383        } 
     4384        catch (RecognitionException re) { 
     4385            reportError(re); 
     4386            recover(input,re); 
     4387        } 
     4388        finally { 
     4389            if ( state.backtracking>0 ) { memoize(input, 67, rule__EtsiBnf__Group_0_2__1__Impl_StartIndex); } 
    36344390 
    36354391                restoreStackSize(stackSize); 
     
    36424398 
    36434399    // $ANTLR start "rule__EtsiBnf__Group_0_2__2" 
    3644     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1168:1: rule__EtsiBnf__Group_0_2__2 : rule__EtsiBnf__Group_0_2__2__Impl rule__EtsiBnf__Group_0_2__3 ; 
     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 ; 
    36454401    public final void rule__EtsiBnf__Group_0_2__2() throws RecognitionException { 
    3646  
    3647                         int stackSize = keepStackSize(); 
    3648              
    3649         try { 
    3650             // ../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__2__Impl rule__EtsiBnf__Group_0_2__3 ) 
    3651             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1173:2: rule__EtsiBnf__Group_0_2__2__Impl rule__EtsiBnf__Group_0_2__3 
    3652             { 
    3653             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__2__Impl_in_rule__EtsiBnf__Group_0_2__22507); 
     4402        int rule__EtsiBnf__Group_0_2__2_StartIndex = input.index(); 
     4403 
     4404                        int stackSize = keepStackSize(); 
     4405             
     4406        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); 
    36544412            rule__EtsiBnf__Group_0_2__2__Impl(); 
    36554413 
    36564414            state._fsp--; 
    3657  
    3658             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__3_in_rule__EtsiBnf__Group_0_2__22510); 
     4415            if (state.failed) return ; 
     4416            pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__3_in_rule__EtsiBnf__Group_0_2__22636); 
    36594417            rule__EtsiBnf__Group_0_2__3(); 
    36604418 
    36614419            state._fsp--; 
    3662  
    3663  
    3664             } 
    3665  
    3666         } 
    3667         catch (RecognitionException re) { 
    3668             reportError(re); 
    3669             recover(input,re); 
    3670         } 
    3671         finally { 
     4420            if (state.failed) return ; 
     4421 
     4422            } 
     4423 
     4424        } 
     4425        catch (RecognitionException re) { 
     4426            reportError(re); 
     4427            recover(input,re); 
     4428        } 
     4429        finally { 
     4430            if ( state.backtracking>0 ) { memoize(input, 68, rule__EtsiBnf__Group_0_2__2_StartIndex); } 
    36724431 
    36734432                restoreStackSize(stackSize); 
     
    36804439 
    36814440    // $ANTLR start "rule__EtsiBnf__Group_0_2__2__Impl" 
    3682     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1180:1: rule__EtsiBnf__Group_0_2__2__Impl : ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) ; 
     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 )? ) ; 
    36834442    public final void rule__EtsiBnf__Group_0_2__2__Impl() throws RecognitionException { 
    3684  
    3685                         int stackSize = keepStackSize(); 
    3686              
    3687         try { 
    3688             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1184:1: ( ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) ) 
    3689             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1185:1: ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) 
    3690             { 
    3691             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1185:1: ( ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? ) 
    3692             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1186:1: ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? 
    3693             { 
    3694              before(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_0_2_2());  
    3695             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1187:1: ( rule__EtsiBnf__ImportSectionAssignment_0_2_2 )? 
    3696             int alt14=2; 
    3697             int LA14_0 = input.LA(1); 
    3698  
    3699             if ( (LA14_0==24) ) { 
    3700                 alt14=1; 
    3701             } 
    3702             switch (alt14) { 
     4443        int rule__EtsiBnf__Group_0_2__2__Impl_StartIndex = input.index(); 
     4444 
     4445                        int stackSize = keepStackSize(); 
     4446             
     4447        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 )? 
     4454            { 
     4455            if ( state.backtracking==0 ) { 
     4456               before(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_0_2_2());  
     4457            } 
     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 )? 
     4459            int alt17=2; 
     4460            int LA17_0 = input.LA(1); 
     4461 
     4462            if ( (LA17_0==24) ) { 
     4463                alt17=1; 
     4464            } 
     4465            switch (alt17) { 
    37034466                case 1 : 
    3704                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1187:2: rule__EtsiBnf__ImportSectionAssignment_0_2_2 
     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 
    37054468                    { 
    3706                     pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_0_2_2_in_rule__EtsiBnf__Group_0_2__2__Impl2537); 
     4469                    pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_0_2_2_in_rule__EtsiBnf__Group_0_2__2__Impl2663); 
    37074470                    rule__EtsiBnf__ImportSectionAssignment_0_2_2(); 
    37084471 
    37094472                    state._fsp--; 
    3710  
     4473                    if (state.failed) return ; 
    37114474 
    37124475                    } 
     
    37154478            } 
    37164479 
    3717              after(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_0_2_2());  
    3718  
    3719             } 
    3720  
    3721  
    3722             } 
    3723  
    3724         } 
    3725         catch (RecognitionException re) { 
    3726             reportError(re); 
    3727             recover(input,re); 
    3728         } 
    3729         finally { 
     4480            if ( state.backtracking==0 ) { 
     4481               after(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_0_2_2());  
     4482            } 
     4483 
     4484            } 
     4485 
     4486 
     4487            } 
     4488 
     4489        } 
     4490        catch (RecognitionException re) { 
     4491            reportError(re); 
     4492            recover(input,re); 
     4493        } 
     4494        finally { 
     4495            if ( state.backtracking>0 ) { memoize(input, 69, rule__EtsiBnf__Group_0_2__2__Impl_StartIndex); } 
    37304496 
    37314497                restoreStackSize(stackSize); 
     
    37384504 
    37394505    // $ANTLR start "rule__EtsiBnf__Group_0_2__3" 
    3740     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1197:1: rule__EtsiBnf__Group_0_2__3 : rule__EtsiBnf__Group_0_2__3__Impl ; 
     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 ; 
    37414507    public final void rule__EtsiBnf__Group_0_2__3() throws RecognitionException { 
    3742  
    3743                         int stackSize = keepStackSize(); 
    3744              
    3745         try { 
    3746             // ../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__3__Impl ) 
    3747             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1202:2: rule__EtsiBnf__Group_0_2__3__Impl 
    3748             { 
    3749             pushFollow(FOLLOW_rule__EtsiBnf__Group_0_2__3__Impl_in_rule__EtsiBnf__Group_0_2__32568); 
     4508        int rule__EtsiBnf__Group_0_2__3_StartIndex = input.index(); 
     4509 
     4510                        int stackSize = keepStackSize(); 
     4511             
     4512        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); 
    37504518            rule__EtsiBnf__Group_0_2__3__Impl(); 
    37514519 
    37524520            state._fsp--; 
    3753  
    3754  
    3755             } 
    3756  
    3757         } 
    3758         catch (RecognitionException re) { 
    3759             reportError(re); 
    3760             recover(input,re); 
    3761         } 
    3762         finally { 
     4521            if (state.failed) return ; 
     4522 
     4523            } 
     4524 
     4525        } 
     4526        catch (RecognitionException re) { 
     4527            reportError(re); 
     4528            recover(input,re); 
     4529        } 
     4530        finally { 
     4531            if ( state.backtracking>0 ) { memoize(input, 70, rule__EtsiBnf__Group_0_2__3_StartIndex); } 
    37634532 
    37644533                restoreStackSize(stackSize); 
     
    37714540 
    37724541    // $ANTLR start "rule__EtsiBnf__Group_0_2__3__Impl" 
    3773     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1208:1: rule__EtsiBnf__Group_0_2__3__Impl : ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) ; 
     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 )* ) ) ; 
    37744543    public final void rule__EtsiBnf__Group_0_2__3__Impl() throws RecognitionException { 
    3775  
    3776                         int stackSize = keepStackSize(); 
    3777              
    3778         try { 
    3779             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1212:1: ( ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) ) 
    3780             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1213:1: ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) 
    3781             { 
    3782             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1213:1: ( ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) ) 
    3783             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1214:1: ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) 
    3784             { 
    3785             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1214:1: ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) ) 
    3786             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1215:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) 
    3787             { 
    3788              before(grammarAccess.getEtsiBnfAccess().getBnfEntryAssignment_0_2_3());  
    3789             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1216:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 ) 
    3790             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1216:2: rule__EtsiBnf__BnfEntryAssignment_0_2_3 
    3791             { 
    3792             pushFollow(FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2597); 
     4544        int rule__EtsiBnf__Group_0_2__3__Impl_StartIndex = input.index(); 
     4545 
     4546                        int stackSize = keepStackSize(); 
     4547             
     4548        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 ) 
     4558            { 
     4559            if ( state.backtracking==0 ) { 
     4560               before(grammarAccess.getEtsiBnfAccess().getBnfEntryAssignment_0_2_3());  
     4561            } 
     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); 
    37934566            rule__EtsiBnf__BnfEntryAssignment_0_2_3(); 
    37944567 
    37954568            state._fsp--; 
    3796  
    3797  
    3798             } 
    3799  
    3800              after(grammarAccess.getEtsiBnfAccess().getBnfEntryAssignment_0_2_3());  
    3801  
    3802             } 
    3803  
    3804             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1219:1: ( ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* ) 
    3805             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1220:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* 
    3806             { 
    3807              before(grammarAccess.getEtsiBnfAccess().getBnfEntryAssignment_0_2_3());  
    3808             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1221:1: ( rule__EtsiBnf__BnfEntryAssignment_0_2_3 )* 
    3809             loop15: 
     4569            if (state.failed) return ; 
     4570 
     4571            } 
     4572 
     4573            if ( state.backtracking==0 ) { 
     4574               after(grammarAccess.getEtsiBnfAccess().getBnfEntryAssignment_0_2_3());  
     4575            } 
     4576 
     4577            } 
     4578 
     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 )* 
     4581            { 
     4582            if ( state.backtracking==0 ) { 
     4583               before(grammarAccess.getEtsiBnfAccess().getBnfEntryAssignment_0_2_3());  
     4584            } 
     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 )* 
     4586            loop18: 
    38104587            do { 
    3811                 int alt15=2; 
    3812                 int LA15_0 = input.LA(1); 
    3813  
    3814                 if ( ((LA15_0>=RULE_ID && LA15_0<=RULE_SECTIONHEADER)||LA15_0==RULE_INT) ) { 
    3815                     alt15=1; 
     4588                int alt18=2; 
     4589                int LA18_0 = input.LA(1); 
     4590 
     4591                if ( ((LA18_0>=RULE_ID && LA18_0<=RULE_SECTIONHEADER)||LA18_0==RULE_INT) ) { 
     4592                    alt18=1; 
    38164593                } 
    38174594 
    38184595 
    3819                 switch (alt15) { 
     4596                switch (alt18) { 
    38204597                case 1 : 
    3821                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1221:2: rule__EtsiBnf__BnfEntryAssignment_0_2_3 
     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 
    38224599                    { 
    3823                     pushFollow(FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2609); 
     4600                    pushFollow(FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2735); 
    38244601                    rule__EtsiBnf__BnfEntryAssignment_0_2_3(); 
    38254602 
    38264603                    state._fsp--; 
    3827  
     4604                    if (state.failed) return ; 
    38284605 
    38294606                    } 
     
    38314608 
    38324609                default : 
    3833                     break loop15; 
     4610                    break loop18; 
    38344611                } 
    38354612            } while (true); 
    38364613 
    3837              after(grammarAccess.getEtsiBnfAccess().getBnfEntryAssignment_0_2_3());  
    3838  
    3839             } 
    3840  
    3841  
    3842             } 
    3843  
    3844  
    3845             } 
    3846  
    3847         } 
    3848         catch (RecognitionException re) { 
    3849             reportError(re); 
    3850             recover(input,re); 
    3851         } 
    3852         finally { 
     4614            if ( state.backtracking==0 ) { 
     4615               after(grammarAccess.getEtsiBnfAccess().getBnfEntryAssignment_0_2_3());  
     4616            } 
     4617 
     4618            } 
     4619 
     4620 
     4621            } 
     4622 
     4623 
     4624            } 
     4625 
     4626        } 
     4627        catch (RecognitionException re) { 
     4628            reportError(re); 
     4629            recover(input,re); 
     4630        } 
     4631        finally { 
     4632            if ( state.backtracking>0 ) { memoize(input, 71, rule__EtsiBnf__Group_0_2__3__Impl_StartIndex); } 
    38534633 
    38544634                restoreStackSize(stackSize); 
     
    38614641 
    38624642    // $ANTLR start "rule__EtsiBnf__Group_1__0" 
    3863     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1240:1: rule__EtsiBnf__Group_1__0 : rule__EtsiBnf__Group_1__0__Impl rule__EtsiBnf__Group_1__1 ; 
     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 ; 
    38644644    public final void rule__EtsiBnf__Group_1__0() throws RecognitionException { 
    3865  
    3866                         int stackSize = keepStackSize(); 
    3867              
    3868         try { 
    3869             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1244:1: ( rule__EtsiBnf__Group_1__0__Impl rule__EtsiBnf__Group_1__1 ) 
    3870             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1245:2: rule__EtsiBnf__Group_1__0__Impl rule__EtsiBnf__Group_1__1 
    3871             { 
    3872             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__0__Impl_in_rule__EtsiBnf__Group_1__02650); 
     4645        int rule__EtsiBnf__Group_1__0_StartIndex = input.index(); 
     4646 
     4647                        int stackSize = keepStackSize(); 
     4648             
     4649        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); 
    38734655            rule__EtsiBnf__Group_1__0__Impl(); 
    38744656 
    38754657            state._fsp--; 
    3876  
    3877             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__1_in_rule__EtsiBnf__Group_1__02653); 
     4658            if (state.failed) return ; 
     4659            pushFollow(FOLLOW_rule__EtsiBnf__Group_1__1_in_rule__EtsiBnf__Group_1__02779); 
    38784660            rule__EtsiBnf__Group_1__1(); 
    38794661 
    38804662            state._fsp--; 
    3881  
    3882  
    3883             } 
    3884  
    3885         } 
    3886         catch (RecognitionException re) { 
    3887             reportError(re); 
    3888             recover(input,re); 
    3889         } 
    3890         finally { 
     4663            if (state.failed) return ; 
     4664 
     4665            } 
     4666 
     4667        } 
     4668        catch (RecognitionException re) { 
     4669            reportError(re); 
     4670            recover(input,re); 
     4671        } 
     4672        finally { 
     4673            if ( state.backtracking>0 ) { memoize(input, 72, rule__EtsiBnf__Group_1__0_StartIndex); } 
    38914674 
    38924675                restoreStackSize(stackSize); 
     
    38994682 
    39004683    // $ANTLR start "rule__EtsiBnf__Group_1__0__Impl" 
    3901     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1252:1: rule__EtsiBnf__Group_1__0__Impl : ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) ; 
     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 ) ) ; 
    39024685    public final void rule__EtsiBnf__Group_1__0__Impl() throws RecognitionException { 
    3903  
    3904                         int stackSize = keepStackSize(); 
    3905              
    3906         try { 
    3907             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1256:1: ( ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) ) 
    3908             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1257:1: ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) 
    3909             { 
    3910             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1257:1: ( ( rule__EtsiBnf__TypeAssignment_1_0 ) ) 
    3911             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1258:1: ( rule__EtsiBnf__TypeAssignment_1_0 ) 
    3912             { 
    3913              before(grammarAccess.getEtsiBnfAccess().getTypeAssignment_1_0());  
    3914             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1259:1: ( rule__EtsiBnf__TypeAssignment_1_0 ) 
    3915             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1259:2: rule__EtsiBnf__TypeAssignment_1_0 
    3916             { 
    3917             pushFollow(FOLLOW_rule__EtsiBnf__TypeAssignment_1_0_in_rule__EtsiBnf__Group_1__0__Impl2680); 
     4686        int rule__EtsiBnf__Group_1__0__Impl_StartIndex = input.index(); 
     4687 
     4688                        int stackSize = keepStackSize(); 
     4689             
     4690        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 ) 
     4697            { 
     4698            if ( state.backtracking==0 ) { 
     4699               before(grammarAccess.getEtsiBnfAccess().getTypeAssignment_1_0());  
     4700            } 
     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); 
    39184705            rule__EtsiBnf__TypeAssignment_1_0(); 
    39194706 
    39204707            state._fsp--; 
    3921  
    3922  
    3923             } 
    3924  
    3925              after(grammarAccess.getEtsiBnfAccess().getTypeAssignment_1_0());  
    3926  
    3927             } 
    3928  
    3929  
    3930             } 
    3931  
    3932         } 
    3933         catch (RecognitionException re) { 
    3934             reportError(re); 
    3935             recover(input,re); 
    3936         } 
    3937         finally { 
     4708            if (state.failed) return ; 
     4709 
     4710            } 
     4711 
     4712            if ( state.backtracking==0 ) { 
     4713               after(grammarAccess.getEtsiBnfAccess().getTypeAssignment_1_0());  
     4714            } 
     4715 
     4716            } 
     4717 
     4718 
     4719            } 
     4720 
     4721        } 
     4722        catch (RecognitionException re) { 
     4723            reportError(re); 
     4724            recover(input,re); 
     4725        } 
     4726        finally { 
     4727            if ( state.backtracking>0 ) { memoize(input, 73, rule__EtsiBnf__Group_1__0__Impl_StartIndex); } 
    39384728 
    39394729                restoreStackSize(stackSize); 
     
    39464736 
    39474737    // $ANTLR start "rule__EtsiBnf__Group_1__1" 
    3948     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1269:1: rule__EtsiBnf__Group_1__1 : rule__EtsiBnf__Group_1__1__Impl rule__EtsiBnf__Group_1__2 ; 
     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 ; 
    39494739    public final void rule__EtsiBnf__Group_1__1() throws RecognitionException { 
    3950  
    3951                         int stackSize = keepStackSize(); 
    3952              
    3953         try { 
    3954             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1273:1: ( rule__EtsiBnf__Group_1__1__Impl rule__EtsiBnf__Group_1__2 ) 
    3955             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1274:2: rule__EtsiBnf__Group_1__1__Impl rule__EtsiBnf__Group_1__2 
    3956             { 
    3957             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__1__Impl_in_rule__EtsiBnf__Group_1__12710); 
     4740        int rule__EtsiBnf__Group_1__1_StartIndex = input.index(); 
     4741 
     4742                        int stackSize = keepStackSize(); 
     4743             
     4744        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); 
    39584750            rule__EtsiBnf__Group_1__1__Impl(); 
    39594751 
    39604752            state._fsp--; 
    3961  
    3962             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__2_in_rule__EtsiBnf__Group_1__12713); 
     4753            if (state.failed) return ; 
     4754            pushFollow(FOLLOW_rule__EtsiBnf__Group_1__2_in_rule__EtsiBnf__Group_1__12839); 
    39634755            rule__EtsiBnf__Group_1__2(); 
    39644756 
    39654757            state._fsp--; 
    3966  
    3967  
    3968             } 
    3969  
    3970         } 
    3971         catch (RecognitionException re) { 
    3972             reportError(re); 
    3973             recover(input,re); 
    3974         } 
    3975         finally { 
     4758            if (state.failed) return ; 
     4759 
     4760            } 
     4761 
     4762        } 
     4763        catch (RecognitionException re) { 
     4764            reportError(re); 
     4765            recover(input,re); 
     4766        } 
     4767        finally { 
     4768            if ( state.backtracking>0 ) { memoize(input, 74, rule__EtsiBnf__Group_1__1_StartIndex); } 
    39764769 
    39774770                restoreStackSize(stackSize); 
     
    39844777 
    39854778    // $ANTLR start "rule__EtsiBnf__Group_1__1__Impl" 
    3986     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1281:1: 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 : ( ';' ) ; 
    39874780    public final void rule__EtsiBnf__Group_1__1__Impl() throws RecognitionException { 
    3988  
    3989                         int stackSize = keepStackSize(); 
    3990              
    3991         try { 
    3992             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1285:1: ( ( ';' ) ) 
    3993             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1286:1: ( ';' ) 
    3994             { 
    3995             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1286:1: ( ';' ) 
    3996             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1287:1: ';' 
    3997             { 
    3998              before(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_1_1());  
    3999             match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_1__1__Impl2741);  
    4000              after(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_1_1());  
    4001  
    4002             } 
    4003  
    4004  
    4005             } 
    4006  
    4007         } 
    4008         catch (RecognitionException re) { 
    4009             reportError(re); 
    4010             recover(input,re); 
    4011         } 
    4012         finally { 
     4781        int rule__EtsiBnf__Group_1__1__Impl_StartIndex = input.index(); 
     4782 
     4783                        int stackSize = keepStackSize(); 
     4784             
     4785        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: ';' 
     4792            { 
     4793            if ( state.backtracking==0 ) { 
     4794               before(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_1_1());  
     4795            } 
     4796            match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_1__1__Impl2867); if (state.failed) return ; 
     4797            if ( state.backtracking==0 ) { 
     4798               after(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_1_1());  
     4799            } 
     4800 
     4801            } 
     4802 
     4803 
     4804            } 
     4805 
     4806        } 
     4807        catch (RecognitionException re) { 
     4808            reportError(re); 
     4809            recover(input,re); 
     4810        } 
     4811        finally { 
     4812            if ( state.backtracking>0 ) { memoize(input, 75, rule__EtsiBnf__Group_1__1__Impl_StartIndex); } 
    40134813 
    40144814                restoreStackSize(stackSize); 
     
    40214821 
    40224822    // $ANTLR start "rule__EtsiBnf__Group_1__2" 
    4023     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1300:1: rule__EtsiBnf__Group_1__2 : rule__EtsiBnf__Group_1__2__Impl rule__EtsiBnf__Group_1__3 ; 
     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 ; 
    40244824    public final void rule__EtsiBnf__Group_1__2() throws RecognitionException { 
    4025  
    4026                         int stackSize = keepStackSize(); 
    4027              
    4028         try { 
    4029             // ../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__2__Impl rule__EtsiBnf__Group_1__3 ) 
    4030             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1305:2: rule__EtsiBnf__Group_1__2__Impl rule__EtsiBnf__Group_1__3 
    4031             { 
    4032             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__2__Impl_in_rule__EtsiBnf__Group_1__22772); 
     4825        int rule__EtsiBnf__Group_1__2_StartIndex = input.index(); 
     4826 
     4827                        int stackSize = keepStackSize(); 
     4828             
     4829        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); 
    40334835            rule__EtsiBnf__Group_1__2__Impl(); 
    40344836 
    40354837            state._fsp--; 
    4036  
    4037             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__3_in_rule__EtsiBnf__Group_1__22775); 
     4838            if (state.failed) return ; 
     4839            pushFollow(FOLLOW_rule__EtsiBnf__Group_1__3_in_rule__EtsiBnf__Group_1__22901); 
    40384840            rule__EtsiBnf__Group_1__3(); 
    40394841 
    40404842            state._fsp--; 
    4041  
    4042  
    4043             } 
    4044  
    4045         } 
    4046         catch (RecognitionException re) { 
    4047             reportError(re); 
    4048             recover(input,re); 
    4049         } 
    4050         finally { 
     4843            if (state.failed) return ; 
     4844 
     4845            } 
     4846 
     4847        } 
     4848        catch (RecognitionException re) { 
     4849            reportError(re); 
     4850            recover(input,re); 
     4851        } 
     4852        finally { 
     4853            if ( state.backtracking>0 ) { memoize(input, 76, rule__EtsiBnf__Group_1__2_StartIndex); } 
    40514854 
    40524855                restoreStackSize(stackSize); 
     
    40594862 
    40604863    // $ANTLR start "rule__EtsiBnf__Group_1__2__Impl" 
    4061     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1312:1: rule__EtsiBnf__Group_1__2__Impl : ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) ; 
     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 )? ) ; 
    40624865    public final void rule__EtsiBnf__Group_1__2__Impl() throws RecognitionException { 
    4063  
    4064                         int stackSize = keepStackSize(); 
    4065              
    4066         try { 
    4067             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1316:1: ( ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) ) 
    4068             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1317:1: ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) 
    4069             { 
    4070             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1317:1: ( ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? ) 
    4071             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1318:1: ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? 
    4072             { 
    4073              before(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_1_2());  
    4074             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1319:1: ( rule__EtsiBnf__ImportSectionAssignment_1_2 )? 
    4075             int alt16=2; 
    4076             int LA16_0 = input.LA(1); 
    4077  
    4078             if ( (LA16_0==24) ) { 
    4079                 alt16=1; 
    4080             } 
    4081             switch (alt16) { 
     4866        int rule__EtsiBnf__Group_1__2__Impl_StartIndex = input.index(); 
     4867 
     4868                        int stackSize = keepStackSize(); 
     4869             
     4870        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 )? 
     4877            { 
     4878            if ( state.backtracking==0 ) { 
     4879               before(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_1_2());  
     4880            } 
     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 )? 
     4882            int alt19=2; 
     4883            int LA19_0 = input.LA(1); 
     4884 
     4885            if ( (LA19_0==24) ) { 
     4886                alt19=1; 
     4887            } 
     4888            switch (alt19) { 
    40824889                case 1 : 
    4083                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1319:2: rule__EtsiBnf__ImportSectionAssignment_1_2 
     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 
    40844891                    { 
    4085                     pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_1_2_in_rule__EtsiBnf__Group_1__2__Impl2802); 
     4892                    pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_1_2_in_rule__EtsiBnf__Group_1__2__Impl2928); 
    40864893                    rule__EtsiBnf__ImportSectionAssignment_1_2(); 
    40874894 
    40884895                    state._fsp--; 
    4089  
     4896                    if (state.failed) return ; 
    40904897 
    40914898                    } 
     
    40944901            } 
    40954902 
    4096              after(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_1_2());  
    4097  
    4098             } 
    4099  
    4100  
    4101             } 
    4102  
    4103         } 
    4104         catch (RecognitionException re) { 
    4105             reportError(re); 
    4106             recover(input,re); 
    4107         } 
    4108         finally { 
     4903            if ( state.backtracking==0 ) { 
     4904               after(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_1_2());  
     4905            } 
     4906 
     4907            } 
     4908 
     4909 
     4910            } 
     4911 
     4912        } 
     4913        catch (RecognitionException re) { 
     4914            reportError(re); 
     4915            recover(input,re); 
     4916        } 
     4917        finally { 
     4918            if ( state.backtracking>0 ) { memoize(input, 77, rule__EtsiBnf__Group_1__2__Impl_StartIndex); } 
    41094919 
    41104920                restoreStackSize(stackSize); 
     
    41174927 
    41184928    // $ANTLR start "rule__EtsiBnf__Group_1__3" 
    4119     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1329:1: rule__EtsiBnf__Group_1__3 : rule__EtsiBnf__Group_1__3__Impl ; 
     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 ; 
    41204930    public final void rule__EtsiBnf__Group_1__3() throws RecognitionException { 
    4121  
    4122                         int stackSize = keepStackSize(); 
    4123              
    4124         try { 
    4125             // ../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__3__Impl ) 
    4126             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1334:2: rule__EtsiBnf__Group_1__3__Impl 
    4127             { 
    4128             pushFollow(FOLLOW_rule__EtsiBnf__Group_1__3__Impl_in_rule__EtsiBnf__Group_1__32833); 
     4931        int rule__EtsiBnf__Group_1__3_StartIndex = input.index(); 
     4932 
     4933                        int stackSize = keepStackSize(); 
     4934             
     4935        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); 
    41294941            rule__EtsiBnf__Group_1__3__Impl(); 
    41304942 
    41314943            state._fsp--; 
    4132  
    4133  
    4134             } 
    4135  
    4136         } 
    4137         catch (RecognitionException re) { 
    4138             reportError(re); 
    4139             recover(input,re); 
    4140         } 
    4141         finally { 
     4944            if (state.failed) return ; 
     4945 
     4946            } 
     4947 
     4948        } 
     4949        catch (RecognitionException re) { 
     4950            reportError(re); 
     4951            recover(input,re); 
     4952        } 
     4953        finally { 
     4954            if ( state.backtracking>0 ) { memoize(input, 78, rule__EtsiBnf__Group_1__3_StartIndex); } 
    41424955 
    41434956                restoreStackSize(stackSize); 
     
    41504963 
    41514964    // $ANTLR start "rule__EtsiBnf__Group_1__3__Impl" 
    4152     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1340:1: rule__EtsiBnf__Group_1__3__Impl : ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) ; 
     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 )* ) ; 
    41534966    public final void rule__EtsiBnf__Group_1__3__Impl() throws RecognitionException { 
    4154  
    4155                         int stackSize = keepStackSize(); 
    4156              
    4157         try { 
    4158             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1344:1: ( ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) ) 
    4159             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1345:1: ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) 
    4160             { 
    4161             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1345:1: ( ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* ) 
    4162             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1346:1: ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* 
    4163             { 
    4164              before(grammarAccess.getEtsiBnfAccess().getDeltaEntryAssignment_1_3());  
    4165             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1347:1: ( rule__EtsiBnf__DeltaEntryAssignment_1_3 )* 
    4166             loop17: 
     4967        int rule__EtsiBnf__Group_1__3__Impl_StartIndex = input.index(); 
     4968 
     4969                        int stackSize = keepStackSize(); 
     4970             
     4971        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 )* 
     4978            { 
     4979            if ( state.backtracking==0 ) { 
     4980               before(grammarAccess.getEtsiBnfAccess().getDeltaEntryAssignment_1_3());  
     4981            } 
     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 )* 
     4983            loop20: 
    41674984            do { 
    4168                 int alt17=2; 
    4169                 int LA17_0 = input.LA(1); 
    4170  
    4171                 if ( ((LA17_0>=RULE_ID && LA17_0<=RULE_SECTIONHEADER)||LA17_0==RULE_INT) ) { 
    4172                     alt17=1; 
     4985                int alt20=2; 
     4986                int LA20_0 = input.LA(1); 
     4987 
     4988                if ( ((LA20_0>=RULE_ID && LA20_0<=RULE_SECTIONHEADER)||LA20_0==RULE_INT) ) { 
     4989                    alt20=1; 
    41734990                } 
    41744991 
    41754992 
    4176                 switch (alt17) { 
     4993                switch (alt20) { 
    41774994                case 1 : 
    4178                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1347:2: rule__EtsiBnf__DeltaEntryAssignment_1_3 
     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 
    41794996                    { 
    4180                     pushFollow(FOLLOW_rule__EtsiBnf__DeltaEntryAssignment_1_3_in_rule__EtsiBnf__Group_1__3__Impl2860); 
     4997                    pushFollow(FOLLOW_rule__EtsiBnf__DeltaEntryAssignment_1_3_in_rule__EtsiBnf__Group_1__3__Impl2986); 
    41814998                    rule__EtsiBnf__DeltaEntryAssignment_1_3(); 
    41824999 
    41835000                    state._fsp--; 
    4184  
     5001                    if (state.failed) return ; 
    41855002 
    41865003                    } 
     
    41885005 
    41895006                default : 
    4190                     break loop17; 
     5007                    break loop20; 
    41915008                } 
    41925009            } while (true); 
    41935010 
    4194              after(grammarAccess.getEtsiBnfAccess().getDeltaEntryAssignment_1_3());  
    4195  
    4196             } 
    4197  
    4198  
    4199             } 
    4200  
    4201         } 
    4202         catch (RecognitionException re) { 
    4203             reportError(re); 
    4204             recover(input,re); 
    4205         } 
    4206         finally { 
     5011            if ( state.backtracking==0 ) { 
     5012               after(grammarAccess.getEtsiBnfAccess().getDeltaEntryAssignment_1_3());  
     5013            } 
     5014 
     5015            } 
     5016 
     5017 
     5018            } 
     5019 
     5020        } 
     5021        catch (RecognitionException re) { 
     5022            reportError(re); 
     5023            recover(input,re); 
     5024        } 
     5025        finally { 
     5026            if ( state.backtracking>0 ) { memoize(input, 79, rule__EtsiBnf__Group_1__3__Impl_StartIndex); } 
    42075027 
    42085028                restoreStackSize(stackSize); 
     
    42155035 
    42165036    // $ANTLR start "rule__EtsiBnf__Group_2__0" 
    4217     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1365:1: rule__EtsiBnf__Group_2__0 : rule__EtsiBnf__Group_2__0__Impl rule__EtsiBnf__Group_2__1 ; 
     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 ; 
    42185038    public final void rule__EtsiBnf__Group_2__0() throws RecognitionException { 
    4219  
    4220                         int stackSize = keepStackSize(); 
    4221              
    4222         try { 
    4223             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1369:1: ( rule__EtsiBnf__Group_2__0__Impl rule__EtsiBnf__Group_2__1 ) 
    4224             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1370:2: rule__EtsiBnf__Group_2__0__Impl rule__EtsiBnf__Group_2__1 
    4225             { 
    4226             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__0__Impl_in_rule__EtsiBnf__Group_2__02899); 
     5039        int rule__EtsiBnf__Group_2__0_StartIndex = input.index(); 
     5040 
     5041                        int stackSize = keepStackSize(); 
     5042             
     5043        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); 
    42275049            rule__EtsiBnf__Group_2__0__Impl(); 
    42285050 
    42295051            state._fsp--; 
    4230  
    4231             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__1_in_rule__EtsiBnf__Group_2__02902); 
     5052            if (state.failed) return ; 
     5053            pushFollow(FOLLOW_rule__EtsiBnf__Group_2__1_in_rule__EtsiBnf__Group_2__03028); 
    42325054            rule__EtsiBnf__Group_2__1(); 
    42335055 
    42345056            state._fsp--; 
    4235  
    4236  
    4237             } 
    4238  
    4239         } 
    4240         catch (RecognitionException re) { 
    4241             reportError(re); 
    4242             recover(input,re); 
    4243         } 
    4244         finally { 
     5057            if (state.failed) return ; 
     5058 
     5059            } 
     5060 
     5061        } 
     5062        catch (RecognitionException re) { 
     5063            reportError(re); 
     5064            recover(input,re); 
     5065        } 
     5066        finally { 
     5067            if ( state.backtracking>0 ) { memoize(input, 80, rule__EtsiBnf__Group_2__0_StartIndex); } 
    42455068 
    42465069                restoreStackSize(stackSize); 
     
    42535076 
    42545077    // $ANTLR start "rule__EtsiBnf__Group_2__0__Impl" 
    4255     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1377:1: rule__EtsiBnf__Group_2__0__Impl : ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) ; 
     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 ) ) ; 
    42565079    public final void rule__EtsiBnf__Group_2__0__Impl() throws RecognitionException { 
    4257  
    4258                         int stackSize = keepStackSize(); 
    4259              
    4260         try { 
    4261             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1381:1: ( ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) ) 
    4262             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1382:1: ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) 
    4263             { 
    4264             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1382:1: ( ( rule__EtsiBnf__TypeAssignment_2_0 ) ) 
    4265             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1383:1: ( rule__EtsiBnf__TypeAssignment_2_0 ) 
    4266             { 
    4267              before(grammarAccess.getEtsiBnfAccess().getTypeAssignment_2_0());  
    4268             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1384:1: ( rule__EtsiBnf__TypeAssignment_2_0 ) 
    4269             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1384:2: rule__EtsiBnf__TypeAssignment_2_0 
    4270             { 
    4271             pushFollow(FOLLOW_rule__EtsiBnf__TypeAssignment_2_0_in_rule__EtsiBnf__Group_2__0__Impl2929); 
     5080        int rule__EtsiBnf__Group_2__0__Impl_StartIndex = input.index(); 
     5081 
     5082                        int stackSize = keepStackSize(); 
     5083             
     5084        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 ) 
     5091            { 
     5092            if ( state.backtracking==0 ) { 
     5093               before(grammarAccess.getEtsiBnfAccess().getTypeAssignment_2_0());  
     5094            } 
     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); 
    42725099            rule__EtsiBnf__TypeAssignment_2_0(); 
    42735100 
    42745101            state._fsp--; 
    4275  
    4276  
    4277             } 
    4278  
    4279              after(grammarAccess.getEtsiBnfAccess().getTypeAssignment_2_0());  
    4280  
    4281             } 
    4282  
    4283  
    4284             } 
    4285  
    4286         } 
    4287         catch (RecognitionException re) { 
    4288             reportError(re); 
    4289             recover(input,re); 
    4290         } 
    4291         finally { 
     5102            if (state.failed) return ; 
     5103 
     5104            } 
     5105 
     5106            if ( state.backtracking==0 ) { 
     5107               after(grammarAccess.getEtsiBnfAccess().getTypeAssignment_2_0());  
     5108            } 
     5109 
     5110            } 
     5111 
     5112 
     5113            } 
     5114 
     5115        } 
     5116        catch (RecognitionException re) { 
     5117            reportError(re); 
     5118            recover(input,re); 
     5119        } 
     5120        finally { 
     5121            if ( state.backtracking>0 ) { memoize(input, 81, rule__EtsiBnf__Group_2__0__Impl_StartIndex); } 
    42925122 
    42935123                restoreStackSize(stackSize); 
     
    43005130 
    43015131    // $ANTLR start "rule__EtsiBnf__Group_2__1" 
    4302     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1394:1: rule__EtsiBnf__Group_2__1 : rule__EtsiBnf__Group_2__1__Impl rule__EtsiBnf__Group_2__2 ; 
     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 ; 
    43035133    public final void rule__EtsiBnf__Group_2__1() throws RecognitionException { 
    4304  
    4305                         int stackSize = keepStackSize(); 
    4306              
    4307         try { 
    4308             // ../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_2__1__Impl rule__EtsiBnf__Group_2__2 ) 
    4309             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1399:2: rule__EtsiBnf__Group_2__1__Impl rule__EtsiBnf__Group_2__2 
    4310             { 
    4311             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__1__Impl_in_rule__EtsiBnf__Group_2__12959); 
     5134        int rule__EtsiBnf__Group_2__1_StartIndex = input.index(); 
     5135 
     5136                        int stackSize = keepStackSize(); 
     5137             
     5138        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); 
    43125144            rule__EtsiBnf__Group_2__1__Impl(); 
    43135145 
    43145146            state._fsp--; 
    4315  
    4316             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__2_in_rule__EtsiBnf__Group_2__12962); 
     5147            if (state.failed) return ; 
     5148            pushFollow(FOLLOW_rule__EtsiBnf__Group_2__2_in_rule__EtsiBnf__Group_2__13088); 
    43175149            rule__EtsiBnf__Group_2__2(); 
    43185150 
    43195151            state._fsp--; 
    4320  
    4321  
    4322             } 
    4323  
    4324         } 
    4325         catch (RecognitionException re) { 
    4326             reportError(re); 
    4327             recover(input,re); 
    4328         } 
    4329         finally { 
     5152            if (state.failed) return ; 
     5153 
     5154            } 
     5155 
     5156        } 
     5157        catch (RecognitionException re) { 
     5158            reportError(re); 
     5159            recover(input,re); 
     5160        } 
     5161        finally { 
     5162            if ( state.backtracking>0 ) { memoize(input, 82, rule__EtsiBnf__Group_2__1_StartIndex); } 
    43305163 
    43315164                restoreStackSize(stackSize); 
     
    43385171 
    43395172    // $ANTLR start "rule__EtsiBnf__Group_2__1__Impl" 
    4340     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1406:1: 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 : ( ';' ) ; 
    43415174    public final void rule__EtsiBnf__Group_2__1__Impl() throws RecognitionException { 
    4342  
    4343                         int stackSize = keepStackSize(); 
    4344              
    4345         try { 
    4346             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1410:1: ( ( ';' ) ) 
    4347             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1411:1: ( ';' ) 
    4348             { 
    4349             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1411:1: ( ';' ) 
    4350             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1412:1: ';' 
    4351             { 
    4352              before(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_2_1());  
    4353             match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_2__1__Impl2990);  
    4354              after(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_2_1());  
    4355  
    4356             } 
    4357  
    4358  
    4359             } 
    4360  
    4361         } 
    4362         catch (RecognitionException re) { 
    4363             reportError(re); 
    4364             recover(input,re); 
    4365         } 
    4366         finally { 
     5175        int rule__EtsiBnf__Group_2__1__Impl_StartIndex = input.index(); 
     5176 
     5177                        int stackSize = keepStackSize(); 
     5178             
     5179        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: ';' 
     5186            { 
     5187            if ( state.backtracking==0 ) { 
     5188               before(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_2_1());  
     5189            } 
     5190            match(input,23,FOLLOW_23_in_rule__EtsiBnf__Group_2__1__Impl3116); if (state.failed) return ; 
     5191            if ( state.backtracking==0 ) { 
     5192               after(grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_2_1());  
     5193            } 
     5194 
     5195            } 
     5196 
     5197 
     5198            } 
     5199 
     5200        } 
     5201        catch (RecognitionException re) { 
     5202            reportError(re); 
     5203            recover(input,re); 
     5204        } 
     5205        finally { 
     5206            if ( state.backtracking>0 ) { memoize(input, 83, rule__EtsiBnf__Group_2__1__Impl_StartIndex); } 
    43675207 
    43685208                restoreStackSize(stackSize); 
     
    43755215 
    43765216    // $ANTLR start "rule__EtsiBnf__Group_2__2" 
    4377     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1425:1: rule__EtsiBnf__Group_2__2 : rule__EtsiBnf__Group_2__2__Impl rule__EtsiBnf__Group_2__3 ; 
     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 ; 
    43785218    public final void rule__EtsiBnf__Group_2__2() throws RecognitionException { 
    4379  
    4380                         int stackSize = keepStackSize(); 
    4381              
    4382         try { 
    4383             // ../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__2__Impl rule__EtsiBnf__Group_2__3 ) 
    4384             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1430:2: rule__EtsiBnf__Group_2__2__Impl rule__EtsiBnf__Group_2__3 
    4385             { 
    4386             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__2__Impl_in_rule__EtsiBnf__Group_2__23021); 
     5219        int rule__EtsiBnf__Group_2__2_StartIndex = input.index(); 
     5220 
     5221                        int stackSize = keepStackSize(); 
     5222             
     5223        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); 
    43875229            rule__EtsiBnf__Group_2__2__Impl(); 
    43885230 
    43895231            state._fsp--; 
    4390  
    4391             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__3_in_rule__EtsiBnf__Group_2__23024); 
     5232            if (state.failed) return ; 
     5233            pushFollow(FOLLOW_rule__EtsiBnf__Group_2__3_in_rule__EtsiBnf__Group_2__23150); 
    43925234            rule__EtsiBnf__Group_2__3(); 
    43935235 
    43945236            state._fsp--; 
    4395  
    4396  
    4397             } 
    4398  
    4399         } 
    4400         catch (RecognitionException re) { 
    4401             reportError(re); 
    4402             recover(input,re); 
    4403         } 
    4404         finally { 
     5237            if (state.failed) return ; 
     5238 
     5239            } 
     5240 
     5241        } 
     5242        catch (RecognitionException re) { 
     5243            reportError(re); 
     5244            recover(input,re); 
     5245        } 
     5246        finally { 
     5247            if ( state.backtracking>0 ) { memoize(input, 84, rule__EtsiBnf__Group_2__2_StartIndex); } 
    44055248 
    44065249                restoreStackSize(stackSize); 
     
    44135256 
    44145257    // $ANTLR start "rule__EtsiBnf__Group_2__2__Impl" 
    4415     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1437:1: rule__EtsiBnf__Group_2__2__Impl : ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) ; 
     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 )? ) ; 
    44165259    public final void rule__EtsiBnf__Group_2__2__Impl() throws RecognitionException { 
    4417  
    4418                         int stackSize = keepStackSize(); 
    4419              
    4420         try { 
    4421             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1441:1: ( ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) ) 
    4422             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1442:1: ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) 
    4423             { 
    4424             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1442:1: ( ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? ) 
    4425             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1443:1: ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? 
    4426             { 
    4427              before(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_2_2());  
    4428             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1444:1: ( rule__EtsiBnf__ImportSectionAssignment_2_2 )? 
    4429             int alt18=2; 
    4430             int LA18_0 = input.LA(1); 
    4431  
    4432             if ( (LA18_0==24) ) { 
    4433                 alt18=1; 
    4434             } 
    4435             switch (alt18) { 
     5260        int rule__EtsiBnf__Group_2__2__Impl_StartIndex = input.index(); 
     5261 
     5262                        int stackSize = keepStackSize(); 
     5263             
     5264        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 )? 
     5271            { 
     5272            if ( state.backtracking==0 ) { 
     5273               before(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_2_2());  
     5274            } 
     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 )? 
     5276            int alt21=2; 
     5277            int LA21_0 = input.LA(1); 
     5278 
     5279            if ( (LA21_0==24) ) { 
     5280                alt21=1; 
     5281            } 
     5282            switch (alt21) { 
    44365283                case 1 : 
    4437                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1444:2: rule__EtsiBnf__ImportSectionAssignment_2_2 
     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 
    44385285                    { 
    4439                     pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_2_2_in_rule__EtsiBnf__Group_2__2__Impl3051); 
     5286                    pushFollow(FOLLOW_rule__EtsiBnf__ImportSectionAssignment_2_2_in_rule__EtsiBnf__Group_2__2__Impl3177); 
    44405287                    rule__EtsiBnf__ImportSectionAssignment_2_2(); 
    44415288 
    44425289                    state._fsp--; 
    4443  
     5290                    if (state.failed) return ; 
    44445291 
    44455292                    } 
     
    44485295            } 
    44495296 
    4450              after(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_2_2());  
    4451  
    4452             } 
    4453  
    4454  
    4455             } 
    4456  
    4457         } 
    4458         catch (RecognitionException re) { 
    4459             reportError(re); 
    4460             recover(input,re); 
    4461         } 
    4462         finally { 
     5297            if ( state.backtracking==0 ) { 
     5298               after(grammarAccess.getEtsiBnfAccess().getImportSectionAssignment_2_2());  
     5299            } 
     5300 
     5301            } 
     5302 
     5303 
     5304            } 
     5305 
     5306        } 
     5307        catch (RecognitionException re) { 
     5308            reportError(re); 
     5309            recover(input,re); 
     5310        } 
     5311        finally { 
     5312            if ( state.backtracking>0 ) { memoize(input, 85, rule__EtsiBnf__Group_2__2__Impl_StartIndex); } 
    44635313 
    44645314                restoreStackSize(stackSize); 
     
    44715321 
    44725322    // $ANTLR start "rule__EtsiBnf__Group_2__3" 
    4473     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1454:1: rule__EtsiBnf__Group_2__3 : rule__EtsiBnf__Group_2__3__Impl ; 
     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 ; 
    44745324    public final void rule__EtsiBnf__Group_2__3() throws RecognitionException { 
    4475  
    4476                         int stackSize = keepStackSize(); 
    4477              
    4478         try { 
    4479             // ../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__3__Impl ) 
    4480             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1459:2: rule__EtsiBnf__Group_2__3__Impl 
    4481             { 
    4482             pushFollow(FOLLOW_rule__EtsiBnf__Group_2__3__Impl_in_rule__EtsiBnf__Group_2__33082); 
     5325        int rule__EtsiBnf__Group_2__3_StartIndex = input.index(); 
     5326 
     5327                        int stackSize = keepStackSize(); 
     5328             
     5329        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); 
    44835335            rule__EtsiBnf__Group_2__3__Impl(); 
    44845336 
    44855337            state._fsp--; 
    4486  
    4487  
    4488             } 
    4489  
    4490         } 
    4491         catch (RecognitionException re) { 
    4492             reportError(re); 
    4493             recover(input,re); 
    4494         } 
    4495         finally { 
     5338            if (state.failed) return ; 
     5339 
     5340            } 
     5341 
     5342        } 
     5343        catch (RecognitionException re) { 
     5344            reportError(re); 
     5345            recover(input,re); 
     5346        } 
     5347        finally { 
     5348            if ( state.backtracking>0 ) { memoize(input, 86, rule__EtsiBnf__Group_2__3_StartIndex); } 
    44965349 
    44975350                restoreStackSize(stackSize); 
     
    45045357 
    45055358    // $ANTLR start "rule__EtsiBnf__Group_2__3__Impl" 
    4506     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1465:1: rule__EtsiBnf__Group_2__3__Impl : ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) ; 
     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 )* ) ; 
    45075360    public final void rule__EtsiBnf__Group_2__3__Impl() throws RecognitionException { 
    4508  
    4509                         int stackSize = keepStackSize(); 
    4510              
    4511         try { 
    4512             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1469:1: ( ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) ) 
    4513             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1470:1: ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) 
    4514             { 
    4515             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1470:1: ( ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* ) 
    4516             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1471:1: ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* 
    4517             { 
    4518              before(grammarAccess.getEtsiBnfAccess().getMergeEntryAssignment_2_3());  
    4519             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1472:1: ( rule__EtsiBnf__MergeEntryAssignment_2_3 )* 
    4520             loop19: 
     5361        int rule__EtsiBnf__Group_2__3__Impl_StartIndex = input.index(); 
     5362 
     5363                        int stackSize = keepStackSize(); 
     5364             
     5365        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 )* 
     5372            { 
     5373            if ( state.backtracking==0 ) { 
     5374               before(grammarAccess.getEtsiBnfAccess().getMergeEntryAssignment_2_3());  
     5375            } 
     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 )* 
     5377            loop22: 
    45215378            do { 
    4522                 int alt19=2; 
    4523                 int LA19_0 = input.LA(1); 
    4524  
    4525                 if ( (LA19_0==RULE_SECTIONHEADER||LA19_0==30||(LA19_0>=32 && LA19_0<=33)) ) { 
    4526                     alt19=1; 
     5379                int alt22=2; 
     5380                int LA22_0 = input.LA(1); 
     5381 
     5382                if ( (LA22_0==RULE_SECTIONHEADER||LA22_0==30||(LA22_0>=32 && LA22_0<=33)) ) { 
     5383                    alt22=1; 
    45275384                } 
    45285385 
    45295386 
    4530                 switch (alt19) { 
     5387                switch (alt22) { 
    45315388                case 1 : 
    4532                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1472:2: rule__EtsiBnf__MergeEntryAssignment_2_3 
     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 
    45335390                    { 
    4534                     pushFollow(FOLLOW_rule__EtsiBnf__MergeEntryAssignment_2_3_in_rule__EtsiBnf__Group_2__3__Impl3109); 
     5391                    pushFollow(FOLLOW_rule__EtsiBnf__MergeEntryAssignment_2_3_in_rule__EtsiBnf__Group_2__3__Impl3235); 
    45355392                    rule__EtsiBnf__MergeEntryAssignment_2_3(); 
    45365393 
    45375394                    state._fsp--; 
    4538  
     5395                    if (state.failed) return ; 
    45395396 
    45405397                    } 
     
    45425399 
    45435400                default : 
    4544                     break loop19; 
     5401                    break loop22; 
    45455402                } 
    45465403            } while (true); 
    45475404 
    4548              after(grammarAccess.getEtsiBnfAccess().getMergeEntryAssignment_2_3());  
    4549  
    4550             } 
    4551  
    4552  
    4553             } 
    4554  
    4555         } 
    4556         catch (RecognitionException re) { 
    4557             reportError(re); 
    4558             recover(input,re); 
    4559         } 
    4560         finally { 
     5405            if ( state.backtracking==0 ) { 
     5406               after(grammarAccess.getEtsiBnfAccess().getMergeEntryAssignment_2_3());  
     5407            } 
     5408 
     5409            } 
     5410 
     5411 
     5412            } 
     5413 
     5414        } 
     5415        catch (RecognitionException re) { 
     5416            reportError(re); 
     5417            recover(input,re); 
     5418        } 
     5419        finally { 
     5420            if ( state.backtracking>0 ) { memoize(input, 87, rule__EtsiBnf__Group_2__3__Impl_StartIndex); } 
    45615421 
    45625422                restoreStackSize(stackSize); 
     
    45695429 
    45705430    // $ANTLR start "rule__SectionHeading__Group__0" 
    4571     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1490:1: rule__SectionHeading__Group__0 : rule__SectionHeading__Group__0__Impl rule__SectionHeading__Group__1 ; 
     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 ; 
    45725432    public final void rule__SectionHeading__Group__0() throws RecognitionException { 
    4573  
    4574                         int stackSize = keepStackSize(); 
    4575              
    4576         try { 
    4577             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1494:1: ( rule__SectionHeading__Group__0__Impl rule__SectionHeading__Group__1 ) 
    4578             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1495:2: rule__SectionHeading__Group__0__Impl rule__SectionHeading__Group__1 
    4579             { 
    4580             pushFollow(FOLLOW_rule__SectionHeading__Group__0__Impl_in_rule__SectionHeading__Group__03148); 
     5433        int rule__SectionHeading__Group__0_StartIndex = input.index(); 
     5434 
     5435                        int stackSize = keepStackSize(); 
     5436             
     5437        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); 
    45815443            rule__SectionHeading__Group__0__Impl(); 
    45825444 
    45835445            state._fsp--; 
    4584  
    4585             pushFollow(FOLLOW_rule__SectionHeading__Group__1_in_rule__SectionHeading__Group__03151); 
     5446            if (state.failed) return ; 
     5447            pushFollow(FOLLOW_rule__SectionHeading__Group__1_in_rule__SectionHeading__Group__03277); 
    45865448            rule__SectionHeading__Group__1(); 
    45875449 
    45885450            state._fsp--; 
    4589  
    4590  
    4591             } 
    4592  
    4593         } 
    4594         catch (RecognitionException re) { 
    4595             reportError(re); 
    4596             recover(input,re); 
    4597         } 
    4598         finally { 
     5451            if (state.failed) return ; 
     5452 
     5453            } 
     5454 
     5455        } 
     5456        catch (RecognitionException re) { 
     5457            reportError(re); 
     5458            recover(input,re); 
     5459        } 
     5460        finally { 
     5461            if ( state.backtracking>0 ) { memoize(input, 88, rule__SectionHeading__Group__0_StartIndex); } 
    45995462 
    46005463                restoreStackSize(stackSize); 
     
    46075470 
    46085471    // $ANTLR start "rule__SectionHeading__Group__0__Impl" 
    4609     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1502:1: 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 : ( () ) ; 
    46105473    public final void rule__SectionHeading__Group__0__Impl() throws RecognitionException { 
    4611  
    4612                         int stackSize = keepStackSize(); 
    4613              
    4614         try { 
    4615             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1506:1: ( ( () ) ) 
    4616             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1507:1: ( () ) 
    4617             { 
    4618             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1507:1: ( () ) 
    4619             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1508:1: () 
    4620             { 
    4621              before(grammarAccess.getSectionHeadingAccess().getSectionHeadingAction_0());  
    4622             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1509:1: () 
    4623             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1511:1:  
    4624             { 
    4625             } 
    4626  
    4627              after(grammarAccess.getSectionHeadingAccess().getSectionHeadingAction_0());  
    4628  
    4629             } 
    4630  
    4631  
    4632             } 
    4633  
    4634         } 
    4635         finally { 
     5474        int rule__SectionHeading__Group__0__Impl_StartIndex = input.index(); 
     5475 
     5476                        int stackSize = keepStackSize(); 
     5477             
     5478        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: () 
     5485            { 
     5486            if ( state.backtracking==0 ) { 
     5487               before(grammarAccess.getSectionHeadingAccess().getSectionHeadingAction_0());  
     5488            } 
     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:  
     5491            { 
     5492            } 
     5493 
     5494            if ( state.backtracking==0 ) { 
     5495               after(grammarAccess.getSectionHeadingAccess().getSectionHeadingAction_0());  
     5496            } 
     5497 
     5498            } 
     5499 
     5500 
     5501            } 
     5502 
     5503        } 
     5504        finally { 
     5505            if ( state.backtracking>0 ) { memoize(input, 89, rule__SectionHeading__Group__0__Impl_StartIndex); } 
    46365506 
    46375507                restoreStackSize(stackSize); 
     
    46445514 
    46455515    // $ANTLR start "rule__SectionHeading__Group__1" 
    4646     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1521:1: rule__SectionHeading__Group__1 : rule__SectionHeading__Group__1__Impl ; 
     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 ; 
    46475517    public final void rule__SectionHeading__Group__1() throws RecognitionException { 
    4648  
    4649                         int stackSize = keepStackSize(); 
    4650              
    4651         try { 
    4652             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1525:1: ( rule__SectionHeading__Group__1__Impl ) 
    4653             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1526:2: rule__SectionHeading__Group__1__Impl 
    4654             { 
    4655             pushFollow(FOLLOW_rule__SectionHeading__Group__1__Impl_in_rule__SectionHeading__Group__13209); 
     5518        int rule__SectionHeading__Group__1_StartIndex = input.index(); 
     5519 
     5520                        int stackSize = keepStackSize(); 
     5521             
     5522        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); 
    46565528            rule__SectionHeading__Group__1__Impl(); 
    46575529 
    46585530            state._fsp--; 
    4659  
    4660  
    4661             } 
    4662  
    4663         } 
    4664         catch (RecognitionException re) { 
    4665             reportError(re); 
    4666             recover(input,re); 
    4667         } 
    4668         finally { 
     5531            if (state.failed) return ; 
     5532 
     5533            } 
     5534 
     5535        } 
     5536        catch (RecognitionException re) { 
     5537            reportError(re); 
     5538            recover(input,re); 
     5539        } 
     5540        finally { 
     5541            if ( state.backtracking>0 ) { memoize(input, 90, rule__SectionHeading__Group__1_StartIndex); } 
    46695542 
    46705543                restoreStackSize(stackSize); 
     
    46775550 
    46785551    // $ANTLR start "rule__SectionHeading__Group__1__Impl" 
    4679     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1532:1: rule__SectionHeading__Group__1__Impl : ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) ; 
     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 ) ) ; 
    46805553    public final void rule__SectionHeading__Group__1__Impl() throws RecognitionException { 
    4681  
    4682                         int stackSize = keepStackSize(); 
    4683              
    4684         try { 
    4685             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1536:1: ( ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) ) 
    4686             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1537:1: ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) 
    4687             { 
    4688             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1537:1: ( ( rule__SectionHeading__SectionHeaderAssignment_1 ) ) 
    4689             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1538:1: ( rule__SectionHeading__SectionHeaderAssignment_1 ) 
    4690             { 
    4691              before(grammarAccess.getSectionHeadingAccess().getSectionHeaderAssignment_1());  
    4692             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1539:1: ( rule__SectionHeading__SectionHeaderAssignment_1 ) 
    4693             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1539:2: rule__SectionHeading__SectionHeaderAssignment_1 
    4694             { 
    4695             pushFollow(FOLLOW_rule__SectionHeading__SectionHeaderAssignment_1_in_rule__SectionHeading__Group__1__Impl3236); 
     5554        int rule__SectionHeading__Group__1__Impl_StartIndex = input.index(); 
     5555 
     5556                        int stackSize = keepStackSize(); 
     5557             
     5558        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 ) 
     5565            { 
     5566            if ( state.backtracking==0 ) { 
     5567               before(grammarAccess.getSectionHeadingAccess().getSectionHeaderAssignment_1());  
     5568            } 
     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); 
    46965573            rule__SectionHeading__SectionHeaderAssignment_1(); 
    46975574 
    46985575            state._fsp--; 
    4699  
    4700  
    4701             } 
    4702  
    4703              after(grammarAccess.getSectionHeadingAccess().getSectionHeaderAssignment_1());  
    4704  
    4705             } 
    4706  
    4707  
    4708             } 
    4709  
    4710         } 
    4711         catch (RecognitionException re) { 
    4712             reportError(re); 
    4713             recover(input,re); 
    4714         } 
    4715         finally { 
     5576            if (state.failed) return ; 
     5577 
     5578            } 
     5579 
     5580            if ( state.backtracking==0 ) { 
     5581               after(grammarAccess.getSectionHeadingAccess().getSectionHeaderAssignment_1());  
     5582            } 
     5583 
     5584            } 
     5585 
     5586 
     5587            } 
     5588 
     5589        } 
     5590        catch (RecognitionException re) { 
     5591            reportError(re); 
     5592            recover(input,re); 
     5593        } 
     5594        finally { 
     5595            if ( state.backtracking>0 ) { memoize(input, 91, rule__SectionHeading__Group__1__Impl_StartIndex); } 
    47165596 
    47175597                restoreStackSize(stackSize); 
     
    47245604 
    47255605    // $ANTLR start "rule__Import__Group__0" 
    4726     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1553:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ; 
     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 ; 
    47275607    public final void rule__Import__Group__0() throws RecognitionException { 
    4728  
    4729                         int stackSize = keepStackSize(); 
    4730              
    4731         try { 
    4732             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1557:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 ) 
    4733             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1558:2: rule__Import__Group__0__Impl rule__Import__Group__1 
    4734             { 
    4735             pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__03270); 
     5608        int rule__Import__Group__0_StartIndex = input.index(); 
     5609 
     5610                        int stackSize = keepStackSize(); 
     5611             
     5612        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); 
    47365618            rule__Import__Group__0__Impl(); 
    47375619 
    47385620            state._fsp--; 
    4739  
    4740             pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__03273); 
     5621            if (state.failed) return ; 
     5622            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__03399); 
    47415623            rule__Import__Group__1(); 
    47425624 
    47435625            state._fsp--; 
    4744  
    4745  
    4746             } 
    4747  
    4748         } 
    4749         catch (RecognitionException re) { 
    4750             reportError(re); 
    4751             recover(input,re); 
    4752         } 
    4753         finally { 
     5626            if (state.failed) return ; 
     5627 
     5628            } 
     5629 
     5630        } 
     5631        catch (RecognitionException re) { 
     5632            reportError(re); 
     5633            recover(input,re); 
     5634        } 
     5635        finally { 
     5636            if ( state.backtracking>0 ) { memoize(input, 92, rule__Import__Group__0_StartIndex); } 
    47545637 
    47555638                restoreStackSize(stackSize); 
     
    47625645 
    47635646    // $ANTLR start "rule__Import__Group__0__Impl" 
    4764     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1565:1: rule__Import__Group__0__Impl : ( 'import' ) ; 
     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' ) ; 
    47655648    public final void rule__Import__Group__0__Impl() throws RecognitionException { 
    4766  
    4767                         int stackSize = keepStackSize(); 
    4768              
    4769         try { 
    4770             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1569:1: ( ( 'import' ) ) 
    4771             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1570:1: ( 'import' ) 
    4772             { 
    4773             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1570:1: ( 'import' ) 
    4774             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1571:1: 'import' 
    4775             { 
    4776              before(grammarAccess.getImportAccess().getImportKeyword_0());  
    4777             match(input,24,FOLLOW_24_in_rule__Import__Group__0__Impl3301);  
    4778              after(grammarAccess.getImportAccess().getImportKeyword_0());  
    4779  
    4780             } 
    4781  
    4782  
    4783             } 
    4784  
    4785         } 
    4786         catch (RecognitionException re) { 
    4787             reportError(re); 
    4788             recover(input,re); 
    4789         } 
    4790         finally { 
     5649        int rule__Import__Group__0__Impl_StartIndex = input.index(); 
     5650 
     5651                        int stackSize = keepStackSize(); 
     5652             
     5653        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' 
     5660            { 
     5661            if ( state.backtracking==0 ) { 
     5662               before(grammarAccess.getImportAccess().getImportKeyword_0());  
     5663            } 
     5664            match(input,24,FOLLOW_24_in_rule__Import__Group__0__Impl3427); if (state.failed) return ; 
     5665            if ( state.backtracking==0 ) { 
     5666               after(grammarAccess.getImportAccess().getImportKeyword_0());  
     5667            } 
     5668 
     5669            } 
     5670 
     5671 
     5672            } 
     5673 
     5674        } 
     5675        catch (RecognitionException re) { 
     5676            reportError(re); 
     5677            recover(input,re); 
     5678        } 
     5679        finally { 
     5680            if ( state.backtracking>0 ) { memoize(input, 93, rule__Import__Group__0__Impl_StartIndex); } 
    47915681 
    47925682                restoreStackSize(stackSize); 
     
    47995689 
    48005690    // $ANTLR start "rule__Import__Group__1" 
    4801     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1584:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ; 
     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 ; 
    48025692    public final void rule__Import__Group__1() throws RecognitionException { 
    4803  
    4804                         int stackSize = keepStackSize(); 
    4805              
    4806         try { 
    4807             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1588:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 ) 
    4808             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1589:2: rule__Import__Group__1__Impl rule__Import__Group__2 
    4809             { 
    4810             pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__13332); 
     5693        int rule__Import__Group__1_StartIndex = input.index(); 
     5694 
     5695                        int stackSize = keepStackSize(); 
     5696             
     5697        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); 
    48115703            rule__Import__Group__1__Impl(); 
    48125704 
    48135705            state._fsp--; 
    4814  
    4815             pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__13335); 
     5706            if (state.failed) return ; 
     5707            pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__13461); 
    48165708            rule__Import__Group__2(); 
    48175709 
    48185710            state._fsp--; 
    4819  
    4820  
    4821             } 
    4822  
    4823         } 
    4824         catch (RecognitionException re) { 
    4825             reportError(re); 
    4826             recover(input,re); 
    4827         } 
    4828         finally { 
     5711            if (state.failed) return ; 
     5712 
     5713            } 
     5714 
     5715        } 
     5716        catch (RecognitionException re) { 
     5717            reportError(re); 
     5718            recover(input,re); 
     5719        } 
     5720        finally { 
     5721            if ( state.backtracking>0 ) { memoize(input, 94, rule__Import__Group__1_StartIndex); } 
    48295722 
    48305723                restoreStackSize(stackSize); 
     
    48375730 
    48385731    // $ANTLR start "rule__Import__Group__1__Impl" 
    4839     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1596:1: rule__Import__Group__1__Impl : ( ( rule__Import__ImportURIAssignment_1 ) ) ; 
     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 ) ) ; 
    48405733    public final void rule__Import__Group__1__Impl() throws RecognitionException { 
    4841  
    4842                         int stackSize = keepStackSize(); 
    4843              
    4844         try { 
    4845             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1600:1: ( ( ( rule__Import__ImportURIAssignment_1 ) ) ) 
    4846             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1601:1: ( ( rule__Import__ImportURIAssignment_1 ) ) 
    4847             { 
    4848             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1601:1: ( ( rule__Import__ImportURIAssignment_1 ) ) 
    4849             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1602:1: ( rule__Import__ImportURIAssignment_1 ) 
    4850             { 
    4851              before(grammarAccess.getImportAccess().getImportURIAssignment_1());  
    4852             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1603:1: ( rule__Import__ImportURIAssignment_1 ) 
    4853             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1603:2: rule__Import__ImportURIAssignment_1 
    4854             { 
    4855             pushFollow(FOLLOW_rule__Import__ImportURIAssignment_1_in_rule__Import__Group__1__Impl3362); 
     5734        int rule__Import__Group__1__Impl_StartIndex = input.index(); 
     5735 
     5736                        int stackSize = keepStackSize(); 
     5737             
     5738        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 ) 
     5745            { 
     5746            if ( state.backtracking==0 ) { 
     5747               before(grammarAccess.getImportAccess().getImportURIAssignment_1());  
     5748            } 
     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); 
    48565753            rule__Import__ImportURIAssignment_1(); 
    48575754 
    48585755            state._fsp--; 
    4859  
    4860  
    4861             } 
    4862  
    4863              after(grammarAccess.getImportAccess().getImportURIAssignment_1());  
    4864  
    4865             } 
    4866  
    4867  
    4868             } 
    4869  
    4870         } 
    4871         catch (RecognitionException re) { 
    4872             reportError(re); 
    4873             recover(input,re); 
    4874         } 
    4875         finally { 
     5756            if (state.failed) return ; 
     5757 
     5758            } 
     5759 
     5760            if ( state.backtracking==0 ) { 
     5761               after(grammarAccess.getImportAccess().getImportURIAssignment_1());  
     5762            } 
     5763 
     5764            } 
     5765 
     5766 
     5767            } 
     5768 
     5769        } 
     5770        catch (RecognitionException re) { 
     5771            reportError(re); 
     5772            recover(input,re); 
     5773        } 
     5774        finally { 
     5775            if ( state.backtracking>0 ) { memoize(input, 95, rule__Import__Group__1__Impl_StartIndex); } 
    48765776 
    48775777                restoreStackSize(stackSize); 
     
    48845784 
    48855785    // $ANTLR start "rule__Import__Group__2" 
    4886     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1613:1: rule__Import__Group__2 : rule__Import__Group__2__Impl rule__Import__Group__3 ; 
     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 ; 
    48875787    public final void rule__Import__Group__2() throws RecognitionException { 
    4888  
    4889                         int stackSize = keepStackSize(); 
    4890              
    4891         try { 
    4892             // ../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__2__Impl rule__Import__Group__3 ) 
    4893             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1618:2: rule__Import__Group__2__Impl rule__Import__Group__3 
    4894             { 
    4895             pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__23392); 
     5788        int rule__Import__Group__2_StartIndex = input.index(); 
     5789 
     5790                        int stackSize = keepStackSize(); 
     5791             
     5792        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); 
    48965798            rule__Import__Group__2__Impl(); 
    48975799 
    48985800            state._fsp--; 
    4899  
    4900             pushFollow(FOLLOW_rule__Import__Group__3_in_rule__Import__Group__23395); 
     5801            if (state.failed) return ; 
     5802            pushFollow(FOLLOW_rule__Import__Group__3_in_rule__Import__Group__23521); 
    49015803            rule__Import__Group__3(); 
    49025804 
    49035805            state._fsp--; 
    4904  
    4905  
    4906             } 
    4907  
    4908         } 
    4909         catch (RecognitionException re) { 
    4910             reportError(re); 
    4911             recover(input,re); 
    4912         } 
    4913         finally { 
     5806            if (state.failed) return ; 
     5807 
     5808            } 
     5809 
     5810        } 
     5811        catch (RecognitionException re) { 
     5812            reportError(re); 
     5813            recover(input,re); 
     5814        } 
     5815        finally { 
     5816            if ( state.backtracking>0 ) { memoize(input, 96, rule__Import__Group__2_StartIndex); } 
    49145817 
    49155818                restoreStackSize(stackSize); 
     
    49225825 
    49235826    // $ANTLR start "rule__Import__Group__2__Impl" 
    4924     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1625:1: rule__Import__Group__2__Impl : ( ( rule__Import__Group_2__0 )? ) ; 
     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 )? ) ; 
    49255828    public final void rule__Import__Group__2__Impl() throws RecognitionException { 
    4926  
    4927                         int stackSize = keepStackSize(); 
    4928              
    4929         try { 
    4930             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1629:1: ( ( ( rule__Import__Group_2__0 )? ) ) 
    4931             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1630:1: ( ( rule__Import__Group_2__0 )? ) 
    4932             { 
    4933             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1630:1: ( ( rule__Import__Group_2__0 )? ) 
    4934             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1631:1: ( rule__Import__Group_2__0 )? 
    4935             { 
    4936              before(grammarAccess.getImportAccess().getGroup_2());  
    4937             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1632:1: ( rule__Import__Group_2__0 )? 
    4938             int alt20=2; 
    4939             int LA20_0 = input.LA(1); 
    4940  
    4941             if ( (LA20_0==25) ) { 
    4942                 alt20=1; 
    4943             } 
    4944             switch (alt20) { 
    4945                 case 1 : 
    4946                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1632:2: rule__Import__Group_2__0 
    4947                     { 
    4948                     pushFollow(FOLLOW_rule__Import__Group_2__0_in_rule__Import__Group__2__Impl3422); 
    4949                     rule__Import__Group_2__0(); 
    4950  
    4951                     state._fsp--; 
    4952  
    4953  
    4954                     } 
    4955                     break; 
    4956  
    4957             } 
    4958  
    4959              after(grammarAccess.getImportAccess().getGroup_2());  
    4960  
    4961             } 
    4962  
    4963  
    4964             } 
    4965  
    4966         } 
    4967         catch (RecognitionException re) { 
    4968             reportError(re); 
    4969             recover(input,re); 
    4970         } 
    4971         finally { 
    4972  
    4973                 restoreStackSize(stackSize); 
    4974  
    4975         } 
    4976         return ; 
    4977     } 
    4978     // $ANTLR end "rule__Import__Group__2__Impl" 
    4979  
    4980  
    4981     // $ANTLR start "rule__Import__Group__3" 
    4982     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1642:1: rule__Import__Group__3 : rule__Import__Group__3__Impl rule__Import__Group__4 ; 
    4983     public final void rule__Import__Group__3() throws RecognitionException { 
    4984  
    4985                         int stackSize = keepStackSize(); 
    4986              
    4987         try { 
    4988             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1646:1: ( rule__Import__Group__3__Impl rule__Import__Group__4 ) 
    4989             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1647:2: rule__Import__Group__3__Impl rule__Import__Group__4 
    4990             { 
    4991             pushFollow(FOLLOW_rule__Import__Group__3__Impl_in_rule__Import__Group__33453); 
    4992             rule__Import__Group__3__Impl(); 
    4993  
    4994             state._fsp--; 
    4995  
    4996             pushFollow(FOLLOW_rule__Import__Group__4_in_rule__Import__Group__33456); 
    4997             rule__Import__Group__4(); 
    4998  
    4999             state._fsp--; 
    5000  
    5001  
    5002             } 
    5003  
    5004         } 
    5005         catch (RecognitionException re) { 
    5006             reportError(re); 
    5007             recover(input,re); 
    5008         } 
    5009         finally { 
    5010  
    5011                 restoreStackSize(stackSize); 
    5012  
    5013         } 
    5014         return ; 
    5015     } 
    5016     // $ANTLR end "rule__Import__Group__3" 
    5017  
    5018  
    5019     // $ANTLR start "rule__Import__Group__3__Impl" 
    5020     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1654:1: rule__Import__Group__3__Impl : ( ( rule__Import__Group_3__0 )? ) ; 
    5021     public final void rule__Import__Group__3__Impl() throws RecognitionException { 
    5022  
    5023                         int stackSize = keepStackSize(); 
    5024              
    5025         try { 
    5026             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1658:1: ( ( ( rule__Import__Group_3__0 )? ) ) 
    5027             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1659:1: ( ( rule__Import__Group_3__0 )? ) 
    5028             { 
    5029             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1659:1: ( ( rule__Import__Group_3__0 )? ) 
    5030             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1660:1: ( rule__Import__Group_3__0 )? 
    5031             { 
    5032              before(grammarAccess.getImportAccess().getGroup_3());  
    5033             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1661:1: ( rule__Import__Group_3__0 )? 
    5034             int alt21=2; 
    5035             int LA21_0 = input.LA(1); 
    5036  
    5037             if ( (LA21_0==26) ) { 
    5038                 alt21=1; 
    5039             } 
    5040             switch (alt21) { 
    5041                 case 1 : 
    5042                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1661:2: rule__Import__Group_3__0 
    5043                     { 
    5044                     pushFollow(FOLLOW_rule__Import__Group_3__0_in_rule__Import__Group__3__Impl3483); 
    5045                     rule__Import__Group_3__0(); 
    5046  
    5047                     state._fsp--; 
    5048  
    5049  
    5050                     } 
    5051                     break; 
    5052  
    5053             } 
    5054  
    5055              after(grammarAccess.getImportAccess().getGroup_3());  
    5056  
    5057             } 
    5058  
    5059  
    5060             } 
    5061  
    5062         } 
    5063         catch (RecognitionException re) { 
    5064             reportError(re); 
    5065             recover(input,re); 
    5066         } 
    5067         finally { 
    5068  
    5069                 restoreStackSize(stackSize); 
    5070  
    5071         } 
    5072         return ; 
    5073     } 
    5074     // $ANTLR end "rule__Import__Group__3__Impl" 
    5075  
    5076  
    5077     // $ANTLR start "rule__Import__Group__4" 
    5078     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1671:1: rule__Import__Group__4 : rule__Import__Group__4__Impl ; 
    5079     public final void rule__Import__Group__4() throws RecognitionException { 
    5080  
    5081                         int stackSize = keepStackSize(); 
    5082              
    5083         try { 
    5084             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1675:1: ( rule__Import__Group__4__Impl ) 
    5085             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1676:2: rule__Import__Group__4__Impl 
    5086             { 
    5087             pushFollow(FOLLOW_rule__Import__Group__4__Impl_in_rule__Import__Group__43514); 
    5088             rule__Import__Group__4__Impl(); 
    5089  
    5090             state._fsp--; 
    5091  
    5092  
    5093             } 
    5094  
    5095         } 
    5096         catch (RecognitionException re) { 
    5097             reportError(re); 
    5098             recover(input,re); 
    5099         } 
    5100         finally { 
    5101  
    5102                 restoreStackSize(stackSize); 
    5103  
    5104         } 
    5105         return ; 
    5106     } 
    5107     // $ANTLR end "rule__Import__Group__4" 
    5108  
    5109  
    5110     // $ANTLR start "rule__Import__Group__4__Impl" 
    5111     // ../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__4__Impl : ( ';' ) ; 
    5112     public final void rule__Import__Group__4__Impl() throws RecognitionException { 
    5113  
    5114                         int stackSize = keepStackSize(); 
    5115              
    5116         try { 
    5117             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1686:1: ( ( ';' ) ) 
    5118             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1687:1: ( ';' ) 
    5119             { 
    5120             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1687:1: ( ';' ) 
    5121             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1688:1: ';' 
    5122             { 
    5123              before(grammarAccess.getImportAccess().getSemicolonKeyword_4());  
    5124             match(input,23,FOLLOW_23_in_rule__Import__Group__4__Impl3542);  
    5125              after(grammarAccess.getImportAccess().getSemicolonKeyword_4());  
    5126  
    5127             } 
    5128  
    5129  
    5130             } 
    5131  
    5132         } 
    5133         catch (RecognitionException re) { 
    5134             reportError(re); 
    5135             recover(input,re); 
    5136         } 
    5137         finally { 
    5138  
    5139                 restoreStackSize(stackSize); 
    5140  
    5141         } 
    5142         return ; 
    5143     } 
    5144     // $ANTLR end "rule__Import__Group__4__Impl" 
    5145  
    5146  
    5147     // $ANTLR start "rule__Import__Group_2__0" 
    5148     // ../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_2__0 : rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ; 
    5149     public final void rule__Import__Group_2__0() throws RecognitionException { 
    5150  
    5151                         int stackSize = keepStackSize(); 
    5152              
    5153         try { 
    5154             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1715:1: ( rule__Import__Group_2__0__Impl rule__Import__Group_2__1 ) 
    5155             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1716:2: rule__Import__Group_2__0__Impl rule__Import__Group_2__1 
    5156             { 
    5157             pushFollow(FOLLOW_rule__Import__Group_2__0__Impl_in_rule__Import__Group_2__03583); 
    5158             rule__Import__Group_2__0__Impl(); 
    5159  
    5160             state._fsp--; 
    5161  
    5162             pushFollow(FOLLOW_rule__Import__Group_2__1_in_rule__Import__Group_2__03586); 
    5163             rule__Import__Group_2__1(); 
    5164  
    5165             state._fsp--; 
    5166  
    5167  
    5168             } 
    5169  
    5170         } 
    5171         catch (RecognitionException re) { 
    5172             reportError(re); 
    5173             recover(input,re); 
    5174         } 
    5175         finally { 
    5176  
    5177                 restoreStackSize(stackSize); 
    5178  
    5179         } 
    5180         return ; 
    5181     } 
    5182     // $ANTLR end "rule__Import__Group_2__0" 
    5183  
    5184  
    5185     // $ANTLR start "rule__Import__Group_2__0__Impl" 
    5186     // ../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_2__0__Impl : ( '/' ) ; 
    5187     public final void rule__Import__Group_2__0__Impl() throws RecognitionException { 
    5188  
    5189                         int stackSize = keepStackSize(); 
    5190              
    5191         try { 
    5192             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1727:1: ( ( '/' ) ) 
    5193             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1728:1: ( '/' ) 
    5194             { 
    5195             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1728:1: ( '/' ) 
    5196             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1729:1: '/' 
    5197             { 
    5198              before(grammarAccess.getImportAccess().getSolidusKeyword_2_0());  
    5199             match(input,25,FOLLOW_25_in_rule__Import__Group_2__0__Impl3614);  
    5200              after(grammarAccess.getImportAccess().getSolidusKeyword_2_0());  
    5201  
    5202             } 
    5203  
    5204  
    5205             } 
    5206  
    5207         } 
    5208         catch (RecognitionException re) { 
    5209             reportError(re); 
    5210             recover(input,re); 
    5211         } 
    5212         finally { 
    5213  
    5214                 restoreStackSize(stackSize); 
    5215  
    5216         } 
    5217         return ; 
    5218     } 
    5219     // $ANTLR end "rule__Import__Group_2__0__Impl" 
    5220  
    5221  
    5222     // $ANTLR start "rule__Import__Group_2__1" 
    5223     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1742:1: rule__Import__Group_2__1 : rule__Import__Group_2__1__Impl ; 
    5224     public final void rule__Import__Group_2__1() throws RecognitionException { 
    5225  
    5226                         int stackSize = keepStackSize(); 
    5227              
    5228         try { 
    5229             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1746:1: ( rule__Import__Group_2__1__Impl ) 
    5230             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1747:2: rule__Import__Group_2__1__Impl 
    5231             { 
    5232             pushFollow(FOLLOW_rule__Import__Group_2__1__Impl_in_rule__Import__Group_2__13645); 
    5233             rule__Import__Group_2__1__Impl(); 
    5234  
    5235             state._fsp--; 
    5236  
    5237  
    5238             } 
    5239  
    5240         } 
    5241         catch (RecognitionException re) { 
    5242             reportError(re); 
    5243             recover(input,re); 
    5244         } 
    5245         finally { 
    5246  
    5247                 restoreStackSize(stackSize); 
    5248  
    5249         } 
    5250         return ; 
    5251     } 
    5252     // $ANTLR end "rule__Import__Group_2__1" 
    5253  
    5254  
    5255     // $ANTLR start "rule__Import__Group_2__1__Impl" 
    5256     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1753:1: rule__Import__Group_2__1__Impl : ( ( rule__Import__Alternatives_2_1 ) ) ; 
    5257     public final void rule__Import__Group_2__1__Impl() throws RecognitionException { 
    5258  
    5259                         int stackSize = keepStackSize(); 
    5260              
    5261         try { 
    5262             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1757:1: ( ( ( rule__Import__Alternatives_2_1 ) ) ) 
    5263             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1758:1: ( ( rule__Import__Alternatives_2_1 ) ) 
    5264             { 
    5265             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1758:1: ( ( rule__Import__Alternatives_2_1 ) ) 
    5266             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1759:1: ( rule__Import__Alternatives_2_1 ) 
    5267             { 
    5268              before(grammarAccess.getImportAccess().getAlternatives_2_1());  
    5269             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1760:1: ( rule__Import__Alternatives_2_1 ) 
    5270             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1760:2: rule__Import__Alternatives_2_1 
    5271             { 
    5272             pushFollow(FOLLOW_rule__Import__Alternatives_2_1_in_rule__Import__Group_2__1__Impl3672); 
    5273             rule__Import__Alternatives_2_1(); 
    5274  
    5275             state._fsp--; 
    5276  
    5277  
    5278             } 
    5279  
    5280              after(grammarAccess.getImportAccess().getAlternatives_2_1());  
    5281  
    5282             } 
    5283  
    5284  
    5285             } 
    5286  
    5287         } 
    5288         catch (RecognitionException re) { 
    5289             reportError(re); 
    5290             recover(input,re); 
    5291         } 
    5292         finally { 
    5293  
    5294                 restoreStackSize(stackSize); 
    5295  
    5296         } 
    5297         return ; 
    5298     } 
    5299     // $ANTLR end "rule__Import__Group_2__1__Impl" 
    5300  
    5301  
    5302     // $ANTLR start "rule__Import__Group_3__0" 
    5303     // ../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_3__0 : rule__Import__Group_3__0__Impl rule__Import__Group_3__1 ; 
    5304     public final void rule__Import__Group_3__0() throws RecognitionException { 
    5305  
    5306                         int stackSize = keepStackSize(); 
    5307              
    5308         try { 
    5309             // ../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_3__0__Impl rule__Import__Group_3__1 ) 
    5310             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1779:2: rule__Import__Group_3__0__Impl rule__Import__Group_3__1 
    5311             { 
    5312             pushFollow(FOLLOW_rule__Import__Group_3__0__Impl_in_rule__Import__Group_3__03706); 
    5313             rule__Import__Group_3__0__Impl(); 
    5314  
    5315             state._fsp--; 
    5316  
    5317             pushFollow(FOLLOW_rule__Import__Group_3__1_in_rule__Import__Group_3__03709); 
    5318             rule__Import__Group_3__1(); 
    5319  
    5320             state._fsp--; 
    5321  
    5322  
    5323             } 
    5324  
    5325         } 
    5326         catch (RecognitionException re) { 
    5327             reportError(re); 
    5328             recover(input,re); 
    5329         } 
    5330         finally { 
    5331  
    5332                 restoreStackSize(stackSize); 
    5333  
    5334         } 
    5335         return ; 
    5336     } 
    5337     // $ANTLR end "rule__Import__Group_3__0" 
    5338  
    5339  
    5340     // $ANTLR start "rule__Import__Group_3__0__Impl" 
    5341     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1786:1: rule__Import__Group_3__0__Impl : ( 'label:' ) ; 
    5342     public final void rule__Import__Group_3__0__Impl() throws RecognitionException { 
    5343  
    5344                         int stackSize = keepStackSize(); 
    5345              
    5346         try { 
    5347             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1790:1: ( ( 'label:' ) ) 
    5348             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1791:1: ( 'label:' ) 
    5349             { 
    5350             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1791:1: ( 'label:' ) 
    5351             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1792:1: 'label:' 
    5352             { 
    5353              before(grammarAccess.getImportAccess().getLabelKeyword_3_0());  
    5354             match(input,26,FOLLOW_26_in_rule__Import__Group_3__0__Impl3737);  
    5355              after(grammarAccess.getImportAccess().getLabelKeyword_3_0());  
    5356  
    5357             } 
    5358  
    5359  
    5360             } 
    5361  
    5362         } 
    5363         catch (RecognitionException re) { 
    5364             reportError(re); 
    5365             recover(input,re); 
    5366         } 
    5367         finally { 
    5368  
    5369                 restoreStackSize(stackSize); 
    5370  
    5371         } 
    5372         return ; 
    5373     } 
    5374     // $ANTLR end "rule__Import__Group_3__0__Impl" 
    5375  
    5376  
    5377     // $ANTLR start "rule__Import__Group_3__1" 
    5378     // ../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_3__1 : rule__Import__Group_3__1__Impl ; 
    5379     public final void rule__Import__Group_3__1() throws RecognitionException { 
    5380  
    5381                         int stackSize = keepStackSize(); 
    5382              
    5383         try { 
    5384             // ../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__1__Impl ) 
    5385             // ../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__1__Impl 
    5386             { 
    5387             pushFollow(FOLLOW_rule__Import__Group_3__1__Impl_in_rule__Import__Group_3__13768); 
    5388             rule__Import__Group_3__1__Impl(); 
    5389  
    5390             state._fsp--; 
    5391  
    5392  
    5393             } 
    5394  
    5395         } 
    5396         catch (RecognitionException re) { 
    5397             reportError(re); 
    5398             recover(input,re); 
    5399         } 
    5400         finally { 
    5401  
    5402                 restoreStackSize(stackSize); 
    5403  
    5404         } 
    5405         return ; 
    5406     } 
    5407     // $ANTLR end "rule__Import__Group_3__1" 
    5408  
    5409  
    5410     // $ANTLR start "rule__Import__Group_3__1__Impl" 
    5411     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1816:1: rule__Import__Group_3__1__Impl : ( ( rule__Import__LabelAssignment_3_1 ) ) ; 
    5412     public final void rule__Import__Group_3__1__Impl() throws RecognitionException { 
    5413  
    5414                         int stackSize = keepStackSize(); 
    5415              
    5416         try { 
    5417             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1820:1: ( ( ( rule__Import__LabelAssignment_3_1 ) ) ) 
    5418             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1821:1: ( ( rule__Import__LabelAssignment_3_1 ) ) 
    5419             { 
    5420             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1821:1: ( ( rule__Import__LabelAssignment_3_1 ) ) 
    5421             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1822:1: ( rule__Import__LabelAssignment_3_1 ) 
    5422             { 
    5423              before(grammarAccess.getImportAccess().getLabelAssignment_3_1());  
    5424             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1823:1: ( rule__Import__LabelAssignment_3_1 ) 
    5425             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1823:2: rule__Import__LabelAssignment_3_1 
    5426             { 
    5427             pushFollow(FOLLOW_rule__Import__LabelAssignment_3_1_in_rule__Import__Group_3__1__Impl3795); 
    5428             rule__Import__LabelAssignment_3_1(); 
    5429  
    5430             state._fsp--; 
    5431  
    5432  
    5433             } 
    5434  
    5435              after(grammarAccess.getImportAccess().getLabelAssignment_3_1());  
    5436  
    5437             } 
    5438  
    5439  
    5440             } 
    5441  
    5442         } 
    5443         catch (RecognitionException re) { 
    5444             reportError(re); 
    5445             recover(input,re); 
    5446         } 
    5447         finally { 
    5448  
    5449                 restoreStackSize(stackSize); 
    5450  
    5451         } 
    5452         return ; 
    5453     } 
    5454     // $ANTLR end "rule__Import__Group_3__1__Impl" 
    5455  
    5456  
    5457     // $ANTLR start "rule__Rule__Group__0" 
    5458     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1837:1: rule__Rule__Group__0 : rule__Rule__Group__0__Impl rule__Rule__Group__1 ; 
    5459     public final void rule__Rule__Group__0() throws RecognitionException { 
    5460  
    5461                         int stackSize = keepStackSize(); 
    5462              
    5463         try { 
    5464             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1841:1: ( rule__Rule__Group__0__Impl rule__Rule__Group__1 ) 
    5465             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1842:2: rule__Rule__Group__0__Impl rule__Rule__Group__1 
    5466             { 
    5467             pushFollow(FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__03829); 
    5468             rule__Rule__Group__0__Impl(); 
    5469  
    5470             state._fsp--; 
    5471  
    5472             pushFollow(FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__03832); 
    5473             rule__Rule__Group__1(); 
    5474  
    5475             state._fsp--; 
    5476  
    5477  
    5478             } 
    5479  
    5480         } 
    5481         catch (RecognitionException re) { 
    5482             reportError(re); 
    5483             recover(input,re); 
    5484         } 
    5485         finally { 
    5486  
    5487                 restoreStackSize(stackSize); 
    5488  
    5489         } 
    5490         return ; 
    5491     } 
    5492     // $ANTLR end "rule__Rule__Group__0" 
    5493  
    5494  
    5495     // $ANTLR start "rule__Rule__Group__0__Impl" 
    5496     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1849:1: rule__Rule__Group__0__Impl : ( ( rule__Rule__Group_0__0 )? ) ; 
    5497     public final void rule__Rule__Group__0__Impl() throws RecognitionException { 
    5498  
    5499                         int stackSize = keepStackSize(); 
    5500              
    5501         try { 
    5502             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1853:1: ( ( ( rule__Rule__Group_0__0 )? ) ) 
    5503             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1854:1: ( ( rule__Rule__Group_0__0 )? ) 
    5504             { 
    5505             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1854:1: ( ( rule__Rule__Group_0__0 )? ) 
    5506             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1855:1: ( rule__Rule__Group_0__0 )? 
    5507             { 
    5508              before(grammarAccess.getRuleAccess().getGroup_0());  
    5509             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1856:1: ( rule__Rule__Group_0__0 )? 
    5510             int alt22=2; 
    5511             int LA22_0 = input.LA(1); 
    5512  
    5513             if ( (LA22_0==RULE_INT) ) { 
    5514                 alt22=1; 
    5515             } 
    5516             switch (alt22) { 
    5517                 case 1 : 
    5518                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1856:2: rule__Rule__Group_0__0 
    5519                     { 
    5520                     pushFollow(FOLLOW_rule__Rule__Group_0__0_in_rule__Rule__Group__0__Impl3859); 
    5521                     rule__Rule__Group_0__0(); 
    5522  
    5523                     state._fsp--; 
    5524  
    5525  
    5526                     } 
    5527                     break; 
    5528  
    5529             } 
    5530  
    5531              after(grammarAccess.getRuleAccess().getGroup_0());  
    5532  
    5533             } 
    5534  
    5535  
    5536             } 
    5537  
    5538         } 
    5539         catch (RecognitionException re) { 
    5540             reportError(re); 
    5541             recover(input,re); 
    5542         } 
    5543         finally { 
    5544  
    5545                 restoreStackSize(stackSize); 
    5546  
    5547         } 
    5548         return ; 
    5549     } 
    5550     // $ANTLR end "rule__Rule__Group__0__Impl" 
    5551  
    5552  
    5553     // $ANTLR start "rule__Rule__Group__1" 
    5554     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1866:1: rule__Rule__Group__1 : rule__Rule__Group__1__Impl rule__Rule__Group__2 ; 
    5555     public final void rule__Rule__Group__1() throws RecognitionException { 
    5556  
    5557                         int stackSize = keepStackSize(); 
    5558              
    5559         try { 
    5560             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1870:1: ( rule__Rule__Group__1__Impl rule__Rule__Group__2 ) 
    5561             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1871:2: rule__Rule__Group__1__Impl rule__Rule__Group__2 
    5562             { 
    5563             pushFollow(FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__13890); 
    5564             rule__Rule__Group__1__Impl(); 
    5565  
    5566             state._fsp--; 
    5567  
    5568             pushFollow(FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__13893); 
    5569             rule__Rule__Group__2(); 
    5570  
    5571             state._fsp--; 
    5572  
    5573  
    5574             } 
    5575  
    5576         } 
    5577         catch (RecognitionException re) { 
    5578             reportError(re); 
    5579             recover(input,re); 
    5580         } 
    5581         finally { 
    5582  
    5583                 restoreStackSize(stackSize); 
    5584  
    5585         } 
    5586         return ; 
    5587     } 
    5588     // $ANTLR end "rule__Rule__Group__1" 
    5589  
    5590  
    5591     // $ANTLR start "rule__Rule__Group__1__Impl" 
    5592     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1878:1: rule__Rule__Group__1__Impl : ( ( rule__Rule__NameAssignment_1 ) ) ; 
    5593     public final void rule__Rule__Group__1__Impl() throws RecognitionException { 
    5594  
    5595                         int stackSize = keepStackSize(); 
    5596              
    5597         try { 
    5598             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1882:1: ( ( ( rule__Rule__NameAssignment_1 ) ) ) 
    5599             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1883:1: ( ( rule__Rule__NameAssignment_1 ) ) 
    5600             { 
    5601             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1883:1: ( ( rule__Rule__NameAssignment_1 ) ) 
    5602             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1884:1: ( rule__Rule__NameAssignment_1 ) 
    5603             { 
    5604              before(grammarAccess.getRuleAccess().getNameAssignment_1());  
    5605             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1885:1: ( rule__Rule__NameAssignment_1 ) 
    5606             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1885:2: rule__Rule__NameAssignment_1 
    5607             { 
    5608             pushFollow(FOLLOW_rule__Rule__NameAssignment_1_in_rule__Rule__Group__1__Impl3920); 
    5609             rule__Rule__NameAssignment_1(); 
    5610  
    5611             state._fsp--; 
    5612  
    5613  
    5614             } 
    5615  
    5616              after(grammarAccess.getRuleAccess().getNameAssignment_1());  
    5617  
    5618             } 
    5619  
    5620  
    5621             } 
    5622  
    5623         } 
    5624         catch (RecognitionException re) { 
    5625             reportError(re); 
    5626             recover(input,re); 
    5627         } 
    5628         finally { 
    5629  
    5630                 restoreStackSize(stackSize); 
    5631  
    5632         } 
    5633         return ; 
    5634     } 
    5635     // $ANTLR end "rule__Rule__Group__1__Impl" 
    5636  
    5637  
    5638     // $ANTLR start "rule__Rule__Group__2" 
    5639     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1895:1: rule__Rule__Group__2 : rule__Rule__Group__2__Impl rule__Rule__Group__3 ; 
    5640     public final void rule__Rule__Group__2() throws RecognitionException { 
    5641  
    5642                         int stackSize = keepStackSize(); 
    5643              
    5644         try { 
    5645             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1899:1: ( rule__Rule__Group__2__Impl rule__Rule__Group__3 ) 
    5646             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1900:2: rule__Rule__Group__2__Impl rule__Rule__Group__3 
    5647             { 
    5648             pushFollow(FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__23950); 
    5649             rule__Rule__Group__2__Impl(); 
    5650  
    5651             state._fsp--; 
    5652  
    5653             pushFollow(FOLLOW_rule__Rule__Group__3_in_rule__Rule__Group__23953); 
    5654             rule__Rule__Group__3(); 
    5655  
    5656             state._fsp--; 
    5657  
    5658  
    5659             } 
    5660  
    5661         } 
    5662         catch (RecognitionException re) { 
    5663             reportError(re); 
    5664             recover(input,re); 
    5665         } 
    5666         finally { 
    5667  
    5668                 restoreStackSize(stackSize); 
    5669  
    5670         } 
    5671         return ; 
    5672     } 
    5673     // $ANTLR end "rule__Rule__Group__2" 
    5674  
    5675  
    5676     // $ANTLR start "rule__Rule__Group__2__Impl" 
    5677     // ../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__2__Impl : ( '::=' ) ; 
    5678     public final void rule__Rule__Group__2__Impl() throws RecognitionException { 
    5679  
    5680                         int stackSize = keepStackSize(); 
    5681              
    5682         try { 
    5683             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1911:1: ( ( '::=' ) ) 
    5684             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1912:1: ( '::=' ) 
    5685             { 
    5686             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1912:1: ( '::=' ) 
    5687             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1913:1: '::=' 
    5688             { 
    5689              before(grammarAccess.getRuleAccess().getColonColonEqualsSignKeyword_2());  
    5690             match(input,27,FOLLOW_27_in_rule__Rule__Group__2__Impl3981);  
    5691              after(grammarAccess.getRuleAccess().getColonColonEqualsSignKeyword_2());  
    5692  
    5693             } 
    5694  
    5695  
    5696             } 
    5697  
    5698         } 
    5699         catch (RecognitionException re) { 
    5700             reportError(re); 
    5701             recover(input,re); 
    5702         } 
    5703         finally { 
    5704  
    5705                 restoreStackSize(stackSize); 
    5706  
    5707         } 
    5708         return ; 
    5709     } 
    5710     // $ANTLR end "rule__Rule__Group__2__Impl" 
    5711  
    5712  
    5713     // $ANTLR start "rule__Rule__Group__3" 
    5714     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1926:1: rule__Rule__Group__3 : rule__Rule__Group__3__Impl rule__Rule__Group__4 ; 
    5715     public final void rule__Rule__Group__3() throws RecognitionException { 
    5716  
    5717                         int stackSize = keepStackSize(); 
    5718              
    5719         try { 
    5720             // ../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__3__Impl rule__Rule__Group__4 ) 
    5721             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1931:2: rule__Rule__Group__3__Impl rule__Rule__Group__4 
    5722             { 
    5723             pushFollow(FOLLOW_rule__Rule__Group__3__Impl_in_rule__Rule__Group__34012); 
    5724             rule__Rule__Group__3__Impl(); 
    5725  
    5726             state._fsp--; 
    5727  
    5728             pushFollow(FOLLOW_rule__Rule__Group__4_in_rule__Rule__Group__34015); 
    5729             rule__Rule__Group__4(); 
    5730  
    5731             state._fsp--; 
    5732  
    5733  
    5734             } 
    5735  
    5736         } 
    5737         catch (RecognitionException re) { 
    5738             reportError(re); 
    5739             recover(input,re); 
    5740         } 
    5741         finally { 
    5742  
    5743                 restoreStackSize(stackSize); 
    5744  
    5745         } 
    5746         return ; 
    5747     } 
    5748     // $ANTLR end "rule__Rule__Group__3" 
    5749  
    5750  
    5751     // $ANTLR start "rule__Rule__Group__3__Impl" 
    5752     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1938:1: rule__Rule__Group__3__Impl : ( ( rule__Rule__DefinitionListAssignment_3 )? ) ; 
    5753     public final void rule__Rule__Group__3__Impl() throws RecognitionException { 
    5754  
    5755                         int stackSize = keepStackSize(); 
    5756              
    5757         try { 
    5758             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1942:1: ( ( ( rule__Rule__DefinitionListAssignment_3 )? ) ) 
    5759             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1943:1: ( ( rule__Rule__DefinitionListAssignment_3 )? ) 
    5760             { 
    5761             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1943:1: ( ( rule__Rule__DefinitionListAssignment_3 )? ) 
    5762             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1944:1: ( rule__Rule__DefinitionListAssignment_3 )? 
    5763             { 
    5764              before(grammarAccess.getRuleAccess().getDefinitionListAssignment_3());  
    5765             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1945:1: ( rule__Rule__DefinitionListAssignment_3 )? 
     5829        int rule__Import__Group__2__Impl_StartIndex = input.index(); 
     5830 
     5831                        int stackSize = keepStackSize(); 
     5832             
     5833        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 )? 
     5840            { 
     5841            if ( state.backtracking==0 ) { 
     5842               before(grammarAccess.getImportAccess().getGroup_2());  
     5843            } 
     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 )? 
    57665845            int alt23=2; 
    57675846            int LA23_0 = input.LA(1); 
    57685847 
    5769             if ( (LA23_0==RULE_STRING||LA23_0==RULE_COLON||(LA23_0>=17 && LA23_0<=19)) ) { 
     5848            if ( (LA23_0==25) ) { 
    57705849                alt23=1; 
    5771             } 
    5772             else if ( (LA23_0==RULE_ID) ) { 
    5773                 int LA23_2 = input.LA(2); 
    5774  
    5775                 if ( (LA23_2==EOF||(LA23_2>=RULE_ID && LA23_2<=RULE_INT)||LA23_2==RULE_COLON||LA23_2==16||(LA23_2>=18 && LA23_2<=19)||LA23_2==23) ) { 
    5776                     alt23=1; 
    5777                 } 
    5778                 else if ( (LA23_2==17) ) { 
    5779                     int LA23_4 = input.LA(3); 
    5780  
    5781                     if ( (LA23_4==RULE_ID||LA23_4==RULE_STRING||LA23_4==RULE_COLON||(LA23_4>=17 && LA23_4<=19)) ) { 
    5782                         alt23=1; 
    5783                     } 
    5784                 } 
    57855850            } 
    57865851            switch (alt23) { 
    57875852                case 1 : 
    5788                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1945:2: rule__Rule__DefinitionListAssignment_3 
     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 
    57895854                    { 
    5790                     pushFollow(FOLLOW_rule__Rule__DefinitionListAssignment_3_in_rule__Rule__Group__3__Impl4042); 
    5791                     rule__Rule__DefinitionListAssignment_3(); 
     5855                    pushFollow(FOLLOW_rule__Import__Group_2__0_in_rule__Import__Group__2__Impl3548); 
     5856                    rule__Import__Group_2__0(); 
    57925857 
    57935858                    state._fsp--; 
    5794  
     5859                    if (state.failed) return ; 
    57955860 
    57965861                    } 
     
    57995864            } 
    58005865 
    5801              after(grammarAccess.getRuleAccess().getDefinitionListAssignment_3());  
    5802  
    5803             } 
    5804  
    5805  
    5806             } 
    5807  
    5808         } 
    5809         catch (RecognitionException re) { 
    5810             reportError(re); 
    5811             recover(input,re); 
    5812         } 
    5813         finally { 
    5814  
    5815                 restoreStackSize(stackSize); 
    5816  
    5817         } 
    5818         return ; 
    5819     } 
    5820     // $ANTLR end "rule__Rule__Group__3__Impl" 
    5821  
    5822  
    5823     // $ANTLR start "rule__Rule__Group__4" 
    5824     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1955:1: rule__Rule__Group__4 : rule__Rule__Group__4__Impl ; 
    5825     public final void rule__Rule__Group__4() throws RecognitionException { 
    5826  
    5827                         int stackSize = keepStackSize(); 
    5828              
    5829         try { 
    5830             // ../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__4__Impl ) 
    5831             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1960:2: rule__Rule__Group__4__Impl 
    5832             { 
    5833             pushFollow(FOLLOW_rule__Rule__Group__4__Impl_in_rule__Rule__Group__44073); 
    5834             rule__Rule__Group__4__Impl(); 
    5835  
    5836             state._fsp--; 
    5837  
    5838  
    5839             } 
    5840  
    5841         } 
    5842         catch (RecognitionException re) { 
    5843             reportError(re); 
    5844             recover(input,re); 
    5845         } 
    5846         finally { 
    5847  
    5848                 restoreStackSize(stackSize); 
    5849  
    5850         } 
    5851         return ; 
    5852     } 
    5853     // $ANTLR end "rule__Rule__Group__4" 
    5854  
    5855  
    5856     // $ANTLR start "rule__Rule__Group__4__Impl" 
    5857     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1966:1: rule__Rule__Group__4__Impl : ( ( ';' )? ) ; 
    5858     public final void rule__Rule__Group__4__Impl() throws RecognitionException { 
    5859  
    5860                         int stackSize = keepStackSize(); 
    5861              
    5862         try { 
    5863             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1970:1: ( ( ( ';' )? ) ) 
    5864             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1971:1: ( ( ';' )? ) 
    5865             { 
    5866             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1971:1: ( ( ';' )? ) 
    5867             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1972:1: ( ';' )? 
    5868             { 
    5869              before(grammarAccess.getRuleAccess().getSemicolonKeyword_4());  
    5870             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1973:1: ( ';' )? 
     5866            if ( state.backtracking==0 ) { 
     5867               after(grammarAccess.getImportAccess().getGroup_2());  
     5868            } 
     5869 
     5870            } 
     5871 
     5872 
     5873            } 
     5874 
     5875        } 
     5876        catch (RecognitionException re) { 
     5877            reportError(re); 
     5878            recover(input,re); 
     5879        } 
     5880        finally { 
     5881            if ( state.backtracking>0 ) { memoize(input, 97, rule__Import__Group__2__Impl_StartIndex); } 
     5882 
     5883                restoreStackSize(stackSize); 
     5884 
     5885        } 
     5886        return ; 
     5887    } 
     5888    // $ANTLR end "rule__Import__Group__2__Impl" 
     5889 
     5890 
     5891    // $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 ; 
     5893    public final void rule__Import__Group__3() throws RecognitionException { 
     5894        int rule__Import__Group__3_StartIndex = input.index(); 
     5895 
     5896                        int stackSize = keepStackSize(); 
     5897             
     5898        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); 
     5904            rule__Import__Group__3__Impl(); 
     5905 
     5906            state._fsp--; 
     5907            if (state.failed) return ; 
     5908            pushFollow(FOLLOW_rule__Import__Group__4_in_rule__Import__Group__33582); 
     5909            rule__Import__Group__4(); 
     5910 
     5911            state._fsp--; 
     5912            if (state.failed) return ; 
     5913 
     5914            } 
     5915 
     5916        } 
     5917        catch (RecognitionException re) { 
     5918            reportError(re); 
     5919            recover(input,re); 
     5920        } 
     5921        finally { 
     5922            if ( state.backtracking>0 ) { memoize(input, 98, rule__Import__Group__3_StartIndex); } 
     5923 
     5924                restoreStackSize(stackSize); 
     5925 
     5926        } 
     5927        return ; 
     5928    } 
     5929    // $ANTLR end "rule__Import__Group__3" 
     5930 
     5931 
     5932    // $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 )? ) ; 
     5934    public final void rule__Import__Group__3__Impl() throws RecognitionException { 
     5935        int rule__Import__Group__3__Impl_StartIndex = input.index(); 
     5936 
     5937                        int stackSize = keepStackSize(); 
     5938             
     5939        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 )? 
     5946            { 
     5947            if ( state.backtracking==0 ) { 
     5948               before(grammarAccess.getImportAccess().getGroup_3());  
     5949            } 
     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 )? 
    58715951            int alt24=2; 
    58725952            int LA24_0 = input.LA(1); 
    58735953 
    5874             if ( (LA24_0==23) ) { 
     5954            if ( (LA24_0==26) ) { 
    58755955                alt24=1; 
    58765956            } 
    58775957            switch (alt24) { 
    58785958                case 1 : 
    5879                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1974:2: ';' 
     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 
    58805960                    { 
    5881                     match(input,23,FOLLOW_23_in_rule__Rule__Group__4__Impl4102);  
     5961                    pushFollow(FOLLOW_rule__Import__Group_3__0_in_rule__Import__Group__3__Impl3609); 
     5962                    rule__Import__Group_3__0(); 
     5963 
     5964                    state._fsp--; 
     5965                    if (state.failed) return ; 
    58825966 
    58835967                    } 
     
    58865970            } 
    58875971 
    5888              after(grammarAccess.getRuleAccess().getSemicolonKeyword_4());  
    5889  
    5890             } 
    5891  
    5892  
    5893             } 
    5894  
    5895         } 
    5896         catch (RecognitionException re) { 
    5897             reportError(re); 
    5898             recover(input,re); 
    5899         } 
    5900         finally { 
    5901  
    5902                 restoreStackSize(stackSize); 
    5903  
    5904         } 
    5905         return ; 
    5906     } 
    5907     // $ANTLR end "rule__Rule__Group__4__Impl" 
    5908  
    5909  
    5910     // $ANTLR start "rule__Rule__Group_0__0" 
    5911     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1995:1: rule__Rule__Group_0__0 : rule__Rule__Group_0__0__Impl rule__Rule__Group_0__1 ; 
    5912     public final void rule__Rule__Group_0__0() throws RecognitionException { 
    5913  
    5914                         int stackSize = keepStackSize(); 
    5915              
    5916         try { 
    5917             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:1999:1: ( rule__Rule__Group_0__0__Impl rule__Rule__Group_0__1 ) 
    5918             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2000:2: rule__Rule__Group_0__0__Impl rule__Rule__Group_0__1 
    5919             { 
    5920             pushFollow(FOLLOW_rule__Rule__Group_0__0__Impl_in_rule__Rule__Group_0__04145); 
    5921             rule__Rule__Group_0__0__Impl(); 
    5922  
    5923             state._fsp--; 
    5924  
    5925             pushFollow(FOLLOW_rule__Rule__Group_0__1_in_rule__Rule__Group_0__04148); 
    5926             rule__Rule__Group_0__1(); 
    5927  
    5928             state._fsp--; 
    5929  
    5930  
    5931             } 
    5932  
    5933         } 
    5934         catch (RecognitionException re) { 
    5935             reportError(re); 
    5936             recover(input,re); 
    5937         } 
    5938         finally { 
    5939  
    5940                 restoreStackSize(stackSize); 
    5941  
    5942         } 
    5943         return ; 
    5944     } 
    5945     // $ANTLR end "rule__Rule__Group_0__0" 
    5946  
    5947  
    5948     // $ANTLR start "rule__Rule__Group_0__0__Impl" 
    5949     // ../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_0__0__Impl : ( ( rule__Rule__RulenumberAssignment_0_0 ) ) ; 
    5950     public final void rule__Rule__Group_0__0__Impl() throws RecognitionException { 
    5951  
    5952                         int stackSize = keepStackSize(); 
    5953              
    5954         try { 
    5955             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2011:1: ( ( ( rule__Rule__RulenumberAssignment_0_0 ) ) ) 
    5956             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2012:1: ( ( rule__Rule__RulenumberAssignment_0_0 ) ) 
    5957             { 
    5958             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2012:1: ( ( rule__Rule__RulenumberAssignment_0_0 ) ) 
    5959             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2013:1: ( rule__Rule__RulenumberAssignment_0_0 ) 
    5960             { 
    5961              before(grammarAccess.getRuleAccess().getRulenumberAssignment_0_0());  
    5962             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2014:1: ( rule__Rule__RulenumberAssignment_0_0 ) 
    5963             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2014:2: rule__Rule__RulenumberAssignment_0_0 
    5964             { 
    5965             pushFollow(FOLLOW_rule__Rule__RulenumberAssignment_0_0_in_rule__Rule__Group_0__0__Impl4175); 
    5966             rule__Rule__RulenumberAssignment_0_0(); 
    5967  
    5968             state._fsp--; 
    5969  
    5970  
    5971             } 
    5972  
    5973              after(grammarAccess.getRuleAccess().getRulenumberAssignment_0_0());  
    5974  
    5975             } 
    5976  
    5977  
    5978             } 
    5979  
    5980         } 
    5981         catch (RecognitionException re) { 
    5982             reportError(re); 
    5983             recover(input,re); 
    5984         } 
    5985         finally { 
    5986  
    5987                 restoreStackSize(stackSize); 
    5988  
    5989         } 
    5990         return ; 
    5991     } 
    5992     // $ANTLR end "rule__Rule__Group_0__0__Impl" 
    5993  
    5994  
    5995     // $ANTLR start "rule__Rule__Group_0__1" 
    5996     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2024:1: rule__Rule__Group_0__1 : rule__Rule__Group_0__1__Impl rule__Rule__Group_0__2 ; 
    5997     public final void rule__Rule__Group_0__1() throws RecognitionException { 
    5998  
    5999                         int stackSize = keepStackSize(); 
    6000              
    6001         try { 
    6002             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2028:1: ( rule__Rule__Group_0__1__Impl rule__Rule__Group_0__2 ) 
    6003             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2029:2: rule__Rule__Group_0__1__Impl rule__Rule__Group_0__2 
    6004             { 
    6005             pushFollow(FOLLOW_rule__Rule__Group_0__1__Impl_in_rule__Rule__Group_0__14205); 
    6006             rule__Rule__Group_0__1__Impl(); 
    6007  
    6008             state._fsp--; 
    6009  
    6010             pushFollow(FOLLOW_rule__Rule__Group_0__2_in_rule__Rule__Group_0__14208); 
    6011             rule__Rule__Group_0__2(); 
    6012  
    6013             state._fsp--; 
    6014  
    6015  
    6016             } 
    6017  
    6018         } 
    6019         catch (RecognitionException re) { 
    6020             reportError(re); 
    6021             recover(input,re); 
    6022         } 
    6023         finally { 
    6024  
    6025                 restoreStackSize(stackSize); 
    6026  
    6027         } 
    6028         return ; 
    6029     } 
    6030     // $ANTLR end "rule__Rule__Group_0__1" 
    6031  
    6032  
    6033     // $ANTLR start "rule__Rule__Group_0__1__Impl" 
    6034     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2036:1: rule__Rule__Group_0__1__Impl : ( ( rule__Rule__RulevariantAssignment_0_1 )? ) ; 
    6035     public final void rule__Rule__Group_0__1__Impl() throws RecognitionException { 
    6036  
    6037                         int stackSize = keepStackSize(); 
    6038              
    6039         try { 
    6040             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2040:1: ( ( ( rule__Rule__RulevariantAssignment_0_1 )? ) ) 
    6041             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2041:1: ( ( rule__Rule__RulevariantAssignment_0_1 )? ) 
    6042             { 
    6043             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2041:1: ( ( rule__Rule__RulevariantAssignment_0_1 )? ) 
    6044             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2042:1: ( rule__Rule__RulevariantAssignment_0_1 )? 
    6045             { 
    6046              before(grammarAccess.getRuleAccess().getRulevariantAssignment_0_1());  
    6047             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2043:1: ( rule__Rule__RulevariantAssignment_0_1 )? 
     5972            if ( state.backtracking==0 ) { 
     5973               after(grammarAccess.getImportAccess().getGroup_3());  
     5974            } 
     5975 
     5976            } 
     5977 
     5978 
     5979            } 
     5980 
     5981        } 
     5982        catch (RecognitionException re) { 
     5983            reportError(re); 
     5984            recover(input,re); 
     5985        } 
     5986        finally { 
     5987            if ( state.backtracking>0 ) { memoize(input, 99, rule__Import__Group__3__Impl_StartIndex); } 
     5988 
     5989                restoreStackSize(stackSize); 
     5990 
     5991        } 
     5992        return ; 
     5993    } 
     5994    // $ANTLR end "rule__Import__Group__3__Impl" 
     5995 
     5996 
     5997    // $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 ; 
     5999    public final void rule__Import__Group__4() throws RecognitionException { 
     6000        int rule__Import__Group__4_StartIndex = input.index(); 
     6001 
     6002                        int stackSize = keepStackSize(); 
     6003             
     6004        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); 
     6010            rule__Import__Group__4__Impl(); 
     6011 
     6012            state._fsp--; 
     6013            if (state.failed) return ; 
     6014 
     6015            } 
     6016 
     6017        } 
     6018        catch (RecognitionException re) { 
     6019            reportError(re); 
     6020            recover(input,re); 
     6021        } 
     6022        finally { 
     6023            if ( state.backtracking>0 ) { memoize(input, 100, rule__Import__Group__4_StartIndex); } 
     6024 
     6025                restoreStackSize(stackSize); 
     6026 
     6027        } 
     6028        return ; 
     6029    } 
     6030    // $ANTLR end "rule__Import__Group__4" 
     6031 
     6032 
     6033    // $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 : ( ';' ) ; 
     6035    public final void rule__Import__Group__4__Impl() throws RecognitionException { 
     6036        int rule__Import__Group__4__Impl_StartIndex = input.index(); 
     6037 
     6038                        int stackSize = keepStackSize(); 
     6039             
     6040        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: ';' 
     6047            { 
     6048            if ( state.backtracking==0 ) { 
     6049               before(grammarAccess.getImportAccess().getSemicolonKeyword_4());  
     6050            } 
     6051            match(input,23,FOLLOW_23_in_rule__Import__Group__4__Impl3668); if (state.failed) return ; 
     6052            if ( state.backtracking==0 ) { 
     6053               after(grammarAccess.getImportAccess().getSemicolonKeyword_4());  
     6054            } 
     6055 
     6056            } 
     6057 
     6058 
     6059            } 
     6060 
     6061        } 
     6062        catch (RecognitionException re) { 
     6063            reportError(re); 
     6064            recover(input,re); 
     6065        } 
     6066        finally { 
     6067            if ( state.backtracking>0 ) { memoize(input, 101, rule__Import__Group__4__Impl_StartIndex); } 
     6068 
     6069                restoreStackSize(stackSize); 
     6070 
     6071        } 
     6072        return ; 
     6073    } 
     6074    // $ANTLR end "rule__Import__Group__4__Impl" 
     6075 
     6076 
     6077    // $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 ; 
     6079    public final void rule__Import__Group_2__0() throws RecognitionException { 
     6080        int rule__Import__Group_2__0_StartIndex = input.index(); 
     6081 
     6082                        int stackSize = keepStackSize(); 
     6083             
     6084        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); 
     6090            rule__Import__Group_2__0__Impl(); 
     6091 
     6092            state._fsp--; 
     6093            if (state.failed) return ; 
     6094            pushFollow(FOLLOW_rule__Import__Group_2__1_in_rule__Import__Group_2__03712); 
     6095            rule__Import__Group_2__1(); 
     6096 
     6097            state._fsp--; 
     6098            if (state.failed) return ; 
     6099 
     6100            } 
     6101 
     6102        } 
     6103        catch (RecognitionException re) { 
     6104            reportError(re); 
     6105            recover(input,re); 
     6106        } 
     6107        finally { 
     6108            if ( state.backtracking>0 ) { memoize(input, 102, rule__Import__Group_2__0_StartIndex); } 
     6109 
     6110                restoreStackSize(stackSize); 
     6111 
     6112        } 
     6113        return ; 
     6114    } 
     6115    // $ANTLR end "rule__Import__Group_2__0" 
     6116 
     6117 
     6118    // $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 : ( '/' ) ; 
     6120    public final void rule__Import__Group_2__0__Impl() throws RecognitionException { 
     6121        int rule__Import__Group_2__0__Impl_StartIndex = input.index(); 
     6122 
     6123                        int stackSize = keepStackSize(); 
     6124             
     6125        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: '/' 
     6132            { 
     6133            if ( state.backtracking==0 ) { 
     6134               before(grammarAccess.getImportAccess().getSolidusKeyword_2_0());  
     6135            } 
     6136            match(input,25,FOLLOW_25_in_rule__Import__Group_2__0__Impl3740); if (state.failed) return ; 
     6137            if ( state.backtracking==0 ) { 
     6138               after(grammarAccess.getImportAccess().getSolidusKeyword_2_0());  
     6139            } 
     6140 
     6141            } 
     6142 
     6143 
     6144            } 
     6145 
     6146        } 
     6147        catch (RecognitionException re) { 
     6148            reportError(re); 
     6149            recover(input,re); 
     6150        } 
     6151        finally { 
     6152            if ( state.backtracking>0 ) { memoize(input, 103, rule__Import__Group_2__0__Impl_StartIndex); } 
     6153 
     6154                restoreStackSize(stackSize); 
     6155 
     6156        } 
     6157        return ; 
     6158    } 
     6159    // $ANTLR end "rule__Import__Group_2__0__Impl" 
     6160 
     6161 
     6162    // $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 ; 
     6164    public final void rule__Import__Group_2__1() throws RecognitionException { 
     6165        int rule__Import__Group_2__1_StartIndex = input.index(); 
     6166 
     6167                        int stackSize = keepStackSize(); 
     6168             
     6169        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); 
     6175            rule__Import__Group_2__1__Impl(); 
     6176 
     6177            state._fsp--; 
     6178            if (state.failed) return ; 
     6179 
     6180            } 
     6181 
     6182        } 
     6183        catch (RecognitionException re) { 
     6184            reportError(re); 
     6185            recover(input,re); 
     6186        } 
     6187        finally { 
     6188            if ( state.backtracking>0 ) { memoize(input, 104, rule__Import__Group_2__1_StartIndex); } 
     6189 
     6190                restoreStackSize(stackSize); 
     6191 
     6192        } 
     6193        return ; 
     6194    } 
     6195    // $ANTLR end "rule__Import__Group_2__1" 
     6196 
     6197 
     6198    // $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 ) ) ; 
     6200    public final void rule__Import__Group_2__1__Impl() throws RecognitionException { 
     6201        int rule__Import__Group_2__1__Impl_StartIndex = input.index(); 
     6202 
     6203                        int stackSize = keepStackSize(); 
     6204             
     6205        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 ) 
     6212            { 
     6213            if ( state.backtracking==0 ) { 
     6214               before(grammarAccess.getImportAccess().getAlternatives_2_1());  
     6215            } 
     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); 
     6220            rule__Import__Alternatives_2_1(); 
     6221 
     6222            state._fsp--; 
     6223            if (state.failed) return ; 
     6224 
     6225            } 
     6226 
     6227            if ( state.backtracking==0 ) { 
     6228               after(grammarAccess.getImportAccess().getAlternatives_2_1());  
     6229            } 
     6230 
     6231            } 
     6232 
     6233 
     6234            } 
     6235 
     6236        } 
     6237        catch (RecognitionException re) { 
     6238            reportError(re); 
     6239            recover(input,re); 
     6240        } 
     6241        finally { 
     6242            if ( state.backtracking>0 ) { memoize(input, 105, rule__Import__Group_2__1__Impl_StartIndex); } 
     6243 
     6244                restoreStackSize(stackSize); 
     6245 
     6246        } 
     6247        return ; 
     6248    } 
     6249    // $ANTLR end "rule__Import__Group_2__1__Impl" 
     6250 
     6251 
     6252    // $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 ; 
     6254    public final void rule__Import__Group_3__0() throws RecognitionException { 
     6255        int rule__Import__Group_3__0_StartIndex = input.index(); 
     6256 
     6257                        int stackSize = keepStackSize(); 
     6258             
     6259        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); 
     6265            rule__Import__Group_3__0__Impl(); 
     6266 
     6267            state._fsp--; 
     6268            if (state.failed) return ; 
     6269            pushFollow(FOLLOW_rule__Import__Group_3__1_in_rule__Import__Group_3__03835); 
     6270            rule__Import__Group_3__1(); 
     6271 
     6272            state._fsp--; 
     6273            if (state.failed) return ; 
     6274 
     6275            } 
     6276 
     6277        } 
     6278        catch (RecognitionException re) { 
     6279            reportError(re); 
     6280            recover(input,re); 
     6281        } 
     6282        finally { 
     6283            if ( state.backtracking>0 ) { memoize(input, 106, rule__Import__Group_3__0_StartIndex); } 
     6284 
     6285                restoreStackSize(stackSize); 
     6286 
     6287        } 
     6288        return ; 
     6289    } 
     6290    // $ANTLR end "rule__Import__Group_3__0" 
     6291 
     6292 
     6293    // $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:' ) ; 
     6295    public final void rule__Import__Group_3__0__Impl() throws RecognitionException { 
     6296        int rule__Import__Group_3__0__Impl_StartIndex = input.index(); 
     6297 
     6298                        int stackSize = keepStackSize(); 
     6299             
     6300        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:' 
     6307            { 
     6308            if ( state.backtracking==0 ) { 
     6309               before(grammarAccess.getImportAccess().getLabelKeyword_3_0());  
     6310            } 
     6311            match(input,26,FOLLOW_26_in_rule__Import__Group_3__0__Impl3863); if (state.failed) return ; 
     6312            if ( state.backtracking==0 ) { 
     6313               after(grammarAccess.getImportAccess().getLabelKeyword_3_0());  
     6314            } 
     6315 
     6316            } 
     6317 
     6318 
     6319            } 
     6320 
     6321        } 
     6322        catch (RecognitionException re) { 
     6323            reportError(re); 
     6324            recover(input,re); 
     6325        } 
     6326        finally { 
     6327            if ( state.backtracking>0 ) { memoize(input, 107, rule__Import__Group_3__0__Impl_StartIndex); } 
     6328 
     6329                restoreStackSize(stackSize); 
     6330 
     6331        } 
     6332        return ; 
     6333    } 
     6334    // $ANTLR end "rule__Import__Group_3__0__Impl" 
     6335 
     6336 
     6337    // $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 ; 
     6339    public final void rule__Import__Group_3__1() throws RecognitionException { 
     6340        int rule__Import__Group_3__1_StartIndex = input.index(); 
     6341 
     6342                        int stackSize = keepStackSize(); 
     6343             
     6344        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); 
     6350            rule__Import__Group_3__1__Impl(); 
     6351 
     6352            state._fsp--; 
     6353            if (state.failed) return ; 
     6354 
     6355            } 
     6356 
     6357        } 
     6358        catch (RecognitionException re) { 
     6359            reportError(re); 
     6360            recover(input,re); 
     6361        } 
     6362        finally { 
     6363            if ( state.backtracking>0 ) { memoize(input, 108, rule__Import__Group_3__1_StartIndex); } 
     6364 
     6365                restoreStackSize(stackSize); 
     6366 
     6367        } 
     6368        return ; 
     6369    } 
     6370    // $ANTLR end "rule__Import__Group_3__1" 
     6371 
     6372 
     6373    // $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 ) ) ; 
     6375    public final void rule__Import__Group_3__1__Impl() throws RecognitionException { 
     6376        int rule__Import__Group_3__1__Impl_StartIndex = input.index(); 
     6377 
     6378                        int stackSize = keepStackSize(); 
     6379             
     6380        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 ) 
     6387            { 
     6388            if ( state.backtracking==0 ) { 
     6389               before(grammarAccess.getImportAccess().getLabelAssignment_3_1());  
     6390            } 
     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); 
     6395            rule__Import__LabelAssignment_3_1(); 
     6396 
     6397            state._fsp--; 
     6398            if (state.failed) return ; 
     6399 
     6400            } 
     6401 
     6402            if ( state.backtracking==0 ) { 
     6403               after(grammarAccess.getImportAccess().getLabelAssignment_3_1());  
     6404            } 
     6405 
     6406            } 
     6407 
     6408 
     6409            } 
     6410 
     6411        } 
     6412        catch (RecognitionException re) { 
     6413            reportError(re); 
     6414            recover(input,re); 
     6415        } 
     6416        finally { 
     6417            if ( state.backtracking>0 ) { memoize(input, 109, rule__Import__Group_3__1__Impl_StartIndex); } 
     6418 
     6419                restoreStackSize(stackSize); 
     6420 
     6421        } 
     6422        return ; 
     6423    } 
     6424    // $ANTLR end "rule__Import__Group_3__1__Impl" 
     6425 
     6426 
     6427    // $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 ; 
     6429    public final void rule__Rule__Group__0() throws RecognitionException { 
     6430        int rule__Rule__Group__0_StartIndex = input.index(); 
     6431 
     6432                        int stackSize = keepStackSize(); 
     6433             
     6434        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); 
     6440            rule__Rule__Group__0__Impl(); 
     6441 
     6442            state._fsp--; 
     6443            if (state.failed) return ; 
     6444            pushFollow(FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__03958); 
     6445            rule__Rule__Group__1(); 
     6446 
     6447            state._fsp--; 
     6448            if (state.failed) return ; 
     6449 
     6450            } 
     6451 
     6452        } 
     6453        catch (RecognitionException re) { 
     6454            reportError(re); 
     6455            recover(input,re); 
     6456        } 
     6457        finally { 
     6458            if ( state.backtracking>0 ) { memoize(input, 110, rule__Rule__Group__0_StartIndex); } 
     6459 
     6460                restoreStackSize(stackSize); 
     6461 
     6462        } 
     6463        return ; 
     6464    } 
     6465    // $ANTLR end "rule__Rule__Group__0" 
     6466 
     6467 
     6468    // $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 )? ) ; 
     6470    public final void rule__Rule__Group__0__Impl() throws RecognitionException { 
     6471        int rule__Rule__Group__0__Impl_StartIndex = input.index(); 
     6472 
     6473                        int stackSize = keepStackSize(); 
     6474             
     6475        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 )? 
     6482            { 
     6483            if ( state.backtracking==0 ) { 
     6484               before(grammarAccess.getRuleAccess().getGroup_0());  
     6485            } 
     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 )? 
    60486487            int alt25=2; 
    60496488            int LA25_0 = input.LA(1); 
    60506489 
    6051             if ( (LA25_0==RULE_ID) ) { 
     6490            if ( (LA25_0==RULE_INT) ) { 
    60526491                alt25=1; 
    60536492            } 
    60546493            switch (alt25) { 
    60556494                case 1 : 
    6056                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2043:2: rule__Rule__RulevariantAssignment_0_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 
    60576496                    { 
    6058                     pushFollow(FOLLOW_rule__Rule__RulevariantAssignment_0_1_in_rule__Rule__Group_0__1__Impl4235); 
    6059                     rule__Rule__RulevariantAssignment_0_1(); 
     6497                    pushFollow(FOLLOW_rule__Rule__Group_0__0_in_rule__Rule__Group__0__Impl3985); 
     6498                    rule__Rule__Group_0__0(); 
    60606499 
    60616500                    state._fsp--; 
    6062  
     6501                    if (state.failed) return ; 
    60636502 
    60646503                    } 
     
    60676506            } 
    60686507 
    6069              after(grammarAccess.getRuleAccess().getRulevariantAssignment_0_1());  
    6070  
    6071             } 
    6072  
    6073  
    6074             } 
    6075  
    6076         } 
    6077         catch (RecognitionException re) { 
    6078             reportError(re); 
    6079             recover(input,re); 
    6080         } 
    6081         finally { 
    6082  
    6083                 restoreStackSize(stackSize); 
    6084  
    6085         } 
    6086         return ; 
    6087     } 
    6088     // $ANTLR end "rule__Rule__Group_0__1__Impl" 
    6089  
    6090  
    6091     // $ANTLR start "rule__Rule__Group_0__2" 
    6092     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2053:1: rule__Rule__Group_0__2 : rule__Rule__Group_0__2__Impl ; 
    6093     public final void rule__Rule__Group_0__2() throws RecognitionException { 
    6094  
    6095                         int stackSize = keepStackSize(); 
    6096              
    6097         try { 
    6098             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2057:1: ( rule__Rule__Group_0__2__Impl ) 
    6099             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2058:2: rule__Rule__Group_0__2__Impl 
    6100             { 
    6101             pushFollow(FOLLOW_rule__Rule__Group_0__2__Impl_in_rule__Rule__Group_0__24266); 
    6102             rule__Rule__Group_0__2__Impl(); 
    6103  
    6104             state._fsp--; 
    6105  
    6106  
    6107             } 
    6108  
    6109         } 
    6110         catch (RecognitionException re) { 
    6111             reportError(re); 
    6112             recover(input,re); 
    6113         } 
    6114         finally { 
    6115  
    6116                 restoreStackSize(stackSize); 
    6117  
    6118         } 
    6119         return ; 
    6120     } 
    6121     // $ANTLR end "rule__Rule__Group_0__2" 
    6122  
    6123  
    6124     // $ANTLR start "rule__Rule__Group_0__2__Impl" 
    6125     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2064:1: rule__Rule__Group_0__2__Impl : ( '.' ) ; 
    6126     public final void rule__Rule__Group_0__2__Impl() throws RecognitionException { 
    6127  
    6128                         int stackSize = keepStackSize(); 
    6129              
    6130         try { 
    6131             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2068:1: ( ( '.' ) ) 
    6132             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2069:1: ( '.' ) 
    6133             { 
    6134             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2069:1: ( '.' ) 
    6135             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2070:1: '.' 
    6136             { 
    6137              before(grammarAccess.getRuleAccess().getFullStopKeyword_0_2());  
    6138             match(input,28,FOLLOW_28_in_rule__Rule__Group_0__2__Impl4294);  
    6139              after(grammarAccess.getRuleAccess().getFullStopKeyword_0_2());  
    6140  
    6141             } 
    6142  
    6143  
    6144             } 
    6145  
    6146         } 
    6147         catch (RecognitionException re) { 
    6148             reportError(re); 
    6149             recover(input,re); 
    6150         } 
    6151         finally { 
    6152  
    6153                 restoreStackSize(stackSize); 
    6154  
    6155         } 
    6156         return ; 
    6157     } 
    6158     // $ANTLR end "rule__Rule__Group_0__2__Impl" 
    6159  
    6160  
    6161     // $ANTLR start "rule__ExtRule__Group__0" 
    6162     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2089:1: rule__ExtRule__Group__0 : rule__ExtRule__Group__0__Impl rule__ExtRule__Group__1 ; 
    6163     public final void rule__ExtRule__Group__0() throws RecognitionException { 
    6164  
    6165                         int stackSize = keepStackSize(); 
    6166              
    6167         try { 
    6168             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2093:1: ( rule__ExtRule__Group__0__Impl rule__ExtRule__Group__1 ) 
    6169             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2094:2: rule__ExtRule__Group__0__Impl rule__ExtRule__Group__1 
    6170             { 
    6171             pushFollow(FOLLOW_rule__ExtRule__Group__0__Impl_in_rule__ExtRule__Group__04331); 
    6172             rule__ExtRule__Group__0__Impl(); 
    6173  
    6174             state._fsp--; 
    6175  
    6176             pushFollow(FOLLOW_rule__ExtRule__Group__1_in_rule__ExtRule__Group__04334); 
    6177             rule__ExtRule__Group__1(); 
    6178  
    6179             state._fsp--; 
    6180  
    6181  
    6182             } 
    6183  
    6184         } 
    6185         catch (RecognitionException re) { 
    6186             reportError(re); 
    6187             recover(input,re); 
    6188         } 
    6189         finally { 
    6190  
    6191                 restoreStackSize(stackSize); 
    6192  
    6193         } 
    6194         return ; 
    6195     } 
    6196     // $ANTLR end "rule__ExtRule__Group__0" 
    6197  
    6198  
    6199     // $ANTLR start "rule__ExtRule__Group__0__Impl" 
    6200     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2101:1: rule__ExtRule__Group__0__Impl : ( ( rule__ExtRule__Group_0__0 )? ) ; 
    6201     public final void rule__ExtRule__Group__0__Impl() throws RecognitionException { 
    6202  
    6203                         int stackSize = keepStackSize(); 
    6204              
    6205         try { 
    6206             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2105:1: ( ( ( rule__ExtRule__Group_0__0 )? ) ) 
    6207             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2106:1: ( ( rule__ExtRule__Group_0__0 )? ) 
    6208             { 
    6209             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2106:1: ( ( rule__ExtRule__Group_0__0 )? ) 
    6210             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2107:1: ( rule__ExtRule__Group_0__0 )? 
    6211             { 
    6212              before(grammarAccess.getExtRuleAccess().getGroup_0());  
    6213             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2108:1: ( rule__ExtRule__Group_0__0 )? 
     6508            if ( state.backtracking==0 ) { 
     6509               after(grammarAccess.getRuleAccess().getGroup_0());  
     6510            } 
     6511 
     6512            } 
     6513 
     6514 
     6515            } 
     6516 
     6517        } 
     6518        catch (RecognitionException re) { 
     6519            reportError(re); 
     6520            recover(input,re); 
     6521        } 
     6522        finally { 
     6523            if ( state.backtracking>0 ) { memoize(input, 111, rule__Rule__Group__0__Impl_StartIndex); } 
     6524 
     6525                restoreStackSize(stackSize); 
     6526 
     6527        } 
     6528        return ; 
     6529    } 
     6530    // $ANTLR end "rule__Rule__Group__0__Impl" 
     6531 
     6532 
     6533    // $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 ; 
     6535    public final void rule__Rule__Group__1() throws RecognitionException { 
     6536        int rule__Rule__Group__1_StartIndex = input.index(); 
     6537 
     6538                        int stackSize = keepStackSize(); 
     6539             
     6540        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); 
     6546            rule__Rule__Group__1__Impl(); 
     6547 
     6548            state._fsp--; 
     6549            if (state.failed) return ; 
     6550            pushFollow(FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__14019); 
     6551            rule__Rule__Group__2(); 
     6552 
     6553            state._fsp--; 
     6554            if (state.failed) return ; 
     6555 
     6556            } 
     6557 
     6558        } 
     6559        catch (RecognitionException re) { 
     6560            reportError(re); 
     6561            recover(input,re); 
     6562        } 
     6563        finally { 
     6564            if ( state.backtracking>0 ) { memoize(input, 112, rule__Rule__Group__1_StartIndex); } 
     6565 
     6566                restoreStackSize(stackSize); 
     6567 
     6568        } 
     6569        return ; 
     6570    } 
     6571    // $ANTLR end "rule__Rule__Group__1" 
     6572 
     6573 
     6574    // $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 ) ) ; 
     6576    public final void rule__Rule__Group__1__Impl() throws RecognitionException { 
     6577        int rule__Rule__Group__1__Impl_StartIndex = input.index(); 
     6578 
     6579                        int stackSize = keepStackSize(); 
     6580             
     6581        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 ) 
     6588            { 
     6589            if ( state.backtracking==0 ) { 
     6590               before(grammarAccess.getRuleAccess().getNameAssignment_1());  
     6591            } 
     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); 
     6596            rule__Rule__NameAssignment_1(); 
     6597 
     6598            state._fsp--; 
     6599            if (state.failed) return ; 
     6600 
     6601            } 
     6602 
     6603            if ( state.backtracking==0 ) { 
     6604               after(grammarAccess.getRuleAccess().getNameAssignment_1());  
     6605            } 
     6606 
     6607            } 
     6608 
     6609 
     6610            } 
     6611 
     6612        } 
     6613        catch (RecognitionException re) { 
     6614            reportError(re); 
     6615            recover(input,re); 
     6616        } 
     6617        finally { 
     6618            if ( state.backtracking>0 ) { memoize(input, 113, rule__Rule__Group__1__Impl_StartIndex); } 
     6619 
     6620                restoreStackSize(stackSize); 
     6621 
     6622        } 
     6623        return ; 
     6624    } 
     6625    // $ANTLR end "rule__Rule__Group__1__Impl" 
     6626 
     6627 
     6628    // $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 ; 
     6630    public final void rule__Rule__Group__2() throws RecognitionException { 
     6631        int rule__Rule__Group__2_StartIndex = input.index(); 
     6632 
     6633                        int stackSize = keepStackSize(); 
     6634             
     6635        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); 
     6641            rule__Rule__Group__2__Impl(); 
     6642 
     6643            state._fsp--; 
     6644            if (state.failed) return ; 
     6645            pushFollow(FOLLOW_rule__Rule__Group__3_in_rule__Rule__Group__24079); 
     6646            rule__Rule__Group__3(); 
     6647 
     6648            state._fsp--; 
     6649            if (state.failed) return ; 
     6650 
     6651            } 
     6652 
     6653        } 
     6654        catch (RecognitionException re) { 
     6655            reportError(re); 
     6656            recover(input,re); 
     6657        } 
     6658        finally { 
     6659            if ( state.backtracking>0 ) { memoize(input, 114, rule__Rule__Group__2_StartIndex); } 
     6660 
     6661                restoreStackSize(stackSize); 
     6662 
     6663        } 
     6664        return ; 
     6665    } 
     6666    // $ANTLR end "rule__Rule__Group__2" 
     6667 
     6668 
     6669    // $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 : ( '::=' ) ; 
     6671    public final void rule__Rule__Group__2__Impl() throws RecognitionException { 
     6672        int rule__Rule__Group__2__Impl_StartIndex = input.index(); 
     6673 
     6674                        int stackSize = keepStackSize(); 
     6675             
     6676        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: '::=' 
     6683            { 
     6684            if ( state.backtracking==0 ) { 
     6685               before(grammarAccess.getRuleAccess().getColonColonEqualsSignKeyword_2());  
     6686            } 
     6687            match(input,27,FOLLOW_27_in_rule__Rule__Group__2__Impl4107); if (state.failed) return ; 
     6688            if ( state.backtracking==0 ) { 
     6689               after(grammarAccess.getRuleAccess().getColonColonEqualsSignKeyword_2());  
     6690            } 
     6691 
     6692            } 
     6693 
     6694 
     6695            } 
     6696 
     6697        } 
     6698        catch (RecognitionException re) { 
     6699            reportError(re); 
     6700            recover(input,re); 
     6701        } 
     6702        finally { 
     6703            if ( state.backtracking>0 ) { memoize(input, 115, rule__Rule__Group__2__Impl_StartIndex); } 
     6704 
     6705                restoreStackSize(stackSize); 
     6706 
     6707        } 
     6708        return ; 
     6709    } 
     6710    // $ANTLR end "rule__Rule__Group__2__Impl" 
     6711 
     6712 
     6713    // $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 ; 
     6715    public final void rule__Rule__Group__3() throws RecognitionException { 
     6716        int rule__Rule__Group__3_StartIndex = input.index(); 
     6717 
     6718                        int stackSize = keepStackSize(); 
     6719             
     6720        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); 
     6726            rule__Rule__Group__3__Impl(); 
     6727 
     6728            state._fsp--; 
     6729            if (state.failed) return ; 
     6730            pushFollow(FOLLOW_rule__Rule__Group__4_in_rule__Rule__Group__34141); 
     6731            rule__Rule__Group__4(); 
     6732 
     6733            state._fsp--; 
     6734            if (state.failed) return ; 
     6735 
     6736            } 
     6737 
     6738        } 
     6739        catch (RecognitionException re) { 
     6740            reportError(re); 
     6741            recover(input,re); 
     6742        } 
     6743        finally { 
     6744            if ( state.backtracking>0 ) { memoize(input, 116, rule__Rule__Group__3_StartIndex); } 
     6745 
     6746                restoreStackSize(stackSize); 
     6747 
     6748        } 
     6749        return ; 
     6750    } 
     6751    // $ANTLR end "rule__Rule__Group__3" 
     6752 
     6753 
     6754    // $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 )? ) ; 
     6756    public final void rule__Rule__Group__3__Impl() throws RecognitionException { 
     6757        int rule__Rule__Group__3__Impl_StartIndex = input.index(); 
     6758 
     6759                        int stackSize = keepStackSize(); 
     6760             
     6761        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 )? 
     6768            { 
     6769            if ( state.backtracking==0 ) { 
     6770               before(grammarAccess.getRuleAccess().getDefinitionListAssignment_3());  
     6771            } 
     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 )? 
    62146773            int alt26=2; 
    62156774            int LA26_0 = input.LA(1); 
    62166775 
    6217             if ( (LA26_0==RULE_INT) ) { 
     6776            if ( (LA26_0==RULE_STRING||LA26_0==RULE_COLON||(LA26_0>=17 && LA26_0<=19)) ) { 
    62186777                alt26=1; 
     6778            } 
     6779            else if ( (LA26_0==RULE_ID) ) { 
     6780                int LA26_2 = input.LA(2); 
     6781 
     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) ) { 
     6783                    alt26=1; 
     6784                } 
     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                } 
    62196792            } 
    62206793            switch (alt26) { 
    62216794                case 1 : 
    6222                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2108:2: rule__ExtRule__Group_0__0 
     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 
    62236796                    { 
    6224                     pushFollow(FOLLOW_rule__ExtRule__Group_0__0_in_rule__ExtRule__Group__0__Impl4361); 
     6797                    pushFollow(FOLLOW_rule__Rule__DefinitionListAssignment_3_in_rule__Rule__Group__3__Impl4168); 
     6798                    rule__Rule__DefinitionListAssignment_3(); 
     6799 
     6800                    state._fsp--; 
     6801                    if (state.failed) return ; 
     6802 
     6803                    } 
     6804                    break; 
     6805 
     6806            } 
     6807 
     6808            if ( state.backtracking==0 ) { 
     6809               after(grammarAccess.getRuleAccess().getDefinitionListAssignment_3());  
     6810            } 
     6811 
     6812            } 
     6813 
     6814 
     6815            } 
     6816 
     6817        } 
     6818        catch (RecognitionException re) { 
     6819            reportError(re); 
     6820            recover(input,re); 
     6821        } 
     6822        finally { 
     6823            if ( state.backtracking>0 ) { memoize(input, 117, rule__Rule__Group__3__Impl_StartIndex); } 
     6824 
     6825                restoreStackSize(stackSize); 
     6826 
     6827        } 
     6828        return ; 
     6829    } 
     6830    // $ANTLR end "rule__Rule__Group__3__Impl" 
     6831 
     6832 
     6833    // $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 ; 
     6835    public final void rule__Rule__Group__4() throws RecognitionException { 
     6836        int rule__Rule__Group__4_StartIndex = input.index(); 
     6837 
     6838                        int stackSize = keepStackSize(); 
     6839             
     6840        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); 
     6846            rule__Rule__Group__4__Impl(); 
     6847 
     6848            state._fsp--; 
     6849            if (state.failed) return ; 
     6850 
     6851            } 
     6852 
     6853        } 
     6854        catch (RecognitionException re) { 
     6855            reportError(re); 
     6856            recover(input,re); 
     6857        } 
     6858        finally { 
     6859            if ( state.backtracking>0 ) { memoize(input, 118, rule__Rule__Group__4_StartIndex); } 
     6860 
     6861                restoreStackSize(stackSize); 
     6862 
     6863        } 
     6864        return ; 
     6865    } 
     6866    // $ANTLR end "rule__Rule__Group__4" 
     6867 
     6868 
     6869    // $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 : ( ( ';' )? ) ; 
     6871    public final void rule__Rule__Group__4__Impl() throws RecognitionException { 
     6872        int rule__Rule__Group__4__Impl_StartIndex = input.index(); 
     6873 
     6874                        int stackSize = keepStackSize(); 
     6875             
     6876        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: ( ';' )? 
     6883            { 
     6884            if ( state.backtracking==0 ) { 
     6885               before(grammarAccess.getRuleAccess().getSemicolonKeyword_4());  
     6886            } 
     6887            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2025:1: ( ';' )? 
     6888            int alt27=2; 
     6889            int LA27_0 = input.LA(1); 
     6890 
     6891            if ( (LA27_0==23) ) { 
     6892                alt27=1; 
     6893            } 
     6894            switch (alt27) { 
     6895                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: ';' 
     6897                    { 
     6898                    match(input,23,FOLLOW_23_in_rule__Rule__Group__4__Impl4228); if (state.failed) return ; 
     6899 
     6900                    } 
     6901                    break; 
     6902 
     6903            } 
     6904 
     6905            if ( state.backtracking==0 ) { 
     6906               after(grammarAccess.getRuleAccess().getSemicolonKeyword_4());  
     6907            } 
     6908 
     6909            } 
     6910 
     6911 
     6912            } 
     6913 
     6914        } 
     6915        catch (RecognitionException re) { 
     6916            reportError(re); 
     6917            recover(input,re); 
     6918        } 
     6919        finally { 
     6920            if ( state.backtracking>0 ) { memoize(input, 119, rule__Rule__Group__4__Impl_StartIndex); } 
     6921 
     6922                restoreStackSize(stackSize); 
     6923 
     6924        } 
     6925        return ; 
     6926    } 
     6927    // $ANTLR end "rule__Rule__Group__4__Impl" 
     6928 
     6929 
     6930    // $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 ; 
     6932    public final void rule__Rule__Group_0__0() throws RecognitionException { 
     6933        int rule__Rule__Group_0__0_StartIndex = input.index(); 
     6934 
     6935                        int stackSize = keepStackSize(); 
     6936             
     6937        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); 
     6943            rule__Rule__Group_0__0__Impl(); 
     6944 
     6945            state._fsp--; 
     6946            if (state.failed) return ; 
     6947            pushFollow(FOLLOW_rule__Rule__Group_0__1_in_rule__Rule__Group_0__04274); 
     6948            rule__Rule__Group_0__1(); 
     6949 
     6950            state._fsp--; 
     6951            if (state.failed) return ; 
     6952 
     6953            } 
     6954 
     6955        } 
     6956        catch (RecognitionException re) { 
     6957            reportError(re); 
     6958            recover(input,re); 
     6959        } 
     6960        finally { 
     6961            if ( state.backtracking>0 ) { memoize(input, 120, rule__Rule__Group_0__0_StartIndex); } 
     6962 
     6963                restoreStackSize(stackSize); 
     6964 
     6965        } 
     6966        return ; 
     6967    } 
     6968    // $ANTLR end "rule__Rule__Group_0__0" 
     6969 
     6970 
     6971    // $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 ) ) ; 
     6973    public final void rule__Rule__Group_0__0__Impl() throws RecognitionException { 
     6974        int rule__Rule__Group_0__0__Impl_StartIndex = input.index(); 
     6975 
     6976                        int stackSize = keepStackSize(); 
     6977             
     6978        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 ) 
     6985            { 
     6986            if ( state.backtracking==0 ) { 
     6987               before(grammarAccess.getRuleAccess().getRulenumberAssignment_0_0());  
     6988            } 
     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); 
     6993            rule__Rule__RulenumberAssignment_0_0(); 
     6994 
     6995            state._fsp--; 
     6996            if (state.failed) return ; 
     6997 
     6998            } 
     6999 
     7000            if ( state.backtracking==0 ) { 
     7001               after(grammarAccess.getRuleAccess().getRulenumberAssignment_0_0());  
     7002            } 
     7003 
     7004            } 
     7005 
     7006 
     7007            } 
     7008 
     7009        } 
     7010        catch (RecognitionException re) { 
     7011            reportError(re); 
     7012            recover(input,re); 
     7013        } 
     7014        finally { 
     7015            if ( state.backtracking>0 ) { memoize(input, 121, rule__Rule__Group_0__0__Impl_StartIndex); } 
     7016 
     7017                restoreStackSize(stackSize); 
     7018 
     7019        } 
     7020        return ; 
     7021    } 
     7022    // $ANTLR end "rule__Rule__Group_0__0__Impl" 
     7023 
     7024 
     7025    // $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 ; 
     7027    public final void rule__Rule__Group_0__1() throws RecognitionException { 
     7028        int rule__Rule__Group_0__1_StartIndex = input.index(); 
     7029 
     7030                        int stackSize = keepStackSize(); 
     7031             
     7032        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); 
     7038            rule__Rule__Group_0__1__Impl(); 
     7039 
     7040            state._fsp--; 
     7041            if (state.failed) return ; 
     7042            pushFollow(FOLLOW_rule__Rule__Group_0__2_in_rule__Rule__Group_0__14334); 
     7043            rule__Rule__Group_0__2(); 
     7044 
     7045            state._fsp--; 
     7046            if (state.failed) return ; 
     7047 
     7048            } 
     7049 
     7050        } 
     7051        catch (RecognitionException re) { 
     7052            reportError(re); 
     7053            recover(input,re); 
     7054        } 
     7055        finally { 
     7056            if ( state.backtracking>0 ) { memoize(input, 122, rule__Rule__Group_0__1_StartIndex); } 
     7057 
     7058                restoreStackSize(stackSize); 
     7059 
     7060        } 
     7061        return ; 
     7062    } 
     7063    // $ANTLR end "rule__Rule__Group_0__1" 
     7064 
     7065 
     7066    // $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 )? ) ; 
     7068    public final void rule__Rule__Group_0__1__Impl() throws RecognitionException { 
     7069        int rule__Rule__Group_0__1__Impl_StartIndex = input.index(); 
     7070 
     7071                        int stackSize = keepStackSize(); 
     7072             
     7073        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 )? 
     7080            { 
     7081            if ( state.backtracking==0 ) { 
     7082               before(grammarAccess.getRuleAccess().getRulevariantAssignment_0_1());  
     7083            } 
     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 )? 
     7085            int alt28=2; 
     7086            int LA28_0 = input.LA(1); 
     7087 
     7088            if ( (LA28_0==RULE_ID) ) { 
     7089                alt28=1; 
     7090            } 
     7091            switch (alt28) { 
     7092                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 
     7094                    { 
     7095                    pushFollow(FOLLOW_rule__Rule__RulevariantAssignment_0_1_in_rule__Rule__Group_0__1__Impl4361); 
     7096                    rule__Rule__RulevariantAssignment_0_1(); 
     7097 
     7098                    state._fsp--; 
     7099                    if (state.failed) return ; 
     7100 
     7101                    } 
     7102                    break; 
     7103 
     7104            } 
     7105 
     7106            if ( state.backtracking==0 ) { 
     7107               after(grammarAccess.getRuleAccess().getRulevariantAssignment_0_1());  
     7108            } 
     7109 
     7110            } 
     7111 
     7112 
     7113            } 
     7114 
     7115        } 
     7116        catch (RecognitionException re) { 
     7117            reportError(re); 
     7118            recover(input,re); 
     7119        } 
     7120        finally { 
     7121            if ( state.backtracking>0 ) { memoize(input, 123, rule__Rule__Group_0__1__Impl_StartIndex); } 
     7122 
     7123                restoreStackSize(stackSize); 
     7124 
     7125        } 
     7126        return ; 
     7127    } 
     7128    // $ANTLR end "rule__Rule__Group_0__1__Impl" 
     7129 
     7130 
     7131    // $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 ; 
     7133    public final void rule__Rule__Group_0__2() throws RecognitionException { 
     7134        int rule__Rule__Group_0__2_StartIndex = input.index(); 
     7135 
     7136                        int stackSize = keepStackSize(); 
     7137             
     7138        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); 
     7144            rule__Rule__Group_0__2__Impl(); 
     7145 
     7146            state._fsp--; 
     7147            if (state.failed) return ; 
     7148 
     7149            } 
     7150 
     7151        } 
     7152        catch (RecognitionException re) { 
     7153            reportError(re); 
     7154            recover(input,re); 
     7155        } 
     7156        finally { 
     7157            if ( state.backtracking>0 ) { memoize(input, 124, rule__Rule__Group_0__2_StartIndex); } 
     7158 
     7159                restoreStackSize(stackSize); 
     7160 
     7161        } 
     7162        return ; 
     7163    } 
     7164    // $ANTLR end "rule__Rule__Group_0__2" 
     7165 
     7166 
     7167    // $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 : ( '.' ) ; 
     7169    public final void rule__Rule__Group_0__2__Impl() throws RecognitionException { 
     7170        int rule__Rule__Group_0__2__Impl_StartIndex = input.index(); 
     7171 
     7172                        int stackSize = keepStackSize(); 
     7173             
     7174        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: '.' 
     7181            { 
     7182            if ( state.backtracking==0 ) { 
     7183               before(grammarAccess.getRuleAccess().getFullStopKeyword_0_2());  
     7184            } 
     7185            match(input,28,FOLLOW_28_in_rule__Rule__Group_0__2__Impl4420); if (state.failed) return ; 
     7186            if ( state.backtracking==0 ) { 
     7187               after(grammarAccess.getRuleAccess().getFullStopKeyword_0_2());  
     7188            } 
     7189 
     7190            } 
     7191 
     7192 
     7193            } 
     7194 
     7195        } 
     7196        catch (RecognitionException re) { 
     7197            reportError(re); 
     7198            recover(input,re); 
     7199        } 
     7200        finally { 
     7201            if ( state.backtracking>0 ) { memoize(input, 125, rule__Rule__Group_0__2__Impl_StartIndex); } 
     7202 
     7203                restoreStackSize(stackSize); 
     7204 
     7205        } 
     7206        return ; 
     7207    } 
     7208    // $ANTLR end "rule__Rule__Group_0__2__Impl" 
     7209 
     7210 
     7211    // $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 ; 
     7213    public final void rule__ExtRule__Group__0() throws RecognitionException { 
     7214        int rule__ExtRule__Group__0_StartIndex = input.index(); 
     7215 
     7216                        int stackSize = keepStackSize(); 
     7217             
     7218        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); 
     7224            rule__ExtRule__Group__0__Impl(); 
     7225 
     7226            state._fsp--; 
     7227            if (state.failed) return ; 
     7228            pushFollow(FOLLOW_rule__ExtRule__Group__1_in_rule__ExtRule__Group__04460); 
     7229            rule__ExtRule__Group__1(); 
     7230 
     7231            state._fsp--; 
     7232            if (state.failed) return ; 
     7233 
     7234            } 
     7235 
     7236        } 
     7237        catch (RecognitionException re) { 
     7238            reportError(re); 
     7239            recover(input,re); 
     7240        } 
     7241        finally { 
     7242            if ( state.backtracking>0 ) { memoize(input, 126, rule__ExtRule__Group__0_StartIndex); } 
     7243 
     7244                restoreStackSize(stackSize); 
     7245 
     7246        } 
     7247        return ; 
     7248    } 
     7249    // $ANTLR end "rule__ExtRule__Group__0" 
     7250 
     7251 
     7252    // $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 )? ) ; 
     7254    public final void rule__ExtRule__Group__0__Impl() throws RecognitionException { 
     7255        int rule__ExtRule__Group__0__Impl_StartIndex = input.index(); 
     7256 
     7257                        int stackSize = keepStackSize(); 
     7258             
     7259        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 )? 
     7266            { 
     7267            if ( state.backtracking==0 ) { 
     7268               before(grammarAccess.getExtRuleAccess().getGroup_0());  
     7269            } 
     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 )? 
     7271            int alt29=2; 
     7272            int LA29_0 = input.LA(1); 
     7273 
     7274            if ( (LA29_0==RULE_INT) ) { 
     7275                alt29=1; 
     7276            } 
     7277            switch (alt29) { 
     7278                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 
     7280                    { 
     7281                    pushFollow(FOLLOW_rule__ExtRule__Group_0__0_in_rule__ExtRule__Group__0__Impl4487); 
    62257282                    rule__ExtRule__Group_0__0(); 
    62267283 
    62277284                    state._fsp--; 
    6228  
     7285                    if (state.failed) return ; 
    62297286 
    62307287                    } 
     
    62337290            } 
    62347291 
    6235              after(grammarAccess.getExtRuleAccess().getGroup_0());  
    6236  
    6237             } 
    6238  
    6239  
    6240             } 
    6241  
    6242         } 
    6243         catch (RecognitionException re) { 
    6244             reportError(re); 
    6245             recover(input,re); 
    6246         } 
    6247         finally { 
     7292            if ( state.backtracking==0 ) { 
     7293               after(grammarAccess.getExtRuleAccess().getGroup_0());  
     7294            } 
     7295 
     7296            } 
     7297 
     7298 
     7299            } 
     7300 
     7301        } 
     7302        catch (RecognitionException re) { 
     7303            reportError(re); 
     7304            recover(input,re); 
     7305        } 
     7306        finally { 
     7307            if ( state.backtracking>0 ) { memoize(input, 127, rule__ExtRule__Group__0__Impl_StartIndex); } 
    62487308 
    62497309                restoreStackSize(stackSize); 
     
    62567316 
    62577317    // $ANTLR start "rule__ExtRule__Group__1" 
    6258     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2118:1: rule__ExtRule__Group__1 : rule__ExtRule__Group__1__Impl rule__ExtRule__Group__2 ; 
     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 ; 
    62597319    public final void rule__ExtRule__Group__1() throws RecognitionException { 
    6260  
    6261                         int stackSize = keepStackSize(); 
    6262              
    6263         try { 
    6264             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2122:1: ( rule__ExtRule__Group__1__Impl rule__ExtRule__Group__2 ) 
    6265             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2123:2: rule__ExtRule__Group__1__Impl rule__ExtRule__Group__2 
    6266             { 
    6267             pushFollow(FOLLOW_rule__ExtRule__Group__1__Impl_in_rule__ExtRule__Group__14392); 
     7320        int rule__ExtRule__Group__1_StartIndex = input.index(); 
     7321 
     7322                        int stackSize = keepStackSize(); 
     7323             
     7324        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); 
    62687330            rule__ExtRule__Group__1__Impl(); 
    62697331 
    62707332            state._fsp--; 
    6271  
    6272             pushFollow(FOLLOW_rule__ExtRule__Group__2_in_rule__ExtRule__Group__14395); 
     7333            if (state.failed) return ; 
     7334            pushFollow(FOLLOW_rule__ExtRule__Group__2_in_rule__ExtRule__Group__14521); 
    62737335            rule__ExtRule__Group__2(); 
    62747336 
    62757337            state._fsp--; 
    6276  
    6277  
    6278             } 
    6279  
    6280         } 
    6281         catch (RecognitionException re) { 
    6282             reportError(re); 
    6283             recover(input,re); 
    6284         } 
    6285         finally { 
     7338            if (state.failed) return ; 
     7339 
     7340            } 
     7341 
     7342        } 
     7343        catch (RecognitionException re) { 
     7344            reportError(re); 
     7345            recover(input,re); 
     7346        } 
     7347        finally { 
     7348            if ( state.backtracking>0 ) { memoize(input, 128, rule__ExtRule__Group__1_StartIndex); } 
    62867349 
    62877350                restoreStackSize(stackSize); 
     
    62947357 
    62957358    // $ANTLR start "rule__ExtRule__Group__1__Impl" 
    6296     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2130:1: rule__ExtRule__Group__1__Impl : ( ( rule__ExtRule__NameAssignment_1 ) ) ; 
     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 ) ) ; 
    62977360    public final void rule__ExtRule__Group__1__Impl() throws RecognitionException { 
    6298  
    6299                         int stackSize = keepStackSize(); 
    6300              
    6301         try { 
    6302             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2134:1: ( ( ( rule__ExtRule__NameAssignment_1 ) ) ) 
    6303             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2135:1: ( ( rule__ExtRule__NameAssignment_1 ) ) 
    6304             { 
    6305             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2135:1: ( ( rule__ExtRule__NameAssignment_1 ) ) 
    6306             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2136:1: ( rule__ExtRule__NameAssignment_1 ) 
    6307             { 
    6308              before(grammarAccess.getExtRuleAccess().getNameAssignment_1());  
    6309             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2137:1: ( rule__ExtRule__NameAssignment_1 ) 
    6310             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2137:2: rule__ExtRule__NameAssignment_1 
    6311             { 
    6312             pushFollow(FOLLOW_rule__ExtRule__NameAssignment_1_in_rule__ExtRule__Group__1__Impl4422); 
     7361        int rule__ExtRule__Group__1__Impl_StartIndex = input.index(); 
     7362 
     7363                        int stackSize = keepStackSize(); 
     7364             
     7365        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 ) 
     7372            { 
     7373            if ( state.backtracking==0 ) { 
     7374               before(grammarAccess.getExtRuleAccess().getNameAssignment_1());  
     7375            } 
     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); 
    63137380            rule__ExtRule__NameAssignment_1(); 
    63147381 
    63157382            state._fsp--; 
    6316  
    6317  
    6318             } 
    6319  
    6320              after(grammarAccess.getExtRuleAccess().getNameAssignment_1());  
    6321  
    6322             } 
    6323  
    6324  
    6325             } 
    6326  
    6327         } 
    6328         catch (RecognitionException re) { 
    6329             reportError(re); 
    6330             recover(input,re); 
    6331         } 
    6332         finally { 
     7383            if (state.failed) return ; 
     7384 
     7385            } 
     7386 
     7387            if ( state.backtracking==0 ) { 
     7388               after(grammarAccess.getExtRuleAccess().getNameAssignment_1());  
     7389            } 
     7390 
     7391            } 
     7392 
     7393 
     7394            } 
     7395 
     7396        } 
     7397        catch (RecognitionException re) { 
     7398            reportError(re); 
     7399            recover(input,re); 
     7400        } 
     7401        finally { 
     7402            if ( state.backtracking>0 ) { memoize(input, 129, rule__ExtRule__Group__1__Impl_StartIndex); } 
    63337403 
    63347404                restoreStackSize(stackSize); 
     
    63417411 
    63427412    // $ANTLR start "rule__ExtRule__Group__2" 
    6343     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2147:1: rule__ExtRule__Group__2 : rule__ExtRule__Group__2__Impl rule__ExtRule__Group__3 ; 
     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 ; 
    63447414    public final void rule__ExtRule__Group__2() throws RecognitionException { 
    6345  
    6346                         int stackSize = keepStackSize(); 
    6347              
    6348         try { 
    6349             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2151:1: ( rule__ExtRule__Group__2__Impl rule__ExtRule__Group__3 ) 
    6350             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2152:2: rule__ExtRule__Group__2__Impl rule__ExtRule__Group__3 
    6351             { 
    6352             pushFollow(FOLLOW_rule__ExtRule__Group__2__Impl_in_rule__ExtRule__Group__24452); 
     7415        int rule__ExtRule__Group__2_StartIndex = input.index(); 
     7416 
     7417                        int stackSize = keepStackSize(); 
     7418             
     7419        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); 
    63537425            rule__ExtRule__Group__2__Impl(); 
    63547426 
    63557427            state._fsp--; 
    6356  
    6357             pushFollow(FOLLOW_rule__ExtRule__Group__3_in_rule__ExtRule__Group__24455); 
     7428            if (state.failed) return ; 
     7429            pushFollow(FOLLOW_rule__ExtRule__Group__3_in_rule__ExtRule__Group__24581); 
    63587430            rule__ExtRule__Group__3(); 
    63597431 
    63607432            state._fsp--; 
    6361  
    6362  
    6363             } 
    6364  
    6365         } 
    6366         catch (RecognitionException re) { 
    6367             reportError(re); 
    6368             recover(input,re); 
    6369         } 
    6370         finally { 
     7433            if (state.failed) return ; 
     7434 
     7435            } 
     7436 
     7437        } 
     7438        catch (RecognitionException re) { 
     7439            reportError(re); 
     7440            recover(input,re); 
     7441        } 
     7442        finally { 
     7443            if ( state.backtracking>0 ) { memoize(input, 130, rule__ExtRule__Group__2_StartIndex); } 
    63717444 
    63727445                restoreStackSize(stackSize); 
     
    63797452 
    63807453    // $ANTLR start "rule__ExtRule__Group__2__Impl" 
    6381     // ../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__2__Impl : ( ( rule__ExtRule__Group_2__0 ) ) ; 
     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 ) ) ; 
    63827455    public final void rule__ExtRule__Group__2__Impl() throws RecognitionException { 
    6383  
    6384                         int stackSize = keepStackSize(); 
    6385              
    6386         try { 
    6387             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2163:1: ( ( ( rule__ExtRule__Group_2__0 ) ) ) 
    6388             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2164:1: ( ( rule__ExtRule__Group_2__0 ) ) 
    6389             { 
    6390             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2164:1: ( ( rule__ExtRule__Group_2__0 ) ) 
    6391             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2165:1: ( rule__ExtRule__Group_2__0 ) 
    6392             { 
    6393              before(grammarAccess.getExtRuleAccess().getGroup_2());  
    6394             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2166:1: ( rule__ExtRule__Group_2__0 ) 
    6395             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2166:2: rule__ExtRule__Group_2__0 
    6396             { 
    6397             pushFollow(FOLLOW_rule__ExtRule__Group_2__0_in_rule__ExtRule__Group__2__Impl4482); 
     7456        int rule__ExtRule__Group__2__Impl_StartIndex = input.index(); 
     7457 
     7458                        int stackSize = keepStackSize(); 
     7459             
     7460        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 ) 
     7467            { 
     7468            if ( state.backtracking==0 ) { 
     7469               before(grammarAccess.getExtRuleAccess().getGroup_2());  
     7470            } 
     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); 
    63987475            rule__ExtRule__Group_2__0(); 
    63997476 
    64007477            state._fsp--; 
    6401  
    6402  
    6403             } 
    6404  
    6405              after(grammarAccess.getExtRuleAccess().getGroup_2());  
    6406  
    6407             } 
    6408  
    6409  
    6410             } 
    6411  
    6412         } 
    6413         catch (RecognitionException re) { 
    6414             reportError(re); 
    6415             recover(input,re); 
    6416         } 
    6417         finally { 
     7478            if (state.failed) return ; 
     7479 
     7480            } 
     7481 
     7482            if ( state.backtracking==0 ) { 
     7483               after(grammarAccess.getExtRuleAccess().getGroup_2());  
     7484            } 
     7485 
     7486            } 
     7487 
     7488 
     7489            } 
     7490 
     7491        } 
     7492        catch (RecognitionException re) { 
     7493            reportError(re); 
     7494            recover(input,re); 
     7495        } 
     7496        finally { 
     7497            if ( state.backtracking>0 ) { memoize(input, 131, rule__ExtRule__Group__2__Impl_StartIndex); } 
    64187498 
    64197499                restoreStackSize(stackSize); 
     
    64267506 
    64277507    // $ANTLR start "rule__ExtRule__Group__3" 
    6428     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2176:1: rule__ExtRule__Group__3 : rule__ExtRule__Group__3__Impl rule__ExtRule__Group__4 ; 
     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 ; 
    64297509    public final void rule__ExtRule__Group__3() throws RecognitionException { 
    6430  
    6431                         int stackSize = keepStackSize(); 
    6432              
    6433         try { 
    6434             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2180:1: ( rule__ExtRule__Group__3__Impl rule__ExtRule__Group__4 ) 
    6435             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2181:2: rule__ExtRule__Group__3__Impl rule__ExtRule__Group__4 
    6436             { 
    6437             pushFollow(FOLLOW_rule__ExtRule__Group__3__Impl_in_rule__ExtRule__Group__34512); 
     7510        int rule__ExtRule__Group__3_StartIndex = input.index(); 
     7511 
     7512                        int stackSize = keepStackSize(); 
     7513             
     7514        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); 
    64387520            rule__ExtRule__Group__3__Impl(); 
    64397521 
    64407522            state._fsp--; 
    6441  
    6442             pushFollow(FOLLOW_rule__ExtRule__Group__4_in_rule__ExtRule__Group__34515); 
     7523            if (state.failed) return ; 
     7524            pushFollow(FOLLOW_rule__ExtRule__Group__4_in_rule__ExtRule__Group__34641); 
    64437525            rule__ExtRule__Group__4(); 
    64447526 
    64457527            state._fsp--; 
    6446  
    6447  
    6448             } 
    6449  
    6450         } 
    6451         catch (RecognitionException re) { 
    6452             reportError(re); 
    6453             recover(input,re); 
    6454         } 
    6455         finally { 
     7528            if (state.failed) return ; 
     7529 
     7530            } 
     7531 
     7532        } 
     7533        catch (RecognitionException re) { 
     7534            reportError(re); 
     7535            recover(input,re); 
     7536        } 
     7537        finally { 
     7538            if ( state.backtracking>0 ) { memoize(input, 132, rule__ExtRule__Group__3_StartIndex); } 
    64567539 
    64577540                restoreStackSize(stackSize); 
     
    64647547 
    64657548    // $ANTLR start "rule__ExtRule__Group__3__Impl" 
    6466     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2188:1: 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 : ( '<-' ) ; 
    64677550    public final void rule__ExtRule__Group__3__Impl() throws RecognitionException { 
    6468  
    6469                         int stackSize = keepStackSize(); 
    6470              
    6471         try { 
    6472             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2192:1: ( ( '<-' ) ) 
    6473             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2193:1: ( '<-' ) 
    6474             { 
    6475             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2193:1: ( '<-' ) 
    6476             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2194:1: '<-' 
    6477             { 
    6478              before(grammarAccess.getExtRuleAccess().getLessThanSignHyphenMinusKeyword_3());  
    6479             match(input,29,FOLLOW_29_in_rule__ExtRule__Group__3__Impl4543);  
    6480              after(grammarAccess.getExtRuleAccess().getLessThanSignHyphenMinusKeyword_3());  
    6481  
    6482             } 
    6483  
    6484  
    6485             } 
    6486  
    6487         } 
    6488         catch (RecognitionException re) { 
    6489             reportError(re); 
    6490             recover(input,re); 
    6491         } 
    6492         finally { 
     7551        int rule__ExtRule__Group__3__Impl_StartIndex = input.index(); 
     7552 
     7553                        int stackSize = keepStackSize(); 
     7554             
     7555        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: '<-' 
     7562            { 
     7563            if ( state.backtracking==0 ) { 
     7564               before(grammarAccess.getExtRuleAccess().getLessThanSignHyphenMinusKeyword_3());  
     7565            } 
     7566            match(input,29,FOLLOW_29_in_rule__ExtRule__Group__3__Impl4669); if (state.failed) return ; 
     7567            if ( state.backtracking==0 ) { 
     7568               after(grammarAccess.getExtRuleAccess().getLessThanSignHyphenMinusKeyword_3());  
     7569            } 
     7570 
     7571            } 
     7572 
     7573 
     7574            } 
     7575 
     7576        } 
     7577        catch (RecognitionException re) { 
     7578            reportError(re); 
     7579            recover(input,re); 
     7580        } 
     7581        finally { 
     7582            if ( state.backtracking>0 ) { memoize(input, 133, rule__ExtRule__Group__3__Impl_StartIndex); } 
    64937583 
    64947584                restoreStackSize(stackSize); 
     
    65017591 
    65027592    // $ANTLR start "rule__ExtRule__Group__4" 
    6503     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2207:1: rule__ExtRule__Group__4 : rule__ExtRule__Group__4__Impl rule__ExtRule__Group__5 ; 
     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 ; 
    65047594    public final void rule__ExtRule__Group__4() throws RecognitionException { 
    6505  
    6506                         int stackSize = keepStackSize(); 
    6507              
    6508         try { 
    6509             // ../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__4__Impl rule__ExtRule__Group__5 ) 
    6510             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2212:2: rule__ExtRule__Group__4__Impl rule__ExtRule__Group__5 
    6511             { 
    6512             pushFollow(FOLLOW_rule__ExtRule__Group__4__Impl_in_rule__ExtRule__Group__44574); 
     7595        int rule__ExtRule__Group__4_StartIndex = input.index(); 
     7596 
     7597                        int stackSize = keepStackSize(); 
     7598             
     7599        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); 
    65137605            rule__ExtRule__Group__4__Impl(); 
    65147606 
    65157607            state._fsp--; 
    6516  
    6517             pushFollow(FOLLOW_rule__ExtRule__Group__5_in_rule__ExtRule__Group__44577); 
     7608            if (state.failed) return ; 
     7609            pushFollow(FOLLOW_rule__ExtRule__Group__5_in_rule__ExtRule__Group__44703); 
    65187610            rule__ExtRule__Group__5(); 
    65197611 
    65207612            state._fsp--; 
    6521  
    6522  
    6523             } 
    6524  
    6525         } 
    6526         catch (RecognitionException re) { 
    6527             reportError(re); 
    6528             recover(input,re); 
    6529         } 
    6530         finally { 
     7613            if (state.failed) return ; 
     7614 
     7615            } 
     7616 
     7617        } 
     7618        catch (RecognitionException re) { 
     7619            reportError(re); 
     7620            recover(input,re); 
     7621        } 
     7622        finally { 
     7623            if ( state.backtracking>0 ) { memoize(input, 134, rule__ExtRule__Group__4_StartIndex); } 
    65317624 
    65327625                restoreStackSize(stackSize); 
     
    65397632 
    65407633    // $ANTLR start "rule__ExtRule__Group__4__Impl" 
    6541     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2219:1: rule__ExtRule__Group__4__Impl : ( ( rule__ExtRule__Alternatives_4 )* ) ; 
     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 )* ) ; 
    65427635    public final void rule__ExtRule__Group__4__Impl() throws RecognitionException { 
    6543  
    6544                         int stackSize = keepStackSize(); 
    6545              
    6546         try { 
    6547             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2223:1: ( ( ( rule__ExtRule__Alternatives_4 )* ) ) 
    6548             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2224:1: ( ( rule__ExtRule__Alternatives_4 )* ) 
    6549             { 
    6550             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2224:1: ( ( rule__ExtRule__Alternatives_4 )* ) 
    6551             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2225:1: ( rule__ExtRule__Alternatives_4 )* 
    6552             { 
    6553              before(grammarAccess.getExtRuleAccess().getAlternatives_4());  
    6554             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2226:1: ( rule__ExtRule__Alternatives_4 )* 
    6555             loop27: 
     7636        int rule__ExtRule__Group__4__Impl_StartIndex = input.index(); 
     7637 
     7638                        int stackSize = keepStackSize(); 
     7639             
     7640        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 )* 
     7647            { 
     7648            if ( state.backtracking==0 ) { 
     7649               before(grammarAccess.getExtRuleAccess().getAlternatives_4());  
     7650            } 
     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 )* 
     7652            loop30: 
    65567653            do { 
    6557                 int alt27=2; 
    6558                 int LA27_0 = input.LA(1); 
    6559  
    6560                 if ( (LA27_0==RULE_ID) ) { 
    6561                     int LA27_2 = input.LA(2); 
    6562  
    6563                     if ( (LA27_2==EOF||(LA27_2>=RULE_ID && LA27_2<=RULE_INT)||LA27_2==RULE_COLON||(LA27_2>=13 && LA27_2<=16)||(LA27_2>=18 && LA27_2<=21)||LA27_2==23) ) { 
    6564                         alt27=1; 
    6565                     } 
    6566                     else if ( (LA27_2==17) ) { 
    6567                         int LA27_4 = input.LA(3); 
    6568  
    6569                         if ( (LA27_4==RULE_INT) ) { 
    6570                             int LA27_5 = input.LA(4); 
    6571  
    6572                             if ( (LA27_5==RULE_ID||LA27_5==28) ) { 
    6573                                 alt27=1; 
     7654                int alt30=2; 
     7655                int LA30_0 = input.LA(1); 
     7656 
     7657                if ( (LA30_0==RULE_ID) ) { 
     7658                    int LA30_2 = input.LA(2); 
     7659 
     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) ) { 
     7661                        alt30=1; 
     7662                    } 
     7663                    else if ( (LA30_2==17) ) { 
     7664                        int LA30_4 = input.LA(3); 
     7665 
     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) ) { 
     7670                            int LA30_5 = input.LA(4); 
     7671 
     7672                            if ( (LA30_5==RULE_ID||LA30_5==28) ) { 
     7673                                alt30=1; 
    65747674                            } 
    65757675 
    65767676 
    65777677                        } 
    6578                         else if ( (LA27_4==EOF||(LA27_4>=RULE_ID && LA27_4<=RULE_STRING)||LA27_4==RULE_COLON||(LA27_4>=13 && LA27_4<=21)||LA27_4==23) ) { 
    6579                             alt27=1; 
    6580                         } 
    65817678 
    65827679 
     
    65857682 
    65867683                } 
    6587                 else if ( (LA27_0==RULE_STRING||LA27_0==RULE_COLON||(LA27_0>=13 && LA27_0<=21)) ) { 
    6588                     alt27=1; 
     7684                else if ( (LA30_0==RULE_STRING||LA30_0==RULE_COLON||(LA30_0>=13 && LA30_0<=21)) ) { 
     7685                    alt30=1; 
    65897686                } 
    65907687 
    65917688 
    6592                 switch (alt27) { 
     7689                switch (alt30) { 
    65937690                case 1 : 
    6594                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2226:2: rule__ExtRule__Alternatives_4 
     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 
    65957692                    { 
    6596                     pushFollow(FOLLOW_rule__ExtRule__Alternatives_4_in_rule__ExtRule__Group__4__Impl4604); 
     7693                    pushFollow(FOLLOW_rule__ExtRule__Alternatives_4_in_rule__ExtRule__Group__4__Impl4730); 
    65977694                    rule__ExtRule__Alternatives_4(); 
    65987695 
    65997696                    state._fsp--; 
    6600  
     7697                    if (state.failed) return ; 
    66017698 
    66027699                    } 
     
    66047701 
    66057702                default : 
    6606                     break loop27; 
     7703                    break loop30; 
    66077704                } 
    66087705            } while (true); 
    66097706 
    6610              after(grammarAccess.getExtRuleAccess().getAlternatives_4());  
    6611  
    6612             } 
    6613  
    6614  
    6615             } 
    6616  
    6617         } 
    6618         catch (RecognitionException re) { 
    6619             reportError(re); 
    6620             recover(input,re); 
    6621         } 
    6622         finally { 
     7707            if ( state.backtracking==0 ) { 
     7708               after(grammarAccess.getExtRuleAccess().getAlternatives_4());  
     7709            } 
     7710 
     7711            } 
     7712 
     7713 
     7714            } 
     7715 
     7716        } 
     7717        catch (RecognitionException re) { 
     7718            reportError(re); 
     7719            recover(input,re); 
     7720        } 
     7721        finally { 
     7722            if ( state.backtracking>0 ) { memoize(input, 135, rule__ExtRule__Group__4__Impl_StartIndex); } 
    66237723 
    66247724                restoreStackSize(stackSize); 
     
    66317731 
    66327732    // $ANTLR start "rule__ExtRule__Group__5" 
    6633     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2236:1: rule__ExtRule__Group__5 : rule__ExtRule__Group__5__Impl ; 
     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 ; 
    66347734    public final void rule__ExtRule__Group__5() throws RecognitionException { 
    6635  
    6636                         int stackSize = keepStackSize(); 
    6637              
    6638         try { 
    6639             // ../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__5__Impl ) 
    6640             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2241:2: rule__ExtRule__Group__5__Impl 
    6641             { 
    6642             pushFollow(FOLLOW_rule__ExtRule__Group__5__Impl_in_rule__ExtRule__Group__54635); 
     7735        int rule__ExtRule__Group__5_StartIndex = input.index(); 
     7736 
     7737                        int stackSize = keepStackSize(); 
     7738             
     7739        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); 
    66437745            rule__ExtRule__Group__5__Impl(); 
    66447746 
    66457747            state._fsp--; 
    6646  
    6647  
    6648             } 
    6649  
    6650         } 
    6651         catch (RecognitionException re) { 
    6652             reportError(re); 
    6653             recover(input,re); 
    6654         } 
    6655         finally { 
     7748            if (state.failed) return ; 
     7749 
     7750            } 
     7751 
     7752        } 
     7753        catch (RecognitionException re) { 
     7754            reportError(re); 
     7755            recover(input,re); 
     7756        } 
     7757        finally { 
     7758            if ( state.backtracking>0 ) { memoize(input, 136, rule__ExtRule__Group__5_StartIndex); } 
    66567759 
    66577760                restoreStackSize(stackSize); 
     
    66647767 
    66657768    // $ANTLR start "rule__ExtRule__Group__5__Impl" 
    6666     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2247:1: 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 : ( ( ';' )? ) ; 
    66677770    public final void rule__ExtRule__Group__5__Impl() throws RecognitionException { 
    6668  
    6669                         int stackSize = keepStackSize(); 
    6670              
    6671         try { 
    6672             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2251:1: ( ( ( ';' )? ) ) 
    6673             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2252:1: ( ( ';' )? ) 
    6674             { 
    6675             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2252:1: ( ( ';' )? ) 
    6676             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2253:1: ( ';' )? 
    6677             { 
    6678              before(grammarAccess.getExtRuleAccess().getSemicolonKeyword_5());  
    6679             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2254:1: ( ';' )? 
    6680             int alt28=2; 
    6681             int LA28_0 = input.LA(1); 
    6682  
    6683             if ( (LA28_0==23) ) { 
    6684                 alt28=1; 
    6685             } 
    6686             switch (alt28) { 
     7771        int rule__ExtRule__Group__5__Impl_StartIndex = input.index(); 
     7772 
     7773                        int stackSize = keepStackSize(); 
     7774             
     7775        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: ( ';' )? 
     7782            { 
     7783            if ( state.backtracking==0 ) { 
     7784               before(grammarAccess.getExtRuleAccess().getSemicolonKeyword_5());  
     7785            } 
     7786            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2306:1: ( ';' )? 
     7787            int alt31=2; 
     7788            int LA31_0 = input.LA(1); 
     7789 
     7790            if ( (LA31_0==23) ) { 
     7791                alt31=1; 
     7792            } 
     7793            switch (alt31) { 
    66877794                case 1 : 
    6688                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2255:2: ';' 
     7795                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2307:2: ';' 
    66897796                    { 
    6690                     match(input,23,FOLLOW_23_in_rule__ExtRule__Group__5__Impl4664);  
     7797                    match(input,23,FOLLOW_23_in_rule__ExtRule__Group__5__Impl4790); if (state.failed) return ; 
    66917798 
    66927799                    } 
     
    66957802            } 
    66967803 
    6697              after(grammarAccess.getExtRuleAccess().getSemicolonKeyword_5());  
    6698  
    6699             } 
    6700  
    6701  
    6702             } 
    6703  
    6704         } 
    6705         catch (RecognitionException re) { 
    6706             reportError(re); 
    6707             recover(input,re); 
    6708         } 
    6709         finally { 
     7804            if ( state.backtracking==0 ) { 
     7805               after(grammarAccess.getExtRuleAccess().getSemicolonKeyword_5());  
     7806            } 
     7807 
     7808            } 
     7809 
     7810 
     7811            } 
     7812 
     7813        } 
     7814        catch (RecognitionException re) { 
     7815            reportError(re); 
     7816            recover(input,re); 
     7817        } 
     7818        finally { 
     7819            if ( state.backtracking>0 ) { memoize(input, 137, rule__ExtRule__Group__5__Impl_StartIndex); } 
    67107820 
    67117821                restoreStackSize(stackSize); 
     
    67187828 
    67197829    // $ANTLR start "rule__ExtRule__Group_0__0" 
    6720     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2278:1: rule__ExtRule__Group_0__0 : rule__ExtRule__Group_0__0__Impl rule__ExtRule__Group_0__1 ; 
     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 ; 
    67217831    public final void rule__ExtRule__Group_0__0() throws RecognitionException { 
    6722  
    6723                         int stackSize = keepStackSize(); 
    6724              
    6725         try { 
    6726             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2282:1: ( rule__ExtRule__Group_0__0__Impl rule__ExtRule__Group_0__1 ) 
    6727             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2283:2: rule__ExtRule__Group_0__0__Impl rule__ExtRule__Group_0__1 
    6728             { 
    6729             pushFollow(FOLLOW_rule__ExtRule__Group_0__0__Impl_in_rule__ExtRule__Group_0__04709); 
     7832        int rule__ExtRule__Group_0__0_StartIndex = input.index(); 
     7833 
     7834                        int stackSize = keepStackSize(); 
     7835             
     7836        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); 
    67307842            rule__ExtRule__Group_0__0__Impl(); 
    67317843 
    67327844            state._fsp--; 
    6733  
    6734             pushFollow(FOLLOW_rule__ExtRule__Group_0__1_in_rule__ExtRule__Group_0__04712); 
     7845            if (state.failed) return ; 
     7846            pushFollow(FOLLOW_rule__ExtRule__Group_0__1_in_rule__ExtRule__Group_0__04838); 
    67357847            rule__ExtRule__Group_0__1(); 
    67367848 
    67377849            state._fsp--; 
    6738  
    6739  
    6740             } 
    6741  
    6742         } 
    6743         catch (RecognitionException re) { 
    6744             reportError(re); 
    6745             recover(input,re); 
    6746         } 
    6747         finally { 
     7850            if (state.failed) return ; 
     7851 
     7852            } 
     7853 
     7854        } 
     7855        catch (RecognitionException re) { 
     7856            reportError(re); 
     7857            recover(input,re); 
     7858        } 
     7859        finally { 
     7860            if ( state.backtracking>0 ) { memoize(input, 138, rule__ExtRule__Group_0__0_StartIndex); } 
    67487861 
    67497862                restoreStackSize(stackSize); 
     
    67567869 
    67577870    // $ANTLR start "rule__ExtRule__Group_0__0__Impl" 
    6758     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2290:1: rule__ExtRule__Group_0__0__Impl : ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) ; 
     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 ) ) ; 
    67597872    public final void rule__ExtRule__Group_0__0__Impl() throws RecognitionException { 
    6760  
    6761                         int stackSize = keepStackSize(); 
    6762              
    6763         try { 
    6764             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2294:1: ( ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) ) 
    6765             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2295:1: ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) 
    6766             { 
    6767             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2295:1: ( ( rule__ExtRule__RulenumberAssignment_0_0 ) ) 
    6768             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2296:1: ( rule__ExtRule__RulenumberAssignment_0_0 ) 
    6769             { 
    6770              before(grammarAccess.getExtRuleAccess().getRulenumberAssignment_0_0());  
    6771             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2297:1: ( rule__ExtRule__RulenumberAssignment_0_0 ) 
    6772             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2297:2: rule__ExtRule__RulenumberAssignment_0_0 
    6773             { 
    6774             pushFollow(FOLLOW_rule__ExtRule__RulenumberAssignment_0_0_in_rule__ExtRule__Group_0__0__Impl4739); 
     7873        int rule__ExtRule__Group_0__0__Impl_StartIndex = input.index(); 
     7874 
     7875                        int stackSize = keepStackSize(); 
     7876             
     7877        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 ) 
     7884            { 
     7885            if ( state.backtracking==0 ) { 
     7886               before(grammarAccess.getExtRuleAccess().getRulenumberAssignment_0_0());  
     7887            } 
     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); 
    67757892            rule__ExtRule__RulenumberAssignment_0_0(); 
    67767893 
    67777894            state._fsp--; 
    6778  
    6779  
    6780             } 
    6781  
    6782              after(grammarAccess.getExtRuleAccess().getRulenumberAssignment_0_0());  
    6783  
    6784             } 
    6785  
    6786  
    6787             } 
    6788  
    6789         } 
    6790         catch (RecognitionException re) { 
    6791             reportError(re); 
    6792             recover(input,re); 
    6793         } 
    6794         finally { 
     7895            if (state.failed) return ; 
     7896 
     7897            } 
     7898 
     7899            if ( state.backtracking==0 ) { 
     7900               after(grammarAccess.getExtRuleAccess().getRulenumberAssignment_0_0());  
     7901            } 
     7902 
     7903            } 
     7904 
     7905 
     7906            } 
     7907 
     7908        } 
     7909        catch (RecognitionException re) { 
     7910            reportError(re); 
     7911            recover(input,re); 
     7912        } 
     7913        finally { 
     7914            if ( state.backtracking>0 ) { memoize(input, 139, rule__ExtRule__Group_0__0__Impl_StartIndex); } 
    67957915 
    67967916                restoreStackSize(stackSize); 
     
    68037923 
    68047924    // $ANTLR start "rule__ExtRule__Group_0__1" 
    6805     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2307:1: rule__ExtRule__Group_0__1 : rule__ExtRule__Group_0__1__Impl rule__ExtRule__Group_0__2 ; 
     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 ; 
    68067926    public final void rule__ExtRule__Group_0__1() throws RecognitionException { 
    6807  
    6808                         int stackSize = keepStackSize(); 
    6809              
    6810         try { 
    6811             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2311:1: ( rule__ExtRule__Group_0__1__Impl rule__ExtRule__Group_0__2 ) 
    6812             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2312:2: rule__ExtRule__Group_0__1__Impl rule__ExtRule__Group_0__2 
    6813             { 
    6814             pushFollow(FOLLOW_rule__ExtRule__Group_0__1__Impl_in_rule__ExtRule__Group_0__14769); 
     7927        int rule__ExtRule__Group_0__1_StartIndex = input.index(); 
     7928 
     7929                        int stackSize = keepStackSize(); 
     7930             
     7931        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); 
    68157937            rule__ExtRule__Group_0__1__Impl(); 
    68167938 
    68177939            state._fsp--; 
    6818  
    6819             pushFollow(FOLLOW_rule__ExtRule__Group_0__2_in_rule__ExtRule__Group_0__14772); 
     7940            if (state.failed) return ; 
     7941            pushFollow(FOLLOW_rule__ExtRule__Group_0__2_in_rule__ExtRule__Group_0__14898); 
    68207942            rule__ExtRule__Group_0__2(); 
    68217943 
    68227944            state._fsp--; 
    6823  
    6824  
    6825             } 
    6826  
    6827         } 
    6828         catch (RecognitionException re) { 
    6829             reportError(re); 
    6830             recover(input,re); 
    6831         } 
    6832         finally { 
     7945            if (state.failed) return ; 
     7946 
     7947            } 
     7948 
     7949        } 
     7950        catch (RecognitionException re) { 
     7951            reportError(re); 
     7952            recover(input,re); 
     7953        } 
     7954        finally { 
     7955            if ( state.backtracking>0 ) { memoize(input, 140, rule__ExtRule__Group_0__1_StartIndex); } 
    68337956 
    68347957                restoreStackSize(stackSize); 
     
    68417964 
    68427965    // $ANTLR start "rule__ExtRule__Group_0__1__Impl" 
    6843     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2319:1: rule__ExtRule__Group_0__1__Impl : ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) ; 
     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 )? ) ; 
    68447967    public final void rule__ExtRule__Group_0__1__Impl() throws RecognitionException { 
    6845  
    6846                         int stackSize = keepStackSize(); 
    6847              
    6848         try { 
    6849             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2323:1: ( ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) ) 
    6850             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2324:1: ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) 
    6851             { 
    6852             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2324:1: ( ( rule__ExtRule__RulevariantAssignment_0_1 )? ) 
    6853             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2325:1: ( rule__ExtRule__RulevariantAssignment_0_1 )? 
    6854             { 
    6855              before(grammarAccess.getExtRuleAccess().getRulevariantAssignment_0_1());  
    6856             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2326:1: ( rule__ExtRule__RulevariantAssignment_0_1 )? 
    6857             int alt29=2; 
    6858             int LA29_0 = input.LA(1); 
    6859  
    6860             if ( (LA29_0==RULE_ID) ) { 
    6861                 alt29=1; 
    6862             } 
    6863             switch (alt29) { 
    6864                 case 1 : 
    6865                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2326:2: rule__ExtRule__RulevariantAssignment_0_1 
    6866                     { 
    6867                     pushFollow(FOLLOW_rule__ExtRule__RulevariantAssignment_0_1_in_rule__ExtRule__Group_0__1__Impl4799); 
    6868                     rule__ExtRule__RulevariantAssignment_0_1(); 
    6869  
    6870                     state._fsp--; 
    6871  
    6872  
    6873                     } 
    6874                     break; 
    6875  
    6876             } 
    6877  
    6878              after(grammarAccess.getExtRuleAccess().getRulevariantAssignment_0_1());  
    6879  
    6880             } 
    6881  
    6882  
    6883             } 
    6884  
    6885         } 
    6886         catch (RecognitionException re) { 
    6887             reportError(re); 
    6888             recover(input,re); 
    6889         } 
    6890         finally { 
    6891  
    6892                 restoreStackSize(stackSize); 
    6893  
    6894         } 
    6895         return ; 
    6896     } 
    6897     // $ANTLR end "rule__ExtRule__Group_0__1__Impl" 
    6898  
    6899  
    6900     // $ANTLR start "rule__ExtRule__Group_0__2" 
    6901     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2336:1: rule__ExtRule__Group_0__2 : rule__ExtRule__Group_0__2__Impl ; 
    6902     public final void rule__ExtRule__Group_0__2() throws RecognitionException { 
    6903  
    6904                         int stackSize = keepStackSize(); 
    6905              
    6906         try { 
    6907             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2340:1: ( rule__ExtRule__Group_0__2__Impl ) 
    6908             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2341:2: rule__ExtRule__Group_0__2__Impl 
    6909             { 
    6910             pushFollow(FOLLOW_rule__ExtRule__Group_0__2__Impl_in_rule__ExtRule__Group_0__24830); 
    6911             rule__ExtRule__Group_0__2__Impl(); 
    6912  
    6913             state._fsp--; 
    6914  
    6915  
    6916             } 
    6917  
    6918         } 
    6919         catch (RecognitionException re) { 
    6920             reportError(re); 
    6921             recover(input,re); 
    6922         } 
    6923         finally { 
    6924  
    6925                 restoreStackSize(stackSize); 
    6926  
    6927         } 
    6928         return ; 
    6929     } 
    6930     // $ANTLR end "rule__ExtRule__Group_0__2" 
    6931  
    6932  
    6933     // $ANTLR start "rule__ExtRule__Group_0__2__Impl" 
    6934     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2347:1: rule__ExtRule__Group_0__2__Impl : ( '.' ) ; 
    6935     public final void rule__ExtRule__Group_0__2__Impl() throws RecognitionException { 
    6936  
    6937                         int stackSize = keepStackSize(); 
    6938              
    6939         try { 
    6940             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2351:1: ( ( '.' ) ) 
    6941             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2352:1: ( '.' ) 
    6942             { 
    6943             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2352:1: ( '.' ) 
    6944             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2353:1: '.' 
    6945             { 
    6946              before(grammarAccess.getExtRuleAccess().getFullStopKeyword_0_2());  
    6947             match(input,28,FOLLOW_28_in_rule__ExtRule__Group_0__2__Impl4858);  
    6948              after(grammarAccess.getExtRuleAccess().getFullStopKeyword_0_2());  
    6949  
    6950             } 
    6951  
    6952  
    6953             } 
    6954  
    6955         } 
    6956         catch (RecognitionException re) { 
    6957             reportError(re); 
    6958             recover(input,re); 
    6959         } 
    6960         finally { 
    6961  
    6962                 restoreStackSize(stackSize); 
    6963  
    6964         } 
    6965         return ; 
    6966     } 
    6967     // $ANTLR end "rule__ExtRule__Group_0__2__Impl" 
    6968  
    6969  
    6970     // $ANTLR start "rule__ExtRule__Group_2__0" 
    6971     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2372:1: rule__ExtRule__Group_2__0 : rule__ExtRule__Group_2__0__Impl rule__ExtRule__Group_2__1 ; 
    6972     public final void rule__ExtRule__Group_2__0() throws RecognitionException { 
    6973  
    6974                         int stackSize = keepStackSize(); 
    6975              
    6976         try { 
    6977             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2376:1: ( rule__ExtRule__Group_2__0__Impl rule__ExtRule__Group_2__1 ) 
    6978             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2377:2: rule__ExtRule__Group_2__0__Impl rule__ExtRule__Group_2__1 
    6979             { 
    6980             pushFollow(FOLLOW_rule__ExtRule__Group_2__0__Impl_in_rule__ExtRule__Group_2__04895); 
    6981             rule__ExtRule__Group_2__0__Impl(); 
    6982  
    6983             state._fsp--; 
    6984  
    6985             pushFollow(FOLLOW_rule__ExtRule__Group_2__1_in_rule__ExtRule__Group_2__04898); 
    6986             rule__ExtRule__Group_2__1(); 
    6987  
    6988             state._fsp--; 
    6989  
    6990  
    6991             } 
    6992  
    6993         } 
    6994         catch (RecognitionException re) { 
    6995             reportError(re); 
    6996             recover(input,re); 
    6997         } 
    6998         finally { 
    6999  
    7000                 restoreStackSize(stackSize); 
    7001  
    7002         } 
    7003         return ; 
    7004     } 
    7005     // $ANTLR end "rule__ExtRule__Group_2__0" 
    7006  
    7007  
    7008     // $ANTLR start "rule__ExtRule__Group_2__0__Impl" 
    7009     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2384:1: rule__ExtRule__Group_2__0__Impl : ( '(' ) ; 
    7010     public final void rule__ExtRule__Group_2__0__Impl() throws RecognitionException { 
    7011  
    7012                         int stackSize = keepStackSize(); 
    7013              
    7014         try { 
    7015             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2388:1: ( ( '(' ) ) 
    7016             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2389:1: ( '(' ) 
    7017             { 
    7018             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2389:1: ( '(' ) 
    7019             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2390:1: '(' 
    7020             { 
    7021              before(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_2_0());  
    7022             match(input,17,FOLLOW_17_in_rule__ExtRule__Group_2__0__Impl4926);  
    7023              after(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_2_0());  
    7024  
    7025             } 
    7026  
    7027  
    7028             } 
    7029  
    7030         } 
    7031         catch (RecognitionException re) { 
    7032             reportError(re); 
    7033             recover(input,re); 
    7034         } 
    7035         finally { 
    7036  
    7037                 restoreStackSize(stackSize); 
    7038  
    7039         } 
    7040         return ; 
    7041     } 
    7042     // $ANTLR end "rule__ExtRule__Group_2__0__Impl" 
    7043  
    7044  
    7045     // $ANTLR start "rule__ExtRule__Group_2__1" 
    7046     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2403:1: rule__ExtRule__Group_2__1 : rule__ExtRule__Group_2__1__Impl rule__ExtRule__Group_2__2 ; 
    7047     public final void rule__ExtRule__Group_2__1() throws RecognitionException { 
    7048  
    7049                         int stackSize = keepStackSize(); 
    7050              
    7051         try { 
    7052             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2407:1: ( rule__ExtRule__Group_2__1__Impl rule__ExtRule__Group_2__2 ) 
    7053             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2408:2: rule__ExtRule__Group_2__1__Impl rule__ExtRule__Group_2__2 
    7054             { 
    7055             pushFollow(FOLLOW_rule__ExtRule__Group_2__1__Impl_in_rule__ExtRule__Group_2__14957); 
    7056             rule__ExtRule__Group_2__1__Impl(); 
    7057  
    7058             state._fsp--; 
    7059  
    7060             pushFollow(FOLLOW_rule__ExtRule__Group_2__2_in_rule__ExtRule__Group_2__14960); 
    7061             rule__ExtRule__Group_2__2(); 
    7062  
    7063             state._fsp--; 
    7064  
    7065  
    7066             } 
    7067  
    7068         } 
    7069         catch (RecognitionException re) { 
    7070             reportError(re); 
    7071             recover(input,re); 
    7072         } 
    7073         finally { 
    7074  
    7075                 restoreStackSize(stackSize); 
    7076  
    7077         } 
    7078         return ; 
    7079     } 
    7080     // $ANTLR end "rule__ExtRule__Group_2__1" 
    7081  
    7082  
    7083     // $ANTLR start "rule__ExtRule__Group_2__1__Impl" 
    7084     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2415:1: rule__ExtRule__Group_2__1__Impl : ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) ; 
    7085     public final void rule__ExtRule__Group_2__1__Impl() throws RecognitionException { 
    7086  
    7087                         int stackSize = keepStackSize(); 
    7088              
    7089         try { 
    7090             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2419:1: ( ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) ) 
    7091             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2420:1: ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) 
    7092             { 
    7093             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2420:1: ( ( rule__ExtRule__RuleextAssignment_2_1 ) ) 
    7094             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2421:1: ( rule__ExtRule__RuleextAssignment_2_1 ) 
    7095             { 
    7096              before(grammarAccess.getExtRuleAccess().getRuleextAssignment_2_1());  
    7097             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2422:1: ( rule__ExtRule__RuleextAssignment_2_1 ) 
    7098             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2422:2: rule__ExtRule__RuleextAssignment_2_1 
    7099             { 
    7100             pushFollow(FOLLOW_rule__ExtRule__RuleextAssignment_2_1_in_rule__ExtRule__Group_2__1__Impl4987); 
    7101             rule__ExtRule__RuleextAssignment_2_1(); 
    7102  
    7103             state._fsp--; 
    7104  
    7105  
    7106             } 
    7107  
    7108              after(grammarAccess.getExtRuleAccess().getRuleextAssignment_2_1());  
    7109  
    7110             } 
    7111  
    7112  
    7113             } 
    7114  
    7115         } 
    7116         catch (RecognitionException re) { 
    7117             reportError(re); 
    7118             recover(input,re); 
    7119         } 
    7120         finally { 
    7121  
    7122                 restoreStackSize(stackSize); 
    7123  
    7124         } 
    7125         return ; 
    7126     } 
    7127     // $ANTLR end "rule__ExtRule__Group_2__1__Impl" 
    7128  
    7129  
    7130     // $ANTLR start "rule__ExtRule__Group_2__2" 
    7131     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2432:1: rule__ExtRule__Group_2__2 : rule__ExtRule__Group_2__2__Impl ; 
    7132     public final void rule__ExtRule__Group_2__2() throws RecognitionException { 
    7133  
    7134                         int stackSize = keepStackSize(); 
    7135              
    7136         try { 
    7137             // ../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__2__Impl ) 
    7138             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2437:2: rule__ExtRule__Group_2__2__Impl 
    7139             { 
    7140             pushFollow(FOLLOW_rule__ExtRule__Group_2__2__Impl_in_rule__ExtRule__Group_2__25017); 
    7141             rule__ExtRule__Group_2__2__Impl(); 
    7142  
    7143             state._fsp--; 
    7144  
    7145  
    7146             } 
    7147  
    7148         } 
    7149         catch (RecognitionException re) { 
    7150             reportError(re); 
    7151             recover(input,re); 
    7152         } 
    7153         finally { 
    7154  
    7155                 restoreStackSize(stackSize); 
    7156  
    7157         } 
    7158         return ; 
    7159     } 
    7160     // $ANTLR end "rule__ExtRule__Group_2__2" 
    7161  
    7162  
    7163     // $ANTLR start "rule__ExtRule__Group_2__2__Impl" 
    7164     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2443:1: rule__ExtRule__Group_2__2__Impl : ( ')' ) ; 
    7165     public final void rule__ExtRule__Group_2__2__Impl() throws RecognitionException { 
    7166  
    7167                         int stackSize = keepStackSize(); 
    7168              
    7169         try { 
    7170             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2447:1: ( ( ')' ) ) 
    7171             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2448:1: ( ')' ) 
    7172             { 
    7173             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2448:1: ( ')' ) 
    7174             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2449:1: ')' 
    7175             { 
    7176              before(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_2_2());  
    7177             match(input,13,FOLLOW_13_in_rule__ExtRule__Group_2__2__Impl5045);  
    7178              after(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_2_2());  
    7179  
    7180             } 
    7181  
    7182  
    7183             } 
    7184  
    7185         } 
    7186         catch (RecognitionException re) { 
    7187             reportError(re); 
    7188             recover(input,re); 
    7189         } 
    7190         finally { 
    7191  
    7192                 restoreStackSize(stackSize); 
    7193  
    7194         } 
    7195         return ; 
    7196     } 
    7197     // $ANTLR end "rule__ExtRule__Group_2__2__Impl" 
    7198  
    7199  
    7200     // $ANTLR start "rule__GlobalCombinator__Group__0" 
    7201     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2468:1: rule__GlobalCombinator__Group__0 : rule__GlobalCombinator__Group__0__Impl rule__GlobalCombinator__Group__1 ; 
    7202     public final void rule__GlobalCombinator__Group__0() throws RecognitionException { 
    7203  
    7204                         int stackSize = keepStackSize(); 
    7205              
    7206         try { 
    7207             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2472:1: ( rule__GlobalCombinator__Group__0__Impl rule__GlobalCombinator__Group__1 ) 
    7208             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2473:2: rule__GlobalCombinator__Group__0__Impl rule__GlobalCombinator__Group__1 
    7209             { 
    7210             pushFollow(FOLLOW_rule__GlobalCombinator__Group__0__Impl_in_rule__GlobalCombinator__Group__05082); 
    7211             rule__GlobalCombinator__Group__0__Impl(); 
    7212  
    7213             state._fsp--; 
    7214  
    7215             pushFollow(FOLLOW_rule__GlobalCombinator__Group__1_in_rule__GlobalCombinator__Group__05085); 
    7216             rule__GlobalCombinator__Group__1(); 
    7217  
    7218             state._fsp--; 
    7219  
    7220  
    7221             } 
    7222  
    7223         } 
    7224         catch (RecognitionException re) { 
    7225             reportError(re); 
    7226             recover(input,re); 
    7227         } 
    7228         finally { 
    7229  
    7230                 restoreStackSize(stackSize); 
    7231  
    7232         } 
    7233         return ; 
    7234     } 
    7235     // $ANTLR end "rule__GlobalCombinator__Group__0" 
    7236  
    7237  
    7238     // $ANTLR start "rule__GlobalCombinator__Group__0__Impl" 
    7239     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2480:1: rule__GlobalCombinator__Group__0__Impl : ( ( rule__GlobalCombinator__Group_0__0 ) ) ; 
    7240     public final void rule__GlobalCombinator__Group__0__Impl() throws RecognitionException { 
    7241  
    7242                         int stackSize = keepStackSize(); 
    7243              
    7244         try { 
    7245             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2484:1: ( ( ( rule__GlobalCombinator__Group_0__0 ) ) ) 
    7246             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2485:1: ( ( rule__GlobalCombinator__Group_0__0 ) ) 
    7247             { 
    7248             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2485:1: ( ( rule__GlobalCombinator__Group_0__0 ) ) 
    7249             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2486:1: ( rule__GlobalCombinator__Group_0__0 ) 
    7250             { 
    7251              before(grammarAccess.getGlobalCombinatorAccess().getGroup_0());  
    7252             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2487:1: ( rule__GlobalCombinator__Group_0__0 ) 
    7253             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2487:2: rule__GlobalCombinator__Group_0__0 
    7254             { 
    7255             pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__0_in_rule__GlobalCombinator__Group__0__Impl5112); 
    7256             rule__GlobalCombinator__Group_0__0(); 
    7257  
    7258             state._fsp--; 
    7259  
    7260  
    7261             } 
    7262  
    7263              after(grammarAccess.getGlobalCombinatorAccess().getGroup_0());  
    7264  
    7265             } 
    7266  
    7267  
    7268             } 
    7269  
    7270         } 
    7271         catch (RecognitionException re) { 
    7272             reportError(re); 
    7273             recover(input,re); 
    7274         } 
    7275         finally { 
    7276  
    7277                 restoreStackSize(stackSize); 
    7278  
    7279         } 
    7280         return ; 
    7281     } 
    7282     // $ANTLR end "rule__GlobalCombinator__Group__0__Impl" 
    7283  
    7284  
    7285     // $ANTLR start "rule__GlobalCombinator__Group__1" 
    7286     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2497:1: rule__GlobalCombinator__Group__1 : rule__GlobalCombinator__Group__1__Impl rule__GlobalCombinator__Group__2 ; 
    7287     public final void rule__GlobalCombinator__Group__1() throws RecognitionException { 
    7288  
    7289                         int stackSize = keepStackSize(); 
    7290              
    7291         try { 
    7292             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2501:1: ( rule__GlobalCombinator__Group__1__Impl rule__GlobalCombinator__Group__2 ) 
    7293             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2502:2: rule__GlobalCombinator__Group__1__Impl rule__GlobalCombinator__Group__2 
    7294             { 
    7295             pushFollow(FOLLOW_rule__GlobalCombinator__Group__1__Impl_in_rule__GlobalCombinator__Group__15142); 
    7296             rule__GlobalCombinator__Group__1__Impl(); 
    7297  
    7298             state._fsp--; 
    7299  
    7300             pushFollow(FOLLOW_rule__GlobalCombinator__Group__2_in_rule__GlobalCombinator__Group__15145); 
    7301             rule__GlobalCombinator__Group__2(); 
    7302  
    7303             state._fsp--; 
    7304  
    7305  
    7306             } 
    7307  
    7308         } 
    7309         catch (RecognitionException re) { 
    7310             reportError(re); 
    7311             recover(input,re); 
    7312         } 
    7313         finally { 
    7314  
    7315                 restoreStackSize(stackSize); 
    7316  
    7317         } 
    7318         return ; 
    7319     } 
    7320     // $ANTLR end "rule__GlobalCombinator__Group__1" 
    7321  
    7322  
    7323     // $ANTLR start "rule__GlobalCombinator__Group__1__Impl" 
    7324     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2509:1: rule__GlobalCombinator__Group__1__Impl : ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) ; 
    7325     public final void rule__GlobalCombinator__Group__1__Impl() throws RecognitionException { 
    7326  
    7327                         int stackSize = keepStackSize(); 
    7328              
    7329         try { 
    7330             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2513:1: ( ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) ) 
    7331             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2514:1: ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) 
    7332             { 
    7333             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2514:1: ( ( rule__GlobalCombinator__LogicAssignment_1 ) ) 
    7334             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2515:1: ( rule__GlobalCombinator__LogicAssignment_1 ) 
    7335             { 
    7336              before(grammarAccess.getGlobalCombinatorAccess().getLogicAssignment_1());  
    7337             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2516:1: ( rule__GlobalCombinator__LogicAssignment_1 ) 
    7338             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2516:2: rule__GlobalCombinator__LogicAssignment_1 
    7339             { 
    7340             pushFollow(FOLLOW_rule__GlobalCombinator__LogicAssignment_1_in_rule__GlobalCombinator__Group__1__Impl5172); 
    7341             rule__GlobalCombinator__LogicAssignment_1(); 
    7342  
    7343             state._fsp--; 
    7344  
    7345  
    7346             } 
    7347  
    7348              after(grammarAccess.getGlobalCombinatorAccess().getLogicAssignment_1());  
    7349  
    7350             } 
    7351  
    7352  
    7353             } 
    7354  
    7355         } 
    7356         catch (RecognitionException re) { 
    7357             reportError(re); 
    7358             recover(input,re); 
    7359         } 
    7360         finally { 
    7361  
    7362                 restoreStackSize(stackSize); 
    7363  
    7364         } 
    7365         return ; 
    7366     } 
    7367     // $ANTLR end "rule__GlobalCombinator__Group__1__Impl" 
    7368  
    7369  
    7370     // $ANTLR start "rule__GlobalCombinator__Group__2" 
    7371     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2526:1: rule__GlobalCombinator__Group__2 : rule__GlobalCombinator__Group__2__Impl ; 
    7372     public final void rule__GlobalCombinator__Group__2() throws RecognitionException { 
    7373  
    7374                         int stackSize = keepStackSize(); 
    7375              
    7376         try { 
    7377             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2530:1: ( rule__GlobalCombinator__Group__2__Impl ) 
    7378             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2531:2: rule__GlobalCombinator__Group__2__Impl 
    7379             { 
    7380             pushFollow(FOLLOW_rule__GlobalCombinator__Group__2__Impl_in_rule__GlobalCombinator__Group__25202); 
    7381             rule__GlobalCombinator__Group__2__Impl(); 
    7382  
    7383             state._fsp--; 
    7384  
    7385  
    7386             } 
    7387  
    7388         } 
    7389         catch (RecognitionException re) { 
    7390             reportError(re); 
    7391             recover(input,re); 
    7392         } 
    7393         finally { 
    7394  
    7395                 restoreStackSize(stackSize); 
    7396  
    7397         } 
    7398         return ; 
    7399     } 
    7400     // $ANTLR end "rule__GlobalCombinator__Group__2" 
    7401  
    7402  
    7403     // $ANTLR start "rule__GlobalCombinator__Group__2__Impl" 
    7404     // ../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__2__Impl : ( ( ';' )? ) ; 
    7405     public final void rule__GlobalCombinator__Group__2__Impl() throws RecognitionException { 
    7406  
    7407                         int stackSize = keepStackSize(); 
    7408              
    7409         try { 
    7410             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2541:1: ( ( ( ';' )? ) ) 
    7411             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2542:1: ( ( ';' )? ) 
    7412             { 
    7413             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2542:1: ( ( ';' )? ) 
    7414             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2543:1: ( ';' )? 
    7415             { 
    7416              before(grammarAccess.getGlobalCombinatorAccess().getSemicolonKeyword_2());  
    7417             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2544:1: ( ';' )? 
    7418             int alt30=2; 
    7419             int LA30_0 = input.LA(1); 
    7420  
    7421             if ( (LA30_0==23) ) { 
    7422                 alt30=1; 
    7423             } 
    7424             switch (alt30) { 
    7425                 case 1 : 
    7426                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2545:2: ';' 
    7427                     { 
    7428                     match(input,23,FOLLOW_23_in_rule__GlobalCombinator__Group__2__Impl5231);  
    7429  
    7430                     } 
    7431                     break; 
    7432  
    7433             } 
    7434  
    7435              after(grammarAccess.getGlobalCombinatorAccess().getSemicolonKeyword_2());  
    7436  
    7437             } 
    7438  
    7439  
    7440             } 
    7441  
    7442         } 
    7443         catch (RecognitionException re) { 
    7444             reportError(re); 
    7445             recover(input,re); 
    7446         } 
    7447         finally { 
    7448  
    7449                 restoreStackSize(stackSize); 
    7450  
    7451         } 
    7452         return ; 
    7453     } 
    7454     // $ANTLR end "rule__GlobalCombinator__Group__2__Impl" 
    7455  
    7456  
    7457     // $ANTLR start "rule__GlobalCombinator__Group_0__0" 
    7458     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2562:1: rule__GlobalCombinator__Group_0__0 : rule__GlobalCombinator__Group_0__0__Impl rule__GlobalCombinator__Group_0__1 ; 
    7459     public final void rule__GlobalCombinator__Group_0__0() throws RecognitionException { 
    7460  
    7461                         int stackSize = keepStackSize(); 
    7462              
    7463         try { 
    7464             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2566:1: ( rule__GlobalCombinator__Group_0__0__Impl rule__GlobalCombinator__Group_0__1 ) 
    7465             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2567:2: rule__GlobalCombinator__Group_0__0__Impl rule__GlobalCombinator__Group_0__1 
    7466             { 
    7467             pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__0__Impl_in_rule__GlobalCombinator__Group_0__05270); 
    7468             rule__GlobalCombinator__Group_0__0__Impl(); 
    7469  
    7470             state._fsp--; 
    7471  
    7472             pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__1_in_rule__GlobalCombinator__Group_0__05273); 
    7473             rule__GlobalCombinator__Group_0__1(); 
    7474  
    7475             state._fsp--; 
    7476  
    7477  
    7478             } 
    7479  
    7480         } 
    7481         catch (RecognitionException re) { 
    7482             reportError(re); 
    7483             recover(input,re); 
    7484         } 
    7485         finally { 
    7486  
    7487                 restoreStackSize(stackSize); 
    7488  
    7489         } 
    7490         return ; 
    7491     } 
    7492     // $ANTLR end "rule__GlobalCombinator__Group_0__0" 
    7493  
    7494  
    7495     // $ANTLR start "rule__GlobalCombinator__Group_0__0__Impl" 
    7496     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2574:1: rule__GlobalCombinator__Group_0__0__Impl : ( 'global' ) ; 
    7497     public final void rule__GlobalCombinator__Group_0__0__Impl() throws RecognitionException { 
    7498  
    7499                         int stackSize = keepStackSize(); 
    7500              
    7501         try { 
    7502             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2578:1: ( ( 'global' ) ) 
    7503             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2579:1: ( 'global' ) 
    7504             { 
    7505             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2579:1: ( 'global' ) 
    7506             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2580:1: 'global' 
    7507             { 
    7508              before(grammarAccess.getGlobalCombinatorAccess().getGlobalKeyword_0_0());  
    7509             match(input,30,FOLLOW_30_in_rule__GlobalCombinator__Group_0__0__Impl5301);  
    7510              after(grammarAccess.getGlobalCombinatorAccess().getGlobalKeyword_0_0());  
    7511  
    7512             } 
    7513  
    7514  
    7515             } 
    7516  
    7517         } 
    7518         catch (RecognitionException re) { 
    7519             reportError(re); 
    7520             recover(input,re); 
    7521         } 
    7522         finally { 
    7523  
    7524                 restoreStackSize(stackSize); 
    7525  
    7526         } 
    7527         return ; 
    7528     } 
    7529     // $ANTLR end "rule__GlobalCombinator__Group_0__0__Impl" 
    7530  
    7531  
    7532     // $ANTLR start "rule__GlobalCombinator__Group_0__1" 
    7533     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2593:1: rule__GlobalCombinator__Group_0__1 : rule__GlobalCombinator__Group_0__1__Impl ; 
    7534     public final void rule__GlobalCombinator__Group_0__1() throws RecognitionException { 
    7535  
    7536                         int stackSize = keepStackSize(); 
    7537              
    7538         try { 
    7539             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2597:1: ( rule__GlobalCombinator__Group_0__1__Impl ) 
    7540             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2598:2: rule__GlobalCombinator__Group_0__1__Impl 
    7541             { 
    7542             pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__1__Impl_in_rule__GlobalCombinator__Group_0__15332); 
    7543             rule__GlobalCombinator__Group_0__1__Impl(); 
    7544  
    7545             state._fsp--; 
    7546  
    7547  
    7548             } 
    7549  
    7550         } 
    7551         catch (RecognitionException re) { 
    7552             reportError(re); 
    7553             recover(input,re); 
    7554         } 
    7555         finally { 
    7556  
    7557                 restoreStackSize(stackSize); 
    7558  
    7559         } 
    7560         return ; 
    7561     } 
    7562     // $ANTLR end "rule__GlobalCombinator__Group_0__1" 
    7563  
    7564  
    7565     // $ANTLR start "rule__GlobalCombinator__Group_0__1__Impl" 
    7566     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2604:1: rule__GlobalCombinator__Group_0__1__Impl : ( 'combinator:' ) ; 
    7567     public final void rule__GlobalCombinator__Group_0__1__Impl() throws RecognitionException { 
    7568  
    7569                         int stackSize = keepStackSize(); 
    7570              
    7571         try { 
    7572             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2608:1: ( ( 'combinator:' ) ) 
    7573             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2609:1: ( 'combinator:' ) 
    7574             { 
    7575             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2609:1: ( 'combinator:' ) 
    7576             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2610:1: 'combinator:' 
    7577             { 
    7578              before(grammarAccess.getGlobalCombinatorAccess().getCombinatorKeyword_0_1());  
    7579             match(input,31,FOLLOW_31_in_rule__GlobalCombinator__Group_0__1__Impl5360);  
    7580              after(grammarAccess.getGlobalCombinatorAccess().getCombinatorKeyword_0_1());  
    7581  
    7582             } 
    7583  
    7584  
    7585             } 
    7586  
    7587         } 
    7588         catch (RecognitionException re) { 
    7589             reportError(re); 
    7590             recover(input,re); 
    7591         } 
    7592         finally { 
    7593  
    7594                 restoreStackSize(stackSize); 
    7595  
    7596         } 
    7597         return ; 
    7598     } 
    7599     // $ANTLR end "rule__GlobalCombinator__Group_0__1__Impl" 
    7600  
    7601  
    7602     // $ANTLR start "rule__RuleCombinator__Group__0" 
    7603     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2627:1: rule__RuleCombinator__Group__0 : rule__RuleCombinator__Group__0__Impl rule__RuleCombinator__Group__1 ; 
    7604     public final void rule__RuleCombinator__Group__0() throws RecognitionException { 
    7605  
    7606                         int stackSize = keepStackSize(); 
    7607              
    7608         try { 
    7609             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2631:1: ( rule__RuleCombinator__Group__0__Impl rule__RuleCombinator__Group__1 ) 
    7610             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2632:2: rule__RuleCombinator__Group__0__Impl rule__RuleCombinator__Group__1 
    7611             { 
    7612             pushFollow(FOLLOW_rule__RuleCombinator__Group__0__Impl_in_rule__RuleCombinator__Group__05395); 
    7613             rule__RuleCombinator__Group__0__Impl(); 
    7614  
    7615             state._fsp--; 
    7616  
    7617             pushFollow(FOLLOW_rule__RuleCombinator__Group__1_in_rule__RuleCombinator__Group__05398); 
    7618             rule__RuleCombinator__Group__1(); 
    7619  
    7620             state._fsp--; 
    7621  
    7622  
    7623             } 
    7624  
    7625         } 
    7626         catch (RecognitionException re) { 
    7627             reportError(re); 
    7628             recover(input,re); 
    7629         } 
    7630         finally { 
    7631  
    7632                 restoreStackSize(stackSize); 
    7633  
    7634         } 
    7635         return ; 
    7636     } 
    7637     // $ANTLR end "rule__RuleCombinator__Group__0" 
    7638  
    7639  
    7640     // $ANTLR start "rule__RuleCombinator__Group__0__Impl" 
    7641     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2639:1: rule__RuleCombinator__Group__0__Impl : ( ( rule__RuleCombinator__Group_0__0 ) ) ; 
    7642     public final void rule__RuleCombinator__Group__0__Impl() throws RecognitionException { 
    7643  
    7644                         int stackSize = keepStackSize(); 
    7645              
    7646         try { 
    7647             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2643:1: ( ( ( rule__RuleCombinator__Group_0__0 ) ) ) 
    7648             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2644:1: ( ( rule__RuleCombinator__Group_0__0 ) ) 
    7649             { 
    7650             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2644:1: ( ( rule__RuleCombinator__Group_0__0 ) ) 
    7651             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2645:1: ( rule__RuleCombinator__Group_0__0 ) 
    7652             { 
    7653              before(grammarAccess.getRuleCombinatorAccess().getGroup_0());  
    7654             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2646:1: ( rule__RuleCombinator__Group_0__0 ) 
    7655             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2646:2: rule__RuleCombinator__Group_0__0 
    7656             { 
    7657             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__0_in_rule__RuleCombinator__Group__0__Impl5425); 
    7658             rule__RuleCombinator__Group_0__0(); 
    7659  
    7660             state._fsp--; 
    7661  
    7662  
    7663             } 
    7664  
    7665              after(grammarAccess.getRuleCombinatorAccess().getGroup_0());  
    7666  
    7667             } 
    7668  
    7669  
    7670             } 
    7671  
    7672         } 
    7673         catch (RecognitionException re) { 
    7674             reportError(re); 
    7675             recover(input,re); 
    7676         } 
    7677         finally { 
    7678  
    7679                 restoreStackSize(stackSize); 
    7680  
    7681         } 
    7682         return ; 
    7683     } 
    7684     // $ANTLR end "rule__RuleCombinator__Group__0__Impl" 
    7685  
    7686  
    7687     // $ANTLR start "rule__RuleCombinator__Group__1" 
    7688     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2656:1: rule__RuleCombinator__Group__1 : rule__RuleCombinator__Group__1__Impl rule__RuleCombinator__Group__2 ; 
    7689     public final void rule__RuleCombinator__Group__1() throws RecognitionException { 
    7690  
    7691                         int stackSize = keepStackSize(); 
    7692              
    7693         try { 
    7694             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2660:1: ( rule__RuleCombinator__Group__1__Impl rule__RuleCombinator__Group__2 ) 
    7695             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2661:2: rule__RuleCombinator__Group__1__Impl rule__RuleCombinator__Group__2 
    7696             { 
    7697             pushFollow(FOLLOW_rule__RuleCombinator__Group__1__Impl_in_rule__RuleCombinator__Group__15455); 
    7698             rule__RuleCombinator__Group__1__Impl(); 
    7699  
    7700             state._fsp--; 
    7701  
    7702             pushFollow(FOLLOW_rule__RuleCombinator__Group__2_in_rule__RuleCombinator__Group__15458); 
    7703             rule__RuleCombinator__Group__2(); 
    7704  
    7705             state._fsp--; 
    7706  
    7707  
    7708             } 
    7709  
    7710         } 
    7711         catch (RecognitionException re) { 
    7712             reportError(re); 
    7713             recover(input,re); 
    7714         } 
    7715         finally { 
    7716  
    7717                 restoreStackSize(stackSize); 
    7718  
    7719         } 
    7720         return ; 
    7721     } 
    7722     // $ANTLR end "rule__RuleCombinator__Group__1" 
    7723  
    7724  
    7725     // $ANTLR start "rule__RuleCombinator__Group__1__Impl" 
    7726     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2668:1: rule__RuleCombinator__Group__1__Impl : ( ( rule__RuleCombinator__LogicAssignment_1 ) ) ; 
    7727     public final void rule__RuleCombinator__Group__1__Impl() throws RecognitionException { 
    7728  
    7729                         int stackSize = keepStackSize(); 
    7730              
    7731         try { 
    7732             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2672:1: ( ( ( rule__RuleCombinator__LogicAssignment_1 ) ) ) 
    7733             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2673:1: ( ( rule__RuleCombinator__LogicAssignment_1 ) ) 
    7734             { 
    7735             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2673:1: ( ( rule__RuleCombinator__LogicAssignment_1 ) ) 
    7736             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2674:1: ( rule__RuleCombinator__LogicAssignment_1 ) 
    7737             { 
    7738              before(grammarAccess.getRuleCombinatorAccess().getLogicAssignment_1());  
    7739             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2675:1: ( rule__RuleCombinator__LogicAssignment_1 ) 
    7740             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2675:2: rule__RuleCombinator__LogicAssignment_1 
    7741             { 
    7742             pushFollow(FOLLOW_rule__RuleCombinator__LogicAssignment_1_in_rule__RuleCombinator__Group__1__Impl5485); 
    7743             rule__RuleCombinator__LogicAssignment_1(); 
    7744  
    7745             state._fsp--; 
    7746  
    7747  
    7748             } 
    7749  
    7750              after(grammarAccess.getRuleCombinatorAccess().getLogicAssignment_1());  
    7751  
    7752             } 
    7753  
    7754  
    7755             } 
    7756  
    7757         } 
    7758         catch (RecognitionException re) { 
    7759             reportError(re); 
    7760             recover(input,re); 
    7761         } 
    7762         finally { 
    7763  
    7764                 restoreStackSize(stackSize); 
    7765  
    7766         } 
    7767         return ; 
    7768     } 
    7769     // $ANTLR end "rule__RuleCombinator__Group__1__Impl" 
    7770  
    7771  
    7772     // $ANTLR start "rule__RuleCombinator__Group__2" 
    7773     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2685:1: rule__RuleCombinator__Group__2 : rule__RuleCombinator__Group__2__Impl rule__RuleCombinator__Group__3 ; 
    7774     public final void rule__RuleCombinator__Group__2() throws RecognitionException { 
    7775  
    7776                         int stackSize = keepStackSize(); 
    7777              
    7778         try { 
    7779             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2689:1: ( rule__RuleCombinator__Group__2__Impl rule__RuleCombinator__Group__3 ) 
    7780             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2690:2: rule__RuleCombinator__Group__2__Impl rule__RuleCombinator__Group__3 
    7781             { 
    7782             pushFollow(FOLLOW_rule__RuleCombinator__Group__2__Impl_in_rule__RuleCombinator__Group__25515); 
    7783             rule__RuleCombinator__Group__2__Impl(); 
    7784  
    7785             state._fsp--; 
    7786  
    7787             pushFollow(FOLLOW_rule__RuleCombinator__Group__3_in_rule__RuleCombinator__Group__25518); 
    7788             rule__RuleCombinator__Group__3(); 
    7789  
    7790             state._fsp--; 
    7791  
    7792  
    7793             } 
    7794  
    7795         } 
    7796         catch (RecognitionException re) { 
    7797             reportError(re); 
    7798             recover(input,re); 
    7799         } 
    7800         finally { 
    7801  
    7802                 restoreStackSize(stackSize); 
    7803  
    7804         } 
    7805         return ; 
    7806     } 
    7807     // $ANTLR end "rule__RuleCombinator__Group__2" 
    7808  
    7809  
    7810     // $ANTLR start "rule__RuleCombinator__Group__2__Impl" 
    7811     // ../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__2__Impl : ( ( rule__RuleCombinator__Group_2__0 )* ) ; 
    7812     public final void rule__RuleCombinator__Group__2__Impl() throws RecognitionException { 
    7813  
    7814                         int stackSize = keepStackSize(); 
    7815              
    7816         try { 
    7817             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2701:1: ( ( ( rule__RuleCombinator__Group_2__0 )* ) ) 
    7818             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2702:1: ( ( rule__RuleCombinator__Group_2__0 )* ) 
    7819             { 
    7820             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2702:1: ( ( rule__RuleCombinator__Group_2__0 )* ) 
    7821             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2703:1: ( rule__RuleCombinator__Group_2__0 )* 
    7822             { 
    7823              before(grammarAccess.getRuleCombinatorAccess().getGroup_2());  
    7824             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2704:1: ( rule__RuleCombinator__Group_2__0 )* 
    7825             loop31: 
    7826             do { 
    7827                 int alt31=2; 
    7828                 int LA31_0 = input.LA(1); 
    7829  
    7830                 if ( (LA31_0==17) ) { 
    7831                     alt31=1; 
    7832                 } 
    7833  
    7834  
    7835                 switch (alt31) { 
    7836                 case 1 : 
    7837                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2704:2: rule__RuleCombinator__Group_2__0 
    7838                     { 
    7839                     pushFollow(FOLLOW_rule__RuleCombinator__Group_2__0_in_rule__RuleCombinator__Group__2__Impl5545); 
    7840                     rule__RuleCombinator__Group_2__0(); 
    7841  
    7842                     state._fsp--; 
    7843  
    7844  
    7845                     } 
    7846                     break; 
    7847  
    7848                 default : 
    7849                     break loop31; 
    7850                 } 
    7851             } while (true); 
    7852  
    7853              after(grammarAccess.getRuleCombinatorAccess().getGroup_2());  
    7854  
    7855             } 
    7856  
    7857  
    7858             } 
    7859  
    7860         } 
    7861         catch (RecognitionException re) { 
    7862             reportError(re); 
    7863             recover(input,re); 
    7864         } 
    7865         finally { 
    7866  
    7867                 restoreStackSize(stackSize); 
    7868  
    7869         } 
    7870         return ; 
    7871     } 
    7872     // $ANTLR end "rule__RuleCombinator__Group__2__Impl" 
    7873  
    7874  
    7875     // $ANTLR start "rule__RuleCombinator__Group__3" 
    7876     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2714:1: rule__RuleCombinator__Group__3 : rule__RuleCombinator__Group__3__Impl ; 
    7877     public final void rule__RuleCombinator__Group__3() throws RecognitionException { 
    7878  
    7879                         int stackSize = keepStackSize(); 
    7880              
    7881         try { 
    7882             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2718:1: ( rule__RuleCombinator__Group__3__Impl ) 
    7883             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2719:2: rule__RuleCombinator__Group__3__Impl 
    7884             { 
    7885             pushFollow(FOLLOW_rule__RuleCombinator__Group__3__Impl_in_rule__RuleCombinator__Group__35576); 
    7886             rule__RuleCombinator__Group__3__Impl(); 
    7887  
    7888             state._fsp--; 
    7889  
    7890  
    7891             } 
    7892  
    7893         } 
    7894         catch (RecognitionException re) { 
    7895             reportError(re); 
    7896             recover(input,re); 
    7897         } 
    7898         finally { 
    7899  
    7900                 restoreStackSize(stackSize); 
    7901  
    7902         } 
    7903         return ; 
    7904     } 
    7905     // $ANTLR end "rule__RuleCombinator__Group__3" 
    7906  
    7907  
    7908     // $ANTLR start "rule__RuleCombinator__Group__3__Impl" 
    7909     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2725:1: rule__RuleCombinator__Group__3__Impl : ( ( ';' )? ) ; 
    7910     public final void rule__RuleCombinator__Group__3__Impl() throws RecognitionException { 
    7911  
    7912                         int stackSize = keepStackSize(); 
    7913              
    7914         try { 
    7915             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2729:1: ( ( ( ';' )? ) ) 
    7916             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2730:1: ( ( ';' )? ) 
    7917             { 
    7918             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2730:1: ( ( ';' )? ) 
    7919             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2731:1: ( ';' )? 
    7920             { 
    7921              before(grammarAccess.getRuleCombinatorAccess().getSemicolonKeyword_3());  
    7922             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2732:1: ( ';' )? 
     7968        int rule__ExtRule__Group_0__1__Impl_StartIndex = input.index(); 
     7969 
     7970                        int stackSize = keepStackSize(); 
     7971             
     7972        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 )? 
     7979            { 
     7980            if ( state.backtracking==0 ) { 
     7981               before(grammarAccess.getExtRuleAccess().getRulevariantAssignment_0_1());  
     7982            } 
     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 )? 
    79237984            int alt32=2; 
    79247985            int LA32_0 = input.LA(1); 
    79257986 
    7926             if ( (LA32_0==23) ) { 
     7987            if ( (LA32_0==RULE_ID) ) { 
    79277988                alt32=1; 
    79287989            } 
    79297990            switch (alt32) { 
    79307991                case 1 : 
    7931                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2733:2: ';' 
     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 
    79327993                    { 
    7933                     match(input,23,FOLLOW_23_in_rule__RuleCombinator__Group__3__Impl5605);  
     7994                    pushFollow(FOLLOW_rule__ExtRule__RulevariantAssignment_0_1_in_rule__ExtRule__Group_0__1__Impl4925); 
     7995                    rule__ExtRule__RulevariantAssignment_0_1(); 
     7996 
     7997                    state._fsp--; 
     7998                    if (state.failed) return ; 
    79347999 
    79358000                    } 
     
    79388003            } 
    79398004 
    7940              after(grammarAccess.getRuleCombinatorAccess().getSemicolonKeyword_3());  
    7941  
    7942             } 
    7943  
    7944  
    7945             } 
    7946  
    7947         } 
    7948         catch (RecognitionException re) { 
    7949             reportError(re); 
    7950             recover(input,re); 
    7951         } 
    7952         finally { 
    7953  
    7954                 restoreStackSize(stackSize); 
    7955  
    7956         } 
    7957         return ; 
    7958     } 
    7959     // $ANTLR end "rule__RuleCombinator__Group__3__Impl" 
    7960  
    7961  
    7962     // $ANTLR start "rule__RuleCombinator__Group_0__0" 
    7963     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2752:1: rule__RuleCombinator__Group_0__0 : rule__RuleCombinator__Group_0__0__Impl rule__RuleCombinator__Group_0__1 ; 
    7964     public final void rule__RuleCombinator__Group_0__0() throws RecognitionException { 
    7965  
    7966                         int stackSize = keepStackSize(); 
    7967              
    7968         try { 
    7969             // ../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_0__0__Impl rule__RuleCombinator__Group_0__1 ) 
    7970             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2757:2: rule__RuleCombinator__Group_0__0__Impl rule__RuleCombinator__Group_0__1 
    7971             { 
    7972             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__0__Impl_in_rule__RuleCombinator__Group_0__05646); 
    7973             rule__RuleCombinator__Group_0__0__Impl(); 
    7974  
    7975             state._fsp--; 
    7976  
    7977             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__1_in_rule__RuleCombinator__Group_0__05649); 
    7978             rule__RuleCombinator__Group_0__1(); 
    7979  
    7980             state._fsp--; 
    7981  
    7982  
    7983             } 
    7984  
    7985         } 
    7986         catch (RecognitionException re) { 
    7987             reportError(re); 
    7988             recover(input,re); 
    7989         } 
    7990         finally { 
    7991  
    7992                 restoreStackSize(stackSize); 
    7993  
    7994         } 
    7995         return ; 
    7996     } 
    7997     // $ANTLR end "rule__RuleCombinator__Group_0__0" 
    7998  
    7999  
    8000     // $ANTLR start "rule__RuleCombinator__Group_0__0__Impl" 
    8001     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2764:1: rule__RuleCombinator__Group_0__0__Impl : ( 'rule' ) ; 
    8002     public final void rule__RuleCombinator__Group_0__0__Impl() throws RecognitionException { 
    8003  
    8004                         int stackSize = keepStackSize(); 
    8005              
    8006         try { 
    8007             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2768:1: ( ( 'rule' ) ) 
    8008             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2769:1: ( 'rule' ) 
    8009             { 
    8010             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2769:1: ( 'rule' ) 
    8011             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2770:1: 'rule' 
    8012             { 
    8013              before(grammarAccess.getRuleCombinatorAccess().getRuleKeyword_0_0());  
    8014             match(input,32,FOLLOW_32_in_rule__RuleCombinator__Group_0__0__Impl5677);  
    8015              after(grammarAccess.getRuleCombinatorAccess().getRuleKeyword_0_0());  
    8016  
    8017             } 
    8018  
    8019  
    8020             } 
    8021  
    8022         } 
    8023         catch (RecognitionException re) { 
    8024             reportError(re); 
    8025             recover(input,re); 
    8026         } 
    8027         finally { 
    8028  
    8029                 restoreStackSize(stackSize); 
    8030  
    8031         } 
    8032         return ; 
    8033     } 
    8034     // $ANTLR end "rule__RuleCombinator__Group_0__0__Impl" 
    8035  
    8036  
    8037     // $ANTLR start "rule__RuleCombinator__Group_0__1" 
    8038     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2783:1: rule__RuleCombinator__Group_0__1 : rule__RuleCombinator__Group_0__1__Impl rule__RuleCombinator__Group_0__2 ; 
    8039     public final void rule__RuleCombinator__Group_0__1() throws RecognitionException { 
    8040  
    8041                         int stackSize = keepStackSize(); 
    8042              
    8043         try { 
    8044             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2787:1: ( rule__RuleCombinator__Group_0__1__Impl rule__RuleCombinator__Group_0__2 ) 
    8045             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2788:2: rule__RuleCombinator__Group_0__1__Impl rule__RuleCombinator__Group_0__2 
    8046             { 
    8047             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__1__Impl_in_rule__RuleCombinator__Group_0__15708); 
    8048             rule__RuleCombinator__Group_0__1__Impl(); 
    8049  
    8050             state._fsp--; 
    8051  
    8052             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__2_in_rule__RuleCombinator__Group_0__15711); 
    8053             rule__RuleCombinator__Group_0__2(); 
    8054  
    8055             state._fsp--; 
    8056  
    8057  
    8058             } 
    8059  
    8060         } 
    8061         catch (RecognitionException re) { 
    8062             reportError(re); 
    8063             recover(input,re); 
    8064         } 
    8065         finally { 
    8066  
    8067                 restoreStackSize(stackSize); 
    8068  
    8069         } 
    8070         return ; 
    8071     } 
    8072     // $ANTLR end "rule__RuleCombinator__Group_0__1" 
    8073  
    8074  
    8075     // $ANTLR start "rule__RuleCombinator__Group_0__1__Impl" 
    8076     // ../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__1__Impl : ( 'combinator:' ) ; 
    8077     public final void rule__RuleCombinator__Group_0__1__Impl() throws RecognitionException { 
    8078  
    8079                         int stackSize = keepStackSize(); 
    8080              
    8081         try { 
    8082             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2799:1: ( ( 'combinator:' ) ) 
    8083             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2800:1: ( 'combinator:' ) 
    8084             { 
    8085             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2800:1: ( 'combinator:' ) 
    8086             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2801:1: 'combinator:' 
    8087             { 
    8088              before(grammarAccess.getRuleCombinatorAccess().getCombinatorKeyword_0_1());  
    8089             match(input,31,FOLLOW_31_in_rule__RuleCombinator__Group_0__1__Impl5739);  
    8090              after(grammarAccess.getRuleCombinatorAccess().getCombinatorKeyword_0_1());  
    8091  
    8092             } 
    8093  
    8094  
    8095             } 
    8096  
    8097         } 
    8098         catch (RecognitionException re) { 
    8099             reportError(re); 
    8100             recover(input,re); 
    8101         } 
    8102         finally { 
    8103  
    8104                 restoreStackSize(stackSize); 
    8105  
    8106         } 
    8107         return ; 
    8108     } 
    8109     // $ANTLR end "rule__RuleCombinator__Group_0__1__Impl" 
    8110  
    8111  
    8112     // $ANTLR start "rule__RuleCombinator__Group_0__2" 
    8113     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2814:1: rule__RuleCombinator__Group_0__2 : rule__RuleCombinator__Group_0__2__Impl ; 
    8114     public final void rule__RuleCombinator__Group_0__2() throws RecognitionException { 
    8115  
    8116                         int stackSize = keepStackSize(); 
    8117              
    8118         try { 
    8119             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2818:1: ( rule__RuleCombinator__Group_0__2__Impl ) 
    8120             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2819:2: rule__RuleCombinator__Group_0__2__Impl 
    8121             { 
    8122             pushFollow(FOLLOW_rule__RuleCombinator__Group_0__2__Impl_in_rule__RuleCombinator__Group_0__25770); 
    8123             rule__RuleCombinator__Group_0__2__Impl(); 
    8124  
    8125             state._fsp--; 
    8126  
    8127  
    8128             } 
    8129  
    8130         } 
    8131         catch (RecognitionException re) { 
    8132             reportError(re); 
    8133             recover(input,re); 
    8134         } 
    8135         finally { 
    8136  
    8137                 restoreStackSize(stackSize); 
    8138  
    8139         } 
    8140         return ; 
    8141     } 
    8142     // $ANTLR end "rule__RuleCombinator__Group_0__2" 
    8143  
    8144  
    8145     // $ANTLR start "rule__RuleCombinator__Group_0__2__Impl" 
    8146     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2825:1: rule__RuleCombinator__Group_0__2__Impl : ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) ; 
    8147     public final void rule__RuleCombinator__Group_0__2__Impl() throws RecognitionException { 
    8148  
    8149                         int stackSize = keepStackSize(); 
    8150              
    8151         try { 
    8152             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2829:1: ( ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) ) 
    8153             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2830:1: ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) 
    8154             { 
    8155             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2830:1: ( ( rule__RuleCombinator__NameAssignment_0_2 ) ) 
    8156             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2831:1: ( rule__RuleCombinator__NameAssignment_0_2 ) 
    8157             { 
    8158              before(grammarAccess.getRuleCombinatorAccess().getNameAssignment_0_2());  
    8159             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2832:1: ( rule__RuleCombinator__NameAssignment_0_2 ) 
    8160             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2832:2: rule__RuleCombinator__NameAssignment_0_2 
    8161             { 
    8162             pushFollow(FOLLOW_rule__RuleCombinator__NameAssignment_0_2_in_rule__RuleCombinator__Group_0__2__Impl5797); 
    8163             rule__RuleCombinator__NameAssignment_0_2(); 
    8164  
    8165             state._fsp--; 
    8166  
    8167  
    8168             } 
    8169  
    8170              after(grammarAccess.getRuleCombinatorAccess().getNameAssignment_0_2());  
    8171  
    8172             } 
    8173  
    8174  
    8175             } 
    8176  
    8177         } 
    8178         catch (RecognitionException re) { 
    8179             reportError(re); 
    8180             recover(input,re); 
    8181         } 
    8182         finally { 
    8183  
    8184                 restoreStackSize(stackSize); 
    8185  
    8186         } 
    8187         return ; 
    8188     } 
    8189     // $ANTLR end "rule__RuleCombinator__Group_0__2__Impl" 
    8190  
    8191  
    8192     // $ANTLR start "rule__RuleCombinator__Group_2__0" 
    8193     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2848:1: rule__RuleCombinator__Group_2__0 : rule__RuleCombinator__Group_2__0__Impl rule__RuleCombinator__Group_2__1 ; 
    8194     public final void rule__RuleCombinator__Group_2__0() throws RecognitionException { 
    8195  
    8196                         int stackSize = keepStackSize(); 
    8197              
    8198         try { 
    8199             // ../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__Impl rule__RuleCombinator__Group_2__1 ) 
    8200             // ../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__Impl rule__RuleCombinator__Group_2__1 
    8201             { 
    8202             pushFollow(FOLLOW_rule__RuleCombinator__Group_2__0__Impl_in_rule__RuleCombinator__Group_2__05833); 
    8203             rule__RuleCombinator__Group_2__0__Impl(); 
    8204  
    8205             state._fsp--; 
    8206  
    8207             pushFollow(FOLLOW_rule__RuleCombinator__Group_2__1_in_rule__RuleCombinator__Group_2__05836); 
    8208             rule__RuleCombinator__Group_2__1(); 
    8209  
    8210             state._fsp--; 
    8211  
    8212  
    8213             } 
    8214  
    8215         } 
    8216         catch (RecognitionException re) { 
    8217             reportError(re); 
    8218             recover(input,re); 
    8219         } 
    8220         finally { 
    8221  
    8222                 restoreStackSize(stackSize); 
    8223  
    8224         } 
    8225         return ; 
    8226     } 
    8227     // $ANTLR end "rule__RuleCombinator__Group_2__0" 
    8228  
    8229  
    8230     // $ANTLR start "rule__RuleCombinator__Group_2__0__Impl" 
    8231     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2860:1: rule__RuleCombinator__Group_2__0__Impl : ( '(' ) ; 
    8232     public final void rule__RuleCombinator__Group_2__0__Impl() throws RecognitionException { 
    8233  
    8234                         int stackSize = keepStackSize(); 
    8235              
    8236         try { 
    8237             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2864:1: ( ( '(' ) ) 
    8238             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2865:1: ( '(' ) 
    8239             { 
    8240             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2865:1: ( '(' ) 
    8241             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2866:1: '(' 
    8242             { 
    8243              before(grammarAccess.getRuleCombinatorAccess().getLeftParenthesisKeyword_2_0());  
    8244             match(input,17,FOLLOW_17_in_rule__RuleCombinator__Group_2__0__Impl5864);  
    8245              after(grammarAccess.getRuleCombinatorAccess().getLeftParenthesisKeyword_2_0());  
    8246  
    8247             } 
    8248  
    8249  
    8250             } 
    8251  
    8252         } 
    8253         catch (RecognitionException re) { 
    8254             reportError(re); 
    8255             recover(input,re); 
    8256         } 
    8257         finally { 
    8258  
    8259                 restoreStackSize(stackSize); 
    8260  
    8261         } 
    8262         return ; 
    8263     } 
    8264     // $ANTLR end "rule__RuleCombinator__Group_2__0__Impl" 
    8265  
    8266  
    8267     // $ANTLR start "rule__RuleCombinator__Group_2__1" 
    8268     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2879:1: rule__RuleCombinator__Group_2__1 : rule__RuleCombinator__Group_2__1__Impl rule__RuleCombinator__Group_2__2 ; 
    8269     public final void rule__RuleCombinator__Group_2__1() throws RecognitionException { 
    8270  
    8271                         int stackSize = keepStackSize(); 
    8272              
    8273         try { 
    8274             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2883:1: ( rule__RuleCombinator__Group_2__1__Impl rule__RuleCombinator__Group_2__2 ) 
    8275             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2884:2: rule__RuleCombinator__Group_2__1__Impl rule__RuleCombinator__Group_2__2 
    8276             { 
    8277             pushFollow(FOLLOW_rule__RuleCombinator__Group_2__1__Impl_in_rule__RuleCombinator__Group_2__15895); 
    8278             rule__RuleCombinator__Group_2__1__Impl(); 
    8279  
    8280             state._fsp--; 
    8281  
    8282             pushFollow(FOLLOW_rule__RuleCombinator__Group_2__2_in_rule__RuleCombinator__Group_2__15898); 
    8283             rule__RuleCombinator__Group_2__2(); 
    8284  
    8285             state._fsp--; 
    8286  
    8287  
    8288             } 
    8289  
    8290         } 
    8291         catch (RecognitionException re) { 
    8292             reportError(re); 
    8293             recover(input,re); 
    8294         } 
    8295         finally { 
    8296  
    8297                 restoreStackSize(stackSize); 
    8298  
    8299         } 
    8300         return ; 
    8301     } 
    8302     // $ANTLR end "rule__RuleCombinator__Group_2__1" 
    8303  
    8304  
    8305     // $ANTLR start "rule__RuleCombinator__Group_2__1__Impl" 
    8306     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2891:1: rule__RuleCombinator__Group_2__1__Impl : ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) ; 
    8307     public final void rule__RuleCombinator__Group_2__1__Impl() throws RecognitionException { 
    8308  
    8309                         int stackSize = keepStackSize(); 
    8310              
    8311         try { 
    8312             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2895:1: ( ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) ) 
    8313             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2896:1: ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) 
    8314             { 
    8315             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2896:1: ( ( rule__RuleCombinator__LABELAssignment_2_1 ) ) 
    8316             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2897:1: ( rule__RuleCombinator__LABELAssignment_2_1 ) 
    8317             { 
    8318              before(grammarAccess.getRuleCombinatorAccess().getLABELAssignment_2_1());  
    8319             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2898:1: ( rule__RuleCombinator__LABELAssignment_2_1 ) 
    8320             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2898:2: rule__RuleCombinator__LABELAssignment_2_1 
    8321             { 
    8322             pushFollow(FOLLOW_rule__RuleCombinator__LABELAssignment_2_1_in_rule__RuleCombinator__Group_2__1__Impl5925); 
    8323             rule__RuleCombinator__LABELAssignment_2_1(); 
    8324  
    8325             state._fsp--; 
    8326  
    8327  
    8328             } 
    8329  
    8330              after(grammarAccess.getRuleCombinatorAccess().getLABELAssignment_2_1());  
    8331  
    8332             } 
    8333  
    8334  
    8335             } 
    8336  
    8337         } 
    8338         catch (RecognitionException re) { 
    8339             reportError(re); 
    8340             recover(input,re); 
    8341         } 
    8342         finally { 
    8343  
    8344                 restoreStackSize(stackSize); 
    8345  
    8346         } 
    8347         return ; 
    8348     } 
    8349     // $ANTLR end "rule__RuleCombinator__Group_2__1__Impl" 
    8350  
    8351  
    8352     // $ANTLR start "rule__RuleCombinator__Group_2__2" 
    8353     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2908:1: rule__RuleCombinator__Group_2__2 : rule__RuleCombinator__Group_2__2__Impl ; 
    8354     public final void rule__RuleCombinator__Group_2__2() throws RecognitionException { 
    8355  
    8356                         int stackSize = keepStackSize(); 
    8357              
    8358         try { 
    8359             // ../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__2__Impl ) 
    8360             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2913:2: rule__RuleCombinator__Group_2__2__Impl 
    8361             { 
    8362             pushFollow(FOLLOW_rule__RuleCombinator__Group_2__2__Impl_in_rule__RuleCombinator__Group_2__25955); 
    8363             rule__RuleCombinator__Group_2__2__Impl(); 
    8364  
    8365             state._fsp--; 
    8366  
    8367  
    8368             } 
    8369  
    8370         } 
    8371         catch (RecognitionException re) { 
    8372             reportError(re); 
    8373             recover(input,re); 
    8374         } 
    8375         finally { 
    8376  
    8377                 restoreStackSize(stackSize); 
    8378  
    8379         } 
    8380         return ; 
    8381     } 
    8382     // $ANTLR end "rule__RuleCombinator__Group_2__2" 
    8383  
    8384  
    8385     // $ANTLR start "rule__RuleCombinator__Group_2__2__Impl" 
    8386     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2919:1: rule__RuleCombinator__Group_2__2__Impl : ( ')' ) ; 
    8387     public final void rule__RuleCombinator__Group_2__2__Impl() throws RecognitionException { 
    8388  
    8389                         int stackSize = keepStackSize(); 
    8390              
    8391         try { 
    8392             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2923:1: ( ( ')' ) ) 
    8393             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2924:1: ( ')' ) 
    8394             { 
    8395             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2924:1: ( ')' ) 
    8396             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2925:1: ')' 
    8397             { 
    8398              before(grammarAccess.getRuleCombinatorAccess().getRightParenthesisKeyword_2_2());  
    8399             match(input,13,FOLLOW_13_in_rule__RuleCombinator__Group_2__2__Impl5983);  
    8400              after(grammarAccess.getRuleCombinatorAccess().getRightParenthesisKeyword_2_2());  
    8401  
    8402             } 
    8403  
    8404  
    8405             } 
    8406  
    8407         } 
    8408         catch (RecognitionException re) { 
    8409             reportError(re); 
    8410             recover(input,re); 
    8411         } 
    8412         finally { 
    8413  
    8414                 restoreStackSize(stackSize); 
    8415  
    8416         } 
    8417         return ; 
    8418     } 
    8419     // $ANTLR end "rule__RuleCombinator__Group_2__2__Impl" 
    8420  
    8421  
    8422     // $ANTLR start "rule__HookCombinator__Group__0" 
    8423     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2944:1: rule__HookCombinator__Group__0 : rule__HookCombinator__Group__0__Impl rule__HookCombinator__Group__1 ; 
    8424     public final void rule__HookCombinator__Group__0() throws RecognitionException { 
    8425  
    8426                         int stackSize = keepStackSize(); 
    8427              
    8428         try { 
    8429             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2948:1: ( rule__HookCombinator__Group__0__Impl rule__HookCombinator__Group__1 ) 
    8430             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2949:2: rule__HookCombinator__Group__0__Impl rule__HookCombinator__Group__1 
    8431             { 
    8432             pushFollow(FOLLOW_rule__HookCombinator__Group__0__Impl_in_rule__HookCombinator__Group__06020); 
    8433             rule__HookCombinator__Group__0__Impl(); 
    8434  
    8435             state._fsp--; 
    8436  
    8437             pushFollow(FOLLOW_rule__HookCombinator__Group__1_in_rule__HookCombinator__Group__06023); 
    8438             rule__HookCombinator__Group__1(); 
    8439  
    8440             state._fsp--; 
    8441  
    8442  
    8443             } 
    8444  
    8445         } 
    8446         catch (RecognitionException re) { 
    8447             reportError(re); 
    8448             recover(input,re); 
    8449         } 
    8450         finally { 
    8451  
    8452                 restoreStackSize(stackSize); 
    8453  
    8454         } 
    8455         return ; 
    8456     } 
    8457     // $ANTLR end "rule__HookCombinator__Group__0" 
    8458  
    8459  
    8460     // $ANTLR start "rule__HookCombinator__Group__0__Impl" 
    8461     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2956:1: rule__HookCombinator__Group__0__Impl : ( 'hook' ) ; 
    8462     public final void rule__HookCombinator__Group__0__Impl() throws RecognitionException { 
    8463  
    8464                         int stackSize = keepStackSize(); 
    8465              
    8466         try { 
    8467             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2960:1: ( ( 'hook' ) ) 
    8468             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2961:1: ( 'hook' ) 
    8469             { 
    8470             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2961:1: ( 'hook' ) 
    8471             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2962:1: 'hook' 
    8472             { 
    8473              before(grammarAccess.getHookCombinatorAccess().getHookKeyword_0());  
    8474             match(input,33,FOLLOW_33_in_rule__HookCombinator__Group__0__Impl6051);  
    8475              after(grammarAccess.getHookCombinatorAccess().getHookKeyword_0());  
    8476  
    8477             } 
    8478  
    8479  
    8480             } 
    8481  
    8482         } 
    8483         catch (RecognitionException re) { 
    8484             reportError(re); 
    8485             recover(input,re); 
    8486         } 
    8487         finally { 
    8488  
    8489                 restoreStackSize(stackSize); 
    8490  
    8491         } 
    8492         return ; 
    8493     } 
    8494     // $ANTLR end "rule__HookCombinator__Group__0__Impl" 
    8495  
    8496  
    8497     // $ANTLR start "rule__HookCombinator__Group__1" 
    8498     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2975:1: rule__HookCombinator__Group__1 : rule__HookCombinator__Group__1__Impl rule__HookCombinator__Group__2 ; 
    8499     public final void rule__HookCombinator__Group__1() throws RecognitionException { 
    8500  
    8501                         int stackSize = keepStackSize(); 
    8502              
    8503         try { 
    8504             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2979:1: ( rule__HookCombinator__Group__1__Impl rule__HookCombinator__Group__2 ) 
    8505             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2980:2: rule__HookCombinator__Group__1__Impl rule__HookCombinator__Group__2 
    8506             { 
    8507             pushFollow(FOLLOW_rule__HookCombinator__Group__1__Impl_in_rule__HookCombinator__Group__16082); 
    8508             rule__HookCombinator__Group__1__Impl(); 
    8509  
    8510             state._fsp--; 
    8511  
    8512             pushFollow(FOLLOW_rule__HookCombinator__Group__2_in_rule__HookCombinator__Group__16085); 
    8513             rule__HookCombinator__Group__2(); 
    8514  
    8515             state._fsp--; 
    8516  
    8517  
    8518             } 
    8519  
    8520         } 
    8521         catch (RecognitionException re) { 
    8522             reportError(re); 
    8523             recover(input,re); 
    8524         } 
    8525         finally { 
    8526  
    8527                 restoreStackSize(stackSize); 
    8528  
    8529         } 
    8530         return ; 
    8531     } 
    8532     // $ANTLR end "rule__HookCombinator__Group__1" 
    8533  
    8534  
    8535     // $ANTLR start "rule__HookCombinator__Group__1__Impl" 
    8536     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2987:1: rule__HookCombinator__Group__1__Impl : ( 'combinator:' ) ; 
    8537     public final void rule__HookCombinator__Group__1__Impl() throws RecognitionException { 
    8538  
    8539                         int stackSize = keepStackSize(); 
    8540              
    8541         try { 
    8542             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2991:1: ( ( 'combinator:' ) ) 
    8543             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2992:1: ( 'combinator:' ) 
    8544             { 
    8545             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2992:1: ( 'combinator:' ) 
    8546             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2993:1: 'combinator:' 
    8547             { 
    8548              before(grammarAccess.getHookCombinatorAccess().getCombinatorKeyword_1());  
    8549             match(input,31,FOLLOW_31_in_rule__HookCombinator__Group__1__Impl6113);  
    8550              after(grammarAccess.getHookCombinatorAccess().getCombinatorKeyword_1());  
    8551  
    8552             } 
    8553  
    8554  
    8555             } 
    8556  
    8557         } 
    8558         catch (RecognitionException re) { 
    8559             reportError(re); 
    8560             recover(input,re); 
    8561         } 
    8562         finally { 
    8563  
    8564                 restoreStackSize(stackSize); 
    8565  
    8566         } 
    8567         return ; 
    8568     } 
    8569     // $ANTLR end "rule__HookCombinator__Group__1__Impl" 
    8570  
    8571  
    8572     // $ANTLR start "rule__HookCombinator__Group__2" 
    8573     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3006:1: rule__HookCombinator__Group__2 : rule__HookCombinator__Group__2__Impl rule__HookCombinator__Group__3 ; 
    8574     public final void rule__HookCombinator__Group__2() throws RecognitionException { 
    8575  
    8576                         int stackSize = keepStackSize(); 
    8577              
    8578         try { 
    8579             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3010:1: ( rule__HookCombinator__Group__2__Impl rule__HookCombinator__Group__3 ) 
    8580             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3011:2: rule__HookCombinator__Group__2__Impl rule__HookCombinator__Group__3 
    8581             { 
    8582             pushFollow(FOLLOW_rule__HookCombinator__Group__2__Impl_in_rule__HookCombinator__Group__26144); 
    8583             rule__HookCombinator__Group__2__Impl(); 
    8584  
    8585             state._fsp--; 
    8586  
    8587             pushFollow(FOLLOW_rule__HookCombinator__Group__3_in_rule__HookCombinator__Group__26147); 
    8588             rule__HookCombinator__Group__3(); 
    8589  
    8590             state._fsp--; 
    8591  
    8592  
    8593             } 
    8594  
    8595         } 
    8596         catch (RecognitionException re) { 
    8597             reportError(re); 
    8598             recover(input,re); 
    8599         } 
    8600         finally { 
    8601  
    8602                 restoreStackSize(stackSize); 
    8603  
    8604         } 
    8605         return ; 
    8606     } 
    8607     // $ANTLR end "rule__HookCombinator__Group__2" 
    8608  
    8609  
    8610     // $ANTLR start "rule__HookCombinator__Group__2__Impl" 
    8611     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3018:1: rule__HookCombinator__Group__2__Impl : ( ( rule__HookCombinator__NameAssignment_2 ) ) ; 
    8612     public final void rule__HookCombinator__Group__2__Impl() throws RecognitionException { 
    8613  
    8614                         int stackSize = keepStackSize(); 
    8615              
    8616         try { 
    8617             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3022:1: ( ( ( rule__HookCombinator__NameAssignment_2 ) ) ) 
    8618             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3023:1: ( ( rule__HookCombinator__NameAssignment_2 ) ) 
    8619             { 
    8620             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3023:1: ( ( rule__HookCombinator__NameAssignment_2 ) ) 
    8621             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3024:1: ( rule__HookCombinator__NameAssignment_2 ) 
    8622             { 
    8623              before(grammarAccess.getHookCombinatorAccess().getNameAssignment_2());  
    8624             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3025:1: ( rule__HookCombinator__NameAssignment_2 ) 
    8625             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3025:2: rule__HookCombinator__NameAssignment_2 
    8626             { 
    8627             pushFollow(FOLLOW_rule__HookCombinator__NameAssignment_2_in_rule__HookCombinator__Group__2__Impl6174); 
    8628             rule__HookCombinator__NameAssignment_2(); 
    8629  
    8630             state._fsp--; 
    8631  
    8632  
    8633             } 
    8634  
    8635              after(grammarAccess.getHookCombinatorAccess().getNameAssignment_2());  
    8636  
    8637             } 
    8638  
    8639  
    8640             } 
    8641  
    8642         } 
    8643         catch (RecognitionException re) { 
    8644             reportError(re); 
    8645             recover(input,re); 
    8646         } 
    8647         finally { 
    8648  
    8649                 restoreStackSize(stackSize); 
    8650  
    8651         } 
    8652         return ; 
    8653     } 
    8654     // $ANTLR end "rule__HookCombinator__Group__2__Impl" 
    8655  
    8656  
    8657     // $ANTLR start "rule__HookCombinator__Group__3" 
    8658     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3035:1: rule__HookCombinator__Group__3 : rule__HookCombinator__Group__3__Impl rule__HookCombinator__Group__4 ; 
    8659     public final void rule__HookCombinator__Group__3() throws RecognitionException { 
    8660  
    8661                         int stackSize = keepStackSize(); 
    8662              
    8663         try { 
    8664             // ../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__3__Impl rule__HookCombinator__Group__4 ) 
    8665             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3040:2: rule__HookCombinator__Group__3__Impl rule__HookCombinator__Group__4 
    8666             { 
    8667             pushFollow(FOLLOW_rule__HookCombinator__Group__3__Impl_in_rule__HookCombinator__Group__36204); 
    8668             rule__HookCombinator__Group__3__Impl(); 
    8669  
    8670             state._fsp--; 
    8671  
    8672             pushFollow(FOLLOW_rule__HookCombinator__Group__4_in_rule__HookCombinator__Group__36207); 
    8673             rule__HookCombinator__Group__4(); 
    8674  
    8675             state._fsp--; 
    8676  
    8677  
    8678             } 
    8679  
    8680         } 
    8681         catch (RecognitionException re) { 
    8682             reportError(re); 
    8683             recover(input,re); 
    8684         } 
    8685         finally { 
    8686  
    8687                 restoreStackSize(stackSize); 
    8688  
    8689         } 
    8690         return ; 
    8691     } 
    8692     // $ANTLR end "rule__HookCombinator__Group__3" 
    8693  
    8694  
    8695     // $ANTLR start "rule__HookCombinator__Group__3__Impl" 
    8696     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3047:1: rule__HookCombinator__Group__3__Impl : ( '(' ) ; 
    8697     public final void rule__HookCombinator__Group__3__Impl() throws RecognitionException { 
    8698  
    8699                         int stackSize = keepStackSize(); 
    8700              
    8701         try { 
    8702             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3051:1: ( ( '(' ) ) 
    8703             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3052:1: ( '(' ) 
    8704             { 
    8705             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3052:1: ( '(' ) 
    8706             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3053:1: '(' 
    8707             { 
    8708              before(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_3());  
    8709             match(input,17,FOLLOW_17_in_rule__HookCombinator__Group__3__Impl6235);  
    8710              after(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_3());  
    8711  
    8712             } 
    8713  
    8714  
    8715             } 
    8716  
    8717         } 
    8718         catch (RecognitionException re) { 
    8719             reportError(re); 
    8720             recover(input,re); 
    8721         } 
    8722         finally { 
    8723  
    8724                 restoreStackSize(stackSize); 
    8725  
    8726         } 
    8727         return ; 
    8728     } 
    8729     // $ANTLR end "rule__HookCombinator__Group__3__Impl" 
    8730  
    8731  
    8732     // $ANTLR start "rule__HookCombinator__Group__4" 
    8733     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3066:1: rule__HookCombinator__Group__4 : rule__HookCombinator__Group__4__Impl rule__HookCombinator__Group__5 ; 
    8734     public final void rule__HookCombinator__Group__4() throws RecognitionException { 
    8735  
    8736                         int stackSize = keepStackSize(); 
    8737              
    8738         try { 
    8739             // ../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__4__Impl rule__HookCombinator__Group__5 ) 
    8740             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3071:2: rule__HookCombinator__Group__4__Impl rule__HookCombinator__Group__5 
    8741             { 
    8742             pushFollow(FOLLOW_rule__HookCombinator__Group__4__Impl_in_rule__HookCombinator__Group__46266); 
    8743             rule__HookCombinator__Group__4__Impl(); 
    8744  
    8745             state._fsp--; 
    8746  
    8747             pushFollow(FOLLOW_rule__HookCombinator__Group__5_in_rule__HookCombinator__Group__46269); 
    8748             rule__HookCombinator__Group__5(); 
    8749  
    8750             state._fsp--; 
    8751  
    8752  
    8753             } 
    8754  
    8755         } 
    8756         catch (RecognitionException re) { 
    8757             reportError(re); 
    8758             recover(input,re); 
    8759         } 
    8760         finally { 
    8761  
    8762                 restoreStackSize(stackSize); 
    8763  
    8764         } 
    8765         return ; 
    8766     } 
    8767     // $ANTLR end "rule__HookCombinator__Group__4" 
    8768  
    8769  
    8770     // $ANTLR start "rule__HookCombinator__Group__4__Impl" 
    8771     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3078:1: rule__HookCombinator__Group__4__Impl : ( ( rule__HookCombinator__RuleextAssignment_4 ) ) ; 
    8772     public final void rule__HookCombinator__Group__4__Impl() throws RecognitionException { 
    8773  
    8774                         int stackSize = keepStackSize(); 
    8775              
    8776         try { 
    8777             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3082:1: ( ( ( rule__HookCombinator__RuleextAssignment_4 ) ) ) 
    8778             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3083:1: ( ( rule__HookCombinator__RuleextAssignment_4 ) ) 
    8779             { 
    8780             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3083:1: ( ( rule__HookCombinator__RuleextAssignment_4 ) ) 
    8781             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3084:1: ( rule__HookCombinator__RuleextAssignment_4 ) 
    8782             { 
    8783              before(grammarAccess.getHookCombinatorAccess().getRuleextAssignment_4());  
    8784             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3085:1: ( rule__HookCombinator__RuleextAssignment_4 ) 
    8785             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3085:2: rule__HookCombinator__RuleextAssignment_4 
    8786             { 
    8787             pushFollow(FOLLOW_rule__HookCombinator__RuleextAssignment_4_in_rule__HookCombinator__Group__4__Impl6296); 
    8788             rule__HookCombinator__RuleextAssignment_4(); 
    8789  
    8790             state._fsp--; 
    8791  
    8792  
    8793             } 
    8794  
    8795              after(grammarAccess.getHookCombinatorAccess().getRuleextAssignment_4());  
    8796  
    8797             } 
    8798  
    8799  
    8800             } 
    8801  
    8802         } 
    8803         catch (RecognitionException re) { 
    8804             reportError(re); 
    8805             recover(input,re); 
    8806         } 
    8807         finally { 
    8808  
    8809                 restoreStackSize(stackSize); 
    8810  
    8811         } 
    8812         return ; 
    8813     } 
    8814     // $ANTLR end "rule__HookCombinator__Group__4__Impl" 
    8815  
    8816  
    8817     // $ANTLR start "rule__HookCombinator__Group__5" 
    8818     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3095:1: rule__HookCombinator__Group__5 : rule__HookCombinator__Group__5__Impl rule__HookCombinator__Group__6 ; 
    8819     public final void rule__HookCombinator__Group__5() throws RecognitionException { 
    8820  
    8821                         int stackSize = keepStackSize(); 
    8822              
    8823         try { 
    8824             // ../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__5__Impl rule__HookCombinator__Group__6 ) 
    8825             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3100:2: rule__HookCombinator__Group__5__Impl rule__HookCombinator__Group__6 
    8826             { 
    8827             pushFollow(FOLLOW_rule__HookCombinator__Group__5__Impl_in_rule__HookCombinator__Group__56326); 
    8828             rule__HookCombinator__Group__5__Impl(); 
    8829  
    8830             state._fsp--; 
    8831  
    8832             pushFollow(FOLLOW_rule__HookCombinator__Group__6_in_rule__HookCombinator__Group__56329); 
    8833             rule__HookCombinator__Group__6(); 
    8834  
    8835             state._fsp--; 
    8836  
    8837  
    8838             } 
    8839  
    8840         } 
    8841         catch (RecognitionException re) { 
    8842             reportError(re); 
    8843             recover(input,re); 
    8844         } 
    8845         finally { 
    8846  
    8847                 restoreStackSize(stackSize); 
    8848  
    8849         } 
    8850         return ; 
    8851     } 
    8852     // $ANTLR end "rule__HookCombinator__Group__5" 
    8853  
    8854  
    8855     // $ANTLR start "rule__HookCombinator__Group__5__Impl" 
    8856     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3107:1: rule__HookCombinator__Group__5__Impl : ( ')' ) ; 
    8857     public final void rule__HookCombinator__Group__5__Impl() throws RecognitionException { 
    8858  
    8859                         int stackSize = keepStackSize(); 
    8860              
    8861         try { 
    8862             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3111:1: ( ( ')' ) ) 
    8863             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3112:1: ( ')' ) 
    8864             { 
    8865             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3112:1: ( ')' ) 
    8866             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3113:1: ')' 
    8867             { 
    8868              before(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_5());  
    8869             match(input,13,FOLLOW_13_in_rule__HookCombinator__Group__5__Impl6357);  
    8870              after(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_5());  
    8871  
    8872             } 
    8873  
    8874  
    8875             } 
    8876  
    8877         } 
    8878         catch (RecognitionException re) { 
    8879             reportError(re); 
    8880             recover(input,re); 
    8881         } 
    8882         finally { 
    8883  
    8884                 restoreStackSize(stackSize); 
    8885  
    8886         } 
    8887         return ; 
    8888     } 
    8889     // $ANTLR end "rule__HookCombinator__Group__5__Impl" 
    8890  
    8891  
    8892     // $ANTLR start "rule__HookCombinator__Group__6" 
    8893     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3126:1: rule__HookCombinator__Group__6 : rule__HookCombinator__Group__6__Impl rule__HookCombinator__Group__7 ; 
    8894     public final void rule__HookCombinator__Group__6() throws RecognitionException { 
    8895  
    8896                         int stackSize = keepStackSize(); 
    8897              
    8898         try { 
    8899             // ../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__6__Impl rule__HookCombinator__Group__7 ) 
    8900             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3131:2: rule__HookCombinator__Group__6__Impl rule__HookCombinator__Group__7 
    8901             { 
    8902             pushFollow(FOLLOW_rule__HookCombinator__Group__6__Impl_in_rule__HookCombinator__Group__66388); 
    8903             rule__HookCombinator__Group__6__Impl(); 
    8904  
    8905             state._fsp--; 
    8906  
    8907             pushFollow(FOLLOW_rule__HookCombinator__Group__7_in_rule__HookCombinator__Group__66391); 
    8908             rule__HookCombinator__Group__7(); 
    8909  
    8910             state._fsp--; 
    8911  
    8912  
    8913             } 
    8914  
    8915         } 
    8916         catch (RecognitionException re) { 
    8917             reportError(re); 
    8918             recover(input,re); 
    8919         } 
    8920         finally { 
    8921  
    8922                 restoreStackSize(stackSize); 
    8923  
    8924         } 
    8925         return ; 
    8926     } 
    8927     // $ANTLR end "rule__HookCombinator__Group__6" 
    8928  
    8929  
    8930     // $ANTLR start "rule__HookCombinator__Group__6__Impl" 
    8931     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3138:1: rule__HookCombinator__Group__6__Impl : ( ( rule__HookCombinator__LogicAssignment_6 )? ) ; 
    8932     public final void rule__HookCombinator__Group__6__Impl() throws RecognitionException { 
    8933  
    8934                         int stackSize = keepStackSize(); 
    8935              
    8936         try { 
    8937             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3142:1: ( ( ( rule__HookCombinator__LogicAssignment_6 )? ) ) 
    8938             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3143:1: ( ( rule__HookCombinator__LogicAssignment_6 )? ) 
    8939             { 
    8940             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3143:1: ( ( rule__HookCombinator__LogicAssignment_6 )? ) 
    8941             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3144:1: ( rule__HookCombinator__LogicAssignment_6 )? 
    8942             { 
    8943              before(grammarAccess.getHookCombinatorAccess().getLogicAssignment_6());  
    8944             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3145:1: ( rule__HookCombinator__LogicAssignment_6 )? 
     8005            if ( state.backtracking==0 ) { 
     8006               after(grammarAccess.getExtRuleAccess().getRulevariantAssignment_0_1());  
     8007            } 
     8008 
     8009            } 
     8010 
     8011 
     8012            } 
     8013 
     8014        } 
     8015        catch (RecognitionException re) { 
     8016            reportError(re); 
     8017            recover(input,re); 
     8018        } 
     8019        finally { 
     8020            if ( state.backtracking>0 ) { memoize(input, 141, rule__ExtRule__Group_0__1__Impl_StartIndex); } 
     8021 
     8022                restoreStackSize(stackSize); 
     8023 
     8024        } 
     8025        return ; 
     8026    } 
     8027    // $ANTLR end "rule__ExtRule__Group_0__1__Impl" 
     8028 
     8029 
     8030    // $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 ; 
     8032    public final void rule__ExtRule__Group_0__2() throws RecognitionException { 
     8033        int rule__ExtRule__Group_0__2_StartIndex = input.index(); 
     8034 
     8035                        int stackSize = keepStackSize(); 
     8036             
     8037        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); 
     8043            rule__ExtRule__Group_0__2__Impl(); 
     8044 
     8045            state._fsp--; 
     8046            if (state.failed) return ; 
     8047 
     8048            } 
     8049 
     8050        } 
     8051        catch (RecognitionException re) { 
     8052            reportError(re); 
     8053            recover(input,re); 
     8054        } 
     8055        finally { 
     8056            if ( state.backtracking>0 ) { memoize(input, 142, rule__ExtRule__Group_0__2_StartIndex); } 
     8057 
     8058                restoreStackSize(stackSize); 
     8059 
     8060        } 
     8061        return ; 
     8062    } 
     8063    // $ANTLR end "rule__ExtRule__Group_0__2" 
     8064 
     8065 
     8066    // $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 : ( '.' ) ; 
     8068    public final void rule__ExtRule__Group_0__2__Impl() throws RecognitionException { 
     8069        int rule__ExtRule__Group_0__2__Impl_StartIndex = input.index(); 
     8070 
     8071                        int stackSize = keepStackSize(); 
     8072             
     8073        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: '.' 
     8080            { 
     8081            if ( state.backtracking==0 ) { 
     8082               before(grammarAccess.getExtRuleAccess().getFullStopKeyword_0_2());  
     8083            } 
     8084            match(input,28,FOLLOW_28_in_rule__ExtRule__Group_0__2__Impl4984); if (state.failed) return ; 
     8085            if ( state.backtracking==0 ) { 
     8086               after(grammarAccess.getExtRuleAccess().getFullStopKeyword_0_2());  
     8087            } 
     8088 
     8089            } 
     8090 
     8091 
     8092            } 
     8093 
     8094        } 
     8095        catch (RecognitionException re) { 
     8096            reportError(re); 
     8097            recover(input,re); 
     8098        } 
     8099        finally { 
     8100            if ( state.backtracking>0 ) { memoize(input, 143, rule__ExtRule__Group_0__2__Impl_StartIndex); } 
     8101 
     8102                restoreStackSize(stackSize); 
     8103 
     8104        } 
     8105        return ; 
     8106    } 
     8107    // $ANTLR end "rule__ExtRule__Group_0__2__Impl" 
     8108 
     8109 
     8110    // $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 ; 
     8112    public final void rule__ExtRule__Group_2__0() throws RecognitionException { 
     8113        int rule__ExtRule__Group_2__0_StartIndex = input.index(); 
     8114 
     8115                        int stackSize = keepStackSize(); 
     8116             
     8117        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); 
     8123            rule__ExtRule__Group_2__0__Impl(); 
     8124 
     8125            state._fsp--; 
     8126            if (state.failed) return ; 
     8127            pushFollow(FOLLOW_rule__ExtRule__Group_2__1_in_rule__ExtRule__Group_2__05024); 
     8128            rule__ExtRule__Group_2__1(); 
     8129 
     8130            state._fsp--; 
     8131            if (state.failed) return ; 
     8132 
     8133            } 
     8134 
     8135        } 
     8136        catch (RecognitionException re) { 
     8137            reportError(re); 
     8138            recover(input,re); 
     8139        } 
     8140        finally { 
     8141            if ( state.backtracking>0 ) { memoize(input, 144, rule__ExtRule__Group_2__0_StartIndex); } 
     8142 
     8143                restoreStackSize(stackSize); 
     8144 
     8145        } 
     8146        return ; 
     8147    } 
     8148    // $ANTLR end "rule__ExtRule__Group_2__0" 
     8149 
     8150 
     8151    // $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 : ( '(' ) ; 
     8153    public final void rule__ExtRule__Group_2__0__Impl() throws RecognitionException { 
     8154        int rule__ExtRule__Group_2__0__Impl_StartIndex = input.index(); 
     8155 
     8156                        int stackSize = keepStackSize(); 
     8157             
     8158        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: '(' 
     8165            { 
     8166            if ( state.backtracking==0 ) { 
     8167               before(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_2_0());  
     8168            } 
     8169            match(input,17,FOLLOW_17_in_rule__ExtRule__Group_2__0__Impl5052); if (state.failed) return ; 
     8170            if ( state.backtracking==0 ) { 
     8171               after(grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_2_0());  
     8172            } 
     8173 
     8174            } 
     8175 
     8176 
     8177            } 
     8178 
     8179        } 
     8180        catch (RecognitionException re) { 
     8181            reportError(re); 
     8182            recover(input,re); 
     8183        } 
     8184        finally { 
     8185            if ( state.backtracking>0 ) { memoize(input, 145, rule__ExtRule__Group_2__0__Impl_StartIndex); } 
     8186 
     8187                restoreStackSize(stackSize); 
     8188 
     8189        } 
     8190        return ; 
     8191    } 
     8192    // $ANTLR end "rule__ExtRule__Group_2__0__Impl" 
     8193 
     8194 
     8195    // $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 ; 
     8197    public final void rule__ExtRule__Group_2__1() throws RecognitionException { 
     8198        int rule__ExtRule__Group_2__1_StartIndex = input.index(); 
     8199 
     8200                        int stackSize = keepStackSize(); 
     8201             
     8202        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); 
     8208            rule__ExtRule__Group_2__1__Impl(); 
     8209 
     8210            state._fsp--; 
     8211            if (state.failed) return ; 
     8212            pushFollow(FOLLOW_rule__ExtRule__Group_2__2_in_rule__ExtRule__Group_2__15086); 
     8213            rule__ExtRule__Group_2__2(); 
     8214 
     8215            state._fsp--; 
     8216            if (state.failed) return ; 
     8217 
     8218            } 
     8219 
     8220        } 
     8221        catch (RecognitionException re) { 
     8222            reportError(re); 
     8223            recover(input,re); 
     8224        } 
     8225        finally { 
     8226            if ( state.backtracking>0 ) { memoize(input, 146, rule__ExtRule__Group_2__1_StartIndex); } 
     8227 
     8228                restoreStackSize(stackSize); 
     8229 
     8230        } 
     8231        return ; 
     8232    } 
     8233    // $ANTLR end "rule__ExtRule__Group_2__1" 
     8234 
     8235 
     8236    // $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 ) ) ; 
     8238    public final void rule__ExtRule__Group_2__1__Impl() throws RecognitionException { 
     8239        int rule__ExtRule__Group_2__1__Impl_StartIndex = input.index(); 
     8240 
     8241                        int stackSize = keepStackSize(); 
     8242             
     8243        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 ) 
     8250            { 
     8251            if ( state.backtracking==0 ) { 
     8252               before(grammarAccess.getExtRuleAccess().getRuleextAssignment_2_1());  
     8253            } 
     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); 
     8258            rule__ExtRule__RuleextAssignment_2_1(); 
     8259 
     8260            state._fsp--; 
     8261            if (state.failed) return ; 
     8262 
     8263            } 
     8264 
     8265            if ( state.backtracking==0 ) { 
     8266               after(grammarAccess.getExtRuleAccess().getRuleextAssignment_2_1());  
     8267            } 
     8268 
     8269            } 
     8270 
     8271 
     8272            } 
     8273 
     8274        } 
     8275        catch (RecognitionException re) { 
     8276            reportError(re); 
     8277            recover(input,re); 
     8278        } 
     8279        finally { 
     8280            if ( state.backtracking>0 ) { memoize(input, 147, rule__ExtRule__Group_2__1__Impl_StartIndex); } 
     8281 
     8282                restoreStackSize(stackSize); 
     8283 
     8284        } 
     8285        return ; 
     8286    } 
     8287    // $ANTLR end "rule__ExtRule__Group_2__1__Impl" 
     8288 
     8289 
     8290    // $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 ; 
     8292    public final void rule__ExtRule__Group_2__2() throws RecognitionException { 
     8293        int rule__ExtRule__Group_2__2_StartIndex = input.index(); 
     8294 
     8295                        int stackSize = keepStackSize(); 
     8296             
     8297        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); 
     8303            rule__ExtRule__Group_2__2__Impl(); 
     8304 
     8305            state._fsp--; 
     8306            if (state.failed) return ; 
     8307 
     8308            } 
     8309 
     8310        } 
     8311        catch (RecognitionException re) { 
     8312            reportError(re); 
     8313            recover(input,re); 
     8314        } 
     8315        finally { 
     8316            if ( state.backtracking>0 ) { memoize(input, 148, rule__ExtRule__Group_2__2_StartIndex); } 
     8317 
     8318                restoreStackSize(stackSize); 
     8319 
     8320        } 
     8321        return ; 
     8322    } 
     8323    // $ANTLR end "rule__ExtRule__Group_2__2" 
     8324 
     8325 
     8326    // $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 : ( ')' ) ; 
     8328    public final void rule__ExtRule__Group_2__2__Impl() throws RecognitionException { 
     8329        int rule__ExtRule__Group_2__2__Impl_StartIndex = input.index(); 
     8330 
     8331                        int stackSize = keepStackSize(); 
     8332             
     8333        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: ')' 
     8340            { 
     8341            if ( state.backtracking==0 ) { 
     8342               before(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_2_2());  
     8343            } 
     8344            match(input,13,FOLLOW_13_in_rule__ExtRule__Group_2__2__Impl5171); if (state.failed) return ; 
     8345            if ( state.backtracking==0 ) { 
     8346               after(grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_2_2());  
     8347            } 
     8348 
     8349            } 
     8350 
     8351 
     8352            } 
     8353 
     8354        } 
     8355        catch (RecognitionException re) { 
     8356            reportError(re); 
     8357            recover(input,re); 
     8358        } 
     8359        finally { 
     8360            if ( state.backtracking>0 ) { memoize(input, 149, rule__ExtRule__Group_2__2__Impl_StartIndex); } 
     8361 
     8362                restoreStackSize(stackSize); 
     8363 
     8364        } 
     8365        return ; 
     8366    } 
     8367    // $ANTLR end "rule__ExtRule__Group_2__2__Impl" 
     8368 
     8369 
     8370    // $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 ; 
     8372    public final void rule__GlobalCombinator__Group__0() throws RecognitionException { 
     8373        int rule__GlobalCombinator__Group__0_StartIndex = input.index(); 
     8374 
     8375                        int stackSize = keepStackSize(); 
     8376             
     8377        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); 
     8383            rule__GlobalCombinator__Group__0__Impl(); 
     8384 
     8385            state._fsp--; 
     8386            if (state.failed) return ; 
     8387            pushFollow(FOLLOW_rule__GlobalCombinator__Group__1_in_rule__GlobalCombinator__Group__05211); 
     8388            rule__GlobalCombinator__Group__1(); 
     8389 
     8390            state._fsp--; 
     8391            if (state.failed) return ; 
     8392 
     8393            } 
     8394 
     8395        } 
     8396        catch (RecognitionException re) { 
     8397            reportError(re); 
     8398            recover(input,re); 
     8399        } 
     8400        finally { 
     8401            if ( state.backtracking>0 ) { memoize(input, 150, rule__GlobalCombinator__Group__0_StartIndex); } 
     8402 
     8403                restoreStackSize(stackSize); 
     8404 
     8405        } 
     8406        return ; 
     8407    } 
     8408    // $ANTLR end "rule__GlobalCombinator__Group__0" 
     8409 
     8410 
     8411    // $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 ) ) ; 
     8413    public final void rule__GlobalCombinator__Group__0__Impl() throws RecognitionException { 
     8414        int rule__GlobalCombinator__Group__0__Impl_StartIndex = input.index(); 
     8415 
     8416                        int stackSize = keepStackSize(); 
     8417             
     8418        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 ) 
     8425            { 
     8426            if ( state.backtracking==0 ) { 
     8427               before(grammarAccess.getGlobalCombinatorAccess().getGroup_0());  
     8428            } 
     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); 
     8433            rule__GlobalCombinator__Group_0__0(); 
     8434 
     8435            state._fsp--; 
     8436            if (state.failed) return ; 
     8437 
     8438            } 
     8439 
     8440            if ( state.backtracking==0 ) { 
     8441               after(grammarAccess.getGlobalCombinatorAccess().getGroup_0());  
     8442            } 
     8443 
     8444            } 
     8445 
     8446 
     8447            } 
     8448 
     8449        } 
     8450        catch (RecognitionException re) { 
     8451            reportError(re); 
     8452            recover(input,re); 
     8453        } 
     8454        finally { 
     8455            if ( state.backtracking>0 ) { memoize(input, 151, rule__GlobalCombinator__Group__0__Impl_StartIndex); } 
     8456 
     8457                restoreStackSize(stackSize); 
     8458 
     8459        } 
     8460        return ; 
     8461    } 
     8462    // $ANTLR end "rule__GlobalCombinator__Group__0__Impl" 
     8463 
     8464 
     8465    // $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 ; 
     8467    public final void rule__GlobalCombinator__Group__1() throws RecognitionException { 
     8468        int rule__GlobalCombinator__Group__1_StartIndex = input.index(); 
     8469 
     8470                        int stackSize = keepStackSize(); 
     8471             
     8472        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); 
     8478            rule__GlobalCombinator__Group__1__Impl(); 
     8479 
     8480            state._fsp--; 
     8481            if (state.failed) return ; 
     8482            pushFollow(FOLLOW_rule__GlobalCombinator__Group__2_in_rule__GlobalCombinator__Group__15271); 
     8483            rule__GlobalCombinator__Group__2(); 
     8484 
     8485            state._fsp--; 
     8486            if (state.failed) return ; 
     8487 
     8488            } 
     8489 
     8490        } 
     8491        catch (RecognitionException re) { 
     8492            reportError(re); 
     8493            recover(input,re); 
     8494        } 
     8495        finally { 
     8496            if ( state.backtracking>0 ) { memoize(input, 152, rule__GlobalCombinator__Group__1_StartIndex); } 
     8497 
     8498                restoreStackSize(stackSize); 
     8499 
     8500        } 
     8501        return ; 
     8502    } 
     8503    // $ANTLR end "rule__GlobalCombinator__Group__1" 
     8504 
     8505 
     8506    // $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 ) ) ; 
     8508    public final void rule__GlobalCombinator__Group__1__Impl() throws RecognitionException { 
     8509        int rule__GlobalCombinator__Group__1__Impl_StartIndex = input.index(); 
     8510 
     8511                        int stackSize = keepStackSize(); 
     8512             
     8513        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 ) 
     8520            { 
     8521            if ( state.backtracking==0 ) { 
     8522               before(grammarAccess.getGlobalCombinatorAccess().getLogicAssignment_1());  
     8523            } 
     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); 
     8528            rule__GlobalCombinator__LogicAssignment_1(); 
     8529 
     8530            state._fsp--; 
     8531            if (state.failed) return ; 
     8532 
     8533            } 
     8534 
     8535            if ( state.backtracking==0 ) { 
     8536               after(grammarAccess.getGlobalCombinatorAccess().getLogicAssignment_1());  
     8537            } 
     8538 
     8539            } 
     8540 
     8541 
     8542            } 
     8543 
     8544        } 
     8545        catch (RecognitionException re) { 
     8546            reportError(re); 
     8547            recover(input,re); 
     8548        } 
     8549        finally { 
     8550            if ( state.backtracking>0 ) { memoize(input, 153, rule__GlobalCombinator__Group__1__Impl_StartIndex); } 
     8551 
     8552                restoreStackSize(stackSize); 
     8553 
     8554        } 
     8555        return ; 
     8556    } 
     8557    // $ANTLR end "rule__GlobalCombinator__Group__1__Impl" 
     8558 
     8559 
     8560    // $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 ; 
     8562    public final void rule__GlobalCombinator__Group__2() throws RecognitionException { 
     8563        int rule__GlobalCombinator__Group__2_StartIndex = input.index(); 
     8564 
     8565                        int stackSize = keepStackSize(); 
     8566             
     8567        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); 
     8573            rule__GlobalCombinator__Group__2__Impl(); 
     8574 
     8575            state._fsp--; 
     8576            if (state.failed) return ; 
     8577 
     8578            } 
     8579 
     8580        } 
     8581        catch (RecognitionException re) { 
     8582            reportError(re); 
     8583            recover(input,re); 
     8584        } 
     8585        finally { 
     8586            if ( state.backtracking>0 ) { memoize(input, 154, rule__GlobalCombinator__Group__2_StartIndex); } 
     8587 
     8588                restoreStackSize(stackSize); 
     8589 
     8590        } 
     8591        return ; 
     8592    } 
     8593    // $ANTLR end "rule__GlobalCombinator__Group__2" 
     8594 
     8595 
     8596    // $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 : ( ( ';' )? ) ; 
     8598    public final void rule__GlobalCombinator__Group__2__Impl() throws RecognitionException { 
     8599        int rule__GlobalCombinator__Group__2__Impl_StartIndex = input.index(); 
     8600 
     8601                        int stackSize = keepStackSize(); 
     8602             
     8603        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: ( ';' )? 
     8610            { 
     8611            if ( state.backtracking==0 ) { 
     8612               before(grammarAccess.getGlobalCombinatorAccess().getSemicolonKeyword_2());  
     8613            } 
     8614            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2596:1: ( ';' )? 
    89458615            int alt33=2; 
    89468616            int LA33_0 = input.LA(1); 
    89478617 
    8948             if ( (LA33_0==RULE_LOGIC) ) { 
     8618            if ( (LA33_0==23) ) { 
    89498619                alt33=1; 
    89508620            } 
    89518621            switch (alt33) { 
    89528622                case 1 : 
    8953                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3145:2: rule__HookCombinator__LogicAssignment_6 
     8623                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2597:2: ';' 
    89548624                    { 
    8955                     pushFollow(FOLLOW_rule__HookCombinator__LogicAssignment_6_in_rule__HookCombinator__Group__6__Impl6418); 
    8956                     rule__HookCombinator__LogicAssignment_6(); 
    8957  
    8958                     state._fsp--; 
    8959  
     8625                    match(input,23,FOLLOW_23_in_rule__GlobalCombinator__Group__2__Impl5357); if (state.failed) return ; 
    89608626 
    89618627                    } 
     
    89648630            } 
    89658631 
    8966              after(grammarAccess.getHookCombinatorAccess().getLogicAssignment_6());  
    8967  
    8968             } 
    8969  
    8970  
    8971             } 
    8972  
    8973         } 
    8974         catch (RecognitionException re) { 
    8975             reportError(re); 
    8976             recover(input,re); 
    8977         } 
    8978         finally { 
    8979  
    8980                 restoreStackSize(stackSize); 
    8981  
    8982         } 
    8983         return ; 
    8984     } 
    8985     // $ANTLR end "rule__HookCombinator__Group__6__Impl" 
    8986  
    8987  
    8988     // $ANTLR start "rule__HookCombinator__Group__7" 
    8989     // ../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__7 : rule__HookCombinator__Group__7__Impl rule__HookCombinator__Group__8 ; 
    8990     public final void rule__HookCombinator__Group__7() throws RecognitionException { 
    8991  
    8992                         int stackSize = keepStackSize(); 
    8993              
    8994         try { 
    8995             // ../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__7__Impl rule__HookCombinator__Group__8 ) 
    8996             // ../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__7__Impl rule__HookCombinator__Group__8 
    8997             { 
    8998             pushFollow(FOLLOW_rule__HookCombinator__Group__7__Impl_in_rule__HookCombinator__Group__76449); 
    8999             rule__HookCombinator__Group__7__Impl(); 
    9000  
    9001             state._fsp--; 
    9002  
    9003             pushFollow(FOLLOW_rule__HookCombinator__Group__8_in_rule__HookCombinator__Group__76452); 
    9004             rule__HookCombinator__Group__8(); 
    9005  
    9006             state._fsp--; 
    9007  
    9008  
    9009             } 
    9010  
    9011         } 
    9012         catch (RecognitionException re) { 
    9013             reportError(re); 
    9014             recover(input,re); 
    9015         } 
    9016         finally { 
    9017  
    9018                 restoreStackSize(stackSize); 
    9019  
    9020         } 
    9021         return ; 
    9022     } 
    9023     // $ANTLR end "rule__HookCombinator__Group__7" 
    9024  
    9025  
    9026     // $ANTLR start "rule__HookCombinator__Group__7__Impl" 
    9027     // ../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__7__Impl : ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) ; 
    9028     public final void rule__HookCombinator__Group__7__Impl() throws RecognitionException { 
    9029  
    9030                         int stackSize = keepStackSize(); 
    9031              
    9032         try { 
    9033             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3171:1: ( ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) ) 
    9034             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3172:1: ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) 
    9035             { 
    9036             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3172:1: ( ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) ) 
    9037             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3173:1: ( ( rule__HookCombinator__Group_7__0 ) ) ( ( rule__HookCombinator__Group_7__0 )* ) 
    9038             { 
    9039             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3173:1: ( ( rule__HookCombinator__Group_7__0 ) ) 
    9040             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3174:1: ( rule__HookCombinator__Group_7__0 ) 
    9041             { 
    9042              before(grammarAccess.getHookCombinatorAccess().getGroup_7());  
    9043             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3175:1: ( rule__HookCombinator__Group_7__0 ) 
    9044             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3175:2: rule__HookCombinator__Group_7__0 
    9045             { 
    9046             pushFollow(FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6481); 
    9047             rule__HookCombinator__Group_7__0(); 
    9048  
    9049             state._fsp--; 
    9050  
    9051  
    9052             } 
    9053  
    9054              after(grammarAccess.getHookCombinatorAccess().getGroup_7());  
    9055  
    9056             } 
    9057  
    9058             // ../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_7__0 )* ) 
    9059             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3179:1: ( rule__HookCombinator__Group_7__0 )* 
    9060             { 
    9061              before(grammarAccess.getHookCombinatorAccess().getGroup_7());  
    9062             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3180:1: ( rule__HookCombinator__Group_7__0 )* 
     8632            if ( state.backtracking==0 ) { 
     8633               after(grammarAccess.getGlobalCombinatorAccess().getSemicolonKeyword_2());  
     8634            } 
     8635 
     8636            } 
     8637 
     8638 
     8639            } 
     8640 
     8641        } 
     8642        catch (RecognitionException re) { 
     8643            reportError(re); 
     8644            recover(input,re); 
     8645        } 
     8646        finally { 
     8647            if ( state.backtracking>0 ) { memoize(input, 155, rule__GlobalCombinator__Group__2__Impl_StartIndex); } 
     8648 
     8649                restoreStackSize(stackSize); 
     8650 
     8651        } 
     8652        return ; 
     8653    } 
     8654    // $ANTLR end "rule__GlobalCombinator__Group__2__Impl" 
     8655 
     8656 
     8657    // $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 ; 
     8659    public final void rule__GlobalCombinator__Group_0__0() throws RecognitionException { 
     8660        int rule__GlobalCombinator__Group_0__0_StartIndex = input.index(); 
     8661 
     8662                        int stackSize = keepStackSize(); 
     8663             
     8664        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); 
     8670            rule__GlobalCombinator__Group_0__0__Impl(); 
     8671 
     8672            state._fsp--; 
     8673            if (state.failed) return ; 
     8674            pushFollow(FOLLOW_rule__GlobalCombinator__Group_0__1_in_rule__GlobalCombinator__Group_0__05399); 
     8675            rule__GlobalCombinator__Group_0__1(); 
     8676 
     8677            state._fsp--; 
     8678            if (state.failed) return ; 
     8679 
     8680            } 
     8681 
     8682        } 
     8683        catch (RecognitionException re) { 
     8684            reportError(re); 
     8685            recover(input,re); 
     8686        } 
     8687        finally { 
     8688            if ( state.backtracking>0 ) { memoize(input, 156, rule__GlobalCombinator__Group_0__0_StartIndex); } 
     8689 
     8690                restoreStackSize(stackSize); 
     8691 
     8692        } 
     8693        return ; 
     8694    } 
     8695    // $ANTLR end "rule__GlobalCombinator__Group_0__0" 
     8696 
     8697 
     8698    // $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' ) ; 
     8700    public final void rule__GlobalCombinator__Group_0__0__Impl() throws RecognitionException { 
     8701        int rule__GlobalCombinator__Group_0__0__Impl_StartIndex = input.index(); 
     8702 
     8703                        int stackSize = keepStackSize(); 
     8704             
     8705        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' 
     8712            { 
     8713            if ( state.backtracking==0 ) { 
     8714               before(grammarAccess.getGlobalCombinatorAccess().getGlobalKeyword_0_0());  
     8715            } 
     8716            match(input,30,FOLLOW_30_in_rule__GlobalCombinator__Group_0__0__Impl5427); if (state.failed) return ; 
     8717            if ( state.backtracking==0 ) { 
     8718               after(grammarAccess.getGlobalCombinatorAccess().getGlobalKeyword_0_0());  
     8719            } 
     8720 
     8721            } 
     8722 
     8723 
     8724            } 
     8725 
     8726        } 
     8727        catch (RecognitionException re) { 
     8728            reportError(re); 
     8729            recover(input,re); 
     8730        } 
     8731        finally { 
     8732            if ( state.backtracking>0 ) { memoize(input, 157, rule__GlobalCombinator__Group_0__0__Impl_StartIndex); } 
     8733 
     8734                restoreStackSize(stackSize); 
     8735 
     8736        } 
     8737        return ; 
     8738    } 
     8739    // $ANTLR end "rule__GlobalCombinator__Group_0__0__Impl" 
     8740 
     8741 
     8742    // $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 ; 
     8744    public final void rule__GlobalCombinator__Group_0__1() throws RecognitionException { 
     8745        int rule__GlobalCombinator__Group_0__1_StartIndex = input.index(); 
     8746 
     8747                        int stackSize = keepStackSize(); 
     8748             
     8749        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); 
     8755            rule__GlobalCombinator__Group_0__1__Impl(); 
     8756 
     8757            state._fsp--; 
     8758            if (state.failed) return ; 
     8759 
     8760            } 
     8761 
     8762        } 
     8763        catch (RecognitionException re) { 
     8764            reportError(re); 
     8765            recover(input,re); 
     8766        } 
     8767        finally { 
     8768            if ( state.backtracking>0 ) { memoize(input, 158, rule__GlobalCombinator__Group_0__1_StartIndex); } 
     8769 
     8770                restoreStackSize(stackSize); 
     8771 
     8772        } 
     8773        return ; 
     8774    } 
     8775    // $ANTLR end "rule__GlobalCombinator__Group_0__1" 
     8776 
     8777 
     8778    // $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:' ) ; 
     8780    public final void rule__GlobalCombinator__Group_0__1__Impl() throws RecognitionException { 
     8781        int rule__GlobalCombinator__Group_0__1__Impl_StartIndex = input.index(); 
     8782 
     8783                        int stackSize = keepStackSize(); 
     8784             
     8785        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:' 
     8792            { 
     8793            if ( state.backtracking==0 ) { 
     8794               before(grammarAccess.getGlobalCombinatorAccess().getCombinatorKeyword_0_1());  
     8795            } 
     8796            match(input,31,FOLLOW_31_in_rule__GlobalCombinator__Group_0__1__Impl5486); if (state.failed) return ; 
     8797            if ( state.backtracking==0 ) { 
     8798               after(grammarAccess.getGlobalCombinatorAccess().getCombinatorKeyword_0_1());  
     8799            } 
     8800 
     8801            } 
     8802 
     8803 
     8804            } 
     8805 
     8806        } 
     8807        catch (RecognitionException re) { 
     8808            reportError(re); 
     8809            recover(input,re); 
     8810        } 
     8811        finally { 
     8812            if ( state.backtracking>0 ) { memoize(input, 159, rule__GlobalCombinator__Group_0__1__Impl_StartIndex); } 
     8813 
     8814                restoreStackSize(stackSize); 
     8815 
     8816        } 
     8817        return ; 
     8818    } 
     8819    // $ANTLR end "rule__GlobalCombinator__Group_0__1__Impl" 
     8820 
     8821 
     8822    // $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 ; 
     8824    public final void rule__RuleCombinator__Group__0() throws RecognitionException { 
     8825        int rule__RuleCombinator__Group__0_StartIndex = input.index(); 
     8826 
     8827                        int stackSize = keepStackSize(); 
     8828             
     8829        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); 
     8835            rule__RuleCombinator__Group__0__Impl(); 
     8836 
     8837            state._fsp--; 
     8838            if (state.failed) return ; 
     8839            pushFollow(FOLLOW_rule__RuleCombinator__Group__1_in_rule__RuleCombinator__Group__05524); 
     8840            rule__RuleCombinator__Group__1(); 
     8841 
     8842            state._fsp--; 
     8843            if (state.failed) return ; 
     8844 
     8845            } 
     8846 
     8847        } 
     8848        catch (RecognitionException re) { 
     8849            reportError(re); 
     8850            recover(input,re); 
     8851        } 
     8852        finally { 
     8853            if ( state.backtracking>0 ) { memoize(input, 160, rule__RuleCombinator__Group__0_StartIndex); } 
     8854 
     8855                restoreStackSize(stackSize); 
     8856 
     8857        } 
     8858        return ; 
     8859    } 
     8860    // $ANTLR end "rule__RuleCombinator__Group__0" 
     8861 
     8862 
     8863    // $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 ) ) ; 
     8865    public final void rule__RuleCombinator__Group__0__Impl() throws RecognitionException { 
     8866        int rule__RuleCombinator__Group__0__Impl_StartIndex = input.index(); 
     8867 
     8868                        int stackSize = keepStackSize(); 
     8869             
     8870        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 ) 
     8877            { 
     8878            if ( state.backtracking==0 ) { 
     8879               before(grammarAccess.getRuleCombinatorAccess().getGroup_0());  
     8880            } 
     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); 
     8885            rule__RuleCombinator__Group_0__0(); 
     8886 
     8887            state._fsp--; 
     8888            if (state.failed) return ; 
     8889 
     8890            } 
     8891 
     8892            if ( state.backtracking==0 ) { 
     8893               after(grammarAccess.getRuleCombinatorAccess().getGroup_0());  
     8894            } 
     8895 
     8896            } 
     8897 
     8898 
     8899            } 
     8900 
     8901        } 
     8902        catch (RecognitionException re) { 
     8903            reportError(re); 
     8904            recover(input,re); 
     8905        } 
     8906        finally { 
     8907            if ( state.backtracking>0 ) { memoize(input, 161, rule__RuleCombinator__Group__0__Impl_StartIndex); } 
     8908 
     8909                restoreStackSize(stackSize); 
     8910 
     8911        } 
     8912        return ; 
     8913    } 
     8914    // $ANTLR end "rule__RuleCombinator__Group__0__Impl" 
     8915 
     8916 
     8917    // $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 ; 
     8919    public final void rule__RuleCombinator__Group__1() throws RecognitionException { 
     8920        int rule__RuleCombinator__Group__1_StartIndex = input.index(); 
     8921 
     8922                        int stackSize = keepStackSize(); 
     8923             
     8924        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); 
     8930            rule__RuleCombinator__Group__1__Impl(); 
     8931 
     8932            state._fsp--; 
     8933            if (state.failed) return ; 
     8934            pushFollow(FOLLOW_rule__RuleCombinator__Group__2_in_rule__RuleCombinator__Group__15584); 
     8935            rule__RuleCombinator__Group__2(); 
     8936 
     8937            state._fsp--; 
     8938            if (state.failed) return ; 
     8939 
     8940            } 
     8941 
     8942        } 
     8943        catch (RecognitionException re) { 
     8944            reportError(re); 
     8945            recover(input,re); 
     8946        } 
     8947        finally { 
     8948            if ( state.backtracking>0 ) { memoize(input, 162, rule__RuleCombinator__Group__1_StartIndex); } 
     8949 
     8950                restoreStackSize(stackSize); 
     8951 
     8952        } 
     8953        return ; 
     8954    } 
     8955    // $ANTLR end "rule__RuleCombinator__Group__1" 
     8956 
     8957 
     8958    // $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 ) ) ; 
     8960    public final void rule__RuleCombinator__Group__1__Impl() throws RecognitionException { 
     8961        int rule__RuleCombinator__Group__1__Impl_StartIndex = input.index(); 
     8962 
     8963                        int stackSize = keepStackSize(); 
     8964             
     8965        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 ) 
     8972            { 
     8973            if ( state.backtracking==0 ) { 
     8974               before(grammarAccess.getRuleCombinatorAccess().getLogicAssignment_1());  
     8975            } 
     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); 
     8980            rule__RuleCombinator__LogicAssignment_1(); 
     8981 
     8982            state._fsp--; 
     8983            if (state.failed) return ; 
     8984 
     8985            } 
     8986 
     8987            if ( state.backtracking==0 ) { 
     8988               after(grammarAccess.getRuleCombinatorAccess().getLogicAssignment_1());  
     8989            } 
     8990 
     8991            } 
     8992 
     8993 
     8994            } 
     8995 
     8996        } 
     8997        catch (RecognitionException re) { 
     8998            reportError(re); 
     8999            recover(input,re); 
     9000        } 
     9001        finally { 
     9002            if ( state.backtracking>0 ) { memoize(input, 163, rule__RuleCombinator__Group__1__Impl_StartIndex); } 
     9003 
     9004                restoreStackSize(stackSize); 
     9005 
     9006        } 
     9007        return ; 
     9008    } 
     9009    // $ANTLR end "rule__RuleCombinator__Group__1__Impl" 
     9010 
     9011 
     9012    // $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 ; 
     9014    public final void rule__RuleCombinator__Group__2() throws RecognitionException { 
     9015        int rule__RuleCombinator__Group__2_StartIndex = input.index(); 
     9016 
     9017                        int stackSize = keepStackSize(); 
     9018             
     9019        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); 
     9025            rule__RuleCombinator__Group__2__Impl(); 
     9026 
     9027            state._fsp--; 
     9028            if (state.failed) return ; 
     9029            pushFollow(FOLLOW_rule__RuleCombinator__Group__3_in_rule__RuleCombinator__Group__25644); 
     9030            rule__RuleCombinator__Group__3(); 
     9031 
     9032            state._fsp--; 
     9033            if (state.failed) return ; 
     9034 
     9035            } 
     9036 
     9037        } 
     9038        catch (RecognitionException re) { 
     9039            reportError(re); 
     9040            recover(input,re); 
     9041        } 
     9042        finally { 
     9043            if ( state.backtracking>0 ) { memoize(input, 164, rule__RuleCombinator__Group__2_StartIndex); } 
     9044 
     9045                restoreStackSize(stackSize); 
     9046 
     9047        } 
     9048        return ; 
     9049    } 
     9050    // $ANTLR end "rule__RuleCombinator__Group__2" 
     9051 
     9052 
     9053    // $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 )* ) ; 
     9055    public final void rule__RuleCombinator__Group__2__Impl() throws RecognitionException { 
     9056        int rule__RuleCombinator__Group__2__Impl_StartIndex = input.index(); 
     9057 
     9058                        int stackSize = keepStackSize(); 
     9059             
     9060        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 )* 
     9067            { 
     9068            if ( state.backtracking==0 ) { 
     9069               before(grammarAccess.getRuleCombinatorAccess().getGroup_2());  
     9070            } 
     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 )* 
    90639072            loop34: 
    90649073            do { 
     
    90739082                switch (alt34) { 
    90749083                case 1 : 
    9075                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3180:2: rule__HookCombinator__Group_7__0 
     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 
    90769085                    { 
    9077                     pushFollow(FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6493); 
    9078                     rule__HookCombinator__Group_7__0(); 
     9086                    pushFollow(FOLLOW_rule__RuleCombinator__Group_2__0_in_rule__RuleCombinator__Group__2__Impl5671); 
     9087                    rule__RuleCombinator__Group_2__0(); 
    90799088 
    90809089                    state._fsp--; 
    9081  
     9090                    if (state.failed) return ; 
    90829091 
    90839092                    } 
     
    90899098            } while (true); 
    90909099 
    9091              after(grammarAccess.getHookCombinatorAccess().getGroup_7());  
    9092  
    9093             } 
    9094  
    9095  
    9096             } 
    9097  
    9098  
    9099             } 
    9100  
    9101         } 
    9102         catch (RecognitionException re) { 
    9103             reportError(re); 
    9104             recover(input,re); 
    9105         } 
    9106         finally { 
    9107  
    9108                 restoreStackSize(stackSize); 
    9109  
    9110         } 
    9111         return ; 
    9112     } 
    9113     // $ANTLR end "rule__HookCombinator__Group__7__Impl" 
    9114  
    9115  
    9116     // $ANTLR start "rule__HookCombinator__Group__8" 
    9117     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3191:1: rule__HookCombinator__Group__8 : rule__HookCombinator__Group__8__Impl ; 
    9118     public final void rule__HookCombinator__Group__8() throws RecognitionException { 
    9119  
    9120                         int stackSize = keepStackSize(); 
    9121              
    9122         try { 
    9123             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3195:1: ( rule__HookCombinator__Group__8__Impl ) 
    9124             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3196:2: rule__HookCombinator__Group__8__Impl 
    9125             { 
    9126             pushFollow(FOLLOW_rule__HookCombinator__Group__8__Impl_in_rule__HookCombinator__Group__86526); 
    9127             rule__HookCombinator__Group__8__Impl(); 
    9128  
    9129             state._fsp--; 
    9130  
    9131  
    9132             } 
    9133  
    9134         } 
    9135         catch (RecognitionException re) { 
    9136             reportError(re); 
    9137             recover(input,re); 
    9138         } 
    9139         finally { 
    9140  
    9141                 restoreStackSize(stackSize); 
    9142  
    9143         } 
    9144         return ; 
    9145     } 
    9146     // $ANTLR end "rule__HookCombinator__Group__8" 
    9147  
    9148  
    9149     // $ANTLR start "rule__HookCombinator__Group__8__Impl" 
    9150     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3202:1: rule__HookCombinator__Group__8__Impl : ( ( ';' )? ) ; 
    9151     public final void rule__HookCombinator__Group__8__Impl() throws RecognitionException { 
    9152  
    9153                         int stackSize = keepStackSize(); 
    9154              
    9155         try { 
    9156             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3206:1: ( ( ( ';' )? ) ) 
    9157             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3207:1: ( ( ';' )? ) 
    9158             { 
    9159             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3207:1: ( ( ';' )? ) 
    9160             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3208:1: ( ';' )? 
    9161             { 
    9162              before(grammarAccess.getHookCombinatorAccess().getSemicolonKeyword_8());  
    9163             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3209:1: ( ';' )? 
     9100            if ( state.backtracking==0 ) { 
     9101               after(grammarAccess.getRuleCombinatorAccess().getGroup_2());  
     9102            } 
     9103 
     9104            } 
     9105 
     9106 
     9107            } 
     9108 
     9109        } 
     9110        catch (RecognitionException re) { 
     9111            reportError(re); 
     9112            recover(input,re); 
     9113        } 
     9114        finally { 
     9115            if ( state.backtracking>0 ) { memoize(input, 165, rule__RuleCombinator__Group__2__Impl_StartIndex); } 
     9116 
     9117                restoreStackSize(stackSize); 
     9118 
     9119        } 
     9120        return ; 
     9121    } 
     9122    // $ANTLR end "rule__RuleCombinator__Group__2__Impl" 
     9123 
     9124 
     9125    // $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 ; 
     9127    public final void rule__RuleCombinator__Group__3() throws RecognitionException { 
     9128        int rule__RuleCombinator__Group__3_StartIndex = input.index(); 
     9129 
     9130                        int stackSize = keepStackSize(); 
     9131             
     9132        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); 
     9138            rule__RuleCombinator__Group__3__Impl(); 
     9139 
     9140            state._fsp--; 
     9141            if (state.failed) return ; 
     9142 
     9143            } 
     9144 
     9145        } 
     9146        catch (RecognitionException re) { 
     9147            reportError(re); 
     9148            recover(input,re); 
     9149        } 
     9150        finally { 
     9151            if ( state.backtracking>0 ) { memoize(input, 166, rule__RuleCombinator__Group__3_StartIndex); } 
     9152 
     9153                restoreStackSize(stackSize); 
     9154 
     9155        } 
     9156        return ; 
     9157    } 
     9158    // $ANTLR end "rule__RuleCombinator__Group__3" 
     9159 
     9160 
     9161    // $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 : ( ( ';' )? ) ; 
     9163    public final void rule__RuleCombinator__Group__3__Impl() throws RecognitionException { 
     9164        int rule__RuleCombinator__Group__3__Impl_StartIndex = input.index(); 
     9165 
     9166                        int stackSize = keepStackSize(); 
     9167             
     9168        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: ( ';' )? 
     9175            { 
     9176            if ( state.backtracking==0 ) { 
     9177               before(grammarAccess.getRuleCombinatorAccess().getSemicolonKeyword_3());  
     9178            } 
     9179            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2784:1: ( ';' )? 
    91649180            int alt35=2; 
    91659181            int LA35_0 = input.LA(1); 
     
    91709186            switch (alt35) { 
    91719187                case 1 : 
    9172                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3210:2: ';' 
     9188                    // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:2785:2: ';' 
    91739189                    { 
    9174                     match(input,23,FOLLOW_23_in_rule__HookCombinator__Group__8__Impl6555);  
     9190                    match(input,23,FOLLOW_23_in_rule__RuleCombinator__Group__3__Impl5731); if (state.failed) return ; 
    91759191 
    91769192                    } 
     
    91799195            } 
    91809196 
    9181              after(grammarAccess.getHookCombinatorAccess().getSemicolonKeyword_8());  
    9182  
    9183             } 
    9184  
    9185  
    9186             } 
    9187  
    9188         } 
    9189         catch (RecognitionException re) { 
    9190             reportError(re); 
    9191             recover(input,re); 
    9192         } 
    9193         finally { 
    9194  
    9195                 restoreStackSize(stackSize); 
    9196  
    9197         } 
    9198         return ; 
    9199     } 
    9200     // $ANTLR end "rule__HookCombinator__Group__8__Impl" 
    9201  
    9202  
    9203     // $ANTLR start "rule__HookCombinator__Group_7__0" 
    9204     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3239:1: rule__HookCombinator__Group_7__0 : rule__HookCombinator__Group_7__0__Impl rule__HookCombinator__Group_7__1 ; 
    9205     public final void rule__HookCombinator__Group_7__0() throws RecognitionException { 
    9206  
    9207                         int stackSize = keepStackSize(); 
    9208              
    9209         try { 
    9210             // ../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_7__0__Impl rule__HookCombinator__Group_7__1 ) 
    9211             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3244:2: rule__HookCombinator__Group_7__0__Impl rule__HookCombinator__Group_7__1 
    9212             { 
    9213             pushFollow(FOLLOW_rule__HookCombinator__Group_7__0__Impl_in_rule__HookCombinator__Group_7__06606); 
    9214             rule__HookCombinator__Group_7__0__Impl(); 
    9215  
    9216             state._fsp--; 
    9217  
    9218             pushFollow(FOLLOW_rule__HookCombinator__Group_7__1_in_rule__HookCombinator__Group_7__06609); 
    9219             rule__HookCombinator__Group_7__1(); 
    9220  
    9221             state._fsp--; 
    9222  
    9223  
    9224             } 
    9225  
    9226         } 
    9227         catch (RecognitionException re) { 
    9228             reportError(re); 
    9229             recover(input,re); 
    9230         } 
    9231         finally { 
    9232  
    9233                 restoreStackSize(stackSize); 
    9234  
    9235         } 
    9236         return ; 
    9237     } 
    9238     // $ANTLR end "rule__HookCombinator__Group_7__0" 
    9239  
    9240  
    9241     // $ANTLR start "rule__HookCombinator__Group_7__0__Impl" 
    9242     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3251:1: rule__HookCombinator__Group_7__0__Impl : ( '(' ) ; 
    9243     public final void rule__HookCombinator__Group_7__0__Impl() throws RecognitionException { 
    9244  
    9245                         int stackSize = keepStackSize(); 
    9246              
    9247         try { 
    9248             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3255:1: ( ( '(' ) ) 
    9249             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3256:1: ( '(' ) 
    9250             { 
    9251             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3256:1: ( '(' ) 
    9252             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3257:1: '(' 
    9253             { 
    9254              before(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_7_0());  
    9255             match(input,17,FOLLOW_17_in_rule__HookCombinator__Group_7__0__Impl6637);  
    9256              after(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_7_0());  
    9257  
    9258             } 
    9259  
    9260  
    9261             } 
    9262  
    9263         } 
    9264         catch (RecognitionException re) { 
    9265             reportError(re); 
    9266             recover(input,re); 
    9267         } 
    9268         finally { 
    9269  
    9270                 restoreStackSize(stackSize); 
    9271  
    9272         } 
    9273         return ; 
    9274     } 
    9275     // $ANTLR end "rule__HookCombinator__Group_7__0__Impl" 
    9276  
    9277  
    9278     // $ANTLR start "rule__HookCombinator__Group_7__1" 
    9279     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3270:1: rule__HookCombinator__Group_7__1 : rule__HookCombinator__Group_7__1__Impl rule__HookCombinator__Group_7__2 ; 
    9280     public final void rule__HookCombinator__Group_7__1() throws RecognitionException { 
    9281  
    9282                         int stackSize = keepStackSize(); 
    9283              
    9284         try { 
    9285             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3274:1: ( rule__HookCombinator__Group_7__1__Impl rule__HookCombinator__Group_7__2 ) 
    9286             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3275:2: rule__HookCombinator__Group_7__1__Impl rule__HookCombinator__Group_7__2 
    9287             { 
    9288             pushFollow(FOLLOW_rule__HookCombinator__Group_7__1__Impl_in_rule__HookCombinator__Group_7__16668); 
    9289             rule__HookCombinator__Group_7__1__Impl(); 
    9290  
    9291             state._fsp--; 
    9292  
    9293             pushFollow(FOLLOW_rule__HookCombinator__Group_7__2_in_rule__HookCombinator__Group_7__16671); 
    9294             rule__HookCombinator__Group_7__2(); 
    9295  
    9296             state._fsp--; 
    9297  
    9298  
    9299             } 
    9300  
    9301         } 
    9302         catch (RecognitionException re) { 
    9303             reportError(re); 
    9304             recover(input,re); 
    9305         } 
    9306         finally { 
    9307  
    9308                 restoreStackSize(stackSize); 
    9309  
    9310         } 
    9311         return ; 
    9312     } 
    9313     // $ANTLR end "rule__HookCombinator__Group_7__1" 
    9314  
    9315  
    9316     // $ANTLR start "rule__HookCombinator__Group_7__1__Impl" 
    9317     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3282:1: rule__HookCombinator__Group_7__1__Impl : ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) ; 
    9318     public final void rule__HookCombinator__Group_7__1__Impl() throws RecognitionException { 
    9319  
    9320                         int stackSize = keepStackSize(); 
    9321              
    9322         try { 
    9323             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3286:1: ( ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) ) 
    9324             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3287:1: ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) 
    9325             { 
    9326             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3287:1: ( ( rule__HookCombinator__LABELAssignment_7_1 ) ) 
    9327             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3288:1: ( rule__HookCombinator__LABELAssignment_7_1 ) 
    9328             { 
    9329              before(grammarAccess.getHookCombinatorAccess().getLABELAssignment_7_1());  
    9330             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3289:1: ( rule__HookCombinator__LABELAssignment_7_1 ) 
    9331             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3289:2: rule__HookCombinator__LABELAssignment_7_1 
    9332             { 
    9333             pushFollow(FOLLOW_rule__HookCombinator__LABELAssignment_7_1_in_rule__HookCombinator__Group_7__1__Impl6698); 
    9334             rule__HookCombinator__LABELAssignment_7_1(); 
    9335  
    9336             state._fsp--; 
    9337  
    9338  
    9339             } 
    9340  
    9341              after(grammarAccess.getHookCombinatorAccess().getLABELAssignment_7_1());  
    9342  
    9343             } 
    9344  
    9345  
    9346             } 
    9347  
    9348         } 
    9349         catch (RecognitionException re) { 
    9350             reportError(re); 
    9351             recover(input,re); 
    9352         } 
    9353         finally { 
    9354  
    9355                 restoreStackSize(stackSize); 
    9356  
    9357         } 
    9358         return ; 
    9359     } 
    9360     // $ANTLR end "rule__HookCombinator__Group_7__1__Impl" 
    9361  
    9362  
    9363     // $ANTLR start "rule__HookCombinator__Group_7__2" 
    9364     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3299:1: rule__HookCombinator__Group_7__2 : rule__HookCombinator__Group_7__2__Impl ; 
    9365     public final void rule__HookCombinator__Group_7__2() throws RecognitionException { 
    9366  
    9367                         int stackSize = keepStackSize(); 
    9368              
    9369         try { 
    9370             // ../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__2__Impl ) 
    9371             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3304:2: rule__HookCombinator__Group_7__2__Impl 
    9372             { 
    9373             pushFollow(FOLLOW_rule__HookCombinator__Group_7__2__Impl_in_rule__HookCombinator__Group_7__26728); 
    9374             rule__HookCombinator__Group_7__2__Impl(); 
    9375  
    9376             state._fsp--; 
    9377  
    9378  
    9379             } 
    9380  
    9381         } 
    9382         catch (RecognitionException re) { 
    9383             reportError(re); 
    9384             recover(input,re); 
    9385         } 
    9386         finally { 
    9387  
    9388                 restoreStackSize(stackSize); 
    9389  
    9390         } 
    9391         return ; 
    9392     } 
    9393     // $ANTLR end "rule__HookCombinator__Group_7__2" 
    9394  
    9395  
    9396     // $ANTLR start "rule__HookCombinator__Group_7__2__Impl" 
    9397     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3310:1: rule__HookCombinator__Group_7__2__Impl : ( ')' ) ; 
    9398     public final void rule__HookCombinator__Group_7__2__Impl() throws RecognitionException { 
    9399  
    9400                         int stackSize = keepStackSize(); 
    9401              
    9402         try { 
    9403             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3314:1: ( ( ')' ) ) 
    9404             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3315:1: ( ')' ) 
    9405             { 
    9406             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3315:1: ( ')' ) 
    9407             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3316:1: ')' 
    9408             { 
    9409              before(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_7_2());  
    9410             match(input,13,FOLLOW_13_in_rule__HookCombinator__Group_7__2__Impl6756);  
    9411              after(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_7_2());  
    9412  
    9413             } 
    9414  
    9415  
    9416             } 
    9417  
    9418         } 
    9419         catch (RecognitionException re) { 
    9420             reportError(re); 
    9421             recover(input,re); 
    9422         } 
    9423         finally { 
    9424  
    9425                 restoreStackSize(stackSize); 
    9426  
    9427         } 
    9428         return ; 
    9429     } 
    9430     // $ANTLR end "rule__HookCombinator__Group_7__2__Impl" 
    9431  
    9432  
    9433     // $ANTLR start "rule__DefinitionList__Group__0" 
    9434     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3335:1: rule__DefinitionList__Group__0 : rule__DefinitionList__Group__0__Impl rule__DefinitionList__Group__1 ; 
    9435     public final void rule__DefinitionList__Group__0() throws RecognitionException { 
    9436  
    9437                         int stackSize = keepStackSize(); 
    9438              
    9439         try { 
    9440             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3339:1: ( rule__DefinitionList__Group__0__Impl rule__DefinitionList__Group__1 ) 
    9441             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3340:2: rule__DefinitionList__Group__0__Impl rule__DefinitionList__Group__1 
    9442             { 
    9443             pushFollow(FOLLOW_rule__DefinitionList__Group__0__Impl_in_rule__DefinitionList__Group__06793); 
    9444             rule__DefinitionList__Group__0__Impl(); 
    9445  
    9446             state._fsp--; 
    9447  
    9448             pushFollow(FOLLOW_rule__DefinitionList__Group__1_in_rule__DefinitionList__Group__06796); 
    9449             rule__DefinitionList__Group__1(); 
    9450  
    9451             state._fsp--; 
    9452  
    9453  
    9454             } 
    9455  
    9456         } 
    9457         catch (RecognitionException re) { 
    9458             reportError(re); 
    9459             recover(input,re); 
    9460         } 
    9461         finally { 
    9462  
    9463                 restoreStackSize(stackSize); 
    9464  
    9465         } 
    9466         return ; 
    9467     } 
    9468     // $ANTLR end "rule__DefinitionList__Group__0" 
    9469  
    9470  
    9471     // $ANTLR start "rule__DefinitionList__Group__0__Impl" 
    9472     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3347:1: rule__DefinitionList__Group__0__Impl : ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) ; 
    9473     public final void rule__DefinitionList__Group__0__Impl() throws RecognitionException { 
    9474  
    9475                         int stackSize = keepStackSize(); 
    9476              
    9477         try { 
    9478             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3351:1: ( ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) ) 
    9479             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3352:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) 
    9480             { 
    9481             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3352:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_0 ) ) 
    9482             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3353:1: ( rule__DefinitionList__SingleDefinitionAssignment_0 ) 
    9483             { 
    9484              before(grammarAccess.getDefinitionListAccess().getSingleDefinitionAssignment_0());  
    9485             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3354:1: ( rule__DefinitionList__SingleDefinitionAssignment_0 ) 
    9486             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3354:2: rule__DefinitionList__SingleDefinitionAssignment_0 
    9487             { 
    9488             pushFollow(FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_0_in_rule__DefinitionList__Group__0__Impl6823); 
    9489             rule__DefinitionList__SingleDefinitionAssignment_0(); 
    9490  
    9491             state._fsp--; 
    9492  
    9493  
    9494             } 
    9495  
    9496              after(grammarAccess.getDefinitionListAccess().getSingleDefinitionAssignment_0());  
    9497  
    9498             } 
    9499  
    9500  
    9501             } 
    9502  
    9503         } 
    9504         catch (RecognitionException re) { 
    9505             reportError(re); 
    9506             recover(input,re); 
    9507         } 
    9508         finally { 
    9509  
    9510                 restoreStackSize(stackSize); 
    9511  
    9512         } 
    9513         return ; 
    9514     } 
    9515     // $ANTLR end "rule__DefinitionList__Group__0__Impl" 
    9516  
    9517  
    9518     // $ANTLR start "rule__DefinitionList__Group__1" 
    9519     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3364:1: rule__DefinitionList__Group__1 : rule__DefinitionList__Group__1__Impl ; 
    9520     public final void rule__DefinitionList__Group__1() throws RecognitionException { 
    9521  
    9522                         int stackSize = keepStackSize(); 
    9523              
    9524         try { 
    9525             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3368:1: ( rule__DefinitionList__Group__1__Impl ) 
    9526             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3369:2: rule__DefinitionList__Group__1__Impl 
    9527             { 
    9528             pushFollow(FOLLOW_rule__DefinitionList__Group__1__Impl_in_rule__DefinitionList__Group__16853); 
    9529             rule__DefinitionList__Group__1__Impl(); 
    9530  
    9531             state._fsp--; 
    9532  
    9533  
    9534             } 
    9535  
    9536         } 
    9537         catch (RecognitionException re) { 
    9538             reportError(re); 
    9539             recover(input,re); 
    9540         } 
    9541         finally { 
    9542  
    9543                 restoreStackSize(stackSize); 
    9544  
    9545         } 
    9546         return ; 
    9547     } 
    9548     // $ANTLR end "rule__DefinitionList__Group__1" 
    9549  
    9550  
    9551     // $ANTLR start "rule__DefinitionList__Group__1__Impl" 
    9552     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3375:1: rule__DefinitionList__Group__1__Impl : ( ( rule__DefinitionList__Group_1__0 )* ) ; 
    9553     public final void rule__DefinitionList__Group__1__Impl() throws RecognitionException { 
    9554  
    9555                         int stackSize = keepStackSize(); 
    9556              
    9557         try { 
    9558             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3379:1: ( ( ( rule__DefinitionList__Group_1__0 )* ) ) 
    9559             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3380:1: ( ( rule__DefinitionList__Group_1__0 )* ) 
    9560             { 
    9561             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3380:1: ( ( rule__DefinitionList__Group_1__0 )* ) 
    9562             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3381:1: ( rule__DefinitionList__Group_1__0 )* 
    9563             { 
    9564              before(grammarAccess.getDefinitionListAccess().getGroup_1());  
    9565             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3382:1: ( rule__DefinitionList__Group_1__0 )* 
    9566             loop36: 
     9197            if ( state.backtracking==0 ) { 
     9198               after(grammarAccess.getRuleCombinatorAccess().getSemicolonKeyword_3());  
     9199            } 
     9200 
     9201            } 
     9202 
     9203 
     9204            } 
     9205 
     9206        } 
     9207        catch (RecognitionException re) { 
     9208            reportError(re); 
     9209            recover(input,re); 
     9210        } 
     9211        finally { 
     9212            if ( state.backtracking>0 ) { memoize(input, 167, rule__RuleCombinator__Group__3__Impl_StartIndex); } 
     9213 
     9214                restoreStackSize(stackSize); 
     9215 
     9216        } 
     9217        return ; 
     9218    } 
     9219    // $ANTLR end "rule__RuleCombinator__Group__3__Impl" 
     9220 
     9221 
     9222    // $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 ; 
     9224    public final void rule__RuleCombinator__Group_0__0() throws RecognitionException { 
     9225        int rule__RuleCombinator__Group_0__0_StartIndex = input.index(); 
     9226 
     9227                        int stackSize = keepStackSize(); 
     9228             
     9229        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); 
     9235            rule__RuleCombinator__Group_0__0__Impl(); 
     9236 
     9237            state._fsp--; 
     9238            if (state.failed) return ; 
     9239            pushFollow(FOLLOW_rule__RuleCombinator__Group_0__1_in_rule__RuleCombinator__Group_0__05775); 
     9240            rule__RuleCombinator__Group_0__1(); 
     9241 
     9242            state._fsp--; 
     9243            if (state.failed) return ; 
     9244 
     9245            } 
     9246 
     9247        } 
     9248        catch (RecognitionException re) { 
     9249            reportError(re); 
     9250            recover(input,re); 
     9251        } 
     9252        finally { 
     9253            if ( state.backtracking>0 ) { memoize(input, 168, rule__RuleCombinator__Group_0__0_StartIndex); } 
     9254 
     9255                restoreStackSize(stackSize); 
     9256 
     9257        } 
     9258        return ; 
     9259    } 
     9260    // $ANTLR end "rule__RuleCombinator__Group_0__0" 
     9261 
     9262 
     9263    // $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' ) ; 
     9265    public final void rule__RuleCombinator__Group_0__0__Impl() throws RecognitionException { 
     9266        int rule__RuleCombinator__Group_0__0__Impl_StartIndex = input.index(); 
     9267 
     9268                        int stackSize = keepStackSize(); 
     9269             
     9270        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' 
     9277            { 
     9278            if ( state.backtracking==0 ) { 
     9279               before(grammarAccess.getRuleCombinatorAccess().getRuleKeyword_0_0());  
     9280            } 
     9281            match(input,32,FOLLOW_32_in_rule__RuleCombinator__Group_0__0__Impl5803); if (state.failed) return ; 
     9282            if ( state.backtracking==0 ) { 
     9283               after(grammarAccess.getRuleCombinatorAccess().getRuleKeyword_0_0());  
     9284            } 
     9285 
     9286            } 
     9287 
     9288 
     9289            } 
     9290 
     9291        } 
     9292        catch (RecognitionException re) { 
     9293            reportError(re); 
     9294            recover(input,re); 
     9295        } 
     9296        finally { 
     9297            if ( state.backtracking>0 ) { memoize(input, 169, rule__RuleCombinator__Group_0__0__Impl_StartIndex); } 
     9298 
     9299                restoreStackSize(stackSize); 
     9300 
     9301        } 
     9302        return ; 
     9303    } 
     9304    // $ANTLR end "rule__RuleCombinator__Group_0__0__Impl" 
     9305 
     9306 
     9307    // $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 ; 
     9309    public final void rule__RuleCombinator__Group_0__1() throws RecognitionException { 
     9310        int rule__RuleCombinator__Group_0__1_StartIndex = input.index(); 
     9311 
     9312                        int stackSize = keepStackSize(); 
     9313             
     9314        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); 
     9320            rule__RuleCombinator__Group_0__1__Impl(); 
     9321 
     9322            state._fsp--; 
     9323            if (state.failed) return ; 
     9324            pushFollow(FOLLOW_rule__RuleCombinator__Group_0__2_in_rule__RuleCombinator__Group_0__15837); 
     9325            rule__RuleCombinator__Group_0__2(); 
     9326 
     9327            state._fsp--; 
     9328            if (state.failed) return ; 
     9329 
     9330            } 
     9331 
     9332        } 
     9333        catch (RecognitionException re) { 
     9334            reportError(re); 
     9335            recover(input,re); 
     9336        } 
     9337        finally { 
     9338            if ( state.backtracking>0 ) { memoize(input, 170, rule__RuleCombinator__Group_0__1_StartIndex); } 
     9339 
     9340                restoreStackSize(stackSize); 
     9341 
     9342        } 
     9343        return ; 
     9344    } 
     9345    // $ANTLR end "rule__RuleCombinator__Group_0__1" 
     9346 
     9347 
     9348    // $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:' ) ; 
     9350    public final void rule__RuleCombinator__Group_0__1__Impl() throws RecognitionException { 
     9351        int rule__RuleCombinator__Group_0__1__Impl_StartIndex = input.index(); 
     9352 
     9353                        int stackSize = keepStackSize(); 
     9354             
     9355        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:' 
     9362            { 
     9363            if ( state.backtracking==0 ) { 
     9364               before(grammarAccess.getRuleCombinatorAccess().getCombinatorKeyword_0_1());  
     9365            } 
     9366            match(input,31,FOLLOW_31_in_rule__RuleCombinator__Group_0__1__Impl5865); if (state.failed) return ; 
     9367            if ( state.backtracking==0 ) { 
     9368               after(grammarAccess.getRuleCombinatorAccess().getCombinatorKeyword_0_1());  
     9369            } 
     9370 
     9371            } 
     9372 
     9373 
     9374            } 
     9375 
     9376        } 
     9377        catch (RecognitionException re) { 
     9378            reportError(re); 
     9379            recover(input,re); 
     9380        } 
     9381        finally { 
     9382            if ( state.backtracking>0 ) { memoize(input, 171, rule__RuleCombinator__Group_0__1__Impl_StartIndex); } 
     9383 
     9384                restoreStackSize(stackSize); 
     9385 
     9386        } 
     9387        return ; 
     9388    } 
     9389    // $ANTLR end "rule__RuleCombinator__Group_0__1__Impl" 
     9390 
     9391 
     9392    // $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 ; 
     9394    public final void rule__RuleCombinator__Group_0__2() throws RecognitionException { 
     9395        int rule__RuleCombinator__Group_0__2_StartIndex = input.index(); 
     9396 
     9397                        int stackSize = keepStackSize(); 
     9398             
     9399        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); 
     9405            rule__RuleCombinator__Group_0__2__Impl(); 
     9406 
     9407            state._fsp--; 
     9408            if (state.failed) return ; 
     9409 
     9410            } 
     9411 
     9412        } 
     9413        catch (RecognitionException re) { 
     9414            reportError(re); 
     9415            recover(input,re); 
     9416        } 
     9417        finally { 
     9418            if ( state.backtracking>0 ) { memoize(input, 172, rule__RuleCombinator__Group_0__2_StartIndex); } 
     9419 
     9420                restoreStackSize(stackSize); 
     9421 
     9422        } 
     9423        return ; 
     9424    } 
     9425    // $ANTLR end "rule__RuleCombinator__Group_0__2" 
     9426 
     9427 
     9428    // $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 ) ) ; 
     9430    public final void rule__RuleCombinator__Group_0__2__Impl() throws RecognitionException { 
     9431        int rule__RuleCombinator__Group_0__2__Impl_StartIndex = input.index(); 
     9432 
     9433                        int stackSize = keepStackSize(); 
     9434             
     9435        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 ) 
     9442            { 
     9443            if ( state.backtracking==0 ) { 
     9444               before(grammarAccess.getRuleCombinatorAccess().getNameAssignment_0_2());  
     9445            } 
     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); 
     9450            rule__RuleCombinator__NameAssignment_0_2(); 
     9451 
     9452            state._fsp--; 
     9453            if (state.failed) return ; 
     9454 
     9455            } 
     9456 
     9457            if ( state.backtracking==0 ) { 
     9458               after(grammarAccess.getRuleCombinatorAccess().getNameAssignment_0_2());  
     9459            } 
     9460 
     9461            } 
     9462 
     9463 
     9464            } 
     9465 
     9466        } 
     9467        catch (RecognitionException re) { 
     9468            reportError(re); 
     9469            recover(input,re); 
     9470        } 
     9471        finally { 
     9472            if ( state.backtracking>0 ) { memoize(input, 173, rule__RuleCombinator__Group_0__2__Impl_StartIndex); } 
     9473 
     9474                restoreStackSize(stackSize); 
     9475 
     9476        } 
     9477        return ; 
     9478    } 
     9479    // $ANTLR end "rule__RuleCombinator__Group_0__2__Impl" 
     9480 
     9481 
     9482    // $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 ; 
     9484    public final void rule__RuleCombinator__Group_2__0() throws RecognitionException { 
     9485        int rule__RuleCombinator__Group_2__0_StartIndex = input.index(); 
     9486 
     9487                        int stackSize = keepStackSize(); 
     9488             
     9489        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); 
     9495            rule__RuleCombinator__Group_2__0__Impl(); 
     9496 
     9497            state._fsp--; 
     9498            if (state.failed) return ; 
     9499            pushFollow(FOLLOW_rule__RuleCombinator__Group_2__1_in_rule__RuleCombinator__Group_2__05962); 
     9500            rule__RuleCombinator__Group_2__1(); 
     9501 
     9502            state._fsp--; 
     9503            if (state.failed) return ; 
     9504 
     9505            } 
     9506 
     9507        } 
     9508        catch (RecognitionException re) { 
     9509            reportError(re); 
     9510            recover(input,re); 
     9511        } 
     9512        finally { 
     9513            if ( state.backtracking>0 ) { memoize(input, 174, rule__RuleCombinator__Group_2__0_StartIndex); } 
     9514 
     9515                restoreStackSize(stackSize); 
     9516 
     9517        } 
     9518        return ; 
     9519    } 
     9520    // $ANTLR end "rule__RuleCombinator__Group_2__0" 
     9521 
     9522 
     9523    // $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 : ( '(' ) ; 
     9525    public final void rule__RuleCombinator__Group_2__0__Impl() throws RecognitionException { 
     9526        int rule__RuleCombinator__Group_2__0__Impl_StartIndex = input.index(); 
     9527 
     9528                        int stackSize = keepStackSize(); 
     9529             
     9530        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: '(' 
     9537            { 
     9538            if ( state.backtracking==0 ) { 
     9539               before(grammarAccess.getRuleCombinatorAccess().getLeftParenthesisKeyword_2_0());  
     9540            } 
     9541            match(input,17,FOLLOW_17_in_rule__RuleCombinator__Group_2__0__Impl5990); if (state.failed) return ; 
     9542            if ( state.backtracking==0 ) { 
     9543               after(grammarAccess.getRuleCombinatorAccess().getLeftParenthesisKeyword_2_0());  
     9544            } 
     9545 
     9546            } 
     9547 
     9548 
     9549            } 
     9550 
     9551        } 
     9552        catch (RecognitionException re) { 
     9553            reportError(re); 
     9554            recover(input,re); 
     9555        } 
     9556        finally { 
     9557            if ( state.backtracking>0 ) { memoize(input, 175, rule__RuleCombinator__Group_2__0__Impl_StartIndex); } 
     9558 
     9559                restoreStackSize(stackSize); 
     9560 
     9561        } 
     9562        return ; 
     9563    } 
     9564    // $ANTLR end "rule__RuleCombinator__Group_2__0__Impl" 
     9565 
     9566 
     9567    // $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 ; 
     9569    public final void rule__RuleCombinator__Group_2__1() throws RecognitionException { 
     9570        int rule__RuleCombinator__Group_2__1_StartIndex = input.index(); 
     9571 
     9572                        int stackSize = keepStackSize(); 
     9573             
     9574        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); 
     9580            rule__RuleCombinator__Group_2__1__Impl(); 
     9581 
     9582            state._fsp--; 
     9583            if (state.failed) return ; 
     9584            pushFollow(FOLLOW_rule__RuleCombinator__Group_2__2_in_rule__RuleCombinator__Group_2__16024); 
     9585            rule__RuleCombinator__Group_2__2(); 
     9586 
     9587            state._fsp--; 
     9588            if (state.failed) return ; 
     9589 
     9590            } 
     9591 
     9592        } 
     9593        catch (RecognitionException re) { 
     9594            reportError(re); 
     9595            recover(input,re); 
     9596        } 
     9597        finally { 
     9598            if ( state.backtracking>0 ) { memoize(input, 176, rule__RuleCombinator__Group_2__1_StartIndex); } 
     9599 
     9600                restoreStackSize(stackSize); 
     9601 
     9602        } 
     9603        return ; 
     9604    } 
     9605    // $ANTLR end "rule__RuleCombinator__Group_2__1" 
     9606 
     9607 
     9608    // $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 ) ) ; 
     9610    public final void rule__RuleCombinator__Group_2__1__Impl() throws RecognitionException { 
     9611        int rule__RuleCombinator__Group_2__1__Impl_StartIndex = input.index(); 
     9612 
     9613                        int stackSize = keepStackSize(); 
     9614             
     9615        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 ) 
     9622            { 
     9623            if ( state.backtracking==0 ) { 
     9624               before(grammarAccess.getRuleCombinatorAccess().getLABELAssignment_2_1());  
     9625            } 
     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); 
     9630            rule__RuleCombinator__LABELAssignment_2_1(); 
     9631 
     9632            state._fsp--; 
     9633            if (state.failed) return ; 
     9634 
     9635            } 
     9636 
     9637            if ( state.backtracking==0 ) { 
     9638               after(grammarAccess.getRuleCombinatorAccess().getLABELAssignment_2_1());  
     9639            } 
     9640 
     9641            } 
     9642 
     9643 
     9644            } 
     9645 
     9646        } 
     9647        catch (RecognitionException re) { 
     9648            reportError(re); 
     9649            recover(input,re); 
     9650        } 
     9651        finally { 
     9652            if ( state.backtracking>0 ) { memoize(input, 177, rule__RuleCombinator__Group_2__1__Impl_StartIndex); } 
     9653 
     9654                restoreStackSize(stackSize); 
     9655 
     9656        } 
     9657        return ; 
     9658    } 
     9659    // $ANTLR end "rule__RuleCombinator__Group_2__1__Impl" 
     9660 
     9661 
     9662    // $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 ; 
     9664    public final void rule__RuleCombinator__Group_2__2() throws RecognitionException { 
     9665        int rule__RuleCombinator__Group_2__2_StartIndex = input.index(); 
     9666 
     9667                        int stackSize = keepStackSize(); 
     9668             
     9669        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); 
     9675            rule__RuleCombinator__Group_2__2__Impl(); 
     9676 
     9677            state._fsp--; 
     9678            if (state.failed) return ; 
     9679 
     9680            } 
     9681 
     9682        } 
     9683        catch (RecognitionException re) { 
     9684            reportError(re); 
     9685            recover(input,re); 
     9686        } 
     9687        finally { 
     9688            if ( state.backtracking>0 ) { memoize(input, 178, rule__RuleCombinator__Group_2__2_StartIndex); } 
     9689 
     9690                restoreStackSize(stackSize); 
     9691 
     9692        } 
     9693        return ; 
     9694    } 
     9695    // $ANTLR end "rule__RuleCombinator__Group_2__2" 
     9696 
     9697 
     9698    // $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 : ( ')' ) ; 
     9700    public final void rule__RuleCombinator__Group_2__2__Impl() throws RecognitionException { 
     9701        int rule__RuleCombinator__Group_2__2__Impl_StartIndex = input.index(); 
     9702 
     9703                        int stackSize = keepStackSize(); 
     9704             
     9705        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: ')' 
     9712            { 
     9713            if ( state.backtracking==0 ) { 
     9714               before(grammarAccess.getRuleCombinatorAccess().getRightParenthesisKeyword_2_2());  
     9715            } 
     9716            match(input,13,FOLLOW_13_in_rule__RuleCombinator__Group_2__2__Impl6109); if (state.failed) return ; 
     9717            if ( state.backtracking==0 ) { 
     9718               after(grammarAccess.getRuleCombinatorAccess().getRightParenthesisKeyword_2_2());  
     9719            } 
     9720 
     9721            } 
     9722 
     9723 
     9724            } 
     9725 
     9726        } 
     9727        catch (RecognitionException re) { 
     9728            reportError(re); 
     9729            recover(input,re); 
     9730        } 
     9731        finally { 
     9732            if ( state.backtracking>0 ) { memoize(input, 179, rule__RuleCombinator__Group_2__2__Impl_StartIndex); } 
     9733 
     9734                restoreStackSize(stackSize); 
     9735 
     9736        } 
     9737        return ; 
     9738    } 
     9739    // $ANTLR end "rule__RuleCombinator__Group_2__2__Impl" 
     9740 
     9741 
     9742    // $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 ; 
     9744    public final void rule__HookCombinator__Group__0() throws RecognitionException { 
     9745        int rule__HookCombinator__Group__0_StartIndex = input.index(); 
     9746 
     9747                        int stackSize = keepStackSize(); 
     9748             
     9749        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); 
     9755            rule__HookCombinator__Group__0__Impl(); 
     9756 
     9757            state._fsp--; 
     9758            if (state.failed) return ; 
     9759            pushFollow(FOLLOW_rule__HookCombinator__Group__1_in_rule__HookCombinator__Group__06149); 
     9760            rule__HookCombinator__Group__1(); 
     9761 
     9762            state._fsp--; 
     9763            if (state.failed) return ; 
     9764 
     9765            } 
     9766 
     9767        } 
     9768        catch (RecognitionException re) { 
     9769            reportError(re); 
     9770            recover(input,re); 
     9771        } 
     9772        finally { 
     9773            if ( state.backtracking>0 ) { memoize(input, 180, rule__HookCombinator__Group__0_StartIndex); } 
     9774 
     9775                restoreStackSize(stackSize); 
     9776 
     9777        } 
     9778        return ; 
     9779    } 
     9780    // $ANTLR end "rule__HookCombinator__Group__0" 
     9781 
     9782 
     9783    // $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' ) ; 
     9785    public final void rule__HookCombinator__Group__0__Impl() throws RecognitionException { 
     9786        int rule__HookCombinator__Group__0__Impl_StartIndex = input.index(); 
     9787 
     9788                        int stackSize = keepStackSize(); 
     9789             
     9790        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' 
     9797            { 
     9798            if ( state.backtracking==0 ) { 
     9799               before(grammarAccess.getHookCombinatorAccess().getHookKeyword_0());  
     9800            } 
     9801            match(input,33,FOLLOW_33_in_rule__HookCombinator__Group__0__Impl6177); if (state.failed) return ; 
     9802            if ( state.backtracking==0 ) { 
     9803               after(grammarAccess.getHookCombinatorAccess().getHookKeyword_0());  
     9804            } 
     9805 
     9806            } 
     9807 
     9808 
     9809            } 
     9810 
     9811        } 
     9812        catch (RecognitionException re) { 
     9813            reportError(re); 
     9814            recover(input,re); 
     9815        } 
     9816        finally { 
     9817            if ( state.backtracking>0 ) { memoize(input, 181, rule__HookCombinator__Group__0__Impl_StartIndex); } 
     9818 
     9819                restoreStackSize(stackSize); 
     9820 
     9821        } 
     9822        return ; 
     9823    } 
     9824    // $ANTLR end "rule__HookCombinator__Group__0__Impl" 
     9825 
     9826 
     9827    // $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 ; 
     9829    public final void rule__HookCombinator__Group__1() throws RecognitionException { 
     9830        int rule__HookCombinator__Group__1_StartIndex = input.index(); 
     9831 
     9832                        int stackSize = keepStackSize(); 
     9833             
     9834        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); 
     9840            rule__HookCombinator__Group__1__Impl(); 
     9841 
     9842            state._fsp--; 
     9843            if (state.failed) return ; 
     9844            pushFollow(FOLLOW_rule__HookCombinator__Group__2_in_rule__HookCombinator__Group__16211); 
     9845            rule__HookCombinator__Group__2(); 
     9846 
     9847            state._fsp--; 
     9848            if (state.failed) return ; 
     9849 
     9850            } 
     9851 
     9852        } 
     9853        catch (RecognitionException re) { 
     9854            reportError(re); 
     9855            recover(input,re); 
     9856        } 
     9857        finally { 
     9858            if ( state.backtracking>0 ) { memoize(input, 182, rule__HookCombinator__Group__1_StartIndex); } 
     9859 
     9860                restoreStackSize(stackSize); 
     9861 
     9862        } 
     9863        return ; 
     9864    } 
     9865    // $ANTLR end "rule__HookCombinator__Group__1" 
     9866 
     9867 
     9868    // $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:' ) ; 
     9870    public final void rule__HookCombinator__Group__1__Impl() throws RecognitionException { 
     9871        int rule__HookCombinator__Group__1__Impl_StartIndex = input.index(); 
     9872 
     9873                        int stackSize = keepStackSize(); 
     9874             
     9875        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:' 
     9882            { 
     9883            if ( state.backtracking==0 ) { 
     9884               before(grammarAccess.getHookCombinatorAccess().getCombinatorKeyword_1());  
     9885            } 
     9886            match(input,31,FOLLOW_31_in_rule__HookCombinator__Group__1__Impl6239); if (state.failed) return ; 
     9887            if ( state.backtracking==0 ) { 
     9888               after(grammarAccess.getHookCombinatorAccess().getCombinatorKeyword_1());  
     9889            } 
     9890 
     9891            } 
     9892 
     9893 
     9894            } 
     9895 
     9896        } 
     9897        catch (RecognitionException re) { 
     9898            reportError(re); 
     9899            recover(input,re); 
     9900        } 
     9901        finally { 
     9902            if ( state.backtracking>0 ) { memoize(input, 183, rule__HookCombinator__Group__1__Impl_StartIndex); } 
     9903 
     9904                restoreStackSize(stackSize); 
     9905 
     9906        } 
     9907        return ; 
     9908    } 
     9909    // $ANTLR end "rule__HookCombinator__Group__1__Impl" 
     9910 
     9911 
     9912    // $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 ; 
     9914    public final void rule__HookCombinator__Group__2() throws RecognitionException { 
     9915        int rule__HookCombinator__Group__2_StartIndex = input.index(); 
     9916 
     9917                        int stackSize = keepStackSize(); 
     9918             
     9919        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); 
     9925            rule__HookCombinator__Group__2__Impl(); 
     9926 
     9927            state._fsp--; 
     9928            if (state.failed) return ; 
     9929            pushFollow(FOLLOW_rule__HookCombinator__Group__3_in_rule__HookCombinator__Group__26273); 
     9930            rule__HookCombinator__Group__3(); 
     9931 
     9932            state._fsp--; 
     9933            if (state.failed) return ; 
     9934 
     9935            } 
     9936 
     9937        } 
     9938        catch (RecognitionException re) { 
     9939            reportError(re); 
     9940            recover(input,re); 
     9941        } 
     9942        finally { 
     9943            if ( state.backtracking>0 ) { memoize(input, 184, rule__HookCombinator__Group__2_StartIndex); } 
     9944 
     9945                restoreStackSize(stackSize); 
     9946 
     9947        } 
     9948        return ; 
     9949    } 
     9950    // $ANTLR end "rule__HookCombinator__Group__2" 
     9951 
     9952 
     9953    // $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 ) ) ; 
     9955    public final void rule__HookCombinator__Group__2__Impl() throws RecognitionException { 
     9956        int rule__HookCombinator__Group__2__Impl_StartIndex = input.index(); 
     9957 
     9958                        int stackSize = keepStackSize(); 
     9959             
     9960        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 ) 
     9967            { 
     9968            if ( state.backtracking==0 ) { 
     9969               before(grammarAccess.getHookCombinatorAccess().getNameAssignment_2());  
     9970            } 
     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); 
     9975            rule__HookCombinator__NameAssignment_2(); 
     9976 
     9977            state._fsp--; 
     9978            if (state.failed) return ; 
     9979 
     9980            } 
     9981 
     9982            if ( state.backtracking==0 ) { 
     9983               after(grammarAccess.getHookCombinatorAccess().getNameAssignment_2());  
     9984            } 
     9985 
     9986            } 
     9987 
     9988 
     9989            } 
     9990 
     9991        } 
     9992        catch (RecognitionException re) { 
     9993            reportError(re); 
     9994            recover(input,re); 
     9995        } 
     9996        finally { 
     9997            if ( state.backtracking>0 ) { memoize(input, 185, rule__HookCombinator__Group__2__Impl_StartIndex); } 
     9998 
     9999                restoreStackSize(stackSize); 
     10000 
     10001        } 
     10002        return ; 
     10003    } 
     10004    // $ANTLR end "rule__HookCombinator__Group__2__Impl" 
     10005 
     10006 
     10007    // $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 ; 
     10009    public final void rule__HookCombinator__Group__3() throws RecognitionException { 
     10010        int rule__HookCombinator__Group__3_StartIndex = input.index(); 
     10011 
     10012                        int stackSize = keepStackSize(); 
     10013             
     10014        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); 
     10020            rule__HookCombinator__Group__3__Impl(); 
     10021 
     10022            state._fsp--; 
     10023            if (state.failed) return ; 
     10024            pushFollow(FOLLOW_rule__HookCombinator__Group__4_in_rule__HookCombinator__Group__36333); 
     10025            rule__HookCombinator__Group__4(); 
     10026 
     10027            state._fsp--; 
     10028            if (state.failed) return ; 
     10029 
     10030            } 
     10031 
     10032        } 
     10033        catch (RecognitionException re) { 
     10034            reportError(re); 
     10035            recover(input,re); 
     10036        } 
     10037        finally { 
     10038            if ( state.backtracking>0 ) { memoize(input, 186, rule__HookCombinator__Group__3_StartIndex); } 
     10039 
     10040                restoreStackSize(stackSize); 
     10041 
     10042        } 
     10043        return ; 
     10044    } 
     10045    // $ANTLR end "rule__HookCombinator__Group__3" 
     10046 
     10047 
     10048    // $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 : ( '(' ) ; 
     10050    public final void rule__HookCombinator__Group__3__Impl() throws RecognitionException { 
     10051        int rule__HookCombinator__Group__3__Impl_StartIndex = input.index(); 
     10052 
     10053                        int stackSize = keepStackSize(); 
     10054             
     10055        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: '(' 
     10062            { 
     10063            if ( state.backtracking==0 ) { 
     10064               before(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_3());  
     10065            } 
     10066            match(input,17,FOLLOW_17_in_rule__HookCombinator__Group__3__Impl6361); if (state.failed) return ; 
     10067            if ( state.backtracking==0 ) { 
     10068               after(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_3());  
     10069            } 
     10070 
     10071            } 
     10072 
     10073 
     10074            } 
     10075 
     10076        } 
     10077        catch (RecognitionException re) { 
     10078            reportError(re); 
     10079            recover(input,re); 
     10080        } 
     10081        finally { 
     10082            if ( state.backtracking>0 ) { memoize(input, 187, rule__HookCombinator__Group__3__Impl_StartIndex); } 
     10083 
     10084                restoreStackSize(stackSize); 
     10085 
     10086        } 
     10087        return ; 
     10088    } 
     10089    // $ANTLR end "rule__HookCombinator__Group__3__Impl" 
     10090 
     10091 
     10092    // $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 ; 
     10094    public final void rule__HookCombinator__Group__4() throws RecognitionException { 
     10095        int rule__HookCombinator__Group__4_StartIndex = input.index(); 
     10096 
     10097                        int stackSize = keepStackSize(); 
     10098             
     10099        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); 
     10105            rule__HookCombinator__Group__4__Impl(); 
     10106 
     10107            state._fsp--; 
     10108            if (state.failed) return ; 
     10109            pushFollow(FOLLOW_rule__HookCombinator__Group__5_in_rule__HookCombinator__Group__46395); 
     10110            rule__HookCombinator__Group__5(); 
     10111 
     10112            state._fsp--; 
     10113            if (state.failed) return ; 
     10114 
     10115            } 
     10116 
     10117        } 
     10118        catch (RecognitionException re) { 
     10119            reportError(re); 
     10120            recover(input,re); 
     10121        } 
     10122        finally { 
     10123            if ( state.backtracking>0 ) { memoize(input, 188, rule__HookCombinator__Group__4_StartIndex); } 
     10124 
     10125                restoreStackSize(stackSize); 
     10126 
     10127        } 
     10128        return ; 
     10129    } 
     10130    // $ANTLR end "rule__HookCombinator__Group__4" 
     10131 
     10132 
     10133    // $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 ) ) ; 
     10135    public final void rule__HookCombinator__Group__4__Impl() throws RecognitionException { 
     10136        int rule__HookCombinator__Group__4__Impl_StartIndex = input.index(); 
     10137 
     10138                        int stackSize = keepStackSize(); 
     10139             
     10140        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 ) 
     10147            { 
     10148            if ( state.backtracking==0 ) { 
     10149               before(grammarAccess.getHookCombinatorAccess().getRuleextAssignment_4());  
     10150            } 
     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); 
     10155            rule__HookCombinator__RuleextAssignment_4(); 
     10156 
     10157            state._fsp--; 
     10158            if (state.failed) return ; 
     10159 
     10160            } 
     10161 
     10162            if ( state.backtracking==0 ) { 
     10163               after(grammarAccess.getHookCombinatorAccess().getRuleextAssignment_4());  
     10164            } 
     10165 
     10166            } 
     10167 
     10168 
     10169            } 
     10170 
     10171        } 
     10172        catch (RecognitionException re) { 
     10173            reportError(re); 
     10174            recover(input,re); 
     10175        } 
     10176        finally { 
     10177            if ( state.backtracking>0 ) { memoize(input, 189, rule__HookCombinator__Group__4__Impl_StartIndex); } 
     10178 
     10179                restoreStackSize(stackSize); 
     10180 
     10181        } 
     10182        return ; 
     10183    } 
     10184    // $ANTLR end "rule__HookCombinator__Group__4__Impl" 
     10185 
     10186 
     10187    // $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 ; 
     10189    public final void rule__HookCombinator__Group__5() throws RecognitionException { 
     10190        int rule__HookCombinator__Group__5_StartIndex = input.index(); 
     10191 
     10192                        int stackSize = keepStackSize(); 
     10193             
     10194        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); 
     10200            rule__HookCombinator__Group__5__Impl(); 
     10201 
     10202            state._fsp--; 
     10203            if (state.failed) return ; 
     10204            pushFollow(FOLLOW_rule__HookCombinator__Group__6_in_rule__HookCombinator__Group__56455); 
     10205            rule__HookCombinator__Group__6(); 
     10206 
     10207            state._fsp--; 
     10208            if (state.failed) return ; 
     10209 
     10210            } 
     10211 
     10212        } 
     10213        catch (RecognitionException re) { 
     10214            reportError(re); 
     10215            recover(input,re); 
     10216        } 
     10217        finally { 
     10218            if ( state.backtracking>0 ) { memoize(input, 190, rule__HookCombinator__Group__5_StartIndex); } 
     10219 
     10220                restoreStackSize(stackSize); 
     10221 
     10222        } 
     10223        return ; 
     10224    } 
     10225    // $ANTLR end "rule__HookCombinator__Group__5" 
     10226 
     10227 
     10228    // $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 : ( ')' ) ; 
     10230    public final void rule__HookCombinator__Group__5__Impl() throws RecognitionException { 
     10231        int rule__HookCombinator__Group__5__Impl_StartIndex = input.index(); 
     10232 
     10233                        int stackSize = keepStackSize(); 
     10234             
     10235        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: ')' 
     10242            { 
     10243            if ( state.backtracking==0 ) { 
     10244               before(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_5());  
     10245            } 
     10246            match(input,13,FOLLOW_13_in_rule__HookCombinator__Group__5__Impl6483); if (state.failed) return ; 
     10247            if ( state.backtracking==0 ) { 
     10248               after(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_5());  
     10249            } 
     10250 
     10251            } 
     10252 
     10253 
     10254            } 
     10255 
     10256        } 
     10257        catch (RecognitionException re) { 
     10258            reportError(re); 
     10259            recover(input,re); 
     10260        } 
     10261        finally { 
     10262            if ( state.backtracking>0 ) { memoize(input, 191, rule__HookCombinator__Group__5__Impl_StartIndex); } 
     10263 
     10264                restoreStackSize(stackSize); 
     10265 
     10266        } 
     10267        return ; 
     10268    } 
     10269    // $ANTLR end "rule__HookCombinator__Group__5__Impl" 
     10270 
     10271 
     10272    // $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 ; 
     10274    public final void rule__HookCombinator__Group__6() throws RecognitionException { 
     10275        int rule__HookCombinator__Group__6_StartIndex = input.index(); 
     10276 
     10277                        int stackSize = keepStackSize(); 
     10278             
     10279        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); 
     10285            rule__HookCombinator__Group__6__Impl(); 
     10286 
     10287            state._fsp--; 
     10288            if (state.failed) return ; 
     10289            pushFollow(FOLLOW_rule__HookCombinator__Group__7_in_rule__HookCombinator__Group__66517); 
     10290            rule__HookCombinator__Group__7(); 
     10291 
     10292            state._fsp--; 
     10293            if (state.failed) return ; 
     10294 
     10295            } 
     10296 
     10297        } 
     10298        catch (RecognitionException re) { 
     10299            reportError(re); 
     10300            recover(input,re); 
     10301        } 
     10302        finally { 
     10303            if ( state.backtracking>0 ) { memoize(input, 192, rule__HookCombinator__Group__6_StartIndex); } 
     10304 
     10305                restoreStackSize(stackSize); 
     10306 
     10307        } 
     10308        return ; 
     10309    } 
     10310    // $ANTLR end "rule__HookCombinator__Group__6" 
     10311 
     10312 
     10313    // $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 )? ) ; 
     10315    public final void rule__HookCombinator__Group__6__Impl() throws RecognitionException { 
     10316        int rule__HookCombinator__Group__6__Impl_StartIndex = input.index(); 
     10317 
     10318                        int stackSize = keepStackSize(); 
     10319             
     10320        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 )? 
     10327            { 
     10328            if ( state.backtracking==0 ) { 
     10329               before(grammarAccess.getHookCombinatorAccess().getLogicAssignment_6());  
     10330            } 
     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 )? 
     10332            int alt36=2; 
     10333            int LA36_0 = input.LA(1); 
     10334 
     10335            if ( (LA36_0==RULE_LOGIC) ) { 
     10336                alt36=1; 
     10337            } 
     10338            switch (alt36) { 
     10339                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 
     10341                    { 
     10342                    pushFollow(FOLLOW_rule__HookCombinator__LogicAssignment_6_in_rule__HookCombinator__Group__6__Impl6544); 
     10343                    rule__HookCombinator__LogicAssignment_6(); 
     10344 
     10345                    state._fsp--; 
     10346                    if (state.failed) return ; 
     10347 
     10348                    } 
     10349                    break; 
     10350 
     10351            } 
     10352 
     10353            if ( state.backtracking==0 ) { 
     10354               after(grammarAccess.getHookCombinatorAccess().getLogicAssignment_6());  
     10355            } 
     10356 
     10357            } 
     10358 
     10359 
     10360            } 
     10361 
     10362        } 
     10363        catch (RecognitionException re) { 
     10364            reportError(re); 
     10365            recover(input,re); 
     10366        } 
     10367        finally { 
     10368            if ( state.backtracking>0 ) { memoize(input, 193, rule__HookCombinator__Group__6__Impl_StartIndex); } 
     10369 
     10370                restoreStackSize(stackSize); 
     10371 
     10372        } 
     10373        return ; 
     10374    } 
     10375    // $ANTLR end "rule__HookCombinator__Group__6__Impl" 
     10376 
     10377 
     10378    // $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 ; 
     10380    public final void rule__HookCombinator__Group__7() throws RecognitionException { 
     10381        int rule__HookCombinator__Group__7_StartIndex = input.index(); 
     10382 
     10383                        int stackSize = keepStackSize(); 
     10384             
     10385        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); 
     10391            rule__HookCombinator__Group__7__Impl(); 
     10392 
     10393            state._fsp--; 
     10394            if (state.failed) return ; 
     10395            pushFollow(FOLLOW_rule__HookCombinator__Group__8_in_rule__HookCombinator__Group__76578); 
     10396            rule__HookCombinator__Group__8(); 
     10397 
     10398            state._fsp--; 
     10399            if (state.failed) return ; 
     10400 
     10401            } 
     10402 
     10403        } 
     10404        catch (RecognitionException re) { 
     10405            reportError(re); 
     10406            recover(input,re); 
     10407        } 
     10408        finally { 
     10409            if ( state.backtracking>0 ) { memoize(input, 194, rule__HookCombinator__Group__7_StartIndex); } 
     10410 
     10411                restoreStackSize(stackSize); 
     10412 
     10413        } 
     10414        return ; 
     10415    } 
     10416    // $ANTLR end "rule__HookCombinator__Group__7" 
     10417 
     10418 
     10419    // $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 )* ) ) ; 
     10421    public final void rule__HookCombinator__Group__7__Impl() throws RecognitionException { 
     10422        int rule__HookCombinator__Group__7__Impl_StartIndex = input.index(); 
     10423 
     10424                        int stackSize = keepStackSize(); 
     10425             
     10426        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 ) 
     10436            { 
     10437            if ( state.backtracking==0 ) { 
     10438               before(grammarAccess.getHookCombinatorAccess().getGroup_7());  
     10439            } 
     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); 
     10444            rule__HookCombinator__Group_7__0(); 
     10445 
     10446            state._fsp--; 
     10447            if (state.failed) return ; 
     10448 
     10449            } 
     10450 
     10451            if ( state.backtracking==0 ) { 
     10452               after(grammarAccess.getHookCombinatorAccess().getGroup_7());  
     10453            } 
     10454 
     10455            } 
     10456 
     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 )* 
     10459            { 
     10460            if ( state.backtracking==0 ) { 
     10461               before(grammarAccess.getHookCombinatorAccess().getGroup_7());  
     10462            } 
     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 )* 
     10464            loop37: 
    956710465            do { 
    9568                 int alt36=2; 
    9569                 int LA36_0 = input.LA(1); 
    9570  
    9571                 if ( (LA36_0==16) ) { 
    9572                     alt36=1; 
     10466                int alt37=2; 
     10467                int LA37_0 = input.LA(1); 
     10468 
     10469                if ( (LA37_0==17) ) { 
     10470                    alt37=1; 
    957310471                } 
    957410472 
    957510473 
    9576                 switch (alt36) { 
     10474                switch (alt37) { 
    957710475                case 1 : 
    9578                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3382:2: rule__DefinitionList__Group_1__0 
     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 
    957910477                    { 
    9580                     pushFollow(FOLLOW_rule__DefinitionList__Group_1__0_in_rule__DefinitionList__Group__1__Impl6880); 
    9581                     rule__DefinitionList__Group_1__0(); 
     10478                    pushFollow(FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6619); 
     10479                    rule__HookCombinator__Group_7__0(); 
    958210480 
    958310481                    state._fsp--; 
    9584  
     10482                    if (state.failed) return ; 
    958510483 
    958610484                    } 
     
    958810486 
    958910487                default : 
    9590                     break loop36; 
     10488                    break loop37; 
    959110489                } 
    959210490            } while (true); 
    959310491 
    9594              after(grammarAccess.getDefinitionListAccess().getGroup_1());  
    9595  
    9596             } 
    9597  
    9598  
    9599             } 
    9600  
    9601         } 
    9602         catch (RecognitionException re) { 
    9603             reportError(re); 
    9604             recover(input,re); 
    9605         } 
    9606         finally { 
     10492            if ( state.backtracking==0 ) { 
     10493               after(grammarAccess.getHookCombinatorAccess().getGroup_7());  
     10494            } 
     10495 
     10496            } 
     10497 
     10498 
     10499            } 
     10500 
     10501 
     10502            } 
     10503 
     10504        } 
     10505        catch (RecognitionException re) { 
     10506            reportError(re); 
     10507            recover(input,re); 
     10508        } 
     10509        finally { 
     10510            if ( state.backtracking>0 ) { memoize(input, 195, rule__HookCombinator__Group__7__Impl_StartIndex); } 
     10511 
     10512                restoreStackSize(stackSize); 
     10513 
     10514        } 
     10515        return ; 
     10516    } 
     10517    // $ANTLR end "rule__HookCombinator__Group__7__Impl" 
     10518 
     10519 
     10520    // $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 ; 
     10522    public final void rule__HookCombinator__Group__8() throws RecognitionException { 
     10523        int rule__HookCombinator__Group__8_StartIndex = input.index(); 
     10524 
     10525                        int stackSize = keepStackSize(); 
     10526             
     10527        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); 
     10533            rule__HookCombinator__Group__8__Impl(); 
     10534 
     10535            state._fsp--; 
     10536            if (state.failed) return ; 
     10537 
     10538            } 
     10539 
     10540        } 
     10541        catch (RecognitionException re) { 
     10542            reportError(re); 
     10543            recover(input,re); 
     10544        } 
     10545        finally { 
     10546            if ( state.backtracking>0 ) { memoize(input, 196, rule__HookCombinator__Group__8_StartIndex); } 
     10547 
     10548                restoreStackSize(stackSize); 
     10549 
     10550        } 
     10551        return ; 
     10552    } 
     10553    // $ANTLR end "rule__HookCombinator__Group__8" 
     10554 
     10555 
     10556    // $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 : ( ( ';' )? ) ; 
     10558    public final void rule__HookCombinator__Group__8__Impl() throws RecognitionException { 
     10559        int rule__HookCombinator__Group__8__Impl_StartIndex = input.index(); 
     10560 
     10561                        int stackSize = keepStackSize(); 
     10562             
     10563        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: ( ';' )? 
     10570            { 
     10571            if ( state.backtracking==0 ) { 
     10572               before(grammarAccess.getHookCombinatorAccess().getSemicolonKeyword_8());  
     10573            } 
     10574            // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3261:1: ( ';' )? 
     10575            int alt38=2; 
     10576            int LA38_0 = input.LA(1); 
     10577 
     10578            if ( (LA38_0==23) ) { 
     10579                alt38=1; 
     10580            } 
     10581            switch (alt38) { 
     10582                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: ';' 
     10584                    { 
     10585                    match(input,23,FOLLOW_23_in_rule__HookCombinator__Group__8__Impl6681); if (state.failed) return ; 
     10586 
     10587                    } 
     10588                    break; 
     10589 
     10590            } 
     10591 
     10592            if ( state.backtracking==0 ) { 
     10593               after(grammarAccess.getHookCombinatorAccess().getSemicolonKeyword_8());  
     10594            } 
     10595 
     10596            } 
     10597 
     10598 
     10599            } 
     10600 
     10601        } 
     10602        catch (RecognitionException re) { 
     10603            reportError(re); 
     10604            recover(input,re); 
     10605        } 
     10606        finally { 
     10607            if ( state.backtracking>0 ) { memoize(input, 197, rule__HookCombinator__Group__8__Impl_StartIndex); } 
     10608 
     10609                restoreStackSize(stackSize); 
     10610 
     10611        } 
     10612        return ; 
     10613    } 
     10614    // $ANTLR end "rule__HookCombinator__Group__8__Impl" 
     10615 
     10616 
     10617    // $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 ; 
     10619    public final void rule__HookCombinator__Group_7__0() throws RecognitionException { 
     10620        int rule__HookCombinator__Group_7__0_StartIndex = input.index(); 
     10621 
     10622                        int stackSize = keepStackSize(); 
     10623             
     10624        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); 
     10630            rule__HookCombinator__Group_7__0__Impl(); 
     10631 
     10632            state._fsp--; 
     10633            if (state.failed) return ; 
     10634            pushFollow(FOLLOW_rule__HookCombinator__Group_7__1_in_rule__HookCombinator__Group_7__06735); 
     10635            rule__HookCombinator__Group_7__1(); 
     10636 
     10637            state._fsp--; 
     10638            if (state.failed) return ; 
     10639 
     10640            } 
     10641 
     10642        } 
     10643        catch (RecognitionException re) { 
     10644            reportError(re); 
     10645            recover(input,re); 
     10646        } 
     10647        finally { 
     10648            if ( state.backtracking>0 ) { memoize(input, 198, rule__HookCombinator__Group_7__0_StartIndex); } 
     10649 
     10650                restoreStackSize(stackSize); 
     10651 
     10652        } 
     10653        return ; 
     10654    } 
     10655    // $ANTLR end "rule__HookCombinator__Group_7__0" 
     10656 
     10657 
     10658    // $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 : ( '(' ) ; 
     10660    public final void rule__HookCombinator__Group_7__0__Impl() throws RecognitionException { 
     10661        int rule__HookCombinator__Group_7__0__Impl_StartIndex = input.index(); 
     10662 
     10663                        int stackSize = keepStackSize(); 
     10664             
     10665        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: '(' 
     10672            { 
     10673            if ( state.backtracking==0 ) { 
     10674               before(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_7_0());  
     10675            } 
     10676            match(input,17,FOLLOW_17_in_rule__HookCombinator__Group_7__0__Impl6763); if (state.failed) return ; 
     10677            if ( state.backtracking==0 ) { 
     10678               after(grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_7_0());  
     10679            } 
     10680 
     10681            } 
     10682 
     10683 
     10684            } 
     10685 
     10686        } 
     10687        catch (RecognitionException re) { 
     10688            reportError(re); 
     10689            recover(input,re); 
     10690        } 
     10691        finally { 
     10692            if ( state.backtracking>0 ) { memoize(input, 199, rule__HookCombinator__Group_7__0__Impl_StartIndex); } 
     10693 
     10694                restoreStackSize(stackSize); 
     10695 
     10696        } 
     10697        return ; 
     10698    } 
     10699    // $ANTLR end "rule__HookCombinator__Group_7__0__Impl" 
     10700 
     10701 
     10702    // $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 ; 
     10704    public final void rule__HookCombinator__Group_7__1() throws RecognitionException { 
     10705        int rule__HookCombinator__Group_7__1_StartIndex = input.index(); 
     10706 
     10707                        int stackSize = keepStackSize(); 
     10708             
     10709        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); 
     10715            rule__HookCombinator__Group_7__1__Impl(); 
     10716 
     10717            state._fsp--; 
     10718            if (state.failed) return ; 
     10719            pushFollow(FOLLOW_rule__HookCombinator__Group_7__2_in_rule__HookCombinator__Group_7__16797); 
     10720            rule__HookCombinator__Group_7__2(); 
     10721 
     10722            state._fsp--; 
     10723            if (state.failed) return ; 
     10724 
     10725            } 
     10726 
     10727        } 
     10728        catch (RecognitionException re) { 
     10729            reportError(re); 
     10730            recover(input,re); 
     10731        } 
     10732        finally { 
     10733            if ( state.backtracking>0 ) { memoize(input, 200, rule__HookCombinator__Group_7__1_StartIndex); } 
     10734 
     10735                restoreStackSize(stackSize); 
     10736 
     10737        } 
     10738        return ; 
     10739    } 
     10740    // $ANTLR end "rule__HookCombinator__Group_7__1" 
     10741 
     10742 
     10743    // $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 ) ) ; 
     10745    public final void rule__HookCombinator__Group_7__1__Impl() throws RecognitionException { 
     10746        int rule__HookCombinator__Group_7__1__Impl_StartIndex = input.index(); 
     10747 
     10748                        int stackSize = keepStackSize(); 
     10749             
     10750        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 ) 
     10757            { 
     10758            if ( state.backtracking==0 ) { 
     10759               before(grammarAccess.getHookCombinatorAccess().getLABELAssignment_7_1());  
     10760            } 
     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); 
     10765            rule__HookCombinator__LABELAssignment_7_1(); 
     10766 
     10767            state._fsp--; 
     10768            if (state.failed) return ; 
     10769 
     10770            } 
     10771 
     10772            if ( state.backtracking==0 ) { 
     10773               after(grammarAccess.getHookCombinatorAccess().getLABELAssignment_7_1());  
     10774            } 
     10775 
     10776            } 
     10777 
     10778 
     10779            } 
     10780 
     10781        } 
     10782        catch (RecognitionException re) { 
     10783            reportError(re); 
     10784            recover(input,re); 
     10785        } 
     10786        finally { 
     10787            if ( state.backtracking>0 ) { memoize(input, 201, rule__HookCombinator__Group_7__1__Impl_StartIndex); } 
     10788 
     10789                restoreStackSize(stackSize); 
     10790 
     10791        } 
     10792        return ; 
     10793    } 
     10794    // $ANTLR end "rule__HookCombinator__Group_7__1__Impl" 
     10795 
     10796 
     10797    // $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 ; 
     10799    public final void rule__HookCombinator__Group_7__2() throws RecognitionException { 
     10800        int rule__HookCombinator__Group_7__2_StartIndex = input.index(); 
     10801 
     10802                        int stackSize = keepStackSize(); 
     10803             
     10804        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); 
     10810            rule__HookCombinator__Group_7__2__Impl(); 
     10811 
     10812            state._fsp--; 
     10813            if (state.failed) return ; 
     10814 
     10815            } 
     10816 
     10817        } 
     10818        catch (RecognitionException re) { 
     10819            reportError(re); 
     10820            recover(input,re); 
     10821        } 
     10822        finally { 
     10823            if ( state.backtracking>0 ) { memoize(input, 202, rule__HookCombinator__Group_7__2_StartIndex); } 
     10824 
     10825                restoreStackSize(stackSize); 
     10826 
     10827        } 
     10828        return ; 
     10829    } 
     10830    // $ANTLR end "rule__HookCombinator__Group_7__2" 
     10831 
     10832 
     10833    // $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 : ( ')' ) ; 
     10835    public final void rule__HookCombinator__Group_7__2__Impl() throws RecognitionException { 
     10836        int rule__HookCombinator__Group_7__2__Impl_StartIndex = input.index(); 
     10837 
     10838                        int stackSize = keepStackSize(); 
     10839             
     10840        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: ')' 
     10847            { 
     10848            if ( state.backtracking==0 ) { 
     10849               before(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_7_2());  
     10850            } 
     10851            match(input,13,FOLLOW_13_in_rule__HookCombinator__Group_7__2__Impl6882); if (state.failed) return ; 
     10852            if ( state.backtracking==0 ) { 
     10853               after(grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_7_2());  
     10854            } 
     10855 
     10856            } 
     10857 
     10858 
     10859            } 
     10860 
     10861        } 
     10862        catch (RecognitionException re) { 
     10863            reportError(re); 
     10864            recover(input,re); 
     10865        } 
     10866        finally { 
     10867            if ( state.backtracking>0 ) { memoize(input, 203, rule__HookCombinator__Group_7__2__Impl_StartIndex); } 
     10868 
     10869                restoreStackSize(stackSize); 
     10870 
     10871        } 
     10872        return ; 
     10873    } 
     10874    // $ANTLR end "rule__HookCombinator__Group_7__2__Impl" 
     10875 
     10876 
     10877    // $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 ; 
     10879    public final void rule__DefinitionList__Group__0() throws RecognitionException { 
     10880        int rule__DefinitionList__Group__0_StartIndex = input.index(); 
     10881 
     10882                        int stackSize = keepStackSize(); 
     10883             
     10884        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); 
     10890            rule__DefinitionList__Group__0__Impl(); 
     10891 
     10892            state._fsp--; 
     10893            if (state.failed) return ; 
     10894            pushFollow(FOLLOW_rule__DefinitionList__Group__1_in_rule__DefinitionList__Group__06922); 
     10895            rule__DefinitionList__Group__1(); 
     10896 
     10897            state._fsp--; 
     10898            if (state.failed) return ; 
     10899 
     10900            } 
     10901 
     10902        } 
     10903        catch (RecognitionException re) { 
     10904            reportError(re); 
     10905            recover(input,re); 
     10906        } 
     10907        finally { 
     10908            if ( state.backtracking>0 ) { memoize(input, 204, rule__DefinitionList__Group__0_StartIndex); } 
     10909 
     10910                restoreStackSize(stackSize); 
     10911 
     10912        } 
     10913        return ; 
     10914    } 
     10915    // $ANTLR end "rule__DefinitionList__Group__0" 
     10916 
     10917 
     10918    // $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 ) ) ; 
     10920    public final void rule__DefinitionList__Group__0__Impl() throws RecognitionException { 
     10921        int rule__DefinitionList__Group__0__Impl_StartIndex = input.index(); 
     10922 
     10923                        int stackSize = keepStackSize(); 
     10924             
     10925        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 ) 
     10932            { 
     10933            if ( state.backtracking==0 ) { 
     10934               before(grammarAccess.getDefinitionListAccess().getSingleDefinitionAssignment_0());  
     10935            } 
     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); 
     10940            rule__DefinitionList__SingleDefinitionAssignment_0(); 
     10941 
     10942            state._fsp--; 
     10943            if (state.failed) return ; 
     10944 
     10945            } 
     10946 
     10947            if ( state.backtracking==0 ) { 
     10948               after(grammarAccess.getDefinitionListAccess().getSingleDefinitionAssignment_0());  
     10949            } 
     10950 
     10951            } 
     10952 
     10953 
     10954            } 
     10955 
     10956        } 
     10957        catch (RecognitionException re) { 
     10958            reportError(re); 
     10959            recover(input,re); 
     10960        } 
     10961        finally { 
     10962            if ( state.backtracking>0 ) { memoize(input, 205, rule__DefinitionList__Group__0__Impl_StartIndex); } 
     10963 
     10964                restoreStackSize(stackSize); 
     10965 
     10966        } 
     10967        return ; 
     10968    } 
     10969    // $ANTLR end "rule__DefinitionList__Group__0__Impl" 
     10970 
     10971 
     10972    // $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 ; 
     10974    public final void rule__DefinitionList__Group__1() throws RecognitionException { 
     10975        int rule__DefinitionList__Group__1_StartIndex = input.index(); 
     10976 
     10977                        int stackSize = keepStackSize(); 
     10978             
     10979        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); 
     10985            rule__DefinitionList__Group__1__Impl(); 
     10986 
     10987            state._fsp--; 
     10988            if (state.failed) return ; 
     10989 
     10990            } 
     10991 
     10992        } 
     10993        catch (RecognitionException re) { 
     10994            reportError(re); 
     10995            recover(input,re); 
     10996        } 
     10997        finally { 
     10998            if ( state.backtracking>0 ) { memoize(input, 206, rule__DefinitionList__Group__1_StartIndex); } 
     10999 
     11000                restoreStackSize(stackSize); 
     11001 
     11002        } 
     11003        return ; 
     11004    } 
     11005    // $ANTLR end "rule__DefinitionList__Group__1" 
     11006 
     11007 
     11008    // $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 )* ) ; 
     11010    public final void rule__DefinitionList__Group__1__Impl() throws RecognitionException { 
     11011        int rule__DefinitionList__Group__1__Impl_StartIndex = input.index(); 
     11012 
     11013                        int stackSize = keepStackSize(); 
     11014             
     11015        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 )* 
     11022            { 
     11023            if ( state.backtracking==0 ) { 
     11024               before(grammarAccess.getDefinitionListAccess().getGroup_1());  
     11025            } 
     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 )* 
     11027            loop39: 
     11028            do { 
     11029                int alt39=2; 
     11030                int LA39_0 = input.LA(1); 
     11031 
     11032                if ( (LA39_0==16) ) { 
     11033                    alt39=1; 
     11034                } 
     11035 
     11036 
     11037                switch (alt39) { 
     11038                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 
     11040                    { 
     11041                    pushFollow(FOLLOW_rule__DefinitionList__Group_1__0_in_rule__DefinitionList__Group__1__Impl7006); 
     11042                    rule__DefinitionList__Group_1__0(); 
     11043 
     11044                    state._fsp--; 
     11045                    if (state.failed) return ; 
     11046 
     11047                    } 
     11048                    break; 
     11049 
     11050                default : 
     11051                    break loop39; 
     11052                } 
     11053            } while (true); 
     11054 
     11055            if ( state.backtracking==0 ) { 
     11056               after(grammarAccess.getDefinitionListAccess().getGroup_1());  
     11057            } 
     11058 
     11059            } 
     11060 
     11061 
     11062            } 
     11063 
     11064        } 
     11065        catch (RecognitionException re) { 
     11066            reportError(re); 
     11067            recover(input,re); 
     11068        } 
     11069        finally { 
     11070            if ( state.backtracking>0 ) { memoize(input, 207, rule__DefinitionList__Group__1__Impl_StartIndex); } 
    960711071 
    960811072                restoreStackSize(stackSize); 
     
    961511079 
    961611080    // $ANTLR start "rule__DefinitionList__Group_1__0" 
    9617     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3396:1: rule__DefinitionList__Group_1__0 : rule__DefinitionList__Group_1__0__Impl rule__DefinitionList__Group_1__1 ; 
     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 ; 
    961811082    public final void rule__DefinitionList__Group_1__0() throws RecognitionException { 
    9619  
    9620                         int stackSize = keepStackSize(); 
    9621              
    9622         try { 
    9623             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3400:1: ( rule__DefinitionList__Group_1__0__Impl rule__DefinitionList__Group_1__1 ) 
    9624             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3401:2: rule__DefinitionList__Group_1__0__Impl rule__DefinitionList__Group_1__1 
    9625             { 
    9626             pushFollow(FOLLOW_rule__DefinitionList__Group_1__0__Impl_in_rule__DefinitionList__Group_1__06915); 
     11083        int rule__DefinitionList__Group_1__0_StartIndex = input.index(); 
     11084 
     11085                        int stackSize = keepStackSize(); 
     11086             
     11087        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); 
    962711093            rule__DefinitionList__Group_1__0__Impl(); 
    962811094 
    962911095            state._fsp--; 
    9630  
    9631             pushFollow(FOLLOW_rule__DefinitionList__Group_1__1_in_rule__DefinitionList__Group_1__06918); 
     11096            if (state.failed) return ; 
     11097            pushFollow(FOLLOW_rule__DefinitionList__Group_1__1_in_rule__DefinitionList__Group_1__07044); 
    963211098            rule__DefinitionList__Group_1__1(); 
    963311099 
    963411100            state._fsp--; 
    9635  
    9636  
    9637             } 
    9638  
    9639         } 
    9640         catch (RecognitionException re) { 
    9641             reportError(re); 
    9642             recover(input,re); 
    9643         } 
    9644         finally { 
     11101            if (state.failed) return ; 
     11102 
     11103            } 
     11104 
     11105        } 
     11106        catch (RecognitionException re) { 
     11107            reportError(re); 
     11108            recover(input,re); 
     11109        } 
     11110        finally { 
     11111            if ( state.backtracking>0 ) { memoize(input, 208, rule__DefinitionList__Group_1__0_StartIndex); } 
    964511112 
    964611113                restoreStackSize(stackSize); 
     
    965311120 
    965411121    // $ANTLR start "rule__DefinitionList__Group_1__0__Impl" 
    9655     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3408:1: 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 : ( '|' ) ; 
    965611123    public final void rule__DefinitionList__Group_1__0__Impl() throws RecognitionException { 
    9657  
    9658                         int stackSize = keepStackSize(); 
    9659              
    9660         try { 
    9661             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3412:1: ( ( '|' ) ) 
    9662             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3413:1: ( '|' ) 
    9663             { 
    9664             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3413:1: ( '|' ) 
    9665             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3414:1: '|' 
    9666             { 
    9667              before(grammarAccess.getDefinitionListAccess().getVerticalLineKeyword_1_0());  
    9668             match(input,16,FOLLOW_16_in_rule__DefinitionList__Group_1__0__Impl6946);  
    9669              after(grammarAccess.getDefinitionListAccess().getVerticalLineKeyword_1_0());  
    9670  
    9671             } 
    9672  
    9673  
    9674             } 
    9675  
    9676         } 
    9677         catch (RecognitionException re) { 
    9678             reportError(re); 
    9679             recover(input,re); 
    9680         } 
    9681         finally { 
     11124        int rule__DefinitionList__Group_1__0__Impl_StartIndex = input.index(); 
     11125 
     11126                        int stackSize = keepStackSize(); 
     11127             
     11128        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: '|' 
     11135            { 
     11136            if ( state.backtracking==0 ) { 
     11137               before(grammarAccess.getDefinitionListAccess().getVerticalLineKeyword_1_0());  
     11138            } 
     11139            match(input,16,FOLLOW_16_in_rule__DefinitionList__Group_1__0__Impl7072); if (state.failed) return ; 
     11140            if ( state.backtracking==0 ) { 
     11141               after(grammarAccess.getDefinitionListAccess().getVerticalLineKeyword_1_0());  
     11142            } 
     11143 
     11144            } 
     11145 
     11146 
     11147            } 
     11148 
     11149        } 
     11150        catch (RecognitionException re) { 
     11151            reportError(re); 
     11152            recover(input,re); 
     11153        } 
     11154        finally { 
     11155            if ( state.backtracking>0 ) { memoize(input, 209, rule__DefinitionList__Group_1__0__Impl_StartIndex); } 
    968211156 
    968311157                restoreStackSize(stackSize); 
     
    969011164 
    969111165    // $ANTLR start "rule__DefinitionList__Group_1__1" 
    9692     // ../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__1 : rule__DefinitionList__Group_1__1__Impl ; 
     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 ; 
    969311167    public final void rule__DefinitionList__Group_1__1() throws RecognitionException { 
    9694  
    9695                         int stackSize = keepStackSize(); 
    9696              
    9697         try { 
    9698             // ../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__1__Impl ) 
    9699             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3432:2: rule__DefinitionList__Group_1__1__Impl 
    9700             { 
    9701             pushFollow(FOLLOW_rule__DefinitionList__Group_1__1__Impl_in_rule__DefinitionList__Group_1__16977); 
     11168        int rule__DefinitionList__Group_1__1_StartIndex = input.index(); 
     11169 
     11170                        int stackSize = keepStackSize(); 
     11171             
     11172        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); 
    970211178            rule__DefinitionList__Group_1__1__Impl(); 
    970311179 
    970411180            state._fsp--; 
    9705  
    9706  
    9707             } 
    9708  
    9709         } 
    9710         catch (RecognitionException re) { 
    9711             reportError(re); 
    9712             recover(input,re); 
    9713         } 
    9714         finally { 
     11181            if (state.failed) return ; 
     11182 
     11183            } 
     11184 
     11185        } 
     11186        catch (RecognitionException re) { 
     11187            reportError(re); 
     11188            recover(input,re); 
     11189        } 
     11190        finally { 
     11191            if ( state.backtracking>0 ) { memoize(input, 210, rule__DefinitionList__Group_1__1_StartIndex); } 
    971511192 
    971611193                restoreStackSize(stackSize); 
     
    972311200 
    972411201    // $ANTLR start "rule__DefinitionList__Group_1__1__Impl" 
    9725     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3438:1: rule__DefinitionList__Group_1__1__Impl : ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) ; 
     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 ) ) ; 
    972611203    public final void rule__DefinitionList__Group_1__1__Impl() throws RecognitionException { 
    9727  
    9728                         int stackSize = keepStackSize(); 
    9729              
    9730         try { 
    9731             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3442:1: ( ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) ) 
    9732             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3443:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) 
    9733             { 
    9734             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3443:1: ( ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) ) 
    9735             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3444:1: ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) 
    9736             { 
    9737              before(grammarAccess.getDefinitionListAccess().getSingleDefinitionAssignment_1_1());  
    9738             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3445:1: ( rule__DefinitionList__SingleDefinitionAssignment_1_1 ) 
    9739             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3445:2: rule__DefinitionList__SingleDefinitionAssignment_1_1 
    9740             { 
    9741             pushFollow(FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_1_1_in_rule__DefinitionList__Group_1__1__Impl7004); 
     11204        int rule__DefinitionList__Group_1__1__Impl_StartIndex = input.index(); 
     11205 
     11206                        int stackSize = keepStackSize(); 
     11207             
     11208        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 ) 
     11215            { 
     11216            if ( state.backtracking==0 ) { 
     11217               before(grammarAccess.getDefinitionListAccess().getSingleDefinitionAssignment_1_1());  
     11218            } 
     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); 
    974211223            rule__DefinitionList__SingleDefinitionAssignment_1_1(); 
    974311224 
    974411225            state._fsp--; 
    9745  
    9746  
    9747             } 
    9748  
    9749              after(grammarAccess.getDefinitionListAccess().getSingleDefinitionAssignment_1_1());  
    9750  
    9751             } 
    9752  
    9753  
    9754             } 
    9755  
    9756         } 
    9757         catch (RecognitionException re) { 
    9758             reportError(re); 
    9759             recover(input,re); 
    9760         } 
    9761         finally { 
     11226            if (state.failed) return ; 
     11227 
     11228            } 
     11229 
     11230            if ( state.backtracking==0 ) { 
     11231               after(grammarAccess.getDefinitionListAccess().getSingleDefinitionAssignment_1_1());  
     11232            } 
     11233 
     11234            } 
     11235 
     11236 
     11237            } 
     11238 
     11239        } 
     11240        catch (RecognitionException re) { 
     11241            reportError(re); 
     11242            recover(input,re); 
     11243        } 
     11244        finally { 
     11245            if ( state.backtracking>0 ) { memoize(input, 211, rule__DefinitionList__Group_1__1__Impl_StartIndex); } 
    976211246 
    976311247                restoreStackSize(stackSize); 
     
    977011254 
    977111255    // $ANTLR start "rule__GroupedSequence__Group__0" 
    9772     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3459:1: rule__GroupedSequence__Group__0 : rule__GroupedSequence__Group__0__Impl rule__GroupedSequence__Group__1 ; 
     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 ; 
    977311257    public final void rule__GroupedSequence__Group__0() throws RecognitionException { 
    9774  
    9775                         int stackSize = keepStackSize(); 
    9776              
    9777         try { 
    9778             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3463:1: ( rule__GroupedSequence__Group__0__Impl rule__GroupedSequence__Group__1 ) 
    9779             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3464:2: rule__GroupedSequence__Group__0__Impl rule__GroupedSequence__Group__1 
    9780             { 
    9781             pushFollow(FOLLOW_rule__GroupedSequence__Group__0__Impl_in_rule__GroupedSequence__Group__07038); 
     11258        int rule__GroupedSequence__Group__0_StartIndex = input.index(); 
     11259 
     11260                        int stackSize = keepStackSize(); 
     11261             
     11262        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); 
    978211268            rule__GroupedSequence__Group__0__Impl(); 
    978311269 
    978411270            state._fsp--; 
    9785  
    9786             pushFollow(FOLLOW_rule__GroupedSequence__Group__1_in_rule__GroupedSequence__Group__07041); 
     11271            if (state.failed) return ; 
     11272            pushFollow(FOLLOW_rule__GroupedSequence__Group__1_in_rule__GroupedSequence__Group__07167); 
    978711273            rule__GroupedSequence__Group__1(); 
    978811274 
    978911275            state._fsp--; 
    9790  
    9791  
    9792             } 
    9793  
    9794         } 
    9795         catch (RecognitionException re) { 
    9796             reportError(re); 
    9797             recover(input,re); 
    9798         } 
    9799         finally { 
     11276            if (state.failed) return ; 
     11277 
     11278            } 
     11279 
     11280        } 
     11281        catch (RecognitionException re) { 
     11282            reportError(re); 
     11283            recover(input,re); 
     11284        } 
     11285        finally { 
     11286            if ( state.backtracking>0 ) { memoize(input, 212, rule__GroupedSequence__Group__0_StartIndex); } 
    980011287 
    980111288                restoreStackSize(stackSize); 
     
    980811295 
    980911296    // $ANTLR start "rule__GroupedSequence__Group__0__Impl" 
    9810     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3471:1: 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 : ( '(' ) ; 
    981111298    public final void rule__GroupedSequence__Group__0__Impl() throws RecognitionException { 
    9812  
    9813                         int stackSize = keepStackSize(); 
    9814              
    9815         try { 
    9816             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3475:1: ( ( '(' ) ) 
    9817             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3476:1: ( '(' ) 
    9818             { 
    9819             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3476:1: ( '(' ) 
    9820             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3477:1: '(' 
    9821             { 
    9822              before(grammarAccess.getGroupedSequenceAccess().getLeftParenthesisKeyword_0());  
    9823             match(input,17,FOLLOW_17_in_rule__GroupedSequence__Group__0__Impl7069);  
    9824              after(grammarAccess.getGroupedSequenceAccess().getLeftParenthesisKeyword_0());  
    9825  
    9826             } 
    9827  
    9828  
    9829             } 
    9830  
    9831         } 
    9832         catch (RecognitionException re) { 
    9833             reportError(re); 
    9834             recover(input,re); 
    9835         } 
    9836         finally { 
     11299        int rule__GroupedSequence__Group__0__Impl_StartIndex = input.index(); 
     11300 
     11301                        int stackSize = keepStackSize(); 
     11302             
     11303        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: '(' 
     11310            { 
     11311            if ( state.backtracking==0 ) { 
     11312               before(grammarAccess.getGroupedSequenceAccess().getLeftParenthesisKeyword_0());  
     11313            } 
     11314            match(input,17,FOLLOW_17_in_rule__GroupedSequence__Group__0__Impl7195); if (state.failed) return ; 
     11315            if ( state.backtracking==0 ) { 
     11316               after(grammarAccess.getGroupedSequenceAccess().getLeftParenthesisKeyword_0());  
     11317            } 
     11318 
     11319            } 
     11320 
     11321 
     11322            } 
     11323 
     11324        } 
     11325        catch (RecognitionException re) { 
     11326            reportError(re); 
     11327            recover(input,re); 
     11328        } 
     11329        finally { 
     11330            if ( state.backtracking>0 ) { memoize(input, 213, rule__GroupedSequence__Group__0__Impl_StartIndex); } 
    983711331 
    983811332                restoreStackSize(stackSize); 
     
    984511339 
    984611340    // $ANTLR start "rule__GroupedSequence__Group__1" 
    9847     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3490:1: rule__GroupedSequence__Group__1 : rule__GroupedSequence__Group__1__Impl rule__GroupedSequence__Group__2 ; 
     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 ; 
    984811342    public final void rule__GroupedSequence__Group__1() throws RecognitionException { 
    9849  
    9850                         int stackSize = keepStackSize(); 
    9851              
    9852         try { 
    9853             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3494:1: ( rule__GroupedSequence__Group__1__Impl rule__GroupedSequence__Group__2 ) 
    9854             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3495:2: rule__GroupedSequence__Group__1__Impl rule__GroupedSequence__Group__2 
    9855             { 
    9856             pushFollow(FOLLOW_rule__GroupedSequence__Group__1__Impl_in_rule__GroupedSequence__Group__17100); 
     11343        int rule__GroupedSequence__Group__1_StartIndex = input.index(); 
     11344 
     11345                        int stackSize = keepStackSize(); 
     11346             
     11347        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); 
    985711353            rule__GroupedSequence__Group__1__Impl(); 
    985811354 
    985911355            state._fsp--; 
    9860  
    9861             pushFollow(FOLLOW_rule__GroupedSequence__Group__2_in_rule__GroupedSequence__Group__17103); 
     11356            if (state.failed) return ; 
     11357            pushFollow(FOLLOW_rule__GroupedSequence__Group__2_in_rule__GroupedSequence__Group__17229); 
    986211358            rule__GroupedSequence__Group__2(); 
    986311359 
    986411360            state._fsp--; 
    9865  
    9866  
    9867             } 
    9868  
    9869         } 
    9870         catch (RecognitionException re) { 
    9871             reportError(re); 
    9872             recover(input,re); 
    9873         } 
    9874         finally { 
     11361            if (state.failed) return ; 
     11362 
     11363            } 
     11364 
     11365        } 
     11366        catch (RecognitionException re) { 
     11367            reportError(re); 
     11368            recover(input,re); 
     11369        } 
     11370        finally { 
     11371            if ( state.backtracking>0 ) { memoize(input, 214, rule__GroupedSequence__Group__1_StartIndex); } 
    987511372 
    987611373                restoreStackSize(stackSize); 
     
    988311380 
    988411381    // $ANTLR start "rule__GroupedSequence__Group__1__Impl" 
    9885     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3502:1: rule__GroupedSequence__Group__1__Impl : ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) ; 
     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 ) ) ; 
    988611383    public final void rule__GroupedSequence__Group__1__Impl() throws RecognitionException { 
    9887  
    9888                         int stackSize = keepStackSize(); 
    9889              
    9890         try { 
    9891             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3506:1: ( ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) ) 
    9892             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3507:1: ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) 
    9893             { 
    9894             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3507:1: ( ( rule__GroupedSequence__DefinitionListAssignment_1 ) ) 
    9895             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3508:1: ( rule__GroupedSequence__DefinitionListAssignment_1 ) 
    9896             { 
    9897              before(grammarAccess.getGroupedSequenceAccess().getDefinitionListAssignment_1());  
    9898             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3509:1: ( rule__GroupedSequence__DefinitionListAssignment_1 ) 
    9899             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3509:2: rule__GroupedSequence__DefinitionListAssignment_1 
    9900             { 
    9901             pushFollow(FOLLOW_rule__GroupedSequence__DefinitionListAssignment_1_in_rule__GroupedSequence__Group__1__Impl7130); 
     11384        int rule__GroupedSequence__Group__1__Impl_StartIndex = input.index(); 
     11385 
     11386                        int stackSize = keepStackSize(); 
     11387             
     11388        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 ) 
     11395            { 
     11396            if ( state.backtracking==0 ) { 
     11397               before(grammarAccess.getGroupedSequenceAccess().getDefinitionListAssignment_1());  
     11398            } 
     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); 
    990211403            rule__GroupedSequence__DefinitionListAssignment_1(); 
    990311404 
    990411405            state._fsp--; 
    9905  
    9906  
    9907             } 
    9908  
    9909              after(grammarAccess.getGroupedSequenceAccess().getDefinitionListAssignment_1());  
    9910  
    9911             } 
    9912  
    9913  
    9914             } 
    9915  
    9916         } 
    9917         catch (RecognitionException re) { 
    9918             reportError(re); 
    9919             recover(input,re); 
    9920         } 
    9921         finally { 
     11406            if (state.failed) return ; 
     11407 
     11408            } 
     11409 
     11410            if ( state.backtracking==0 ) { 
     11411               after(grammarAccess.getGroupedSequenceAccess().getDefinitionListAssignment_1());  
     11412            } 
     11413 
     11414            } 
     11415 
     11416 
     11417            } 
     11418 
     11419        } 
     11420        catch (RecognitionException re) { 
     11421            reportError(re); 
     11422            recover(input,re); 
     11423        } 
     11424        finally { 
     11425            if ( state.backtracking>0 ) { memoize(input, 215, rule__GroupedSequence__Group__1__Impl_StartIndex); } 
    992211426 
    992311427                restoreStackSize(stackSize); 
     
    993011434 
    993111435    // $ANTLR start "rule__GroupedSequence__Group__2" 
    9932     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3519:1: rule__GroupedSequence__Group__2 : rule__GroupedSequence__Group__2__Impl ; 
     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 ; 
    993311437    public final void rule__GroupedSequence__Group__2() throws RecognitionException { 
    9934  
    9935                         int stackSize = keepStackSize(); 
    9936              
    9937         try { 
    9938             // ../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__2__Impl ) 
    9939             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3524:2: rule__GroupedSequence__Group__2__Impl 
    9940             { 
    9941             pushFollow(FOLLOW_rule__GroupedSequence__Group__2__Impl_in_rule__GroupedSequence__Group__27160); 
     11438        int rule__GroupedSequence__Group__2_StartIndex = input.index(); 
     11439 
     11440                        int stackSize = keepStackSize(); 
     11441             
     11442        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); 
    994211448            rule__GroupedSequence__Group__2__Impl(); 
    994311449 
    994411450            state._fsp--; 
    9945  
    9946  
    9947             } 
    9948  
    9949         } 
    9950         catch (RecognitionException re) { 
    9951             reportError(re); 
    9952             recover(input,re); 
    9953         } 
    9954         finally { 
     11451            if (state.failed) return ; 
     11452 
     11453            } 
     11454 
     11455        } 
     11456        catch (RecognitionException re) { 
     11457            reportError(re); 
     11458            recover(input,re); 
     11459        } 
     11460        finally { 
     11461            if ( state.backtracking>0 ) { memoize(input, 216, rule__GroupedSequence__Group__2_StartIndex); } 
    995511462 
    995611463                restoreStackSize(stackSize); 
     
    996311470 
    996411471    // $ANTLR start "rule__GroupedSequence__Group__2__Impl" 
    9965     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3530:1: 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 : ( ')' ) ; 
    996611473    public final void rule__GroupedSequence__Group__2__Impl() throws RecognitionException { 
    9967  
    9968                         int stackSize = keepStackSize(); 
    9969              
    9970         try { 
    9971             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3534:1: ( ( ')' ) ) 
    9972             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3535:1: ( ')' ) 
    9973             { 
    9974             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3535:1: ( ')' ) 
    9975             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3536:1: ')' 
    9976             { 
    9977              before(grammarAccess.getGroupedSequenceAccess().getRightParenthesisKeyword_2());  
    9978             match(input,13,FOLLOW_13_in_rule__GroupedSequence__Group__2__Impl7188);  
    9979              after(grammarAccess.getGroupedSequenceAccess().getRightParenthesisKeyword_2());  
    9980  
    9981             } 
    9982  
    9983  
    9984             } 
    9985  
    9986         } 
    9987         catch (RecognitionException re) { 
    9988             reportError(re); 
    9989             recover(input,re); 
    9990         } 
    9991         finally { 
     11474        int rule__GroupedSequence__Group__2__Impl_StartIndex = input.index(); 
     11475 
     11476                        int stackSize = keepStackSize(); 
     11477             
     11478        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: ')' 
     11485            { 
     11486            if ( state.backtracking==0 ) { 
     11487               before(grammarAccess.getGroupedSequenceAccess().getRightParenthesisKeyword_2());  
     11488            } 
     11489            match(input,13,FOLLOW_13_in_rule__GroupedSequence__Group__2__Impl7314); if (state.failed) return ; 
     11490            if ( state.backtracking==0 ) { 
     11491               after(grammarAccess.getGroupedSequenceAccess().getRightParenthesisKeyword_2());  
     11492            } 
     11493 
     11494            } 
     11495 
     11496 
     11497            } 
     11498 
     11499        } 
     11500        catch (RecognitionException re) { 
     11501            reportError(re); 
     11502            recover(input,re); 
     11503        } 
     11504        finally { 
     11505            if ( state.backtracking>0 ) { memoize(input, 217, rule__GroupedSequence__Group__2__Impl_StartIndex); } 
    999211506 
    999311507                restoreStackSize(stackSize); 
     
    1000011514 
    1000111515    // $ANTLR start "rule__OptionalSequence__Group__0" 
    10002     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3555:1: rule__OptionalSequence__Group__0 : rule__OptionalSequence__Group__0__Impl rule__OptionalSequence__Group__1 ; 
     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 ; 
    1000311517    public final void rule__OptionalSequence__Group__0() throws RecognitionException { 
    10004  
    10005                         int stackSize = keepStackSize(); 
    10006              
    10007         try { 
    10008             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3559:1: ( rule__OptionalSequence__Group__0__Impl rule__OptionalSequence__Group__1 ) 
    10009             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3560:2: rule__OptionalSequence__Group__0__Impl rule__OptionalSequence__Group__1 
    10010             { 
    10011             pushFollow(FOLLOW_rule__OptionalSequence__Group__0__Impl_in_rule__OptionalSequence__Group__07225); 
     11518        int rule__OptionalSequence__Group__0_StartIndex = input.index(); 
     11519 
     11520                        int stackSize = keepStackSize(); 
     11521             
     11522        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); 
    1001211528            rule__OptionalSequence__Group__0__Impl(); 
    1001311529 
    1001411530            state._fsp--; 
    10015  
    10016             pushFollow(FOLLOW_rule__OptionalSequence__Group__1_in_rule__OptionalSequence__Group__07228); 
     11531            if (state.failed) return ; 
     11532            pushFollow(FOLLOW_rule__OptionalSequence__Group__1_in_rule__OptionalSequence__Group__07354); 
    1001711533            rule__OptionalSequence__Group__1(); 
    1001811534 
    1001911535            state._fsp--; 
    10020  
    10021  
    10022             } 
    10023  
    10024         } 
    10025         catch (RecognitionException re) { 
    10026             reportError(re); 
    10027             recover(input,re); 
    10028         } 
    10029         finally { 
     11536            if (state.failed) return ; 
     11537 
     11538            } 
     11539 
     11540        } 
     11541        catch (RecognitionException re) { 
     11542            reportError(re); 
     11543            recover(input,re); 
     11544        } 
     11545        finally { 
     11546            if ( state.backtracking>0 ) { memoize(input, 218, rule__OptionalSequence__Group__0_StartIndex); } 
    1003011547 
    1003111548                restoreStackSize(stackSize); 
     
    1003811555 
    1003911556    // $ANTLR start "rule__OptionalSequence__Group__0__Impl" 
    10040     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3567:1: 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 : ( '[' ) ; 
    1004111558    public final void rule__OptionalSequence__Group__0__Impl() throws RecognitionException { 
    10042  
    10043                         int stackSize = keepStackSize(); 
    10044              
    10045         try { 
    10046             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3571:1: ( ( '[' ) ) 
    10047             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3572:1: ( '[' ) 
    10048             { 
    10049             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3572:1: ( '[' ) 
    10050             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3573:1: '[' 
    10051             { 
    10052              before(grammarAccess.getOptionalSequenceAccess().getLeftSquareBracketKeyword_0());  
    10053             match(input,18,FOLLOW_18_in_rule__OptionalSequence__Group__0__Impl7256);  
    10054              after(grammarAccess.getOptionalSequenceAccess().getLeftSquareBracketKeyword_0());  
    10055  
    10056             } 
    10057  
    10058  
    10059             } 
    10060  
    10061         } 
    10062         catch (RecognitionException re) { 
    10063             reportError(re); 
    10064             recover(input,re); 
    10065         } 
    10066         finally { 
     11559        int rule__OptionalSequence__Group__0__Impl_StartIndex = input.index(); 
     11560 
     11561                        int stackSize = keepStackSize(); 
     11562             
     11563        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: '[' 
     11570            { 
     11571            if ( state.backtracking==0 ) { 
     11572               before(grammarAccess.getOptionalSequenceAccess().getLeftSquareBracketKeyword_0());  
     11573            } 
     11574            match(input,18,FOLLOW_18_in_rule__OptionalSequence__Group__0__Impl7382); if (state.failed) return ; 
     11575            if ( state.backtracking==0 ) { 
     11576               after(grammarAccess.getOptionalSequenceAccess().getLeftSquareBracketKeyword_0());  
     11577            } 
     11578 
     11579            } 
     11580 
     11581 
     11582            } 
     11583 
     11584        } 
     11585        catch (RecognitionException re) { 
     11586            reportError(re); 
     11587            recover(input,re); 
     11588        } 
     11589        finally { 
     11590            if ( state.backtracking>0 ) { memoize(input, 219, rule__OptionalSequence__Group__0__Impl_StartIndex); } 
    1006711591 
    1006811592                restoreStackSize(stackSize); 
     
    1007511599 
    1007611600    // $ANTLR start "rule__OptionalSequence__Group__1" 
    10077     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3586:1: rule__OptionalSequence__Group__1 : rule__OptionalSequence__Group__1__Impl rule__OptionalSequence__Group__2 ; 
     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 ; 
    1007811602    public final void rule__OptionalSequence__Group__1() throws RecognitionException { 
    10079  
    10080                         int stackSize = keepStackSize(); 
    10081              
    10082         try { 
    10083             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3590:1: ( rule__OptionalSequence__Group__1__Impl rule__OptionalSequence__Group__2 ) 
    10084             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3591:2: rule__OptionalSequence__Group__1__Impl rule__OptionalSequence__Group__2 
    10085             { 
    10086             pushFollow(FOLLOW_rule__OptionalSequence__Group__1__Impl_in_rule__OptionalSequence__Group__17287); 
     11603        int rule__OptionalSequence__Group__1_StartIndex = input.index(); 
     11604 
     11605                        int stackSize = keepStackSize(); 
     11606             
     11607        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); 
    1008711613            rule__OptionalSequence__Group__1__Impl(); 
    1008811614 
    1008911615            state._fsp--; 
    10090  
    10091             pushFollow(FOLLOW_rule__OptionalSequence__Group__2_in_rule__OptionalSequence__Group__17290); 
     11616            if (state.failed) return ; 
     11617            pushFollow(FOLLOW_rule__OptionalSequence__Group__2_in_rule__OptionalSequence__Group__17416); 
    1009211618            rule__OptionalSequence__Group__2(); 
    1009311619 
    1009411620            state._fsp--; 
    10095  
    10096  
    10097             } 
    10098  
    10099         } 
    10100         catch (RecognitionException re) { 
    10101             reportError(re); 
    10102             recover(input,re); 
    10103         } 
    10104         finally { 
     11621            if (state.failed) return ; 
     11622 
     11623            } 
     11624 
     11625        } 
     11626        catch (RecognitionException re) { 
     11627            reportError(re); 
     11628            recover(input,re); 
     11629        } 
     11630        finally { 
     11631            if ( state.backtracking>0 ) { memoize(input, 220, rule__OptionalSequence__Group__1_StartIndex); } 
    1010511632 
    1010611633                restoreStackSize(stackSize); 
     
    1011311640 
    1011411641    // $ANTLR start "rule__OptionalSequence__Group__1__Impl" 
    10115     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3598:1: rule__OptionalSequence__Group__1__Impl : ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) ; 
     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 ) ) ; 
    1011611643    public final void rule__OptionalSequence__Group__1__Impl() throws RecognitionException { 
    10117  
    10118                         int stackSize = keepStackSize(); 
    10119              
    10120         try { 
    10121             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3602:1: ( ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) ) 
    10122             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3603:1: ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) 
    10123             { 
    10124             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3603:1: ( ( rule__OptionalSequence__DefinitionListAssignment_1 ) ) 
    10125             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3604:1: ( rule__OptionalSequence__DefinitionListAssignment_1 ) 
    10126             { 
    10127              before(grammarAccess.getOptionalSequenceAccess().getDefinitionListAssignment_1());  
    10128             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3605:1: ( rule__OptionalSequence__DefinitionListAssignment_1 ) 
    10129             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3605:2: rule__OptionalSequence__DefinitionListAssignment_1 
    10130             { 
    10131             pushFollow(FOLLOW_rule__OptionalSequence__DefinitionListAssignment_1_in_rule__OptionalSequence__Group__1__Impl7317); 
     11644        int rule__OptionalSequence__Group__1__Impl_StartIndex = input.index(); 
     11645 
     11646                        int stackSize = keepStackSize(); 
     11647             
     11648        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 ) 
     11655            { 
     11656            if ( state.backtracking==0 ) { 
     11657               before(grammarAccess.getOptionalSequenceAccess().getDefinitionListAssignment_1());  
     11658            } 
     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); 
    1013211663            rule__OptionalSequence__DefinitionListAssignment_1(); 
    1013311664 
    1013411665            state._fsp--; 
    10135  
    10136  
    10137             } 
    10138  
    10139              after(grammarAccess.getOptionalSequenceAccess().getDefinitionListAssignment_1());  
    10140  
    10141             } 
    10142  
    10143  
    10144             } 
    10145  
    10146         } 
    10147         catch (RecognitionException re) { 
    10148             reportError(re); 
    10149             recover(input,re); 
    10150         } 
    10151         finally { 
     11666            if (state.failed) return ; 
     11667 
     11668            } 
     11669 
     11670            if ( state.backtracking==0 ) { 
     11671               after(grammarAccess.getOptionalSequenceAccess().getDefinitionListAssignment_1());  
     11672            } 
     11673 
     11674            } 
     11675 
     11676 
     11677            } 
     11678 
     11679        } 
     11680        catch (RecognitionException re) { 
     11681            reportError(re); 
     11682            recover(input,re); 
     11683        } 
     11684        finally { 
     11685            if ( state.backtracking>0 ) { memoize(input, 221, rule__OptionalSequence__Group__1__Impl_StartIndex); } 
    1015211686 
    1015311687                restoreStackSize(stackSize); 
     
    1016011694 
    1016111695    // $ANTLR start "rule__OptionalSequence__Group__2" 
    10162     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3615:1: rule__OptionalSequence__Group__2 : rule__OptionalSequence__Group__2__Impl ; 
     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 ; 
    1016311697    public final void rule__OptionalSequence__Group__2() throws RecognitionException { 
    10164  
    10165                         int stackSize = keepStackSize(); 
    10166              
    10167         try { 
    10168             // ../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__2__Impl ) 
    10169             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3620:2: rule__OptionalSequence__Group__2__Impl 
    10170             { 
    10171             pushFollow(FOLLOW_rule__OptionalSequence__Group__2__Impl_in_rule__OptionalSequence__Group__27347); 
     11698        int rule__OptionalSequence__Group__2_StartIndex = input.index(); 
     11699 
     11700                        int stackSize = keepStackSize(); 
     11701             
     11702        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); 
    1017211708            rule__OptionalSequence__Group__2__Impl(); 
    1017311709 
    1017411710            state._fsp--; 
    10175  
    10176  
    10177             } 
    10178  
    10179         } 
    10180         catch (RecognitionException re) { 
    10181             reportError(re); 
    10182             recover(input,re); 
    10183         } 
    10184         finally { 
     11711            if (state.failed) return ; 
     11712 
     11713            } 
     11714 
     11715        } 
     11716        catch (RecognitionException re) { 
     11717            reportError(re); 
     11718            recover(input,re); 
     11719        } 
     11720        finally { 
     11721            if ( state.backtracking>0 ) { memoize(input, 222, rule__OptionalSequence__Group__2_StartIndex); } 
    1018511722 
    1018611723                restoreStackSize(stackSize); 
     
    1019311730 
    1019411731    // $ANTLR start "rule__OptionalSequence__Group__2__Impl" 
    10195     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3626:1: 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 : ( ']' ) ; 
    1019611733    public final void rule__OptionalSequence__Group__2__Impl() throws RecognitionException { 
    10197  
    10198                         int stackSize = keepStackSize(); 
    10199              
    10200         try { 
    10201             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3630:1: ( ( ']' ) ) 
    10202             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3631:1: ( ']' ) 
    10203             { 
    10204             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3631:1: ( ']' ) 
    10205             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3632:1: ']' 
    10206             { 
    10207              before(grammarAccess.getOptionalSequenceAccess().getRightSquareBracketKeyword_2());  
    10208             match(input,14,FOLLOW_14_in_rule__OptionalSequence__Group__2__Impl7375);  
    10209              after(grammarAccess.getOptionalSequenceAccess().getRightSquareBracketKeyword_2());  
    10210  
    10211             } 
    10212  
    10213  
    10214             } 
    10215  
    10216         } 
    10217         catch (RecognitionException re) { 
    10218             reportError(re); 
    10219             recover(input,re); 
    10220         } 
    10221         finally { 
     11734        int rule__OptionalSequence__Group__2__Impl_StartIndex = input.index(); 
     11735 
     11736                        int stackSize = keepStackSize(); 
     11737             
     11738        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: ']' 
     11745            { 
     11746            if ( state.backtracking==0 ) { 
     11747               before(grammarAccess.getOptionalSequenceAccess().getRightSquareBracketKeyword_2());  
     11748            } 
     11749            match(input,14,FOLLOW_14_in_rule__OptionalSequence__Group__2__Impl7501); if (state.failed) return ; 
     11750            if ( state.backtracking==0 ) { 
     11751               after(grammarAccess.getOptionalSequenceAccess().getRightSquareBracketKeyword_2());  
     11752            } 
     11753 
     11754            } 
     11755 
     11756 
     11757            } 
     11758 
     11759        } 
     11760        catch (RecognitionException re) { 
     11761            reportError(re); 
     11762            recover(input,re); 
     11763        } 
     11764        finally { 
     11765            if ( state.backtracking>0 ) { memoize(input, 223, rule__OptionalSequence__Group__2__Impl_StartIndex); } 
    1022211766 
    1022311767                restoreStackSize(stackSize); 
     
    1023011774 
    1023111775    // $ANTLR start "rule__RepeatedSequence__Group__0" 
    10232     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3651:1: rule__RepeatedSequence__Group__0 : rule__RepeatedSequence__Group__0__Impl rule__RepeatedSequence__Group__1 ; 
     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 ; 
    1023311777    public final void rule__RepeatedSequence__Group__0() throws RecognitionException { 
    10234  
    10235                         int stackSize = keepStackSize(); 
    10236              
    10237         try { 
    10238             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3655:1: ( rule__RepeatedSequence__Group__0__Impl rule__RepeatedSequence__Group__1 ) 
    10239             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3656:2: rule__RepeatedSequence__Group__0__Impl rule__RepeatedSequence__Group__1 
    10240             { 
    10241             pushFollow(FOLLOW_rule__RepeatedSequence__Group__0__Impl_in_rule__RepeatedSequence__Group__07412); 
     11778        int rule__RepeatedSequence__Group__0_StartIndex = input.index(); 
     11779 
     11780                        int stackSize = keepStackSize(); 
     11781             
     11782        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); 
    1024211788            rule__RepeatedSequence__Group__0__Impl(); 
    1024311789 
    1024411790            state._fsp--; 
    10245  
    10246             pushFollow(FOLLOW_rule__RepeatedSequence__Group__1_in_rule__RepeatedSequence__Group__07415); 
     11791            if (state.failed) return ; 
     11792            pushFollow(FOLLOW_rule__RepeatedSequence__Group__1_in_rule__RepeatedSequence__Group__07541); 
    1024711793            rule__RepeatedSequence__Group__1(); 
    1024811794 
    1024911795            state._fsp--; 
    10250  
    10251  
    10252             } 
    10253  
    10254         } 
    10255         catch (RecognitionException re) { 
    10256             reportError(re); 
    10257             recover(input,re); 
    10258         } 
    10259         finally { 
     11796            if (state.failed) return ; 
     11797 
     11798            } 
     11799 
     11800        } 
     11801        catch (RecognitionException re) { 
     11802            reportError(re); 
     11803            recover(input,re); 
     11804        } 
     11805        finally { 
     11806            if ( state.backtracking>0 ) { memoize(input, 224, rule__RepeatedSequence__Group__0_StartIndex); } 
    1026011807 
    1026111808                restoreStackSize(stackSize); 
     
    1026811815 
    1026911816    // $ANTLR start "rule__RepeatedSequence__Group__0__Impl" 
    10270     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3663:1: 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 : ( '{' ) ; 
    1027111818    public final void rule__RepeatedSequence__Group__0__Impl() throws RecognitionException { 
    10272  
    10273                         int stackSize = keepStackSize(); 
    10274              
    10275         try { 
    10276             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3667:1: ( ( '{' ) ) 
    10277             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3668:1: ( '{' ) 
    10278             { 
    10279             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3668:1: ( '{' ) 
    10280             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3669:1: '{' 
    10281             { 
    10282              before(grammarAccess.getRepeatedSequenceAccess().getLeftCurlyBracketKeyword_0());  
    10283             match(input,19,FOLLOW_19_in_rule__RepeatedSequence__Group__0__Impl7443);  
    10284              after(grammarAccess.getRepeatedSequenceAccess().getLeftCurlyBracketKeyword_0());  
    10285  
    10286             } 
    10287  
    10288  
    10289             } 
    10290  
    10291         } 
    10292         catch (RecognitionException re) { 
    10293             reportError(re); 
    10294             recover(input,re); 
    10295         } 
    10296         finally { 
     11819        int rule__RepeatedSequence__Group__0__Impl_StartIndex = input.index(); 
     11820 
     11821                        int stackSize = keepStackSize(); 
     11822             
     11823        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: '{' 
     11830            { 
     11831            if ( state.backtracking==0 ) { 
     11832               before(grammarAccess.getRepeatedSequenceAccess().getLeftCurlyBracketKeyword_0());  
     11833            } 
     11834            match(input,19,FOLLOW_19_in_rule__RepeatedSequence__Group__0__Impl7569); if (state.failed) return ; 
     11835            if ( state.backtracking==0 ) { 
     11836               after(grammarAccess.getRepeatedSequenceAccess().getLeftCurlyBracketKeyword_0());  
     11837            } 
     11838 
     11839            } 
     11840 
     11841 
     11842            } 
     11843 
     11844        } 
     11845        catch (RecognitionException re) { 
     11846            reportError(re); 
     11847            recover(input,re); 
     11848        } 
     11849        finally { 
     11850            if ( state.backtracking>0 ) { memoize(input, 225, rule__RepeatedSequence__Group__0__Impl_StartIndex); } 
    1029711851 
    1029811852                restoreStackSize(stackSize); 
     
    1030511859 
    1030611860    // $ANTLR start "rule__RepeatedSequence__Group__1" 
    10307     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3682:1: rule__RepeatedSequence__Group__1 : rule__RepeatedSequence__Group__1__Impl rule__RepeatedSequence__Group__2 ; 
     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 ; 
    1030811862    public final void rule__RepeatedSequence__Group__1() throws RecognitionException { 
    10309  
    10310                         int stackSize = keepStackSize(); 
    10311              
    10312         try { 
    10313             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3686:1: ( rule__RepeatedSequence__Group__1__Impl rule__RepeatedSequence__Group__2 ) 
    10314             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3687:2: rule__RepeatedSequence__Group__1__Impl rule__RepeatedSequence__Group__2 
    10315             { 
    10316             pushFollow(FOLLOW_rule__RepeatedSequence__Group__1__Impl_in_rule__RepeatedSequence__Group__17474); 
     11863        int rule__RepeatedSequence__Group__1_StartIndex = input.index(); 
     11864 
     11865                        int stackSize = keepStackSize(); 
     11866             
     11867        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); 
    1031711873            rule__RepeatedSequence__Group__1__Impl(); 
    1031811874 
    1031911875            state._fsp--; 
    10320  
    10321             pushFollow(FOLLOW_rule__RepeatedSequence__Group__2_in_rule__RepeatedSequence__Group__17477); 
     11876            if (state.failed) return ; 
     11877            pushFollow(FOLLOW_rule__RepeatedSequence__Group__2_in_rule__RepeatedSequence__Group__17603); 
    1032211878            rule__RepeatedSequence__Group__2(); 
    1032311879 
    1032411880            state._fsp--; 
    10325  
    10326  
    10327             } 
    10328  
    10329         } 
    10330         catch (RecognitionException re) { 
    10331             reportError(re); 
    10332             recover(input,re); 
    10333         } 
    10334         finally { 
     11881            if (state.failed) return ; 
     11882 
     11883            } 
     11884 
     11885        } 
     11886        catch (RecognitionException re) { 
     11887            reportError(re); 
     11888            recover(input,re); 
     11889        } 
     11890        finally { 
     11891            if ( state.backtracking>0 ) { memoize(input, 226, rule__RepeatedSequence__Group__1_StartIndex); } 
    1033511892 
    1033611893                restoreStackSize(stackSize); 
     
    1034311900 
    1034411901    // $ANTLR start "rule__RepeatedSequence__Group__1__Impl" 
    10345     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3694:1: rule__RepeatedSequence__Group__1__Impl : ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) ; 
     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 ) ) ; 
    1034611903    public final void rule__RepeatedSequence__Group__1__Impl() throws RecognitionException { 
    10347  
    10348                         int stackSize = keepStackSize(); 
    10349              
    10350         try { 
    10351             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3698:1: ( ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) ) 
    10352             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3699:1: ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) 
    10353             { 
    10354             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3699:1: ( ( rule__RepeatedSequence__DefinitionsAssignment_1 ) ) 
    10355             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3700:1: ( rule__RepeatedSequence__DefinitionsAssignment_1 ) 
    10356             { 
    10357              before(grammarAccess.getRepeatedSequenceAccess().getDefinitionsAssignment_1());  
    10358             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3701:1: ( rule__RepeatedSequence__DefinitionsAssignment_1 ) 
    10359             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3701:2: rule__RepeatedSequence__DefinitionsAssignment_1 
    10360             { 
    10361             pushFollow(FOLLOW_rule__RepeatedSequence__DefinitionsAssignment_1_in_rule__RepeatedSequence__Group__1__Impl7504); 
     11904        int rule__RepeatedSequence__Group__1__Impl_StartIndex = input.index(); 
     11905 
     11906                        int stackSize = keepStackSize(); 
     11907             
     11908        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 ) 
     11915            { 
     11916            if ( state.backtracking==0 ) { 
     11917               before(grammarAccess.getRepeatedSequenceAccess().getDefinitionsAssignment_1());  
     11918            } 
     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); 
    1036211923            rule__RepeatedSequence__DefinitionsAssignment_1(); 
    1036311924 
    1036411925            state._fsp--; 
    10365  
    10366  
    10367             } 
    10368  
    10369              after(grammarAccess.getRepeatedSequenceAccess().getDefinitionsAssignment_1());  
    10370  
    10371             } 
    10372  
    10373  
    10374             } 
    10375  
    10376         } 
    10377         catch (RecognitionException re) { 
    10378             reportError(re); 
    10379             recover(input,re); 
    10380         } 
    10381         finally { 
     11926            if (state.failed) return ; 
     11927 
     11928            } 
     11929 
     11930            if ( state.backtracking==0 ) { 
     11931               after(grammarAccess.getRepeatedSequenceAccess().getDefinitionsAssignment_1());  
     11932            } 
     11933 
     11934            } 
     11935 
     11936 
     11937            } 
     11938 
     11939        } 
     11940        catch (RecognitionException re) { 
     11941            reportError(re); 
     11942            recover(input,re); 
     11943        } 
     11944        finally { 
     11945            if ( state.backtracking>0 ) { memoize(input, 227, rule__RepeatedSequence__Group__1__Impl_StartIndex); } 
    1038211946 
    1038311947                restoreStackSize(stackSize); 
     
    1039011954 
    1039111955    // $ANTLR start "rule__RepeatedSequence__Group__2" 
    10392     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3711:1: rule__RepeatedSequence__Group__2 : rule__RepeatedSequence__Group__2__Impl rule__RepeatedSequence__Group__3 ; 
     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 ; 
    1039311957    public final void rule__RepeatedSequence__Group__2() throws RecognitionException { 
    10394  
    10395                         int stackSize = keepStackSize(); 
    10396              
    10397         try { 
    10398             // ../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__2__Impl rule__RepeatedSequence__Group__3 ) 
    10399             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3716:2: rule__RepeatedSequence__Group__2__Impl rule__RepeatedSequence__Group__3 
    10400             { 
    10401             pushFollow(FOLLOW_rule__RepeatedSequence__Group__2__Impl_in_rule__RepeatedSequence__Group__27534); 
     11958        int rule__RepeatedSequence__Group__2_StartIndex = input.index(); 
     11959 
     11960                        int stackSize = keepStackSize(); 
     11961             
     11962        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); 
    1040211968            rule__RepeatedSequence__Group__2__Impl(); 
    1040311969 
    1040411970            state._fsp--; 
    10405  
    10406             pushFollow(FOLLOW_rule__RepeatedSequence__Group__3_in_rule__RepeatedSequence__Group__27537); 
     11971            if (state.failed) return ; 
     11972            pushFollow(FOLLOW_rule__RepeatedSequence__Group__3_in_rule__RepeatedSequence__Group__27663); 
    1040711973            rule__RepeatedSequence__Group__3(); 
    1040811974 
    1040911975            state._fsp--; 
    10410  
    10411  
    10412             } 
    10413  
    10414         } 
    10415         catch (RecognitionException re) { 
    10416             reportError(re); 
    10417             recover(input,re); 
    10418         } 
    10419         finally { 
     11976            if (state.failed) return ; 
     11977 
     11978            } 
     11979 
     11980        } 
     11981        catch (RecognitionException re) { 
     11982            reportError(re); 
     11983            recover(input,re); 
     11984        } 
     11985        finally { 
     11986            if ( state.backtracking>0 ) { memoize(input, 228, rule__RepeatedSequence__Group__2_StartIndex); } 
    1042011987 
    1042111988                restoreStackSize(stackSize); 
     
    1042811995 
    1042911996    // $ANTLR start "rule__RepeatedSequence__Group__2__Impl" 
    10430     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3723:1: 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 : ( '}' ) ; 
    1043111998    public final void rule__RepeatedSequence__Group__2__Impl() throws RecognitionException { 
    10432  
    10433                         int stackSize = keepStackSize(); 
    10434              
    10435         try { 
    10436             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3727:1: ( ( '}' ) ) 
    10437             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3728:1: ( '}' ) 
    10438             { 
    10439             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3728:1: ( '}' ) 
    10440             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3729:1: '}' 
    10441             { 
    10442              before(grammarAccess.getRepeatedSequenceAccess().getRightCurlyBracketKeyword_2());  
    10443             match(input,15,FOLLOW_15_in_rule__RepeatedSequence__Group__2__Impl7565);  
    10444              after(grammarAccess.getRepeatedSequenceAccess().getRightCurlyBracketKeyword_2());  
    10445  
    10446             } 
    10447  
    10448  
    10449             } 
    10450  
    10451         } 
    10452         catch (RecognitionException re) { 
    10453             reportError(re); 
    10454             recover(input,re); 
    10455         } 
    10456         finally { 
     11999        int rule__RepeatedSequence__Group__2__Impl_StartIndex = input.index(); 
     12000 
     12001                        int stackSize = keepStackSize(); 
     12002             
     12003        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: '}' 
     12010            { 
     12011            if ( state.backtracking==0 ) { 
     12012               before(grammarAccess.getRepeatedSequenceAccess().getRightCurlyBracketKeyword_2());  
     12013            } 
     12014            match(input,15,FOLLOW_15_in_rule__RepeatedSequence__Group__2__Impl7691); if (state.failed) return ; 
     12015            if ( state.backtracking==0 ) { 
     12016               after(grammarAccess.getRepeatedSequenceAccess().getRightCurlyBracketKeyword_2());  
     12017            } 
     12018 
     12019            } 
     12020 
     12021 
     12022            } 
     12023 
     12024        } 
     12025        catch (RecognitionException re) { 
     12026            reportError(re); 
     12027            recover(input,re); 
     12028        } 
     12029        finally { 
     12030            if ( state.backtracking>0 ) { memoize(input, 229, rule__RepeatedSequence__Group__2__Impl_StartIndex); } 
    1045712031 
    1045812032                restoreStackSize(stackSize); 
     
    1046512039 
    1046612040    // $ANTLR start "rule__RepeatedSequence__Group__3" 
    10467     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3742:1: rule__RepeatedSequence__Group__3 : rule__RepeatedSequence__Group__3__Impl ; 
     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 ; 
    1046812042    public final void rule__RepeatedSequence__Group__3() throws RecognitionException { 
    10469  
    10470                         int stackSize = keepStackSize(); 
    10471              
    10472         try { 
    10473             // ../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__3__Impl ) 
    10474             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3747:2: rule__RepeatedSequence__Group__3__Impl 
    10475             { 
    10476             pushFollow(FOLLOW_rule__RepeatedSequence__Group__3__Impl_in_rule__RepeatedSequence__Group__37596); 
     12043        int rule__RepeatedSequence__Group__3_StartIndex = input.index(); 
     12044 
     12045                        int stackSize = keepStackSize(); 
     12046             
     12047        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); 
    1047712053            rule__RepeatedSequence__Group__3__Impl(); 
    1047812054 
    1047912055            state._fsp--; 
    10480  
    10481  
    10482             } 
    10483  
    10484         } 
    10485         catch (RecognitionException re) { 
    10486             reportError(re); 
    10487             recover(input,re); 
    10488         } 
    10489         finally { 
     12056            if (state.failed) return ; 
     12057 
     12058            } 
     12059 
     12060        } 
     12061        catch (RecognitionException re) { 
     12062            reportError(re); 
     12063            recover(input,re); 
     12064        } 
     12065        finally { 
     12066            if ( state.backtracking>0 ) { memoize(input, 230, rule__RepeatedSequence__Group__3_StartIndex); } 
    1049012067 
    1049112068                restoreStackSize(stackSize); 
     
    1049812075 
    1049912076    // $ANTLR start "rule__RepeatedSequence__Group__3__Impl" 
    10500     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3753:1: rule__RepeatedSequence__Group__3__Impl : ( ( rule__RepeatedSequence__MorethanonceAssignment_3 )? ) ; 
     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 ) ) ; 
    1050112078    public final void rule__RepeatedSequence__Group__3__Impl() throws RecognitionException { 
    10502  
    10503                         int stackSize = keepStackSize(); 
    10504              
    10505         try { 
    10506             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3757:1: ( ( ( rule__RepeatedSequence__MorethanonceAssignment_3 )? ) ) 
    10507             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3758:1: ( ( rule__RepeatedSequence__MorethanonceAssignment_3 )? ) 
    10508             { 
    10509             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3758:1: ( ( rule__RepeatedSequence__MorethanonceAssignment_3 )? ) 
    10510             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3759:1: ( rule__RepeatedSequence__MorethanonceAssignment_3 )? 
    10511             { 
    10512              before(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3());  
    10513             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3760:1: ( rule__RepeatedSequence__MorethanonceAssignment_3 )? 
    10514             int alt37=2; 
    10515             int LA37_0 = input.LA(1); 
    10516  
    10517             if ( (LA37_0==21) ) { 
    10518                 alt37=1; 
    10519             } 
    10520             switch (alt37) { 
    10521                 case 1 : 
    10522                     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3760:2: rule__RepeatedSequence__MorethanonceAssignment_3 
    10523                     { 
    10524                     pushFollow(FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_in_rule__RepeatedSequence__Group__3__Impl7623); 
    10525                     rule__RepeatedSequence__MorethanonceAssignment_3(); 
    10526  
    10527                     state._fsp--; 
    10528  
    10529  
    10530                     } 
    10531                     break; 
    10532  
    10533             } 
    10534  
    10535              after(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3());  
    10536  
    10537             } 
    10538  
    10539  
    10540             } 
    10541  
    10542         } 
    10543         catch (RecognitionException re) { 
    10544             reportError(re); 
    10545             recover(input,re); 
    10546         } 
    10547         finally { 
     12079        int rule__RepeatedSequence__Group__3__Impl_StartIndex = input.index(); 
     12080 
     12081                        int stackSize = keepStackSize(); 
     12082             
     12083        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 ) 
     12090            { 
     12091            if ( state.backtracking==0 ) { 
     12092               before(grammarAccess.getRepeatedSequenceAccess().getAlternatives_3());  
     12093            } 
     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); 
     12098            rule__RepeatedSequence__Alternatives_3(); 
     12099 
     12100            state._fsp--; 
     12101            if (state.failed) return ; 
     12102 
     12103            } 
     12104 
     12105            if ( state.backtracking==0 ) { 
     12106               after(grammarAccess.getRepeatedSequenceAccess().getAlternatives_3());  
     12107            } 
     12108 
     12109            } 
     12110 
     12111 
     12112            } 
     12113 
     12114        } 
     12115        catch (RecognitionException re) { 
     12116            reportError(re); 
     12117            recover(input,re); 
     12118        } 
     12119        finally { 
     12120            if ( state.backtracking>0 ) { memoize(input, 231, rule__RepeatedSequence__Group__3__Impl_StartIndex); } 
    1054812121 
    1054912122                restoreStackSize(stackSize); 
     
    1055512128 
    1055612129 
     12130    // $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 ; 
     12132    public final void rule__RepeatRange__Group__0() throws RecognitionException { 
     12133        int rule__RepeatRange__Group__0_StartIndex = input.index(); 
     12134 
     12135                        int stackSize = keepStackSize(); 
     12136             
     12137        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); 
     12143            rule__RepeatRange__Group__0__Impl(); 
     12144 
     12145            state._fsp--; 
     12146            if (state.failed) return ; 
     12147            pushFollow(FOLLOW_rule__RepeatRange__Group__1_in_rule__RepeatRange__Group__07790); 
     12148            rule__RepeatRange__Group__1(); 
     12149 
     12150            state._fsp--; 
     12151            if (state.failed) return ; 
     12152 
     12153            } 
     12154 
     12155        } 
     12156        catch (RecognitionException re) { 
     12157            reportError(re); 
     12158            recover(input,re); 
     12159        } 
     12160        finally { 
     12161            if ( state.backtracking>0 ) { memoize(input, 232, rule__RepeatRange__Group__0_StartIndex); } 
     12162 
     12163                restoreStackSize(stackSize); 
     12164 
     12165        } 
     12166        return ; 
     12167    } 
     12168    // $ANTLR end "rule__RepeatRange__Group__0" 
     12169 
     12170 
     12171    // $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 : ( '#' ) ; 
     12173    public final void rule__RepeatRange__Group__0__Impl() throws RecognitionException { 
     12174        int rule__RepeatRange__Group__0__Impl_StartIndex = input.index(); 
     12175 
     12176                        int stackSize = keepStackSize(); 
     12177             
     12178        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: '#' 
     12185            { 
     12186            if ( state.backtracking==0 ) { 
     12187               before(grammarAccess.getRepeatRangeAccess().getNumberSignKeyword_0());  
     12188            } 
     12189            match(input,34,FOLLOW_34_in_rule__RepeatRange__Group__0__Impl7818); if (state.failed) return ; 
     12190            if ( state.backtracking==0 ) { 
     12191               after(grammarAccess.getRepeatRangeAccess().getNumberSignKeyword_0());  
     12192            } 
     12193 
     12194            } 
     12195 
     12196 
     12197            } 
     12198 
     12199        } 
     12200        catch (RecognitionException re) { 
     12201            reportError(re); 
     12202            recover(input,re); 
     12203        } 
     12204        finally { 
     12205            if ( state.backtracking>0 ) { memoize(input, 233, rule__RepeatRange__Group__0__Impl_StartIndex); } 
     12206 
     12207                restoreStackSize(stackSize); 
     12208 
     12209        } 
     12210        return ; 
     12211    } 
     12212    // $ANTLR end "rule__RepeatRange__Group__0__Impl" 
     12213 
     12214 
     12215    // $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 ; 
     12217    public final void rule__RepeatRange__Group__1() throws RecognitionException { 
     12218        int rule__RepeatRange__Group__1_StartIndex = input.index(); 
     12219 
     12220                        int stackSize = keepStackSize(); 
     12221             
     12222        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); 
     12228            rule__RepeatRange__Group__1__Impl(); 
     12229 
     12230            state._fsp--; 
     12231            if (state.failed) return ; 
     12232            pushFollow(FOLLOW_rule__RepeatRange__Group__2_in_rule__RepeatRange__Group__17852); 
     12233            rule__RepeatRange__Group__2(); 
     12234 
     12235            state._fsp--; 
     12236            if (state.failed) return ; 
     12237 
     12238            } 
     12239 
     12240        } 
     12241        catch (RecognitionException re) { 
     12242            reportError(re); 
     12243            recover(input,re); 
     12244        } 
     12245        finally { 
     12246            if ( state.backtracking>0 ) { memoize(input, 234, rule__RepeatRange__Group__1_StartIndex); } 
     12247 
     12248                restoreStackSize(stackSize); 
     12249 
     12250        } 
     12251        return ; 
     12252    } 
     12253    // $ANTLR end "rule__RepeatRange__Group__1" 
     12254 
     12255 
     12256    // $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 : ( '(' ) ; 
     12258    public final void rule__RepeatRange__Group__1__Impl() throws RecognitionException { 
     12259        int rule__RepeatRange__Group__1__Impl_StartIndex = input.index(); 
     12260 
     12261                        int stackSize = keepStackSize(); 
     12262             
     12263        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: '(' 
     12270            { 
     12271            if ( state.backtracking==0 ) { 
     12272               before(grammarAccess.getRepeatRangeAccess().getLeftParenthesisKeyword_1());  
     12273            } 
     12274            match(input,17,FOLLOW_17_in_rule__RepeatRange__Group__1__Impl7880); if (state.failed) return ; 
     12275            if ( state.backtracking==0 ) { 
     12276               after(grammarAccess.getRepeatRangeAccess().getLeftParenthesisKeyword_1());  
     12277            } 
     12278 
     12279            } 
     12280 
     12281 
     12282            } 
     12283 
     12284        } 
     12285        catch (RecognitionException re) { 
     12286            reportError(re); 
     12287            recover(input,re); 
     12288        } 
     12289        finally { 
     12290            if ( state.backtracking>0 ) { memoize(input, 235, rule__RepeatRange__Group__1__Impl_StartIndex); } 
     12291 
     12292                restoreStackSize(stackSize); 
     12293 
     12294        } 
     12295        return ; 
     12296    } 
     12297    // $ANTLR end "rule__RepeatRange__Group__1__Impl" 
     12298 
     12299 
     12300    // $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 ; 
     12302    public final void rule__RepeatRange__Group__2() throws RecognitionException { 
     12303        int rule__RepeatRange__Group__2_StartIndex = input.index(); 
     12304 
     12305                        int stackSize = keepStackSize(); 
     12306             
     12307        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); 
     12313            rule__RepeatRange__Group__2__Impl(); 
     12314 
     12315            state._fsp--; 
     12316            if (state.failed) return ; 
     12317            pushFollow(FOLLOW_rule__RepeatRange__Group__3_in_rule__RepeatRange__Group__27914); 
     12318            rule__RepeatRange__Group__3(); 
     12319 
     12320            state._fsp--; 
     12321            if (state.failed) return ; 
     12322 
     12323            } 
     12324 
     12325        } 
     12326        catch (RecognitionException re) { 
     12327            reportError(re); 
     12328            recover(input,re); 
     12329        } 
     12330        finally { 
     12331            if ( state.backtracking>0 ) { memoize(input, 236, rule__RepeatRange__Group__2_StartIndex); } 
     12332 
     12333                restoreStackSize(stackSize); 
     12334 
     12335        } 
     12336        return ; 
     12337    } 
     12338    // $ANTLR end "rule__RepeatRange__Group__2" 
     12339 
     12340 
     12341    // $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 ) ) ; 
     12343    public final void rule__RepeatRange__Group__2__Impl() throws RecognitionException { 
     12344        int rule__RepeatRange__Group__2__Impl_StartIndex = input.index(); 
     12345 
     12346                        int stackSize = keepStackSize(); 
     12347             
     12348        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 ) 
     12355            { 
     12356            if ( state.backtracking==0 ) { 
     12357               before(grammarAccess.getRepeatRangeAccess().getFromAssignment_2());  
     12358            } 
     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); 
     12363            rule__RepeatRange__FromAssignment_2(); 
     12364 
     12365            state._fsp--; 
     12366            if (state.failed) return ; 
     12367 
     12368            } 
     12369 
     12370            if ( state.backtracking==0 ) { 
     12371               after(grammarAccess.getRepeatRangeAccess().getFromAssignment_2());  
     12372            } 
     12373 
     12374            } 
     12375 
     12376 
     12377            } 
     12378 
     12379        } 
     12380        catch (RecognitionException re) { 
     12381            reportError(re); 
     12382            recover(input,re); 
     12383        } 
     12384        finally { 
     12385            if ( state.backtracking>0 ) { memoize(input, 237, rule__RepeatRange__Group__2__Impl_StartIndex); } 
     12386 
     12387                restoreStackSize(stackSize); 
     12388 
     12389        } 
     12390        return ; 
     12391    } 
     12392    // $ANTLR end "rule__RepeatRange__Group__2__Impl" 
     12393 
     12394 
     12395    // $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 ; 
     12397    public final void rule__RepeatRange__Group__3() throws RecognitionException { 
     12398        int rule__RepeatRange__Group__3_StartIndex = input.index(); 
     12399 
     12400                        int stackSize = keepStackSize(); 
     12401             
     12402        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); 
     12408            rule__RepeatRange__Group__3__Impl(); 
     12409 
     12410            state._fsp--; 
     12411            if (state.failed) return ; 
     12412            pushFollow(FOLLOW_rule__RepeatRange__Group__4_in_rule__RepeatRange__Group__37974); 
     12413            rule__RepeatRange__Group__4(); 
     12414 
     12415            state._fsp--; 
     12416            if (state.failed) return ; 
     12417 
     12418            } 
     12419 
     12420        } 
     12421        catch (RecognitionException re) { 
     12422            reportError(re); 
     12423            recover(input,re); 
     12424        } 
     12425        finally { 
     12426            if ( state.backtracking>0 ) { memoize(input, 238, rule__RepeatRange__Group__3_StartIndex); } 
     12427 
     12428                restoreStackSize(stackSize); 
     12429 
     12430        } 
     12431        return ; 
     12432    } 
     12433    // $ANTLR end "rule__RepeatRange__Group__3" 
     12434 
     12435 
     12436    // $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 : ( ',' ) ; 
     12438    public final void rule__RepeatRange__Group__3__Impl() throws RecognitionException { 
     12439        int rule__RepeatRange__Group__3__Impl_StartIndex = input.index(); 
     12440 
     12441                        int stackSize = keepStackSize(); 
     12442             
     12443        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: ',' 
     12450            { 
     12451            if ( state.backtracking==0 ) { 
     12452               before(grammarAccess.getRepeatRangeAccess().getCommaKeyword_3());  
     12453            } 
     12454            match(input,35,FOLLOW_35_in_rule__RepeatRange__Group__3__Impl8002); if (state.failed) return ; 
     12455            if ( state.backtracking==0 ) { 
     12456               after(grammarAccess.getRepeatRangeAccess().getCommaKeyword_3());  
     12457            } 
     12458 
     12459            } 
     12460 
     12461 
     12462            } 
     12463 
     12464        } 
     12465        catch (RecognitionException re) { 
     12466            reportError(re); 
     12467            recover(input,re); 
     12468        } 
     12469        finally { 
     12470            if ( state.backtracking>0 ) { memoize(input, 239, rule__RepeatRange__Group__3__Impl_StartIndex); } 
     12471 
     12472                restoreStackSize(stackSize); 
     12473 
     12474        } 
     12475        return ; 
     12476    } 
     12477    // $ANTLR end "rule__RepeatRange__Group__3__Impl" 
     12478 
     12479 
     12480    // $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 ; 
     12482    public final void rule__RepeatRange__Group__4() throws RecognitionException { 
     12483        int rule__RepeatRange__Group__4_StartIndex = input.index(); 
     12484 
     12485                        int stackSize = keepStackSize(); 
     12486             
     12487        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); 
     12493            rule__RepeatRange__Group__4__Impl(); 
     12494 
     12495            state._fsp--; 
     12496            if (state.failed) return ; 
     12497            pushFollow(FOLLOW_rule__RepeatRange__Group__5_in_rule__RepeatRange__Group__48036); 
     12498            rule__RepeatRange__Group__5(); 
     12499 
     12500            state._fsp--; 
     12501            if (state.failed) return ; 
     12502 
     12503            } 
     12504 
     12505        } 
     12506        catch (RecognitionException re) { 
     12507            reportError(re); 
     12508            recover(input,re); 
     12509        } 
     12510        finally { 
     12511            if ( state.backtracking>0 ) { memoize(input, 240, rule__RepeatRange__Group__4_StartIndex); } 
     12512 
     12513                restoreStackSize(stackSize); 
     12514 
     12515        } 
     12516        return ; 
     12517    } 
     12518    // $ANTLR end "rule__RepeatRange__Group__4" 
     12519 
     12520 
     12521    // $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 ) ) ; 
     12523    public final void rule__RepeatRange__Group__4__Impl() throws RecognitionException { 
     12524        int rule__RepeatRange__Group__4__Impl_StartIndex = input.index(); 
     12525 
     12526                        int stackSize = keepStackSize(); 
     12527             
     12528        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 ) 
     12535            { 
     12536            if ( state.backtracking==0 ) { 
     12537               before(grammarAccess.getRepeatRangeAccess().getToAssignment_4());  
     12538            } 
     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); 
     12543            rule__RepeatRange__ToAssignment_4(); 
     12544 
     12545            state._fsp--; 
     12546            if (state.failed) return ; 
     12547 
     12548            } 
     12549 
     12550            if ( state.backtracking==0 ) { 
     12551               after(grammarAccess.getRepeatRangeAccess().getToAssignment_4());  
     12552            } 
     12553 
     12554            } 
     12555 
     12556 
     12557            } 
     12558 
     12559        } 
     12560        catch (RecognitionException re) { 
     12561            reportError(re); 
     12562            recover(input,re); 
     12563        } 
     12564        finally { 
     12565            if ( state.backtracking>0 ) { memoize(input, 241, rule__RepeatRange__Group__4__Impl_StartIndex); } 
     12566 
     12567                restoreStackSize(stackSize); 
     12568 
     12569        } 
     12570        return ; 
     12571    } 
     12572    // $ANTLR end "rule__RepeatRange__Group__4__Impl" 
     12573 
     12574 
     12575    // $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 ; 
     12577    public final void rule__RepeatRange__Group__5() throws RecognitionException { 
     12578        int rule__RepeatRange__Group__5_StartIndex = input.index(); 
     12579 
     12580                        int stackSize = keepStackSize(); 
     12581             
     12582        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); 
     12588            rule__RepeatRange__Group__5__Impl(); 
     12589 
     12590            state._fsp--; 
     12591            if (state.failed) return ; 
     12592 
     12593            } 
     12594 
     12595        } 
     12596        catch (RecognitionException re) { 
     12597            reportError(re); 
     12598            recover(input,re); 
     12599        } 
     12600        finally { 
     12601            if ( state.backtracking>0 ) { memoize(input, 242, rule__RepeatRange__Group__5_StartIndex); } 
     12602 
     12603                restoreStackSize(stackSize); 
     12604 
     12605        } 
     12606        return ; 
     12607    } 
     12608    // $ANTLR end "rule__RepeatRange__Group__5" 
     12609 
     12610 
     12611    // $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 : ( ')' ) ; 
     12613    public final void rule__RepeatRange__Group__5__Impl() throws RecognitionException { 
     12614        int rule__RepeatRange__Group__5__Impl_StartIndex = input.index(); 
     12615 
     12616                        int stackSize = keepStackSize(); 
     12617             
     12618        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: ')' 
     12625            { 
     12626            if ( state.backtracking==0 ) { 
     12627               before(grammarAccess.getRepeatRangeAccess().getRightParenthesisKeyword_5());  
     12628            } 
     12629            match(input,13,FOLLOW_13_in_rule__RepeatRange__Group__5__Impl8121); if (state.failed) return ; 
     12630            if ( state.backtracking==0 ) { 
     12631               after(grammarAccess.getRepeatRangeAccess().getRightParenthesisKeyword_5());  
     12632            } 
     12633 
     12634            } 
     12635 
     12636 
     12637            } 
     12638 
     12639        } 
     12640        catch (RecognitionException re) { 
     12641            reportError(re); 
     12642            recover(input,re); 
     12643        } 
     12644        finally { 
     12645            if ( state.backtracking>0 ) { memoize(input, 243, rule__RepeatRange__Group__5__Impl_StartIndex); } 
     12646 
     12647                restoreStackSize(stackSize); 
     12648 
     12649        } 
     12650        return ; 
     12651    } 
     12652    // $ANTLR end "rule__RepeatRange__Group__5__Impl" 
     12653 
     12654 
    1055712655    // $ANTLR start "rule__EtsiBnf__NameAssignment_0_1" 
    10558     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3779:1: rule__EtsiBnf__NameAssignment_0_1 : ( RULE_ID ) ; 
     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 ) ; 
    1055912657    public final void rule__EtsiBnf__NameAssignment_0_1() throws RecognitionException { 
    10560  
    10561                         int stackSize = keepStackSize(); 
    10562              
    10563         try { 
    10564             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3783:1: ( ( RULE_ID ) ) 
    10565             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3784:1: ( RULE_ID ) 
    10566             { 
    10567             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3784:1: ( RULE_ID ) 
    10568             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3785:1: RULE_ID 
    10569             { 
    10570              before(grammarAccess.getEtsiBnfAccess().getNameIDTerminalRuleCall_0_1_0());  
    10571             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EtsiBnf__NameAssignment_0_17667);  
    10572              after(grammarAccess.getEtsiBnfAccess().getNameIDTerminalRuleCall_0_1_0());  
    10573  
    10574             } 
    10575  
    10576  
    10577             } 
    10578  
    10579         } 
    10580         catch (RecognitionException re) { 
    10581             reportError(re); 
    10582             recover(input,re); 
    10583         } 
    10584         finally { 
     12658        int rule__EtsiBnf__NameAssignment_0_1_StartIndex = input.index(); 
     12659 
     12660                        int stackSize = keepStackSize(); 
     12661             
     12662        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 
     12669            { 
     12670            if ( state.backtracking==0 ) { 
     12671               before(grammarAccess.getEtsiBnfAccess().getNameIDTerminalRuleCall_0_1_0());  
     12672            } 
     12673            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EtsiBnf__NameAssignment_0_18169); if (state.failed) return ; 
     12674            if ( state.backtracking==0 ) { 
     12675               after(grammarAccess.getEtsiBnfAccess().getNameIDTerminalRuleCall_0_1_0());  
     12676            } 
     12677 
     12678            } 
     12679 
     12680 
     12681            } 
     12682 
     12683        } 
     12684        catch (RecognitionException re) { 
     12685            reportError(re); 
     12686            recover(input,re); 
     12687        } 
     12688        finally { 
     12689            if ( state.backtracking>0 ) { memoize(input, 244, rule__EtsiBnf__NameAssignment_0_1_StartIndex); } 
    1058512690 
    1058612691                restoreStackSize(stackSize); 
     
    1059312698 
    1059412699    // $ANTLR start "rule__EtsiBnf__TypeAssignment_0_2_0" 
    10595     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3794:1: rule__EtsiBnf__TypeAssignment_0_2_0 : ( ( '/bnf' ) ) ; 
     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' ) ) ; 
    1059612701    public final void rule__EtsiBnf__TypeAssignment_0_2_0() throws RecognitionException { 
    10597  
    10598                         int stackSize = keepStackSize(); 
    10599              
    10600         try { 
    10601             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3798:1: ( ( ( '/bnf' ) ) ) 
    10602             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3799:1: ( ( '/bnf' ) ) 
    10603             { 
    10604             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3799:1: ( ( '/bnf' ) ) 
    10605             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3800:1: ( '/bnf' ) 
    10606             { 
    10607              before(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
    10608             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3801:1: ( '/bnf' ) 
    10609             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3802:1: '/bnf' 
    10610             { 
    10611              before(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
    10612             match(input,34,FOLLOW_34_in_rule__EtsiBnf__TypeAssignment_0_2_07703);  
    10613              after(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
    10614  
    10615             } 
    10616  
    10617              after(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
    10618  
    10619             } 
    10620  
    10621  
    10622             } 
    10623  
    10624         } 
    10625         catch (RecognitionException re) { 
    10626             reportError(re); 
    10627             recover(input,re); 
    10628         } 
    10629         finally { 
     12702        int rule__EtsiBnf__TypeAssignment_0_2_0_StartIndex = input.index(); 
     12703 
     12704                        int stackSize = keepStackSize(); 
     12705             
     12706        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' ) 
     12713            { 
     12714            if ( state.backtracking==0 ) { 
     12715               before(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
     12716            } 
     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' 
     12719            { 
     12720            if ( state.backtracking==0 ) { 
     12721               before(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
     12722            } 
     12723            match(input,36,FOLLOW_36_in_rule__EtsiBnf__TypeAssignment_0_2_08205); if (state.failed) return ; 
     12724            if ( state.backtracking==0 ) { 
     12725               after(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
     12726            } 
     12727 
     12728            } 
     12729 
     12730            if ( state.backtracking==0 ) { 
     12731               after(grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());  
     12732            } 
     12733 
     12734            } 
     12735 
     12736 
     12737            } 
     12738 
     12739        } 
     12740        catch (RecognitionException re) { 
     12741            reportError(re); 
     12742            recover(input,re); 
     12743        } 
     12744        finally { 
     12745            if ( state.backtracking>0 ) { memoize(input, 245, rule__EtsiBnf__TypeAssignment_0_2_0_StartIndex); } 
    1063012746 
    1063112747                restoreStackSize(stackSize); 
     
    1063812754 
    1063912755    // $ANTLR start "rule__EtsiBnf__ImportSectionAssignment_0_2_2" 
    10640     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3817:1: rule__EtsiBnf__ImportSectionAssignment_0_2_2 : ( ruleImportSection ) ; 
     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 ) ; 
    1064112757    public final void rule__EtsiBnf__ImportSectionAssignment_0_2_2() throws RecognitionException { 
    10642  
    10643                         int stackSize = keepStackSize(); 
    10644              
    10645         try { 
    10646             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3821:1: ( ( ruleImportSection ) ) 
    10647             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3822:1: ( ruleImportSection ) 
    10648             { 
    10649             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3822:1: ( ruleImportSection ) 
    10650             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3823:1: ruleImportSection 
    10651             { 
    10652              before(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_0_2_2_0());  
    10653             pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_0_2_27742); 
     12758        int rule__EtsiBnf__ImportSectionAssignment_0_2_2_StartIndex = input.index(); 
     12759 
     12760                        int stackSize = keepStackSize(); 
     12761             
     12762        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 
     12769            { 
     12770            if ( state.backtracking==0 ) { 
     12771               before(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_0_2_2_0());  
     12772            } 
     12773            pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_0_2_28244); 
    1065412774            ruleImportSection(); 
    1065512775 
    1065612776            state._fsp--; 
    10657  
    10658              after(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_0_2_2_0());  
    10659  
    10660             } 
    10661  
    10662  
    10663             } 
    10664  
    10665         } 
    10666         catch (RecognitionException re) { 
    10667             reportError(re); 
    10668             recover(input,re); 
    10669         } 
    10670         finally { 
     12777            if (state.failed) return ; 
     12778            if ( state.backtracking==0 ) { 
     12779               after(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_0_2_2_0());  
     12780            } 
     12781 
     12782            } 
     12783 
     12784 
     12785            } 
     12786 
     12787        } 
     12788        catch (RecognitionException re) { 
     12789            reportError(re); 
     12790            recover(input,re); 
     12791        } 
     12792        finally { 
     12793            if ( state.backtracking>0 ) { memoize(input, 246, rule__EtsiBnf__ImportSectionAssignment_0_2_2_StartIndex); } 
    1067112794 
    1067212795                restoreStackSize(stackSize); 
     
    1067912802 
    1068012803    // $ANTLR start "rule__EtsiBnf__BnfEntryAssignment_0_2_3" 
    10681     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3832:1: rule__EtsiBnf__BnfEntryAssignment_0_2_3 : ( ruleBnfEntry ) ; 
     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 ) ; 
    1068212805    public final void rule__EtsiBnf__BnfEntryAssignment_0_2_3() throws RecognitionException { 
    10683  
    10684                         int stackSize = keepStackSize(); 
    10685              
    10686         try { 
    10687             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3836:1: ( ( ruleBnfEntry ) ) 
    10688             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3837:1: ( ruleBnfEntry ) 
    10689             { 
    10690             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3837:1: ( ruleBnfEntry ) 
    10691             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3838:1: ruleBnfEntry 
    10692             { 
    10693              before(grammarAccess.getEtsiBnfAccess().getBnfEntryBnfEntryParserRuleCall_0_2_3_0());  
    10694             pushFollow(FOLLOW_ruleBnfEntry_in_rule__EtsiBnf__BnfEntryAssignment_0_2_37773); 
     12806        int rule__EtsiBnf__BnfEntryAssignment_0_2_3_StartIndex = input.index(); 
     12807 
     12808                        int stackSize = keepStackSize(); 
     12809             
     12810        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 
     12817            { 
     12818            if ( state.backtracking==0 ) { 
     12819               before(grammarAccess.getEtsiBnfAccess().getBnfEntryBnfEntryParserRuleCall_0_2_3_0());  
     12820            } 
     12821            pushFollow(FOLLOW_ruleBnfEntry_in_rule__EtsiBnf__BnfEntryAssignment_0_2_38275); 
    1069512822            ruleBnfEntry(); 
    1069612823 
    1069712824            state._fsp--; 
    10698  
    10699              after(grammarAccess.getEtsiBnfAccess().getBnfEntryBnfEntryParserRuleCall_0_2_3_0());  
    10700  
    10701             } 
    10702  
    10703  
    10704             } 
    10705  
    10706         } 
    10707         catch (RecognitionException re) { 
    10708             reportError(re); 
    10709             recover(input,re); 
    10710         } 
    10711         finally { 
     12825            if (state.failed) return ; 
     12826            if ( state.backtracking==0 ) { 
     12827               after(grammarAccess.getEtsiBnfAccess().getBnfEntryBnfEntryParserRuleCall_0_2_3_0());  
     12828            } 
     12829 
     12830            } 
     12831 
     12832 
     12833            } 
     12834 
     12835        } 
     12836        catch (RecognitionException re) { 
     12837            reportError(re); 
     12838            recover(input,re); 
     12839        } 
     12840        finally { 
     12841            if ( state.backtracking>0 ) { memoize(input, 247, rule__EtsiBnf__BnfEntryAssignment_0_2_3_StartIndex); } 
    1071212842 
    1071312843                restoreStackSize(stackSize); 
     
    1072012850 
    1072112851    // $ANTLR start "rule__EtsiBnf__TypeAssignment_1_0" 
    10722     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3847:1: rule__EtsiBnf__TypeAssignment_1_0 : ( ( '/delta' ) ) ; 
     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' ) ) ; 
    1072312853    public final void rule__EtsiBnf__TypeAssignment_1_0() throws RecognitionException { 
    10724  
    10725                         int stackSize = keepStackSize(); 
    10726              
    10727         try { 
    10728             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3851:1: ( ( ( '/delta' ) ) ) 
    10729             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3852:1: ( ( '/delta' ) ) 
    10730             { 
    10731             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3852:1: ( ( '/delta' ) ) 
    10732             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3853:1: ( '/delta' ) 
    10733             { 
    10734              before(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
    10735             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3854:1: ( '/delta' ) 
    10736             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3855:1: '/delta' 
    10737             { 
    10738              before(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
    10739             match(input,35,FOLLOW_35_in_rule__EtsiBnf__TypeAssignment_1_07809);  
    10740              after(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
    10741  
    10742             } 
    10743  
    10744              after(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
    10745  
    10746             } 
    10747  
    10748  
    10749             } 
    10750  
    10751         } 
    10752         catch (RecognitionException re) { 
    10753             reportError(re); 
    10754             recover(input,re); 
    10755         } 
    10756         finally { 
     12854        int rule__EtsiBnf__TypeAssignment_1_0_StartIndex = input.index(); 
     12855 
     12856                        int stackSize = keepStackSize(); 
     12857             
     12858        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' ) 
     12865            { 
     12866            if ( state.backtracking==0 ) { 
     12867               before(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
     12868            } 
     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' 
     12871            { 
     12872            if ( state.backtracking==0 ) { 
     12873               before(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
     12874            } 
     12875            match(input,37,FOLLOW_37_in_rule__EtsiBnf__TypeAssignment_1_08311); if (state.failed) return ; 
     12876            if ( state.backtracking==0 ) { 
     12877               after(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
     12878            } 
     12879 
     12880            } 
     12881 
     12882            if ( state.backtracking==0 ) { 
     12883               after(grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());  
     12884            } 
     12885 
     12886            } 
     12887 
     12888 
     12889            } 
     12890 
     12891        } 
     12892        catch (RecognitionException re) { 
     12893            reportError(re); 
     12894            recover(input,re); 
     12895        } 
     12896        finally { 
     12897            if ( state.backtracking>0 ) { memoize(input, 248, rule__EtsiBnf__TypeAssignment_1_0_StartIndex); } 
    1075712898 
    1075812899                restoreStackSize(stackSize); 
     
    1076512906 
    1076612907    // $ANTLR start "rule__EtsiBnf__ImportSectionAssignment_1_2" 
    10767     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3870:1: rule__EtsiBnf__ImportSectionAssignment_1_2 : ( ruleImportSection ) ; 
     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 ) ; 
    1076812909    public final void rule__EtsiBnf__ImportSectionAssignment_1_2() throws RecognitionException { 
    10769  
    10770                         int stackSize = keepStackSize(); 
    10771              
    10772         try { 
    10773             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3874:1: ( ( ruleImportSection ) ) 
    10774             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3875:1: ( ruleImportSection ) 
    10775             { 
    10776             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3875:1: ( ruleImportSection ) 
    10777             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3876:1: ruleImportSection 
    10778             { 
    10779              before(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_1_2_0());  
    10780             pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_1_27848); 
     12910        int rule__EtsiBnf__ImportSectionAssignment_1_2_StartIndex = input.index(); 
     12911 
     12912                        int stackSize = keepStackSize(); 
     12913             
     12914        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 
     12921            { 
     12922            if ( state.backtracking==0 ) { 
     12923               before(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_1_2_0());  
     12924            } 
     12925            pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_1_28350); 
    1078112926            ruleImportSection(); 
    1078212927 
    1078312928            state._fsp--; 
    10784  
    10785              after(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_1_2_0());  
    10786  
    10787             } 
    10788  
    10789  
    10790             } 
    10791  
    10792         } 
    10793         catch (RecognitionException re) { 
    10794             reportError(re); 
    10795             recover(input,re); 
    10796         } 
    10797         finally { 
     12929            if (state.failed) return ; 
     12930            if ( state.backtracking==0 ) { 
     12931               after(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_1_2_0());  
     12932            } 
     12933 
     12934            } 
     12935 
     12936 
     12937            } 
     12938 
     12939        } 
     12940        catch (RecognitionException re) { 
     12941            reportError(re); 
     12942            recover(input,re); 
     12943        } 
     12944        finally { 
     12945            if ( state.backtracking>0 ) { memoize(input, 249, rule__EtsiBnf__ImportSectionAssignment_1_2_StartIndex); } 
    1079812946 
    1079912947                restoreStackSize(stackSize); 
     
    1080612954 
    1080712955    // $ANTLR start "rule__EtsiBnf__DeltaEntryAssignment_1_3" 
    10808     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3885:1: rule__EtsiBnf__DeltaEntryAssignment_1_3 : ( ruleDeltaEntry ) ; 
     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 ) ; 
    1080912957    public final void rule__EtsiBnf__DeltaEntryAssignment_1_3() throws RecognitionException { 
    10810  
    10811                         int stackSize = keepStackSize(); 
    10812              
    10813         try { 
    10814             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3889:1: ( ( ruleDeltaEntry ) ) 
    10815             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3890:1: ( ruleDeltaEntry ) 
    10816             { 
    10817             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3890:1: ( ruleDeltaEntry ) 
    10818             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3891:1: ruleDeltaEntry 
    10819             { 
    10820              before(grammarAccess.getEtsiBnfAccess().getDeltaEntryDeltaEntryParserRuleCall_1_3_0());  
    10821             pushFollow(FOLLOW_ruleDeltaEntry_in_rule__EtsiBnf__DeltaEntryAssignment_1_37879); 
     12958        int rule__EtsiBnf__DeltaEntryAssignment_1_3_StartIndex = input.index(); 
     12959 
     12960                        int stackSize = keepStackSize(); 
     12961             
     12962        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 
     12969            { 
     12970            if ( state.backtracking==0 ) { 
     12971               before(grammarAccess.getEtsiBnfAccess().getDeltaEntryDeltaEntryParserRuleCall_1_3_0());  
     12972            } 
     12973            pushFollow(FOLLOW_ruleDeltaEntry_in_rule__EtsiBnf__DeltaEntryAssignment_1_38381); 
    1082212974            ruleDeltaEntry(); 
    1082312975 
    1082412976            state._fsp--; 
    10825  
    10826              after(grammarAccess.getEtsiBnfAccess().getDeltaEntryDeltaEntryParserRuleCall_1_3_0());  
    10827  
    10828             } 
    10829  
    10830  
    10831             } 
    10832  
    10833         } 
    10834         catch (RecognitionException re) { 
    10835             reportError(re); 
    10836             recover(input,re); 
    10837         } 
    10838         finally { 
     12977            if (state.failed) return ; 
     12978            if ( state.backtracking==0 ) { 
     12979               after(grammarAccess.getEtsiBnfAccess().getDeltaEntryDeltaEntryParserRuleCall_1_3_0());  
     12980            } 
     12981 
     12982            } 
     12983 
     12984 
     12985            } 
     12986 
     12987        } 
     12988        catch (RecognitionException re) { 
     12989            reportError(re); 
     12990            recover(input,re); 
     12991        } 
     12992        finally { 
     12993            if ( state.backtracking>0 ) { memoize(input, 250, rule__EtsiBnf__DeltaEntryAssignment_1_3_StartIndex); } 
    1083912994 
    1084012995                restoreStackSize(stackSize); 
     
    1084713002 
    1084813003    // $ANTLR start "rule__EtsiBnf__TypeAssignment_2_0" 
    10849     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3900:1: rule__EtsiBnf__TypeAssignment_2_0 : ( ( '/merge' ) ) ; 
     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' ) ) ; 
    1085013005    public final void rule__EtsiBnf__TypeAssignment_2_0() throws RecognitionException { 
    10851  
    10852                         int stackSize = keepStackSize(); 
    10853              
    10854         try { 
    10855             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3904:1: ( ( ( '/merge' ) ) ) 
    10856             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3905:1: ( ( '/merge' ) ) 
    10857             { 
    10858             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3905:1: ( ( '/merge' ) ) 
    10859             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3906:1: ( '/merge' ) 
    10860             { 
    10861              before(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
    10862             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3907:1: ( '/merge' ) 
    10863             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3908:1: '/merge' 
    10864             { 
    10865              before(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
    10866             match(input,36,FOLLOW_36_in_rule__EtsiBnf__TypeAssignment_2_07915);  
    10867              after(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
    10868  
    10869             } 
    10870  
    10871              after(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
    10872  
    10873             } 
    10874  
    10875  
    10876             } 
    10877  
    10878         } 
    10879         catch (RecognitionException re) { 
    10880             reportError(re); 
    10881             recover(input,re); 
    10882         } 
    10883         finally { 
     13006        int rule__EtsiBnf__TypeAssignment_2_0_StartIndex = input.index(); 
     13007 
     13008                        int stackSize = keepStackSize(); 
     13009             
     13010        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' ) 
     13017            { 
     13018            if ( state.backtracking==0 ) { 
     13019               before(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
     13020            } 
     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' 
     13023            { 
     13024            if ( state.backtracking==0 ) { 
     13025               before(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
     13026            } 
     13027            match(input,38,FOLLOW_38_in_rule__EtsiBnf__TypeAssignment_2_08417); if (state.failed) return ; 
     13028            if ( state.backtracking==0 ) { 
     13029               after(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
     13030            } 
     13031 
     13032            } 
     13033 
     13034            if ( state.backtracking==0 ) { 
     13035               after(grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());  
     13036            } 
     13037 
     13038            } 
     13039 
     13040 
     13041            } 
     13042 
     13043        } 
     13044        catch (RecognitionException re) { 
     13045            reportError(re); 
     13046            recover(input,re); 
     13047        } 
     13048        finally { 
     13049            if ( state.backtracking>0 ) { memoize(input, 251, rule__EtsiBnf__TypeAssignment_2_0_StartIndex); } 
    1088413050 
    1088513051                restoreStackSize(stackSize); 
     
    1089213058 
    1089313059    // $ANTLR start "rule__EtsiBnf__ImportSectionAssignment_2_2" 
    10894     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3923:1: rule__EtsiBnf__ImportSectionAssignment_2_2 : ( ruleImportSection ) ; 
     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 ) ; 
    1089513061    public final void rule__EtsiBnf__ImportSectionAssignment_2_2() throws RecognitionException { 
    10896  
    10897                         int stackSize = keepStackSize(); 
    10898              
    10899         try { 
    10900             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3927:1: ( ( ruleImportSection ) ) 
    10901             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3928:1: ( ruleImportSection ) 
    10902             { 
    10903             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3928:1: ( ruleImportSection ) 
    10904             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3929:1: ruleImportSection 
    10905             { 
    10906              before(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_2_2_0());  
    10907             pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_2_27954); 
     13062        int rule__EtsiBnf__ImportSectionAssignment_2_2_StartIndex = input.index(); 
     13063 
     13064                        int stackSize = keepStackSize(); 
     13065             
     13066        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 
     13073            { 
     13074            if ( state.backtracking==0 ) { 
     13075               before(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_2_2_0());  
     13076            } 
     13077            pushFollow(FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_2_28456); 
    1090813078            ruleImportSection(); 
    1090913079 
    1091013080            state._fsp--; 
    10911  
    10912              after(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_2_2_0());  
    10913  
    10914             } 
    10915  
    10916  
    10917             } 
    10918  
    10919         } 
    10920         catch (RecognitionException re) { 
    10921             reportError(re); 
    10922             recover(input,re); 
    10923         } 
    10924         finally { 
     13081            if (state.failed) return ; 
     13082            if ( state.backtracking==0 ) { 
     13083               after(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_2_2_0());  
     13084            } 
     13085 
     13086            } 
     13087 
     13088 
     13089            } 
     13090 
     13091        } 
     13092        catch (RecognitionException re) { 
     13093            reportError(re); 
     13094            recover(input,re); 
     13095        } 
     13096        finally { 
     13097            if ( state.backtracking>0 ) { memoize(input, 252, rule__EtsiBnf__ImportSectionAssignment_2_2_StartIndex); } 
    1092513098 
    1092613099                restoreStackSize(stackSize); 
     
    1093313106 
    1093413107    // $ANTLR start "rule__EtsiBnf__MergeEntryAssignment_2_3" 
    10935     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3938:1: rule__EtsiBnf__MergeEntryAssignment_2_3 : ( ruleMergeEntry ) ; 
     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 ) ; 
    1093613109    public final void rule__EtsiBnf__MergeEntryAssignment_2_3() throws RecognitionException { 
    10937  
    10938                         int stackSize = keepStackSize(); 
    10939              
    10940         try { 
    10941             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3942:1: ( ( ruleMergeEntry ) ) 
    10942             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3943:1: ( ruleMergeEntry ) 
    10943             { 
    10944             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3943:1: ( ruleMergeEntry ) 
    10945             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3944:1: ruleMergeEntry 
    10946             { 
    10947              before(grammarAccess.getEtsiBnfAccess().getMergeEntryMergeEntryParserRuleCall_2_3_0());  
    10948             pushFollow(FOLLOW_ruleMergeEntry_in_rule__EtsiBnf__MergeEntryAssignment_2_37985); 
     13110        int rule__EtsiBnf__MergeEntryAssignment_2_3_StartIndex = input.index(); 
     13111 
     13112                        int stackSize = keepStackSize(); 
     13113             
     13114        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 
     13121            { 
     13122            if ( state.backtracking==0 ) { 
     13123               before(grammarAccess.getEtsiBnfAccess().getMergeEntryMergeEntryParserRuleCall_2_3_0());  
     13124            } 
     13125            pushFollow(FOLLOW_ruleMergeEntry_in_rule__EtsiBnf__MergeEntryAssignment_2_38487); 
    1094913126            ruleMergeEntry(); 
    1095013127 
    1095113128            state._fsp--; 
    10952  
    10953              after(grammarAccess.getEtsiBnfAccess().getMergeEntryMergeEntryParserRuleCall_2_3_0());  
    10954  
    10955             } 
    10956  
    10957  
    10958             } 
    10959  
    10960         } 
    10961         catch (RecognitionException re) { 
    10962             reportError(re); 
    10963             recover(input,re); 
    10964         } 
    10965         finally { 
     13129            if (state.failed) return ; 
     13130            if ( state.backtracking==0 ) { 
     13131               after(grammarAccess.getEtsiBnfAccess().getMergeEntryMergeEntryParserRuleCall_2_3_0());  
     13132            } 
     13133 
     13134            } 
     13135 
     13136 
     13137            } 
     13138 
     13139        } 
     13140        catch (RecognitionException re) { 
     13141            reportError(re); 
     13142            recover(input,re); 
     13143        } 
     13144        finally { 
     13145            if ( state.backtracking>0 ) { memoize(input, 253, rule__EtsiBnf__MergeEntryAssignment_2_3_StartIndex); } 
    1096613146 
    1096713147                restoreStackSize(stackSize); 
     
    1097413154 
    1097513155    // $ANTLR start "rule__ImportSection__ImportsAssignment" 
    10976     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3953:1: rule__ImportSection__ImportsAssignment : ( ruleImport ) ; 
     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 ) ; 
    1097713157    public final void rule__ImportSection__ImportsAssignment() throws RecognitionException { 
    10978  
    10979                         int stackSize = keepStackSize(); 
    10980              
    10981         try { 
    10982             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3957:1: ( ( ruleImport ) ) 
    10983             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3958:1: ( ruleImport ) 
    10984             { 
    10985             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3958:1: ( ruleImport ) 
    10986             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3959:1: ruleImport 
    10987             { 
    10988              before(grammarAccess.getImportSectionAccess().getImportsImportParserRuleCall_0());  
    10989             pushFollow(FOLLOW_ruleImport_in_rule__ImportSection__ImportsAssignment8016); 
     13158        int rule__ImportSection__ImportsAssignment_StartIndex = input.index(); 
     13159 
     13160                        int stackSize = keepStackSize(); 
     13161             
     13162        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 
     13169            { 
     13170            if ( state.backtracking==0 ) { 
     13171               before(grammarAccess.getImportSectionAccess().getImportsImportParserRuleCall_0());  
     13172            } 
     13173            pushFollow(FOLLOW_ruleImport_in_rule__ImportSection__ImportsAssignment8518); 
    1099013174            ruleImport(); 
    1099113175 
    1099213176            state._fsp--; 
    10993  
    10994              after(grammarAccess.getImportSectionAccess().getImportsImportParserRuleCall_0());  
    10995  
    10996             } 
    10997  
    10998  
    10999             } 
    11000  
    11001         } 
    11002         catch (RecognitionException re) { 
    11003             reportError(re); 
    11004             recover(input,re); 
    11005         } 
    11006         finally { 
     13177            if (state.failed) return ; 
     13178            if ( state.backtracking==0 ) { 
     13179               after(grammarAccess.getImportSectionAccess().getImportsImportParserRuleCall_0());  
     13180            } 
     13181 
     13182            } 
     13183 
     13184 
     13185            } 
     13186 
     13187        } 
     13188        catch (RecognitionException re) { 
     13189            reportError(re); 
     13190            recover(input,re); 
     13191        } 
     13192        finally { 
     13193            if ( state.backtracking>0 ) { memoize(input, 254, rule__ImportSection__ImportsAssignment_StartIndex); } 
    1100713194 
    1100813195                restoreStackSize(stackSize); 
     
    1101513202 
    1101613203    // $ANTLR start "rule__BnfEntry__SectionheaderAssignment_0" 
    11017     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3968:1: rule__BnfEntry__SectionheaderAssignment_0 : ( ruleSectionHeading ) ; 
     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 ) ; 
    1101813205    public final void rule__BnfEntry__SectionheaderAssignment_0() throws RecognitionException { 
    11019  
    11020                         int stackSize = keepStackSize(); 
    11021              
    11022         try { 
    11023             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3972:1: ( ( ruleSectionHeading ) ) 
    11024             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3973:1: ( ruleSectionHeading ) 
    11025             { 
    11026             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3973:1: ( ruleSectionHeading ) 
    11027             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3974:1: ruleSectionHeading 
    11028             { 
    11029              before(grammarAccess.getBnfEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());  
    11030             pushFollow(FOLLOW_ruleSectionHeading_in_rule__BnfEntry__SectionheaderAssignment_08047); 
     13206        int rule__BnfEntry__SectionheaderAssignment_0_StartIndex = input.index(); 
     13207 
     13208                        int stackSize = keepStackSize(); 
     13209             
     13210        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 
     13217            { 
     13218            if ( state.backtracking==0 ) { 
     13219               before(grammarAccess.getBnfEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());  
     13220            } 
     13221            pushFollow(FOLLOW_ruleSectionHeading_in_rule__BnfEntry__SectionheaderAssignment_08549); 
    1103113222            ruleSectionHeading(); 
    1103213223 
    1103313224            state._fsp--; 
    11034  
    11035              after(grammarAccess.getBnfEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());  
    11036  
    11037             } 
    11038  
    11039  
    11040             } 
    11041  
    11042         } 
    11043         catch (RecognitionException re) { 
    11044             reportError(re); 
    11045             recover(input,re); 
    11046         } 
    11047         finally { 
     13225            if (state.failed) return ; 
     13226            if ( state.backtracking==0 ) { 
     13227               after(grammarAccess.getBnfEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());  
     13228            } 
     13229 
     13230            } 
     13231 
     13232 
     13233            } 
     13234 
     13235        } 
     13236        catch (RecognitionException re) { 
     13237            reportError(re); 
     13238            recover(input,re); 
     13239        } 
     13240        finally { 
     13241            if ( state.backtracking>0 ) { memoize(input, 255, rule__BnfEntry__SectionheaderAssignment_0_StartIndex); } 
    1104813242 
    1104913243                restoreStackSize(stackSize); 
     
    1105613250 
    1105713251    // $ANTLR start "rule__BnfEntry__RuleAssignment_1" 
    11058     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3983:1: rule__BnfEntry__RuleAssignment_1 : ( ruleRule ) ; 
     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 ) ; 
    1105913253    public final void rule__BnfEntry__RuleAssignment_1() throws RecognitionException { 
    11060  
    11061                         int stackSize = keepStackSize(); 
    11062              
    11063         try { 
    11064             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3987:1: ( ( ruleRule ) ) 
    11065             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3988:1: ( ruleRule ) 
    11066             { 
    11067             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3988:1: ( ruleRule ) 
    11068             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3989:1: ruleRule 
    11069             { 
    11070              before(grammarAccess.getBnfEntryAccess().getRuleRuleParserRuleCall_1_0());  
    11071             pushFollow(FOLLOW_ruleRule_in_rule__BnfEntry__RuleAssignment_18078); 
     13254        int rule__BnfEntry__RuleAssignment_1_StartIndex = input.index(); 
     13255 
     13256                        int stackSize = keepStackSize(); 
     13257             
     13258        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 
     13265            { 
     13266            if ( state.backtracking==0 ) { 
     13267               before(grammarAccess.getBnfEntryAccess().getRuleRuleParserRuleCall_1_0());  
     13268            } 
     13269            pushFollow(FOLLOW_ruleRule_in_rule__BnfEntry__RuleAssignment_18580); 
    1107213270            ruleRule(); 
    1107313271 
    1107413272            state._fsp--; 
    11075  
    11076              after(grammarAccess.getBnfEntryAccess().getRuleRuleParserRuleCall_1_0());  
    11077  
    11078             } 
    11079  
    11080  
    11081             } 
    11082  
    11083         } 
    11084         catch (RecognitionException re) { 
    11085             reportError(re); 
    11086             recover(input,re); 
    11087         } 
    11088         finally { 
     13273            if (state.failed) return ; 
     13274            if ( state.backtracking==0 ) { 
     13275               after(grammarAccess.getBnfEntryAccess().getRuleRuleParserRuleCall_1_0());  
     13276            } 
     13277 
     13278            } 
     13279 
     13280 
     13281            } 
     13282 
     13283        } 
     13284        catch (RecognitionException re) { 
     13285            reportError(re); 
     13286            recover(input,re); 
     13287        } 
     13288        finally { 
     13289            if ( state.backtracking>0 ) { memoize(input, 256, rule__BnfEntry__RuleAssignment_1_StartIndex); } 
    1108913290 
    1109013291                restoreStackSize(stackSize); 
     
    1109713298 
    1109813299    // $ANTLR start "rule__DeltaEntry__RuleAssignment_0" 
    11099     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:3998:1: rule__DeltaEntry__RuleAssignment_0 : ( ruleRule ) ; 
     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 ) ; 
    1110013301    public final void rule__DeltaEntry__RuleAssignment_0() throws RecognitionException { 
    11101  
    11102                         int stackSize = keepStackSize(); 
    11103              
    11104         try { 
    11105             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4002:1: ( ( ruleRule ) ) 
    11106             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4003:1: ( ruleRule ) 
    11107             { 
    11108             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4003:1: ( ruleRule ) 
    11109             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4004:1: ruleRule 
    11110             { 
    11111              before(grammarAccess.getDeltaEntryAccess().getRuleRuleParserRuleCall_0_0());  
    11112             pushFollow(FOLLOW_ruleRule_in_rule__DeltaEntry__RuleAssignment_08109); 
     13302        int rule__DeltaEntry__RuleAssignment_0_StartIndex = input.index(); 
     13303 
     13304                        int stackSize = keepStackSize(); 
     13305             
     13306        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 
     13313            { 
     13314            if ( state.backtracking==0 ) { 
     13315               before(grammarAccess.getDeltaEntryAccess().getRuleRuleParserRuleCall_0_0());  
     13316            } 
     13317            pushFollow(FOLLOW_ruleRule_in_rule__DeltaEntry__RuleAssignment_08611); 
    1111313318            ruleRule(); 
    1111413319 
    1111513320            state._fsp--; 
    11116  
    11117              after(grammarAccess.getDeltaEntryAccess().getRuleRuleParserRuleCall_0_0());  
    11118  
    11119             } 
    11120  
    11121  
    11122             } 
    11123  
    11124         } 
    11125         catch (RecognitionException re) { 
    11126             reportError(re); 
    11127             recover(input,re); 
    11128         } 
    11129         finally { 
     13321            if (state.failed) return ; 
     13322            if ( state.backtracking==0 ) { 
     13323               after(grammarAccess.getDeltaEntryAccess().getRuleRuleParserRuleCall_0_0());  
     13324            } 
     13325 
     13326            } 
     13327 
     13328 
     13329            } 
     13330 
     13331        } 
     13332        catch (RecognitionException re) { 
     13333            reportError(re); 
     13334            recover(input,re); 
     13335        } 
     13336        finally { 
     13337            if ( state.backtracking>0 ) { memoize(input, 257, rule__DeltaEntry__RuleAssignment_0_StartIndex); } 
    1113013338 
    1113113339                restoreStackSize(stackSize); 
     
    1113813346 
    1113913347    // $ANTLR start "rule__DeltaEntry__SectionheaderAssignment_1" 
    11140     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4013:1: rule__DeltaEntry__SectionheaderAssignment_1 : ( ruleSectionHeading ) ; 
     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 ) ; 
    1114113349    public final void rule__DeltaEntry__SectionheaderAssignment_1() throws RecognitionException { 
    11142  
    11143                         int stackSize = keepStackSize(); 
    11144              
    11145         try { 
    11146             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4017:1: ( ( ruleSectionHeading ) ) 
    11147             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4018:1: ( ruleSectionHeading ) 
    11148             { 
    11149             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4018:1: ( ruleSectionHeading ) 
    11150             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4019:1: ruleSectionHeading 
    11151             { 
    11152              before(grammarAccess.getDeltaEntryAccess().getSectionheaderSectionHeadingParserRuleCall_1_0());  
    11153             pushFollow(FOLLOW_ruleSectionHeading_in_rule__DeltaEntry__SectionheaderAssignment_18140); 
     13350        int rule__DeltaEntry__SectionheaderAssignment_1_StartIndex = input.index(); 
     13351 
     13352                        int stackSize = keepStackSize(); 
     13353             
     13354        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 
     13361            { 
     13362            if ( state.backtracking==0 ) { 
     13363               before(grammarAccess.getDeltaEntryAccess().getSectionheaderSectionHeadingParserRuleCall_1_0());  
     13364            } 
     13365            pushFollow(FOLLOW_ruleSectionHeading_in_rule__DeltaEntry__SectionheaderAssignment_18642); 
    1115413366            ruleSectionHeading(); 
    1115513367 
    1115613368            state._fsp--; 
    11157  
    11158              after(grammarAccess.getDeltaEntryAccess().getSectionheaderSectionHeadingParserRuleCall_1_0());  
    11159  
    11160             } 
    11161  
    11162  
    11163             } 
    11164  
    11165         } 
    11166         catch (RecognitionException re) { 
    11167             reportError(re); 
    11168             recover(input,re); 
    11169         } 
    11170         finally { 
     13369            if (state.failed) return ; 
     13370            if ( state.backtracking==0 ) { 
     13371               after(grammarAccess.getDeltaEntryAccess().getSectionheaderSectionHeadingParserRuleCall_1_0());  
     13372            } 
     13373 
     13374            } 
     13375 
     13376 
     13377            } 
     13378 
     13379        } 
     13380        catch (RecognitionException re) { 
     13381            reportError(re); 
     13382            recover(input,re); 
     13383        } 
     13384        finally { 
     13385            if ( state.backtracking>0 ) { memoize(input, 258, rule__DeltaEntry__SectionheaderAssignment_1_StartIndex); } 
    1117113386 
    1117213387                restoreStackSize(stackSize); 
     
    1117913394 
    1118013395    // $ANTLR start "rule__DeltaEntry__ExtRuleAssignment_2" 
    11181     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4028:1: rule__DeltaEntry__ExtRuleAssignment_2 : ( ruleExtRule ) ; 
     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 ) ; 
    1118213397    public final void rule__DeltaEntry__ExtRuleAssignment_2() throws RecognitionException { 
    11183  
    11184                         int stackSize = keepStackSize(); 
    11185              
    11186         try { 
    11187             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4032:1: ( ( ruleExtRule ) ) 
    11188             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4033:1: ( ruleExtRule ) 
    11189             { 
    11190             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4033:1: ( ruleExtRule ) 
    11191             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4034:1: ruleExtRule 
    11192             { 
    11193              before(grammarAccess.getDeltaEntryAccess().getExtRuleExtRuleParserRuleCall_2_0());  
    11194             pushFollow(FOLLOW_ruleExtRule_in_rule__DeltaEntry__ExtRuleAssignment_28171); 
     13398        int rule__DeltaEntry__ExtRuleAssignment_2_StartIndex = input.index(); 
     13399 
     13400                        int stackSize = keepStackSize(); 
     13401             
     13402        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 
     13409            { 
     13410            if ( state.backtracking==0 ) { 
     13411               before(grammarAccess.getDeltaEntryAccess().getExtRuleExtRuleParserRuleCall_2_0());  
     13412            } 
     13413            pushFollow(FOLLOW_ruleExtRule_in_rule__DeltaEntry__ExtRuleAssignment_28673); 
    1119513414            ruleExtRule(); 
    1119613415 
    1119713416            state._fsp--; 
    11198  
    11199              after(grammarAccess.getDeltaEntryAccess().getExtRuleExtRuleParserRuleCall_2_0());  
    11200  
    11201             } 
    11202  
    11203  
    11204             } 
    11205  
    11206         } 
    11207         catch (RecognitionException re) { 
    11208             reportError(re); 
    11209             recover(input,re); 
    11210         } 
    11211         finally { 
     13417            if (state.failed) return ; 
     13418            if ( state.backtracking==0 ) { 
     13419               after(grammarAccess.getDeltaEntryAccess().getExtRuleExtRuleParserRuleCall_2_0());  
     13420            } 
     13421 
     13422            } 
     13423 
     13424 
     13425            } 
     13426 
     13427        } 
     13428        catch (RecognitionException re) { 
     13429            reportError(re); 
     13430            recover(input,re); 
     13431        } 
     13432        finally { 
     13433            if ( state.backtracking>0 ) { memoize(input, 259, rule__DeltaEntry__ExtRuleAssignment_2_StartIndex); } 
    1121213434 
    1121313435                restoreStackSize(stackSize); 
     
    1122013442 
    1122113443    // $ANTLR start "rule__MergeEntry__SectionheaderAssignment_0" 
    11222     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4043:1: rule__MergeEntry__SectionheaderAssignment_0 : ( ruleSectionHeading ) ; 
     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 ) ; 
    1122313445    public final void rule__MergeEntry__SectionheaderAssignment_0() throws RecognitionException { 
    11224  
    11225                         int stackSize = keepStackSize(); 
    11226              
    11227         try { 
    11228             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4047:1: ( ( ruleSectionHeading ) ) 
    11229             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4048:1: ( ruleSectionHeading ) 
    11230             { 
    11231             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4048:1: ( ruleSectionHeading ) 
    11232             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4049:1: ruleSectionHeading 
    11233             { 
    11234              before(grammarAccess.getMergeEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());  
    11235             pushFollow(FOLLOW_ruleSectionHeading_in_rule__MergeEntry__SectionheaderAssignment_08202); 
     13446        int rule__MergeEntry__SectionheaderAssignment_0_StartIndex = input.index(); 
     13447 
     13448                        int stackSize = keepStackSize(); 
     13449             
     13450        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 
     13457            { 
     13458            if ( state.backtracking==0 ) { 
     13459               before(grammarAccess.getMergeEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());  
     13460            } 
     13461            pushFollow(FOLLOW_ruleSectionHeading_in_rule__MergeEntry__SectionheaderAssignment_08704); 
    1123613462            ruleSectionHeading(); 
    1123713463 
    1123813464            state._fsp--; 
    11239  
    11240              after(grammarAccess.getMergeEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());  
    11241  
    11242             } 
    11243  
    11244  
    11245             } 
    11246  
    11247         } 
    11248         catch (RecognitionException re) { 
    11249             reportError(re); 
    11250             recover(input,re); 
    11251         } 
    11252         finally { 
     13465            if (state.failed) return ; 
     13466            if ( state.backtracking==0 ) { 
     13467               after(grammarAccess.getMergeEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());  
     13468            } 
     13469 
     13470            } 
     13471 
     13472 
     13473            } 
     13474 
     13475        } 
     13476        catch (RecognitionException re) { 
     13477            reportError(re); 
     13478            recover(input,re); 
     13479        } 
     13480        finally { 
     13481            if ( state.backtracking>0 ) { memoize(input, 260, rule__MergeEntry__SectionheaderAssignment_0_StartIndex); } 
    1125313482 
    1125413483                restoreStackSize(stackSize); 
     
    1126113490 
    1126213491    // $ANTLR start "rule__MergeEntry__MergeRuleAssignment_1" 
    11263     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4058:1: rule__MergeEntry__MergeRuleAssignment_1 : ( ruleMergeRule ) ; 
     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 ) ; 
    1126413493    public final void rule__MergeEntry__MergeRuleAssignment_1() throws RecognitionException { 
    11265  
    11266                         int stackSize = keepStackSize(); 
    11267              
    11268         try { 
    11269             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4062:1: ( ( ruleMergeRule ) ) 
    11270             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4063:1: ( ruleMergeRule ) 
    11271             { 
    11272             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4063:1: ( ruleMergeRule ) 
    11273             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4064:1: ruleMergeRule 
    11274             { 
    11275              before(grammarAccess.getMergeEntryAccess().getMergeRuleMergeRuleParserRuleCall_1_0());  
    11276             pushFollow(FOLLOW_ruleMergeRule_in_rule__MergeEntry__MergeRuleAssignment_18233); 
     13494        int rule__MergeEntry__MergeRuleAssignment_1_StartIndex = input.index(); 
     13495 
     13496                        int stackSize = keepStackSize(); 
     13497             
     13498        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 
     13505            { 
     13506            if ( state.backtracking==0 ) { 
     13507               before(grammarAccess.getMergeEntryAccess().getMergeRuleMergeRuleParserRuleCall_1_0());  
     13508            } 
     13509            pushFollow(FOLLOW_ruleMergeRule_in_rule__MergeEntry__MergeRuleAssignment_18735); 
    1127713510            ruleMergeRule(); 
    1127813511 
    1127913512            state._fsp--; 
    11280  
    11281              after(grammarAccess.getMergeEntryAccess().getMergeRuleMergeRuleParserRuleCall_1_0());  
    11282  
    11283             } 
    11284  
    11285  
    11286             } 
    11287  
    11288         } 
    11289         catch (RecognitionException re) { 
    11290             reportError(re); 
    11291             recover(input,re); 
    11292         } 
    11293         finally { 
     13513            if (state.failed) return ; 
     13514            if ( state.backtracking==0 ) { 
     13515               after(grammarAccess.getMergeEntryAccess().getMergeRuleMergeRuleParserRuleCall_1_0());  
     13516            } 
     13517 
     13518            } 
     13519 
     13520 
     13521            } 
     13522 
     13523        } 
     13524        catch (RecognitionException re) { 
     13525            reportError(re); 
     13526            recover(input,re); 
     13527        } 
     13528        finally { 
     13529            if ( state.backtracking>0 ) { memoize(input, 261, rule__MergeEntry__MergeRuleAssignment_1_StartIndex); } 
    1129413530 
    1129513531                restoreStackSize(stackSize); 
     
    1130213538 
    1130313539    // $ANTLR start "rule__SectionHeading__SectionHeaderAssignment_1" 
    11304     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4073:1: rule__SectionHeading__SectionHeaderAssignment_1 : ( RULE_SECTIONHEADER ) ; 
     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 ) ; 
    1130513541    public final void rule__SectionHeading__SectionHeaderAssignment_1() throws RecognitionException { 
    11306  
    11307                         int stackSize = keepStackSize(); 
    11308              
    11309         try { 
    11310             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4077:1: ( ( RULE_SECTIONHEADER ) ) 
    11311             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4078:1: ( RULE_SECTIONHEADER ) 
    11312             { 
    11313             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4078:1: ( RULE_SECTIONHEADER ) 
    11314             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4079:1: RULE_SECTIONHEADER 
    11315             { 
    11316              before(grammarAccess.getSectionHeadingAccess().getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0());  
    11317             match(input,RULE_SECTIONHEADER,FOLLOW_RULE_SECTIONHEADER_in_rule__SectionHeading__SectionHeaderAssignment_18264);  
    11318              after(grammarAccess.getSectionHeadingAccess().getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0());  
    11319  
    11320             } 
    11321  
    11322  
    11323             } 
    11324  
    11325         } 
    11326         catch (RecognitionException re) { 
    11327             reportError(re); 
    11328             recover(input,re); 
    11329         } 
    11330         finally { 
     13542        int rule__SectionHeading__SectionHeaderAssignment_1_StartIndex = input.index(); 
     13543 
     13544                        int stackSize = keepStackSize(); 
     13545             
     13546        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 
     13553            { 
     13554            if ( state.backtracking==0 ) { 
     13555               before(grammarAccess.getSectionHeadingAccess().getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0());  
     13556            } 
     13557            match(input,RULE_SECTIONHEADER,FOLLOW_RULE_SECTIONHEADER_in_rule__SectionHeading__SectionHeaderAssignment_18766); if (state.failed) return ; 
     13558            if ( state.backtracking==0 ) { 
     13559               after(grammarAccess.getSectionHeadingAccess().getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0());  
     13560            } 
     13561 
     13562            } 
     13563 
     13564 
     13565            } 
     13566 
     13567        } 
     13568        catch (RecognitionException re) { 
     13569            reportError(re); 
     13570            recover(input,re); 
     13571        } 
     13572        finally { 
     13573            if ( state.backtracking>0 ) { memoize(input, 262, rule__SectionHeading__SectionHeaderAssignment_1_StartIndex); } 
    1133113574 
    1133213575                restoreStackSize(stackSize); 
     
    1133913582 
    1134013583    // $ANTLR start "rule__Import__ImportURIAssignment_1" 
    11341     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4088:1: rule__Import__ImportURIAssignment_1 : ( RULE_STRING ) ; 
     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 ) ; 
    1134213585    public final void rule__Import__ImportURIAssignment_1() throws RecognitionException { 
    11343  
    11344                         int stackSize = keepStackSize(); 
    11345              
    11346         try { 
    11347             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4092:1: ( ( RULE_STRING ) ) 
    11348             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4093:1: ( RULE_STRING ) 
    11349             { 
    11350             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4093:1: ( RULE_STRING ) 
    11351             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4094:1: RULE_STRING 
    11352             { 
    11353              before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0());  
    11354             match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_18295);  
    11355              after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0());  
    11356  
    11357             } 
    11358  
    11359  
    11360             } 
    11361  
    11362         } 
    11363         catch (RecognitionException re) { 
    11364             reportError(re); 
    11365             recover(input,re); 
    11366         } 
    11367         finally { 
     13586        int rule__Import__ImportURIAssignment_1_StartIndex = input.index(); 
     13587 
     13588                        int stackSize = keepStackSize(); 
     13589             
     13590        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 
     13597            { 
     13598            if ( state.backtracking==0 ) { 
     13599               before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0());  
     13600            } 
     13601            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_18797); if (state.failed) return ; 
     13602            if ( state.backtracking==0 ) { 
     13603               after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0());  
     13604            } 
     13605 
     13606            } 
     13607 
     13608 
     13609            } 
     13610 
     13611        } 
     13612        catch (RecognitionException re) { 
     13613            reportError(re); 
     13614            recover(input,re); 
     13615        } 
     13616        finally { 
     13617            if ( state.backtracking>0 ) { memoize(input, 263, rule__Import__ImportURIAssignment_1_StartIndex); } 
    1136813618 
    1136913619                restoreStackSize(stackSize); 
     
    1137613626 
    1137713627    // $ANTLR start "rule__Import__GrammarTypeAssignment_2_1_0" 
    11378     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4103:1: rule__Import__GrammarTypeAssignment_2_1_0 : ( ( 'core' ) ) ; 
     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' ) ) ; 
    1137913629    public final void rule__Import__GrammarTypeAssignment_2_1_0() throws RecognitionException { 
    11380  
    11381                         int stackSize = keepStackSize(); 
    11382              
    11383         try { 
    11384             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4107:1: ( ( ( 'core' ) ) ) 
    11385             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4108:1: ( ( 'core' ) ) 
    11386             { 
    11387             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4108:1: ( ( 'core' ) ) 
    11388             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4109:1: ( 'core' ) 
    11389             { 
    11390              before(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
    11391             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4110:1: ( 'core' ) 
    11392             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4111:1: 'core' 
    11393             { 
    11394              before(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
    11395             match(input,37,FOLLOW_37_in_rule__Import__GrammarTypeAssignment_2_1_08331);  
    11396              after(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
    11397  
    11398             } 
    11399  
    11400              after(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
    11401  
    11402             } 
    11403  
    11404  
    11405             } 
    11406  
    11407         } 
    11408         catch (RecognitionException re) { 
    11409             reportError(re); 
    11410             recover(input,re); 
    11411         } 
    11412         finally { 
     13630        int rule__Import__GrammarTypeAssignment_2_1_0_StartIndex = input.index(); 
     13631 
     13632                        int stackSize = keepStackSize(); 
     13633             
     13634        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' ) 
     13641            { 
     13642            if ( state.backtracking==0 ) { 
     13643               before(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
     13644            } 
     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' 
     13647            { 
     13648            if ( state.backtracking==0 ) { 
     13649               before(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
     13650            } 
     13651            match(input,39,FOLLOW_39_in_rule__Import__GrammarTypeAssignment_2_1_08833); if (state.failed) return ; 
     13652            if ( state.backtracking==0 ) { 
     13653               after(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
     13654            } 
     13655 
     13656            } 
     13657 
     13658            if ( state.backtracking==0 ) { 
     13659               after(grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());  
     13660            } 
     13661 
     13662            } 
     13663 
     13664 
     13665            } 
     13666 
     13667        } 
     13668        catch (RecognitionException re) { 
     13669            reportError(re); 
     13670            recover(input,re); 
     13671        } 
     13672        finally { 
     13673            if ( state.backtracking>0 ) { memoize(input, 264, rule__Import__GrammarTypeAssignment_2_1_0_StartIndex); } 
    1141313674 
    1141413675                restoreStackSize(stackSize); 
     
    1142113682 
    1142213683    // $ANTLR start "rule__Import__GrammarTypeAssignment_2_1_1" 
    11423     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4126:1: rule__Import__GrammarTypeAssignment_2_1_1 : ( ( 'package' ) ) ; 
     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' ) ) ; 
    1142413685    public final void rule__Import__GrammarTypeAssignment_2_1_1() throws RecognitionException { 
    11425  
    11426                         int stackSize = keepStackSize(); 
    11427              
    11428         try { 
    11429             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4130:1: ( ( ( 'package' ) ) ) 
    11430             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4131:1: ( ( 'package' ) ) 
    11431             { 
    11432             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4131:1: ( ( 'package' ) ) 
    11433             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4132:1: ( 'package' ) 
    11434             { 
    11435              before(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
    11436             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4133:1: ( 'package' ) 
    11437             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4134:1: 'package' 
    11438             { 
    11439              before(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
    11440             match(input,38,FOLLOW_38_in_rule__Import__GrammarTypeAssignment_2_1_18375);  
    11441              after(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
    11442  
    11443             } 
    11444  
    11445              after(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
    11446  
    11447             } 
    11448  
    11449  
    11450             } 
    11451  
    11452         } 
    11453         catch (RecognitionException re) { 
    11454             reportError(re); 
    11455             recover(input,re); 
    11456         } 
    11457         finally { 
     13686        int rule__Import__GrammarTypeAssignment_2_1_1_StartIndex = input.index(); 
     13687 
     13688                        int stackSize = keepStackSize(); 
     13689             
     13690        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' ) 
     13697            { 
     13698            if ( state.backtracking==0 ) { 
     13699               before(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
     13700            } 
     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' 
     13703            { 
     13704            if ( state.backtracking==0 ) { 
     13705               before(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
     13706            } 
     13707            match(input,40,FOLLOW_40_in_rule__Import__GrammarTypeAssignment_2_1_18877); if (state.failed) return ; 
     13708            if ( state.backtracking==0 ) { 
     13709               after(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
     13710            } 
     13711 
     13712            } 
     13713 
     13714            if ( state.backtracking==0 ) { 
     13715               after(grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());  
     13716            } 
     13717 
     13718            } 
     13719 
     13720 
     13721            } 
     13722 
     13723        } 
     13724        catch (RecognitionException re) { 
     13725            reportError(re); 
     13726            recover(input,re); 
     13727        } 
     13728        finally { 
     13729            if ( state.backtracking>0 ) { memoize(input, 265, rule__Import__GrammarTypeAssignment_2_1_1_StartIndex); } 
    1145813730 
    1145913731                restoreStackSize(stackSize); 
     
    1146613738 
    1146713739    // $ANTLR start "rule__Import__GrammarTypeAssignment_2_1_2" 
    11468     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4149:1: rule__Import__GrammarTypeAssignment_2_1_2 : ( ( 'update' ) ) ; 
     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' ) ) ; 
    1146913741    public final void rule__Import__GrammarTypeAssignment_2_1_2() throws RecognitionException { 
    11470  
    11471                         int stackSize = keepStackSize(); 
    11472              
    11473         try { 
    11474             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4153:1: ( ( ( 'update' ) ) ) 
    11475             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4154:1: ( ( 'update' ) ) 
    11476             { 
    11477             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4154:1: ( ( 'update' ) ) 
    11478             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4155:1: ( 'update' ) 
    11479             { 
    11480              before(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
    11481             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4156:1: ( 'update' ) 
    11482             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4157:1: 'update' 
    11483             { 
    11484              before(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
    11485             match(input,39,FOLLOW_39_in_rule__Import__GrammarTypeAssignment_2_1_28419);  
    11486              after(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
    11487  
    11488             } 
    11489  
    11490              after(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
    11491  
    11492             } 
    11493  
    11494  
    11495             } 
    11496  
    11497         } 
    11498         catch (RecognitionException re) { 
    11499             reportError(re); 
    11500             recover(input,re); 
    11501         } 
    11502         finally { 
     13742        int rule__Import__GrammarTypeAssignment_2_1_2_StartIndex = input.index(); 
     13743 
     13744                        int stackSize = keepStackSize(); 
     13745             
     13746        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' ) 
     13753            { 
     13754            if ( state.backtracking==0 ) { 
     13755               before(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
     13756            } 
     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' 
     13759            { 
     13760            if ( state.backtracking==0 ) { 
     13761               before(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
     13762            } 
     13763            match(input,41,FOLLOW_41_in_rule__Import__GrammarTypeAssignment_2_1_28921); if (state.failed) return ; 
     13764            if ( state.backtracking==0 ) { 
     13765               after(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
     13766            } 
     13767 
     13768            } 
     13769 
     13770            if ( state.backtracking==0 ) { 
     13771               after(grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());  
     13772            } 
     13773 
     13774            } 
     13775 
     13776 
     13777            } 
     13778 
     13779        } 
     13780        catch (RecognitionException re) { 
     13781            reportError(re); 
     13782            recover(input,re); 
     13783        } 
     13784        finally { 
     13785            if ( state.backtracking>0 ) { memoize(input, 266, rule__Import__GrammarTypeAssignment_2_1_2_StartIndex); } 
    1150313786 
    1150413787                restoreStackSize(stackSize); 
     
    1151113794 
    1151213795    // $ANTLR start "rule__Import__LabelAssignment_3_1" 
    11513     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4172:1: rule__Import__LabelAssignment_3_1 : ( RULE_ID ) ; 
     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 ) ; 
    1151413797    public final void rule__Import__LabelAssignment_3_1() throws RecognitionException { 
    11515  
    11516                         int stackSize = keepStackSize(); 
    11517              
    11518         try { 
    11519             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4176:1: ( ( RULE_ID ) ) 
    11520             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4177:1: ( RULE_ID ) 
    11521             { 
    11522             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4177:1: ( RULE_ID ) 
    11523             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4178:1: RULE_ID 
    11524             { 
    11525              before(grammarAccess.getImportAccess().getLabelIDTerminalRuleCall_3_1_0());  
    11526             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Import__LabelAssignment_3_18458);  
    11527              after(grammarAccess.getImportAccess().getLabelIDTerminalRuleCall_3_1_0());  
    11528  
    11529             } 
    11530  
    11531  
    11532             } 
    11533  
    11534         } 
    11535         catch (RecognitionException re) { 
    11536             reportError(re); 
    11537             recover(input,re); 
    11538         } 
    11539         finally { 
     13798        int rule__Import__LabelAssignment_3_1_StartIndex = input.index(); 
     13799 
     13800                        int stackSize = keepStackSize(); 
     13801             
     13802        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 
     13809            { 
     13810            if ( state.backtracking==0 ) { 
     13811               before(grammarAccess.getImportAccess().getLabelIDTerminalRuleCall_3_1_0());  
     13812            } 
     13813            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Import__LabelAssignment_3_18960); if (state.failed) return ; 
     13814            if ( state.backtracking==0 ) { 
     13815               after(grammarAccess.getImportAccess().getLabelIDTerminalRuleCall_3_1_0());  
     13816            } 
     13817 
     13818            } 
     13819 
     13820 
     13821            } 
     13822 
     13823        } 
     13824        catch (RecognitionException re) { 
     13825            reportError(re); 
     13826            recover(input,re); 
     13827        } 
     13828        finally { 
     13829            if ( state.backtracking>0 ) { memoize(input, 267, rule__Import__LabelAssignment_3_1_StartIndex); } 
    1154013830 
    1154113831                restoreStackSize(stackSize); 
     
    1154813838 
    1154913839    // $ANTLR start "rule__Rule__RulenumberAssignment_0_0" 
    11550     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4187:1: rule__Rule__RulenumberAssignment_0_0 : ( RULE_INT ) ; 
     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 ) ; 
    1155113841    public final void rule__Rule__RulenumberAssignment_0_0() throws RecognitionException { 
    11552  
    11553                         int stackSize = keepStackSize(); 
    11554              
    11555         try { 
    11556             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4191:1: ( ( RULE_INT ) ) 
    11557             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4192:1: ( RULE_INT ) 
    11558             { 
    11559             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4192:1: ( RULE_INT ) 
    11560             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4193:1: RULE_INT 
    11561             { 
    11562              before(grammarAccess.getRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
    11563             match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Rule__RulenumberAssignment_0_08489);  
    11564              after(grammarAccess.getRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
    11565  
    11566             } 
    11567  
    11568  
    11569             } 
    11570  
    11571         } 
    11572         catch (RecognitionException re) { 
    11573             reportError(re); 
    11574             recover(input,re); 
    11575         } 
    11576         finally { 
     13842        int rule__Rule__RulenumberAssignment_0_0_StartIndex = input.index(); 
     13843 
     13844                        int stackSize = keepStackSize(); 
     13845             
     13846        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 
     13853            { 
     13854            if ( state.backtracking==0 ) { 
     13855               before(grammarAccess.getRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
     13856            } 
     13857            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Rule__RulenumberAssignment_0_08991); if (state.failed) return ; 
     13858            if ( state.backtracking==0 ) { 
     13859               after(grammarAccess.getRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
     13860            } 
     13861 
     13862            } 
     13863 
     13864 
     13865            } 
     13866 
     13867        } 
     13868        catch (RecognitionException re) { 
     13869            reportError(re); 
     13870            recover(input,re); 
     13871        } 
     13872        finally { 
     13873            if ( state.backtracking>0 ) { memoize(input, 268, rule__Rule__RulenumberAssignment_0_0_StartIndex); } 
    1157713874 
    1157813875                restoreStackSize(stackSize); 
     
    1158513882 
    1158613883    // $ANTLR start "rule__Rule__RulevariantAssignment_0_1" 
    11587     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4202:1: rule__Rule__RulevariantAssignment_0_1 : ( RULE_ID ) ; 
     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 ) ; 
    1158813885    public final void rule__Rule__RulevariantAssignment_0_1() throws RecognitionException { 
    11589  
    11590                         int stackSize = keepStackSize(); 
    11591              
    11592         try { 
    11593             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4206:1: ( ( RULE_ID ) ) 
    11594             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4207:1: ( RULE_ID ) 
    11595             { 
    11596             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4207:1: ( RULE_ID ) 
    11597             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4208:1: RULE_ID 
    11598             { 
    11599              before(grammarAccess.getRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
    11600             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Rule__RulevariantAssignment_0_18520);  
    11601              after(grammarAccess.getRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
    11602  
    11603             } 
    11604  
    11605  
    11606             } 
    11607  
    11608         } 
    11609         catch (RecognitionException re) { 
    11610             reportError(re); 
    11611             recover(input,re); 
    11612         } 
    11613         finally { 
     13886        int rule__Rule__RulevariantAssignment_0_1_StartIndex = input.index(); 
     13887 
     13888                        int stackSize = keepStackSize(); 
     13889             
     13890        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 
     13897            { 
     13898            if ( state.backtracking==0 ) { 
     13899               before(grammarAccess.getRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
     13900            } 
     13901            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Rule__RulevariantAssignment_0_19022); if (state.failed) return ; 
     13902            if ( state.backtracking==0 ) { 
     13903               after(grammarAccess.getRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
     13904            } 
     13905 
     13906            } 
     13907 
     13908 
     13909            } 
     13910 
     13911        } 
     13912        catch (RecognitionException re) { 
     13913            reportError(re); 
     13914            recover(input,re); 
     13915        } 
     13916        finally { 
     13917            if ( state.backtracking>0 ) { memoize(input, 269, rule__Rule__RulevariantAssignment_0_1_StartIndex); } 
    1161413918 
    1161513919                restoreStackSize(stackSize); 
     
    1162213926 
    1162313927    // $ANTLR start "rule__Rule__NameAssignment_1" 
    11624     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4217:1: rule__Rule__NameAssignment_1 : ( RULE_ID ) ; 
     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 ) ; 
    1162513929    public final void rule__Rule__NameAssignment_1() throws RecognitionException { 
    11626  
    11627                         int stackSize = keepStackSize(); 
    11628              
    11629         try { 
    11630             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4221:1: ( ( RULE_ID ) ) 
    11631             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4222:1: ( RULE_ID ) 
    11632             { 
    11633             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4222:1: ( RULE_ID ) 
    11634             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4223:1: RULE_ID 
    11635             { 
    11636              before(grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_1_0());  
    11637             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Rule__NameAssignment_18551);  
    11638              after(grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_1_0());  
    11639  
    11640             } 
    11641  
    11642  
    11643             } 
    11644  
    11645         } 
    11646         catch (RecognitionException re) { 
    11647             reportError(re); 
    11648             recover(input,re); 
    11649         } 
    11650         finally { 
     13930        int rule__Rule__NameAssignment_1_StartIndex = input.index(); 
     13931 
     13932                        int stackSize = keepStackSize(); 
     13933             
     13934        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 
     13941            { 
     13942            if ( state.backtracking==0 ) { 
     13943               before(grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_1_0());  
     13944            } 
     13945            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Rule__NameAssignment_19053); if (state.failed) return ; 
     13946            if ( state.backtracking==0 ) { 
     13947               after(grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_1_0());  
     13948            } 
     13949 
     13950            } 
     13951 
     13952 
     13953            } 
     13954 
     13955        } 
     13956        catch (RecognitionException re) { 
     13957            reportError(re); 
     13958            recover(input,re); 
     13959        } 
     13960        finally { 
     13961            if ( state.backtracking>0 ) { memoize(input, 270, rule__Rule__NameAssignment_1_StartIndex); } 
    1165113962 
    1165213963                restoreStackSize(stackSize); 
     
    1165913970 
    1166013971    // $ANTLR start "rule__Rule__DefinitionListAssignment_3" 
    11661     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4232:1: rule__Rule__DefinitionListAssignment_3 : ( ruleDefinitionList ) ; 
     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 ) ; 
    1166213973    public final void rule__Rule__DefinitionListAssignment_3() throws RecognitionException { 
    11663  
    11664                         int stackSize = keepStackSize(); 
    11665              
    11666         try { 
    11667             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4236:1: ( ( ruleDefinitionList ) ) 
    11668             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4237:1: ( ruleDefinitionList ) 
    11669             { 
    11670             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4237:1: ( ruleDefinitionList ) 
    11671             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4238:1: ruleDefinitionList 
    11672             { 
    11673              before(grammarAccess.getRuleAccess().getDefinitionListDefinitionListParserRuleCall_3_0());  
    11674             pushFollow(FOLLOW_ruleDefinitionList_in_rule__Rule__DefinitionListAssignment_38582); 
     13974        int rule__Rule__DefinitionListAssignment_3_StartIndex = input.index(); 
     13975 
     13976                        int stackSize = keepStackSize(); 
     13977             
     13978        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 
     13985            { 
     13986            if ( state.backtracking==0 ) { 
     13987               before(grammarAccess.getRuleAccess().getDefinitionListDefinitionListParserRuleCall_3_0());  
     13988            } 
     13989            pushFollow(FOLLOW_ruleDefinitionList_in_rule__Rule__DefinitionListAssignment_39084); 
    1167513990            ruleDefinitionList(); 
    1167613991 
    1167713992            state._fsp--; 
    11678  
    11679              after(grammarAccess.getRuleAccess().getDefinitionListDefinitionListParserRuleCall_3_0());  
    11680  
    11681             } 
    11682  
    11683  
    11684             } 
    11685  
    11686         } 
    11687         catch (RecognitionException re) { 
    11688             reportError(re); 
    11689             recover(input,re); 
    11690         } 
    11691         finally { 
     13993            if (state.failed) return ; 
     13994            if ( state.backtracking==0 ) { 
     13995               after(grammarAccess.getRuleAccess().getDefinitionListDefinitionListParserRuleCall_3_0());  
     13996            } 
     13997 
     13998            } 
     13999 
     14000 
     14001            } 
     14002 
     14003        } 
     14004        catch (RecognitionException re) { 
     14005            reportError(re); 
     14006            recover(input,re); 
     14007        } 
     14008        finally { 
     14009            if ( state.backtracking>0 ) { memoize(input, 271, rule__Rule__DefinitionListAssignment_3_StartIndex); } 
    1169214010 
    1169314011                restoreStackSize(stackSize); 
     
    1170014018 
    1170114019    // $ANTLR start "rule__ExtRule__RulenumberAssignment_0_0" 
    11702     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4247:1: rule__ExtRule__RulenumberAssignment_0_0 : ( RULE_INT ) ; 
     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 ) ; 
    1170314021    public final void rule__ExtRule__RulenumberAssignment_0_0() throws RecognitionException { 
    11704  
    11705                         int stackSize = keepStackSize(); 
    11706              
    11707         try { 
    11708             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4251:1: ( ( RULE_INT ) ) 
    11709             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4252:1: ( RULE_INT ) 
    11710             { 
    11711             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4252:1: ( RULE_INT ) 
    11712             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4253:1: RULE_INT 
    11713             { 
    11714              before(grammarAccess.getExtRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
    11715             match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ExtRule__RulenumberAssignment_0_08613);  
    11716              after(grammarAccess.getExtRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
    11717  
    11718             } 
    11719  
    11720  
    11721             } 
    11722  
    11723         } 
    11724         catch (RecognitionException re) { 
    11725             reportError(re); 
    11726             recover(input,re); 
    11727         } 
    11728         finally { 
     14022        int rule__ExtRule__RulenumberAssignment_0_0_StartIndex = input.index(); 
     14023 
     14024                        int stackSize = keepStackSize(); 
     14025             
     14026        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 
     14033            { 
     14034            if ( state.backtracking==0 ) { 
     14035               before(grammarAccess.getExtRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
     14036            } 
     14037            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ExtRule__RulenumberAssignment_0_09115); if (state.failed) return ; 
     14038            if ( state.backtracking==0 ) { 
     14039               after(grammarAccess.getExtRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());  
     14040            } 
     14041 
     14042            } 
     14043 
     14044 
     14045            } 
     14046 
     14047        } 
     14048        catch (RecognitionException re) { 
     14049            reportError(re); 
     14050            recover(input,re); 
     14051        } 
     14052        finally { 
     14053            if ( state.backtracking>0 ) { memoize(input, 272, rule__ExtRule__RulenumberAssignment_0_0_StartIndex); } 
    1172914054 
    1173014055                restoreStackSize(stackSize); 
     
    1173714062 
    1173814063    // $ANTLR start "rule__ExtRule__RulevariantAssignment_0_1" 
    11739     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4262:1: rule__ExtRule__RulevariantAssignment_0_1 : ( RULE_ID ) ; 
     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 ) ; 
    1174014065    public final void rule__ExtRule__RulevariantAssignment_0_1() throws RecognitionException { 
    11741  
    11742                         int stackSize = keepStackSize(); 
    11743              
    11744         try { 
    11745             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4266:1: ( ( RULE_ID ) ) 
    11746             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4267:1: ( RULE_ID ) 
    11747             { 
    11748             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4267:1: ( RULE_ID ) 
    11749             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4268:1: RULE_ID 
    11750             { 
    11751              before(grammarAccess.getExtRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
    11752             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExtRule__RulevariantAssignment_0_18644);  
    11753              after(grammarAccess.getExtRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
    11754  
    11755             } 
    11756  
    11757  
    11758             } 
    11759  
    11760         } 
    11761         catch (RecognitionException re) { 
    11762             reportError(re); 
    11763             recover(input,re); 
    11764         } 
    11765         finally { 
     14066        int rule__ExtRule__RulevariantAssignment_0_1_StartIndex = input.index(); 
     14067 
     14068                        int stackSize = keepStackSize(); 
     14069             
     14070        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 
     14077            { 
     14078            if ( state.backtracking==0 ) { 
     14079               before(grammarAccess.getExtRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
     14080            } 
     14081            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExtRule__RulevariantAssignment_0_19146); if (state.failed) return ; 
     14082            if ( state.backtracking==0 ) { 
     14083               after(grammarAccess.getExtRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());  
     14084            } 
     14085 
     14086            } 
     14087 
     14088 
     14089            } 
     14090 
     14091        } 
     14092        catch (RecognitionException re) { 
     14093            reportError(re); 
     14094            recover(input,re); 
     14095        } 
     14096        finally { 
     14097            if ( state.backtracking>0 ) { memoize(input, 273, rule__ExtRule__RulevariantAssignment_0_1_StartIndex); } 
    1176614098 
    1176714099                restoreStackSize(stackSize); 
     
    1177414106 
    1177514107    // $ANTLR start "rule__ExtRule__NameAssignment_1" 
    11776     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4277:1: rule__ExtRule__NameAssignment_1 : ( RULE_ID ) ; 
     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 ) ; 
    1177714109    public final void rule__ExtRule__NameAssignment_1() throws RecognitionException { 
    11778  
    11779                         int stackSize = keepStackSize(); 
    11780              
    11781         try { 
    11782             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4281:1: ( ( RULE_ID ) ) 
    11783             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4282:1: ( RULE_ID ) 
    11784             { 
    11785             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4282:1: ( RULE_ID ) 
    11786             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4283:1: RULE_ID 
    11787             { 
    11788              before(grammarAccess.getExtRuleAccess().getNameIDTerminalRuleCall_1_0());  
    11789             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExtRule__NameAssignment_18675);  
    11790              after(grammarAccess.getExtRuleAccess().getNameIDTerminalRuleCall_1_0());  
    11791  
    11792             } 
    11793  
    11794  
    11795             } 
    11796  
    11797         } 
    11798         catch (RecognitionException re) { 
    11799             reportError(re); 
    11800             recover(input,re); 
    11801         } 
    11802         finally { 
     14110        int rule__ExtRule__NameAssignment_1_StartIndex = input.index(); 
     14111 
     14112                        int stackSize = keepStackSize(); 
     14113             
     14114        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 
     14121            { 
     14122            if ( state.backtracking==0 ) { 
     14123               before(grammarAccess.getExtRuleAccess().getNameIDTerminalRuleCall_1_0());  
     14124            } 
     14125            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExtRule__NameAssignment_19177); if (state.failed) return ; 
     14126            if ( state.backtracking==0 ) { 
     14127               after(grammarAccess.getExtRuleAccess().getNameIDTerminalRuleCall_1_0());  
     14128            } 
     14129 
     14130            } 
     14131 
     14132 
     14133            } 
     14134 
     14135        } 
     14136        catch (RecognitionException re) { 
     14137            reportError(re); 
     14138            recover(input,re); 
     14139        } 
     14140        finally { 
     14141            if ( state.backtracking>0 ) { memoize(input, 274, rule__ExtRule__NameAssignment_1_StartIndex); } 
    1180314142 
    1180414143                restoreStackSize(stackSize); 
     
    1181114150 
    1181214151    // $ANTLR start "rule__ExtRule__RuleextAssignment_2_1" 
    11813     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4292:1: rule__ExtRule__RuleextAssignment_2_1 : ( RULE_INT ) ; 
     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 ) ; 
    1181414153    public final void rule__ExtRule__RuleextAssignment_2_1() throws RecognitionException { 
    11815  
    11816                         int stackSize = keepStackSize(); 
    11817              
    11818         try { 
    11819             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4296:1: ( ( RULE_INT ) ) 
    11820             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4297:1: ( RULE_INT ) 
    11821             { 
    11822             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4297:1: ( RULE_INT ) 
    11823             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4298:1: RULE_INT 
    11824             { 
    11825              before(grammarAccess.getExtRuleAccess().getRuleextINTTerminalRuleCall_2_1_0());  
    11826             match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ExtRule__RuleextAssignment_2_18706);  
    11827              after(grammarAccess.getExtRuleAccess().getRuleextINTTerminalRuleCall_2_1_0());  
    11828  
    11829             } 
    11830  
    11831  
    11832             } 
    11833  
    11834         } 
    11835         catch (RecognitionException re) { 
    11836             reportError(re); 
    11837             recover(input,re); 
    11838         } 
    11839         finally { 
     14154        int rule__ExtRule__RuleextAssignment_2_1_StartIndex = input.index(); 
     14155 
     14156                        int stackSize = keepStackSize(); 
     14157             
     14158        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 
     14165            { 
     14166            if ( state.backtracking==0 ) { 
     14167               before(grammarAccess.getExtRuleAccess().getRuleextINTTerminalRuleCall_2_1_0());  
     14168            } 
     14169            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ExtRule__RuleextAssignment_2_19208); if (state.failed) return ; 
     14170            if ( state.backtracking==0 ) { 
     14171               after(grammarAccess.getExtRuleAccess().getRuleextINTTerminalRuleCall_2_1_0());  
     14172            } 
     14173 
     14174            } 
     14175 
     14176 
     14177            } 
     14178 
     14179        } 
     14180        catch (RecognitionException re) { 
     14181            reportError(re); 
     14182            recover(input,re); 
     14183        } 
     14184        finally { 
     14185            if ( state.backtracking>0 ) { memoize(input, 275, rule__ExtRule__RuleextAssignment_2_1_StartIndex); } 
    1184014186 
    1184114187                restoreStackSize(stackSize); 
     
    1184814194 
    1184914195    // $ANTLR start "rule__ExtRule__ElementsAssignment_4_0" 
    11850     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4307:1: rule__ExtRule__ElementsAssignment_4_0 : ( ruleAtom ) ; 
     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 ) ; 
    1185114197    public final void rule__ExtRule__ElementsAssignment_4_0() throws RecognitionException { 
    11852  
    11853                         int stackSize = keepStackSize(); 
    11854              
    11855         try { 
    11856             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4311:1: ( ( ruleAtom ) ) 
    11857             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4312:1: ( ruleAtom ) 
    11858             { 
    11859             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4312:1: ( ruleAtom ) 
    11860             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4313:1: ruleAtom 
    11861             { 
    11862              before(grammarAccess.getExtRuleAccess().getElementsAtomParserRuleCall_4_0_0());  
    11863             pushFollow(FOLLOW_ruleAtom_in_rule__ExtRule__ElementsAssignment_4_08737); 
     14198        int rule__ExtRule__ElementsAssignment_4_0_StartIndex = input.index(); 
     14199 
     14200                        int stackSize = keepStackSize(); 
     14201             
     14202        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 
     14209            { 
     14210            if ( state.backtracking==0 ) { 
     14211               before(grammarAccess.getExtRuleAccess().getElementsAtomParserRuleCall_4_0_0());  
     14212            } 
     14213            pushFollow(FOLLOW_ruleAtom_in_rule__ExtRule__ElementsAssignment_4_09239); 
    1186414214            ruleAtom(); 
    1186514215 
    1186614216            state._fsp--; 
    11867  
    11868              after(grammarAccess.getExtRuleAccess().getElementsAtomParserRuleCall_4_0_0());  
    11869  
    11870             } 
    11871  
    11872  
    11873             } 
    11874  
    11875         } 
    11876         catch (RecognitionException re) { 
    11877             reportError(re); 
    11878             recover(input,re); 
    11879         } 
    11880         finally { 
     14217            if (state.failed) return ; 
     14218            if ( state.backtracking==0 ) { 
     14219               after(grammarAccess.getExtRuleAccess().getElementsAtomParserRuleCall_4_0_0());  
     14220            } 
     14221 
     14222            } 
     14223 
     14224 
     14225            } 
     14226 
     14227        } 
     14228        catch (RecognitionException re) { 
     14229            reportError(re); 
     14230            recover(input,re); 
     14231        } 
     14232        finally { 
     14233            if ( state.backtracking>0 ) { memoize(input, 276, rule__ExtRule__ElementsAssignment_4_0_StartIndex); } 
    1188114234 
    1188214235                restoreStackSize(stackSize); 
     
    1188914242 
    1189014243    // $ANTLR start "rule__GlobalCombinator__LogicAssignment_1" 
    11891     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4322:1: rule__GlobalCombinator__LogicAssignment_1 : ( RULE_LOGIC ) ; 
     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 ) ; 
    1189214245    public final void rule__GlobalCombinator__LogicAssignment_1() throws RecognitionException { 
    11893  
    11894                         int stackSize = keepStackSize(); 
    11895              
    11896         try { 
    11897             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4326:1: ( ( RULE_LOGIC ) ) 
    11898             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4327:1: ( RULE_LOGIC ) 
    11899             { 
    11900             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4327:1: ( RULE_LOGIC ) 
    11901             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4328:1: RULE_LOGIC 
    11902             { 
    11903              before(grammarAccess.getGlobalCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
    11904             match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__GlobalCombinator__LogicAssignment_18768);  
    11905              after(grammarAccess.getGlobalCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
    11906  
    11907             } 
    11908  
    11909  
    11910             } 
    11911  
    11912         } 
    11913         catch (RecognitionException re) { 
    11914             reportError(re); 
    11915             recover(input,re); 
    11916         } 
    11917         finally { 
     14246        int rule__GlobalCombinator__LogicAssignment_1_StartIndex = input.index(); 
     14247 
     14248                        int stackSize = keepStackSize(); 
     14249             
     14250        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 
     14257            { 
     14258            if ( state.backtracking==0 ) { 
     14259               before(grammarAccess.getGlobalCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
     14260            } 
     14261            match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__GlobalCombinator__LogicAssignment_19270); if (state.failed) return ; 
     14262            if ( state.backtracking==0 ) { 
     14263               after(grammarAccess.getGlobalCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
     14264            } 
     14265 
     14266            } 
     14267 
     14268 
     14269            } 
     14270 
     14271        } 
     14272        catch (RecognitionException re) { 
     14273            reportError(re); 
     14274            recover(input,re); 
     14275        } 
     14276        finally { 
     14277            if ( state.backtracking>0 ) { memoize(input, 277, rule__GlobalCombinator__LogicAssignment_1_StartIndex); } 
    1191814278 
    1191914279                restoreStackSize(stackSize); 
     
    1192614286 
    1192714287    // $ANTLR start "rule__RuleCombinator__NameAssignment_0_2" 
    11928     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4337:1: rule__RuleCombinator__NameAssignment_0_2 : ( RULE_ID ) ; 
     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 ) ; 
    1192914289    public final void rule__RuleCombinator__NameAssignment_0_2() throws RecognitionException { 
    11930  
    11931                         int stackSize = keepStackSize(); 
    11932              
    11933         try { 
    11934             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4341:1: ( ( RULE_ID ) ) 
    11935             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4342:1: ( RULE_ID ) 
    11936             { 
    11937             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4342:1: ( RULE_ID ) 
    11938             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4343:1: RULE_ID 
    11939             { 
    11940              before(grammarAccess.getRuleCombinatorAccess().getNameIDTerminalRuleCall_0_2_0());  
    11941             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleCombinator__NameAssignment_0_28799);  
    11942              after(grammarAccess.getRuleCombinatorAccess().getNameIDTerminalRuleCall_0_2_0());  
    11943  
    11944             } 
    11945  
    11946  
    11947             } 
    11948  
    11949         } 
    11950         catch (RecognitionException re) { 
    11951             reportError(re); 
    11952             recover(input,re); 
    11953         } 
    11954         finally { 
     14290        int rule__RuleCombinator__NameAssignment_0_2_StartIndex = input.index(); 
     14291 
     14292                        int stackSize = keepStackSize(); 
     14293             
     14294        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 
     14301            { 
     14302            if ( state.backtracking==0 ) { 
     14303               before(grammarAccess.getRuleCombinatorAccess().getNameIDTerminalRuleCall_0_2_0());  
     14304            } 
     14305            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleCombinator__NameAssignment_0_29301); if (state.failed) return ; 
     14306            if ( state.backtracking==0 ) { 
     14307               after(grammarAccess.getRuleCombinatorAccess().getNameIDTerminalRuleCall_0_2_0());  
     14308            } 
     14309 
     14310            } 
     14311 
     14312 
     14313            } 
     14314 
     14315        } 
     14316        catch (RecognitionException re) { 
     14317            reportError(re); 
     14318            recover(input,re); 
     14319        } 
     14320        finally { 
     14321            if ( state.backtracking>0 ) { memoize(input, 278, rule__RuleCombinator__NameAssignment_0_2_StartIndex); } 
    1195514322 
    1195614323                restoreStackSize(stackSize); 
     
    1196314330 
    1196414331    // $ANTLR start "rule__RuleCombinator__LogicAssignment_1" 
    11965     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4352:1: rule__RuleCombinator__LogicAssignment_1 : ( RULE_LOGIC ) ; 
     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 ) ; 
    1196614333    public final void rule__RuleCombinator__LogicAssignment_1() throws RecognitionException { 
    11967  
    11968                         int stackSize = keepStackSize(); 
    11969              
    11970         try { 
    11971             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4356:1: ( ( RULE_LOGIC ) ) 
    11972             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4357:1: ( RULE_LOGIC ) 
    11973             { 
    11974             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4357:1: ( RULE_LOGIC ) 
    11975             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4358:1: RULE_LOGIC 
    11976             { 
    11977              before(grammarAccess.getRuleCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
    11978             match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__RuleCombinator__LogicAssignment_18830);  
    11979              after(grammarAccess.getRuleCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
    11980  
    11981             } 
    11982  
    11983  
    11984             } 
    11985  
    11986         } 
    11987         catch (RecognitionException re) { 
    11988             reportError(re); 
    11989             recover(input,re); 
    11990         } 
    11991         finally { 
     14334        int rule__RuleCombinator__LogicAssignment_1_StartIndex = input.index(); 
     14335 
     14336                        int stackSize = keepStackSize(); 
     14337             
     14338        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 
     14345            { 
     14346            if ( state.backtracking==0 ) { 
     14347               before(grammarAccess.getRuleCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
     14348            } 
     14349            match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__RuleCombinator__LogicAssignment_19332); if (state.failed) return ; 
     14350            if ( state.backtracking==0 ) { 
     14351               after(grammarAccess.getRuleCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());  
     14352            } 
     14353 
     14354            } 
     14355 
     14356 
     14357            } 
     14358 
     14359        } 
     14360        catch (RecognitionException re) { 
     14361            reportError(re); 
     14362            recover(input,re); 
     14363        } 
     14364        finally { 
     14365            if ( state.backtracking>0 ) { memoize(input, 279, rule__RuleCombinator__LogicAssignment_1_StartIndex); } 
    1199214366 
    1199314367                restoreStackSize(stackSize); 
     
    1200014374 
    1200114375    // $ANTLR start "rule__RuleCombinator__LABELAssignment_2_1" 
    12002     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4367:1: rule__RuleCombinator__LABELAssignment_2_1 : ( RULE_STRING ) ; 
     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 ) ; 
    1200314377    public final void rule__RuleCombinator__LABELAssignment_2_1() throws RecognitionException { 
    12004  
    12005                         int stackSize = keepStackSize(); 
    12006              
    12007         try { 
    12008             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4371:1: ( ( RULE_STRING ) ) 
    12009             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4372:1: ( RULE_STRING ) 
    12010             { 
    12011             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4372:1: ( RULE_STRING ) 
    12012             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4373:1: RULE_STRING 
    12013             { 
    12014              before(grammarAccess.getRuleCombinatorAccess().getLABELSTRINGTerminalRuleCall_2_1_0());  
    12015             match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__RuleCombinator__LABELAssignment_2_18861);  
    12016              after(grammarAccess.getRuleCombinatorAccess().getLABELSTRINGTerminalRuleCall_2_1_0());  
    12017  
    12018             } 
    12019  
    12020  
    12021             } 
    12022  
    12023         } 
    12024         catch (RecognitionException re) { 
    12025             reportError(re); 
    12026             recover(input,re); 
    12027         } 
    12028         finally { 
     14378        int rule__RuleCombinator__LABELAssignment_2_1_StartIndex = input.index(); 
     14379 
     14380                        int stackSize = keepStackSize(); 
     14381             
     14382        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 
     14389            { 
     14390            if ( state.backtracking==0 ) { 
     14391               before(grammarAccess.getRuleCombinatorAccess().getLABELSTRINGTerminalRuleCall_2_1_0());  
     14392            } 
     14393            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__RuleCombinator__LABELAssignment_2_19363); if (state.failed) return ; 
     14394            if ( state.backtracking==0 ) { 
     14395               after(grammarAccess.getRuleCombinatorAccess().getLABELSTRINGTerminalRuleCall_2_1_0());  
     14396            } 
     14397 
     14398            } 
     14399 
     14400 
     14401            } 
     14402 
     14403        } 
     14404        catch (RecognitionException re) { 
     14405            reportError(re); 
     14406            recover(input,re); 
     14407        } 
     14408        finally { 
     14409            if ( state.backtracking>0 ) { memoize(input, 280, rule__RuleCombinator__LABELAssignment_2_1_StartIndex); } 
    1202914410 
    1203014411                restoreStackSize(stackSize); 
     
    1203714418 
    1203814419    // $ANTLR start "rule__HookCombinator__NameAssignment_2" 
    12039     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4382:1: rule__HookCombinator__NameAssignment_2 : ( RULE_ID ) ; 
     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 ) ; 
    1204014421    public final void rule__HookCombinator__NameAssignment_2() throws RecognitionException { 
    12041  
    12042                         int stackSize = keepStackSize(); 
    12043              
    12044         try { 
    12045             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4386:1: ( ( RULE_ID ) ) 
    12046             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4387:1: ( RULE_ID ) 
    12047             { 
    12048             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4387:1: ( RULE_ID ) 
    12049             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4388:1: RULE_ID 
    12050             { 
    12051              before(grammarAccess.getHookCombinatorAccess().getNameIDTerminalRuleCall_2_0());  
    12052             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__HookCombinator__NameAssignment_28892);  
    12053              after(grammarAccess.getHookCombinatorAccess().getNameIDTerminalRuleCall_2_0());  
    12054  
    12055             } 
    12056  
    12057  
    12058             } 
    12059  
    12060         } 
    12061         catch (RecognitionException re) { 
    12062             reportError(re); 
    12063             recover(input,re); 
    12064         } 
    12065         finally { 
     14422        int rule__HookCombinator__NameAssignment_2_StartIndex = input.index(); 
     14423 
     14424                        int stackSize = keepStackSize(); 
     14425             
     14426        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 
     14433            { 
     14434            if ( state.backtracking==0 ) { 
     14435               before(grammarAccess.getHookCombinatorAccess().getNameIDTerminalRuleCall_2_0());  
     14436            } 
     14437            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__HookCombinator__NameAssignment_29394); if (state.failed) return ; 
     14438            if ( state.backtracking==0 ) { 
     14439               after(grammarAccess.getHookCombinatorAccess().getNameIDTerminalRuleCall_2_0());  
     14440            } 
     14441 
     14442            } 
     14443 
     14444 
     14445            } 
     14446 
     14447        } 
     14448        catch (RecognitionException re) { 
     14449            reportError(re); 
     14450            recover(input,re); 
     14451        } 
     14452        finally { 
     14453            if ( state.backtracking>0 ) { memoize(input, 281, rule__HookCombinator__NameAssignment_2_StartIndex); } 
    1206614454 
    1206714455                restoreStackSize(stackSize); 
     
    1207414462 
    1207514463    // $ANTLR start "rule__HookCombinator__RuleextAssignment_4" 
    12076     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4397:1: rule__HookCombinator__RuleextAssignment_4 : ( RULE_INT ) ; 
     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 ) ; 
    1207714465    public final void rule__HookCombinator__RuleextAssignment_4() throws RecognitionException { 
    12078  
    12079                         int stackSize = keepStackSize(); 
    12080              
    12081         try { 
    12082             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4401:1: ( ( RULE_INT ) ) 
    12083             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4402:1: ( RULE_INT ) 
    12084             { 
    12085             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4402:1: ( RULE_INT ) 
    12086             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4403:1: RULE_INT 
    12087             { 
    12088              before(grammarAccess.getHookCombinatorAccess().getRuleextINTTerminalRuleCall_4_0());  
    12089             match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__HookCombinator__RuleextAssignment_48923);  
    12090              after(grammarAccess.getHookCombinatorAccess().getRuleextINTTerminalRuleCall_4_0());  
    12091  
    12092             } 
    12093  
    12094  
    12095             } 
    12096  
    12097         } 
    12098         catch (RecognitionException re) { 
    12099             reportError(re); 
    12100             recover(input,re); 
    12101         } 
    12102         finally { 
     14466        int rule__HookCombinator__RuleextAssignment_4_StartIndex = input.index(); 
     14467 
     14468                        int stackSize = keepStackSize(); 
     14469             
     14470        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 
     14477            { 
     14478            if ( state.backtracking==0 ) { 
     14479               before(grammarAccess.getHookCombinatorAccess().getRuleextINTTerminalRuleCall_4_0());  
     14480            } 
     14481            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__HookCombinator__RuleextAssignment_49425); if (state.failed) return ; 
     14482            if ( state.backtracking==0 ) { 
     14483               after(grammarAccess.getHookCombinatorAccess().getRuleextINTTerminalRuleCall_4_0());  
     14484            } 
     14485 
     14486            } 
     14487 
     14488 
     14489            } 
     14490 
     14491        } 
     14492        catch (RecognitionException re) { 
     14493            reportError(re); 
     14494            recover(input,re); 
     14495        } 
     14496        finally { 
     14497            if ( state.backtracking>0 ) { memoize(input, 282, rule__HookCombinator__RuleextAssignment_4_StartIndex); } 
    1210314498 
    1210414499                restoreStackSize(stackSize); 
     
    1211114506 
    1211214507    // $ANTLR start "rule__HookCombinator__LogicAssignment_6" 
    12113     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4412:1: rule__HookCombinator__LogicAssignment_6 : ( RULE_LOGIC ) ; 
     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 ) ; 
    1211414509    public final void rule__HookCombinator__LogicAssignment_6() throws RecognitionException { 
    12115  
    12116                         int stackSize = keepStackSize(); 
    12117              
    12118         try { 
    12119             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4416:1: ( ( RULE_LOGIC ) ) 
    12120             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4417:1: ( RULE_LOGIC ) 
    12121             { 
    12122             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4417:1: ( RULE_LOGIC ) 
    12123             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4418:1: RULE_LOGIC 
    12124             { 
    12125              before(grammarAccess.getHookCombinatorAccess().getLogicLOGICTerminalRuleCall_6_0());  
    12126             match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__HookCombinator__LogicAssignment_68954);  
    12127              after(grammarAccess.getHookCombinatorAccess().getLogicLOGICTerminalRuleCall_6_0());  
    12128  
    12129             } 
    12130  
    12131  
    12132             } 
    12133  
    12134         } 
    12135         catch (RecognitionException re) { 
    12136             reportError(re); 
    12137             recover(input,re); 
    12138         } 
    12139         finally { 
     14510        int rule__HookCombinator__LogicAssignment_6_StartIndex = input.index(); 
     14511 
     14512                        int stackSize = keepStackSize(); 
     14513             
     14514        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 
     14521            { 
     14522            if ( state.backtracking==0 ) { 
     14523               before(grammarAccess.getHookCombinatorAccess().getLogicLOGICTerminalRuleCall_6_0());  
     14524            } 
     14525            match(input,RULE_LOGIC,FOLLOW_RULE_LOGIC_in_rule__HookCombinator__LogicAssignment_69456); if (state.failed) return ; 
     14526            if ( state.backtracking==0 ) { 
     14527               after(grammarAccess.getHookCombinatorAccess().getLogicLOGICTerminalRuleCall_6_0());  
     14528            } 
     14529 
     14530            } 
     14531 
     14532 
     14533            } 
     14534 
     14535        } 
     14536        catch (RecognitionException re) { 
     14537            reportError(re); 
     14538            recover(input,re); 
     14539        } 
     14540        finally { 
     14541            if ( state.backtracking>0 ) { memoize(input, 283, rule__HookCombinator__LogicAssignment_6_StartIndex); } 
    1214014542 
    1214114543                restoreStackSize(stackSize); 
     
    1214814550 
    1214914551    // $ANTLR start "rule__HookCombinator__LABELAssignment_7_1" 
    12150     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4427:1: rule__HookCombinator__LABELAssignment_7_1 : ( RULE_STRING ) ; 
     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 ) ; 
    1215114553    public final void rule__HookCombinator__LABELAssignment_7_1() throws RecognitionException { 
    12152  
    12153                         int stackSize = keepStackSize(); 
    12154              
    12155         try { 
    12156             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4431:1: ( ( RULE_STRING ) ) 
    12157             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4432:1: ( RULE_STRING ) 
    12158             { 
    12159             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4432:1: ( RULE_STRING ) 
    12160             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4433:1: RULE_STRING 
    12161             { 
    12162              before(grammarAccess.getHookCombinatorAccess().getLABELSTRINGTerminalRuleCall_7_1_0());  
    12163             match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__HookCombinator__LABELAssignment_7_18985);  
    12164              after(grammarAccess.getHookCombinatorAccess().getLABELSTRINGTerminalRuleCall_7_1_0());  
    12165  
    12166             } 
    12167  
    12168  
    12169             } 
    12170  
    12171         } 
    12172         catch (RecognitionException re) { 
    12173             reportError(re); 
    12174             recover(input,re); 
    12175         } 
    12176         finally { 
     14554        int rule__HookCombinator__LABELAssignment_7_1_StartIndex = input.index(); 
     14555 
     14556                        int stackSize = keepStackSize(); 
     14557             
     14558        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 
     14565            { 
     14566            if ( state.backtracking==0 ) { 
     14567               before(grammarAccess.getHookCombinatorAccess().getLABELSTRINGTerminalRuleCall_7_1_0());  
     14568            } 
     14569            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__HookCombinator__LABELAssignment_7_19487); if (state.failed) return ; 
     14570            if ( state.backtracking==0 ) { 
     14571               after(grammarAccess.getHookCombinatorAccess().getLABELSTRINGTerminalRuleCall_7_1_0());  
     14572            } 
     14573 
     14574            } 
     14575 
     14576 
     14577            } 
     14578 
     14579        } 
     14580        catch (RecognitionException re) { 
     14581            reportError(re); 
     14582            recover(input,re); 
     14583        } 
     14584        finally { 
     14585            if ( state.backtracking>0 ) { memoize(input, 284, rule__HookCombinator__LABELAssignment_7_1_StartIndex); } 
    1217714586 
    1217814587                restoreStackSize(stackSize); 
     
    1218514594 
    1218614595    // $ANTLR start "rule__DefinitionList__SingleDefinitionAssignment_0" 
    12187     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4442:1: rule__DefinitionList__SingleDefinitionAssignment_0 : ( ruleSingleDefinition ) ; 
     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 ) ; 
    1218814597    public final void rule__DefinitionList__SingleDefinitionAssignment_0() throws RecognitionException { 
    12189  
    12190                         int stackSize = keepStackSize(); 
    12191              
    12192         try { 
    12193             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4446:1: ( ( ruleSingleDefinition ) ) 
    12194             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4447:1: ( ruleSingleDefinition ) 
    12195             { 
    12196             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4447:1: ( ruleSingleDefinition ) 
    12197             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4448:1: ruleSingleDefinition 
    12198             { 
    12199              before(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_0_0());  
    12200             pushFollow(FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_09016); 
     14598        int rule__DefinitionList__SingleDefinitionAssignment_0_StartIndex = input.index(); 
     14599 
     14600                        int stackSize = keepStackSize(); 
     14601             
     14602        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 
     14609            { 
     14610            if ( state.backtracking==0 ) { 
     14611               before(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_0_0());  
     14612            } 
     14613            pushFollow(FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_09518); 
    1220114614            ruleSingleDefinition(); 
    1220214615 
    1220314616            state._fsp--; 
    12204  
    12205              after(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_0_0());  
    12206  
    12207             } 
    12208  
    12209  
    12210             } 
    12211  
    12212         } 
    12213         catch (RecognitionException re) { 
    12214             reportError(re); 
    12215             recover(input,re); 
    12216         } 
    12217         finally { 
     14617            if (state.failed) return ; 
     14618            if ( state.backtracking==0 ) { 
     14619               after(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_0_0());  
     14620            } 
     14621 
     14622            } 
     14623 
     14624 
     14625            } 
     14626 
     14627        } 
     14628        catch (RecognitionException re) { 
     14629            reportError(re); 
     14630            recover(input,re); 
     14631        } 
     14632        finally { 
     14633            if ( state.backtracking>0 ) { memoize(input, 285, rule__DefinitionList__SingleDefinitionAssignment_0_StartIndex); } 
    1221814634 
    1221914635                restoreStackSize(stackSize); 
     
    1222614642 
    1222714643    // $ANTLR start "rule__DefinitionList__SingleDefinitionAssignment_1_1" 
    12228     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4457:1: rule__DefinitionList__SingleDefinitionAssignment_1_1 : ( ruleSingleDefinition ) ; 
     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 ) ; 
    1222914645    public final void rule__DefinitionList__SingleDefinitionAssignment_1_1() throws RecognitionException { 
    12230  
    12231                         int stackSize = keepStackSize(); 
    12232              
    12233         try { 
    12234             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4461:1: ( ( ruleSingleDefinition ) ) 
    12235             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4462:1: ( ruleSingleDefinition ) 
    12236             { 
    12237             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4462:1: ( ruleSingleDefinition ) 
    12238             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4463:1: ruleSingleDefinition 
    12239             { 
    12240              before(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_1_1_0());  
    12241             pushFollow(FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_1_19047); 
     14646        int rule__DefinitionList__SingleDefinitionAssignment_1_1_StartIndex = input.index(); 
     14647 
     14648                        int stackSize = keepStackSize(); 
     14649             
     14650        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 
     14657            { 
     14658            if ( state.backtracking==0 ) { 
     14659               before(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_1_1_0());  
     14660            } 
     14661            pushFollow(FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_1_19549); 
    1224214662            ruleSingleDefinition(); 
    1224314663 
    1224414664            state._fsp--; 
    12245  
    12246              after(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_1_1_0());  
    12247  
    12248             } 
    12249  
    12250  
    12251             } 
    12252  
    12253         } 
    12254         catch (RecognitionException re) { 
    12255             reportError(re); 
    12256             recover(input,re); 
    12257         } 
    12258         finally { 
     14665            if (state.failed) return ; 
     14666            if ( state.backtracking==0 ) { 
     14667               after(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_1_1_0());  
     14668            } 
     14669 
     14670            } 
     14671 
     14672 
     14673            } 
     14674 
     14675        } 
     14676        catch (RecognitionException re) { 
     14677            reportError(re); 
     14678            recover(input,re); 
     14679        } 
     14680        finally { 
     14681            if ( state.backtracking>0 ) { memoize(input, 286, rule__DefinitionList__SingleDefinitionAssignment_1_1_StartIndex); } 
    1225914682 
    1226014683                restoreStackSize(stackSize); 
     
    1226714690 
    1226814691    // $ANTLR start "rule__SingleDefinition__TermsAssignment" 
    12269     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4472:1: rule__SingleDefinition__TermsAssignment : ( ruleTerm ) ; 
     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 ) ; 
    1227014693    public final void rule__SingleDefinition__TermsAssignment() throws RecognitionException { 
    12271  
    12272                         int stackSize = keepStackSize(); 
    12273              
    12274         try { 
    12275             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4476:1: ( ( ruleTerm ) ) 
    12276             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4477:1: ( ruleTerm ) 
    12277             { 
    12278             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4477:1: ( ruleTerm ) 
    12279             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4478:1: ruleTerm 
    12280             { 
    12281              before(grammarAccess.getSingleDefinitionAccess().getTermsTermParserRuleCall_0());  
    12282             pushFollow(FOLLOW_ruleTerm_in_rule__SingleDefinition__TermsAssignment9078); 
     14694        int rule__SingleDefinition__TermsAssignment_StartIndex = input.index(); 
     14695 
     14696                        int stackSize = keepStackSize(); 
     14697             
     14698        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 
     14705            { 
     14706            if ( state.backtracking==0 ) { 
     14707               before(grammarAccess.getSingleDefinitionAccess().getTermsTermParserRuleCall_0());  
     14708            } 
     14709            pushFollow(FOLLOW_ruleTerm_in_rule__SingleDefinition__TermsAssignment9580); 
    1228314710            ruleTerm(); 
    1228414711 
    1228514712            state._fsp--; 
    12286  
    12287              after(grammarAccess.getSingleDefinitionAccess().getTermsTermParserRuleCall_0());  
    12288  
    12289             } 
    12290  
    12291  
    12292             } 
    12293  
    12294         } 
    12295         catch (RecognitionException re) { 
    12296             reportError(re); 
    12297             recover(input,re); 
    12298         } 
    12299         finally { 
     14713            if (state.failed) return ; 
     14714            if ( state.backtracking==0 ) { 
     14715               after(grammarAccess.getSingleDefinitionAccess().getTermsTermParserRuleCall_0());  
     14716            } 
     14717 
     14718            } 
     14719 
     14720 
     14721            } 
     14722 
     14723        } 
     14724        catch (RecognitionException re) { 
     14725            reportError(re); 
     14726            recover(input,re); 
     14727        } 
     14728        finally { 
     14729            if ( state.backtracking>0 ) { memoize(input, 287, rule__SingleDefinition__TermsAssignment_StartIndex); } 
    1230014730 
    1230114731                restoreStackSize(stackSize); 
     
    1230814738 
    1230914739    // $ANTLR start "rule__Term__TermAtomAssignment_0" 
    12310     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4487:1: rule__Term__TermAtomAssignment_0 : ( ruleAtom ) ; 
     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 ) ; 
    1231114741    public final void rule__Term__TermAtomAssignment_0() throws RecognitionException { 
    12312  
    12313                         int stackSize = keepStackSize(); 
    12314              
    12315         try { 
    12316             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4491:1: ( ( ruleAtom ) ) 
    12317             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4492:1: ( ruleAtom ) 
    12318             { 
    12319             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4492:1: ( ruleAtom ) 
    12320             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4493:1: ruleAtom 
    12321             { 
    12322              before(grammarAccess.getTermAccess().getTermAtomAtomParserRuleCall_0_0());  
    12323             pushFollow(FOLLOW_ruleAtom_in_rule__Term__TermAtomAssignment_09109); 
     14742        int rule__Term__TermAtomAssignment_0_StartIndex = input.index(); 
     14743 
     14744                        int stackSize = keepStackSize(); 
     14745             
     14746        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 
     14753            { 
     14754            if ( state.backtracking==0 ) { 
     14755               before(grammarAccess.getTermAccess().getTermAtomAtomParserRuleCall_0_0());  
     14756            } 
     14757            pushFollow(FOLLOW_ruleAtom_in_rule__Term__TermAtomAssignment_09611); 
    1232414758            ruleAtom(); 
    1232514759 
    1232614760            state._fsp--; 
    12327  
    12328              after(grammarAccess.getTermAccess().getTermAtomAtomParserRuleCall_0_0());  
    12329  
    12330             } 
    12331  
    12332  
    12333             } 
    12334  
    12335         } 
    12336         catch (RecognitionException re) { 
    12337             reportError(re); 
    12338             recover(input,re); 
    12339         } 
    12340         finally { 
     14761            if (state.failed) return ; 
     14762            if ( state.backtracking==0 ) { 
     14763               after(grammarAccess.getTermAccess().getTermAtomAtomParserRuleCall_0_0());  
     14764            } 
     14765 
     14766            } 
     14767 
     14768 
     14769            } 
     14770 
     14771        } 
     14772        catch (RecognitionException re) { 
     14773            reportError(re); 
     14774            recover(input,re); 
     14775        } 
     14776        finally { 
     14777            if ( state.backtracking>0 ) { memoize(input, 288, rule__Term__TermAtomAssignment_0_StartIndex); } 
    1234114778 
    1234214779                restoreStackSize(stackSize); 
     
    1234914786 
    1235014787    // $ANTLR start "rule__Term__TermGroupedSequenceAssignment_1" 
    12351     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4502:1: rule__Term__TermGroupedSequenceAssignment_1 : ( ruleGroupedSequence ) ; 
     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 ) ; 
    1235214789    public final void rule__Term__TermGroupedSequenceAssignment_1() throws RecognitionException { 
    12353  
    12354                         int stackSize = keepStackSize(); 
    12355              
    12356         try { 
    12357             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4506:1: ( ( ruleGroupedSequence ) ) 
    12358             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4507:1: ( ruleGroupedSequence ) 
    12359             { 
    12360             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4507:1: ( ruleGroupedSequence ) 
    12361             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4508:1: ruleGroupedSequence 
    12362             { 
    12363              before(grammarAccess.getTermAccess().getTermGroupedSequenceGroupedSequenceParserRuleCall_1_0());  
    12364             pushFollow(FOLLOW_ruleGroupedSequence_in_rule__Term__TermGroupedSequenceAssignment_19140); 
     14790        int rule__Term__TermGroupedSequenceAssignment_1_StartIndex = input.index(); 
     14791 
     14792                        int stackSize = keepStackSize(); 
     14793             
     14794        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 
     14801            { 
     14802            if ( state.backtracking==0 ) { 
     14803               before(grammarAccess.getTermAccess().getTermGroupedSequenceGroupedSequenceParserRuleCall_1_0());  
     14804            } 
     14805            pushFollow(FOLLOW_ruleGroupedSequence_in_rule__Term__TermGroupedSequenceAssignment_19642); 
    1236514806            ruleGroupedSequence(); 
    1236614807 
    1236714808            state._fsp--; 
    12368  
    12369              after(grammarAccess.getTermAccess().getTermGroupedSequenceGroupedSequenceParserRuleCall_1_0());  
    12370  
    12371             } 
    12372  
    12373  
    12374             } 
    12375  
    12376         } 
    12377         catch (RecognitionException re) { 
    12378             reportError(re); 
    12379             recover(input,re); 
    12380         } 
    12381         finally { 
     14809            if (state.failed) return ; 
     14810            if ( state.backtracking==0 ) { 
     14811               after(grammarAccess.getTermAccess().getTermGroupedSequenceGroupedSequenceParserRuleCall_1_0());  
     14812            } 
     14813 
     14814            } 
     14815 
     14816 
     14817            } 
     14818 
     14819        } 
     14820        catch (RecognitionException re) { 
     14821            reportError(re); 
     14822            recover(input,re); 
     14823        } 
     14824        finally { 
     14825            if ( state.backtracking>0 ) { memoize(input, 289, rule__Term__TermGroupedSequenceAssignment_1_StartIndex); } 
    1238214826 
    1238314827                restoreStackSize(stackSize); 
     
    1239014834 
    1239114835    // $ANTLR start "rule__Term__TermOptionalSequenceAssignment_2" 
    12392     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4517:1: rule__Term__TermOptionalSequenceAssignment_2 : ( ruleOptionalSequence ) ; 
     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 ) ; 
    1239314837    public final void rule__Term__TermOptionalSequenceAssignment_2() throws RecognitionException { 
    12394  
    12395                         int stackSize = keepStackSize(); 
    12396              
    12397         try { 
    12398             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4521:1: ( ( ruleOptionalSequence ) ) 
    12399             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4522:1: ( ruleOptionalSequence ) 
    12400             { 
    12401             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4522:1: ( ruleOptionalSequence ) 
    12402             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4523:1: ruleOptionalSequence 
    12403             { 
    12404              before(grammarAccess.getTermAccess().getTermOptionalSequenceOptionalSequenceParserRuleCall_2_0());  
    12405             pushFollow(FOLLOW_ruleOptionalSequence_in_rule__Term__TermOptionalSequenceAssignment_29171); 
     14838        int rule__Term__TermOptionalSequenceAssignment_2_StartIndex = input.index(); 
     14839 
     14840                        int stackSize = keepStackSize(); 
     14841             
     14842        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 
     14849            { 
     14850            if ( state.backtracking==0 ) { 
     14851               before(grammarAccess.getTermAccess().getTermOptionalSequenceOptionalSequenceParserRuleCall_2_0());  
     14852            } 
     14853            pushFollow(FOLLOW_ruleOptionalSequence_in_rule__Term__TermOptionalSequenceAssignment_29673); 
    1240614854            ruleOptionalSequence(); 
    1240714855 
    1240814856            state._fsp--; 
    12409  
    12410              after(grammarAccess.getTermAccess().getTermOptionalSequenceOptionalSequenceParserRuleCall_2_0());  
    12411  
    12412             } 
    12413  
    12414  
    12415             } 
    12416  
    12417         } 
    12418         catch (RecognitionException re) { 
    12419             reportError(re); 
    12420             recover(input,re); 
    12421         } 
    12422         finally { 
     14857            if (state.failed) return ; 
     14858            if ( state.backtracking==0 ) { 
     14859               after(grammarAccess.getTermAccess().getTermOptionalSequenceOptionalSequenceParserRuleCall_2_0());  
     14860            } 
     14861 
     14862            } 
     14863 
     14864 
     14865            } 
     14866 
     14867        } 
     14868        catch (RecognitionException re) { 
     14869            reportError(re); 
     14870            recover(input,re); 
     14871        } 
     14872        finally { 
     14873            if ( state.backtracking>0 ) { memoize(input, 290, rule__Term__TermOptionalSequenceAssignment_2_StartIndex); } 
    1242314874 
    1242414875                restoreStackSize(stackSize); 
     
    1243114882 
    1243214883    // $ANTLR start "rule__Term__TermRepeatedSequenceAssignment_3" 
    12433     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4532:1: rule__Term__TermRepeatedSequenceAssignment_3 : ( ruleRepeatedSequence ) ; 
     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 ) ; 
    1243414885    public final void rule__Term__TermRepeatedSequenceAssignment_3() throws RecognitionException { 
    12435  
    12436                         int stackSize = keepStackSize(); 
    12437              
    12438         try { 
    12439             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4536:1: ( ( ruleRepeatedSequence ) ) 
    12440             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4537:1: ( ruleRepeatedSequence ) 
    12441             { 
    12442             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4537:1: ( ruleRepeatedSequence ) 
    12443             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4538:1: ruleRepeatedSequence 
    12444             { 
    12445              before(grammarAccess.getTermAccess().getTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0());  
    12446             pushFollow(FOLLOW_ruleRepeatedSequence_in_rule__Term__TermRepeatedSequenceAssignment_39202); 
     14886        int rule__Term__TermRepeatedSequenceAssignment_3_StartIndex = input.index(); 
     14887 
     14888                        int stackSize = keepStackSize(); 
     14889             
     14890        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 
     14897            { 
     14898            if ( state.backtracking==0 ) { 
     14899               before(grammarAccess.getTermAccess().getTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0());  
     14900            } 
     14901            pushFollow(FOLLOW_ruleRepeatedSequence_in_rule__Term__TermRepeatedSequenceAssignment_39704); 
    1244714902            ruleRepeatedSequence(); 
    1244814903 
    1244914904            state._fsp--; 
    12450  
    12451              after(grammarAccess.getTermAccess().getTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0());  
    12452  
    12453             } 
    12454  
    12455  
    12456             } 
    12457  
    12458         } 
    12459         catch (RecognitionException re) { 
    12460             reportError(re); 
    12461             recover(input,re); 
    12462         } 
    12463         finally { 
     14905            if (state.failed) return ; 
     14906            if ( state.backtracking==0 ) { 
     14907               after(grammarAccess.getTermAccess().getTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0());  
     14908            } 
     14909 
     14910            } 
     14911 
     14912 
     14913            } 
     14914 
     14915        } 
     14916        catch (RecognitionException re) { 
     14917            reportError(re); 
     14918            recover(input,re); 
     14919        } 
     14920        finally { 
     14921            if ( state.backtracking>0 ) { memoize(input, 291, rule__Term__TermRepeatedSequenceAssignment_3_StartIndex); } 
    1246414922 
    1246514923                restoreStackSize(stackSize); 
     
    1247214930 
    1247314931    // $ANTLR start "rule__Atom__AtomStringRuleAssignment_0" 
    12474     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4547:1: rule__Atom__AtomStringRuleAssignment_0 : ( ruleStringRule ) ; 
     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 ) ; 
    1247514933    public final void rule__Atom__AtomStringRuleAssignment_0() throws RecognitionException { 
    12476  
    12477                         int stackSize = keepStackSize(); 
    12478              
    12479         try { 
    12480             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4551:1: ( ( ruleStringRule ) ) 
    12481             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4552:1: ( ruleStringRule ) 
    12482             { 
    12483             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4552:1: ( ruleStringRule ) 
    12484             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4553:1: ruleStringRule 
    12485             { 
    12486              before(grammarAccess.getAtomAccess().getAtomStringRuleStringRuleParserRuleCall_0_0());  
    12487             pushFollow(FOLLOW_ruleStringRule_in_rule__Atom__AtomStringRuleAssignment_09233); 
     14934        int rule__Atom__AtomStringRuleAssignment_0_StartIndex = input.index(); 
     14935 
     14936                        int stackSize = keepStackSize(); 
     14937             
     14938        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 
     14945            { 
     14946            if ( state.backtracking==0 ) { 
     14947               before(grammarAccess.getAtomAccess().getAtomStringRuleStringRuleParserRuleCall_0_0());  
     14948            } 
     14949            pushFollow(FOLLOW_ruleStringRule_in_rule__Atom__AtomStringRuleAssignment_09735); 
    1248814950            ruleStringRule(); 
    1248914951 
    1249014952            state._fsp--; 
    12491  
    12492              after(grammarAccess.getAtomAccess().getAtomStringRuleStringRuleParserRuleCall_0_0());  
    12493  
    12494             } 
    12495  
    12496  
    12497             } 
    12498  
    12499         } 
    12500         catch (RecognitionException re) { 
    12501             reportError(re); 
    12502             recover(input,re); 
    12503         } 
    12504         finally { 
     14953            if (state.failed) return ; 
     14954            if ( state.backtracking==0 ) { 
     14955               after(grammarAccess.getAtomAccess().getAtomStringRuleStringRuleParserRuleCall_0_0());  
     14956            } 
     14957 
     14958            } 
     14959 
     14960 
     14961            } 
     14962 
     14963        } 
     14964        catch (RecognitionException re) { 
     14965            reportError(re); 
     14966            recover(input,re); 
     14967        } 
     14968        finally { 
     14969            if ( state.backtracking>0 ) { memoize(input, 292, rule__Atom__AtomStringRuleAssignment_0_StartIndex); } 
    1250514970 
    1250614971                restoreStackSize(stackSize); 
     
    1251314978 
    1251414979    // $ANTLR start "rule__Atom__AtomRuleReferenceAssignment_1" 
    12515     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4562:1: rule__Atom__AtomRuleReferenceAssignment_1 : ( ruleRuleReference ) ; 
     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 ) ; 
    1251614981    public final void rule__Atom__AtomRuleReferenceAssignment_1() throws RecognitionException { 
    12517  
    12518                         int stackSize = keepStackSize(); 
    12519              
    12520         try { 
    12521             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4566:1: ( ( ruleRuleReference ) ) 
    12522             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4567:1: ( ruleRuleReference ) 
    12523             { 
    12524             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4567:1: ( ruleRuleReference ) 
    12525             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4568:1: ruleRuleReference 
    12526             { 
    12527              before(grammarAccess.getAtomAccess().getAtomRuleReferenceRuleReferenceParserRuleCall_1_0());  
    12528             pushFollow(FOLLOW_ruleRuleReference_in_rule__Atom__AtomRuleReferenceAssignment_19264); 
     14982        int rule__Atom__AtomRuleReferenceAssignment_1_StartIndex = input.index(); 
     14983 
     14984                        int stackSize = keepStackSize(); 
     14985             
     14986        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 
     14993            { 
     14994            if ( state.backtracking==0 ) { 
     14995               before(grammarAccess.getAtomAccess().getAtomRuleReferenceRuleReferenceParserRuleCall_1_0());  
     14996            } 
     14997            pushFollow(FOLLOW_ruleRuleReference_in_rule__Atom__AtomRuleReferenceAssignment_19766); 
    1252914998            ruleRuleReference(); 
    1253014999 
    1253115000            state._fsp--; 
    12532  
    12533              after(grammarAccess.getAtomAccess().getAtomRuleReferenceRuleReferenceParserRuleCall_1_0());  
    12534  
    12535             } 
    12536  
    12537  
    12538             } 
    12539  
    12540         } 
    12541         catch (RecognitionException re) { 
    12542             reportError(re); 
    12543             recover(input,re); 
    12544         } 
    12545         finally { 
     15001            if (state.failed) return ; 
     15002            if ( state.backtracking==0 ) { 
     15003               after(grammarAccess.getAtomAccess().getAtomRuleReferenceRuleReferenceParserRuleCall_1_0());  
     15004            } 
     15005 
     15006            } 
     15007 
     15008 
     15009            } 
     15010 
     15011        } 
     15012        catch (RecognitionException re) { 
     15013            reportError(re); 
     15014            recover(input,re); 
     15015        } 
     15016        finally { 
     15017            if ( state.backtracking>0 ) { memoize(input, 293, rule__Atom__AtomRuleReferenceAssignment_1_StartIndex); } 
    1254615018 
    1254715019                restoreStackSize(stackSize); 
     
    1255415026 
    1255515027    // $ANTLR start "rule__RuleReference__RulerefAssignment" 
    12556     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4577:1: rule__RuleReference__RulerefAssignment : ( ( RULE_ID ) ) ; 
     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 ) ) ; 
    1255715029    public final void rule__RuleReference__RulerefAssignment() throws RecognitionException { 
    12558  
    12559                         int stackSize = keepStackSize(); 
    12560              
    12561         try { 
    12562             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4581:1: ( ( ( RULE_ID ) ) ) 
    12563             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4582:1: ( ( RULE_ID ) ) 
    12564             { 
    12565             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4582:1: ( ( RULE_ID ) ) 
    12566             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4583:1: ( RULE_ID ) 
    12567             { 
    12568              before(grammarAccess.getRuleReferenceAccess().getRulerefRuleCrossReference_0());  
    12569             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4584:1: ( RULE_ID ) 
    12570             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4585:1: RULE_ID 
    12571             { 
    12572              before(grammarAccess.getRuleReferenceAccess().getRulerefRuleIDTerminalRuleCall_0_1());  
    12573             match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleReference__RulerefAssignment9299);  
    12574              after(grammarAccess.getRuleReferenceAccess().getRulerefRuleIDTerminalRuleCall_0_1());  
    12575  
    12576             } 
    12577  
    12578              after(grammarAccess.getRuleReferenceAccess().getRulerefRuleCrossReference_0());  
    12579  
    12580             } 
    12581  
    12582  
    12583             } 
    12584  
    12585         } 
    12586         catch (RecognitionException re) { 
    12587             reportError(re); 
    12588             recover(input,re); 
    12589         } 
    12590         finally { 
     15030        int rule__RuleReference__RulerefAssignment_StartIndex = input.index(); 
     15031 
     15032                        int stackSize = keepStackSize(); 
     15033             
     15034        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 ) 
     15041            { 
     15042            if ( state.backtracking==0 ) { 
     15043               before(grammarAccess.getRuleReferenceAccess().getRulerefRuleCrossReference_0());  
     15044            } 
     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 
     15047            { 
     15048            if ( state.backtracking==0 ) { 
     15049               before(grammarAccess.getRuleReferenceAccess().getRulerefRuleIDTerminalRuleCall_0_1());  
     15050            } 
     15051            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleReference__RulerefAssignment9801); if (state.failed) return ; 
     15052            if ( state.backtracking==0 ) { 
     15053               after(grammarAccess.getRuleReferenceAccess().getRulerefRuleIDTerminalRuleCall_0_1());  
     15054            } 
     15055 
     15056            } 
     15057 
     15058            if ( state.backtracking==0 ) { 
     15059               after(grammarAccess.getRuleReferenceAccess().getRulerefRuleCrossReference_0());  
     15060            } 
     15061 
     15062            } 
     15063 
     15064 
     15065            } 
     15066 
     15067        } 
     15068        catch (RecognitionException re) { 
     15069            reportError(re); 
     15070            recover(input,re); 
     15071        } 
     15072        finally { 
     15073            if ( state.backtracking>0 ) { memoize(input, 294, rule__RuleReference__RulerefAssignment_StartIndex); } 
    1259115074 
    1259215075                restoreStackSize(stackSize); 
     
    1259915082 
    1260015083    // $ANTLR start "rule__StringRule__LiteralAssignment_0" 
    12601     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4596:1: rule__StringRule__LiteralAssignment_0 : ( RULE_STRING ) ; 
     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 ) ; 
    1260215085    public final void rule__StringRule__LiteralAssignment_0() throws RecognitionException { 
    12603  
    12604                         int stackSize = keepStackSize(); 
    12605              
    12606         try { 
    12607             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4600:1: ( ( RULE_STRING ) ) 
    12608             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4601:1: ( RULE_STRING ) 
    12609             { 
    12610             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4601:1: ( RULE_STRING ) 
    12611             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4602:1: RULE_STRING 
    12612             { 
    12613              before(grammarAccess.getStringRuleAccess().getLiteralSTRINGTerminalRuleCall_0_0());  
    12614             match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringRule__LiteralAssignment_09334);  
    12615              after(grammarAccess.getStringRuleAccess().getLiteralSTRINGTerminalRuleCall_0_0());  
    12616  
    12617             } 
    12618  
    12619  
    12620             } 
    12621  
    12622         } 
    12623         catch (RecognitionException re) { 
    12624             reportError(re); 
    12625             recover(input,re); 
    12626         } 
    12627         finally { 
     15086        int rule__StringRule__LiteralAssignment_0_StartIndex = input.index(); 
     15087 
     15088                        int stackSize = keepStackSize(); 
     15089             
     15090        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 
     15097            { 
     15098            if ( state.backtracking==0 ) { 
     15099               before(grammarAccess.getStringRuleAccess().getLiteralSTRINGTerminalRuleCall_0_0());  
     15100            } 
     15101            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringRule__LiteralAssignment_09836); if (state.failed) return ; 
     15102            if ( state.backtracking==0 ) { 
     15103               after(grammarAccess.getStringRuleAccess().getLiteralSTRINGTerminalRuleCall_0_0());  
     15104            } 
     15105 
     15106            } 
     15107 
     15108 
     15109            } 
     15110 
     15111        } 
     15112        catch (RecognitionException re) { 
     15113            reportError(re); 
     15114            recover(input,re); 
     15115        } 
     15116        finally { 
     15117            if ( state.backtracking>0 ) { memoize(input, 295, rule__StringRule__LiteralAssignment_0_StartIndex); } 
    1262815118 
    1262915119                restoreStackSize(stackSize); 
     
    1263615126 
    1263715127    // $ANTLR start "rule__StringRule__ColonAssignment_1" 
    12638     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4611:1: rule__StringRule__ColonAssignment_1 : ( RULE_COLON ) ; 
     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 ) ; 
    1263915129    public final void rule__StringRule__ColonAssignment_1() throws RecognitionException { 
    12640  
    12641                         int stackSize = keepStackSize(); 
    12642              
    12643         try { 
    12644             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4615:1: ( ( RULE_COLON ) ) 
    12645             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4616:1: ( RULE_COLON ) 
    12646             { 
    12647             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4616:1: ( RULE_COLON ) 
    12648             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4617:1: RULE_COLON 
    12649             { 
    12650              before(grammarAccess.getStringRuleAccess().getColonCOLONTerminalRuleCall_1_0());  
    12651             match(input,RULE_COLON,FOLLOW_RULE_COLON_in_rule__StringRule__ColonAssignment_19365);  
    12652              after(grammarAccess.getStringRuleAccess().getColonCOLONTerminalRuleCall_1_0());  
    12653  
    12654             } 
    12655  
    12656  
    12657             } 
    12658  
    12659         } 
    12660         catch (RecognitionException re) { 
    12661             reportError(re); 
    12662             recover(input,re); 
    12663         } 
    12664         finally { 
     15130        int rule__StringRule__ColonAssignment_1_StartIndex = input.index(); 
     15131 
     15132                        int stackSize = keepStackSize(); 
     15133             
     15134        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 
     15141            { 
     15142            if ( state.backtracking==0 ) { 
     15143               before(grammarAccess.getStringRuleAccess().getColonCOLONTerminalRuleCall_1_0());  
     15144            } 
     15145            match(input,RULE_COLON,FOLLOW_RULE_COLON_in_rule__StringRule__ColonAssignment_19867); if (state.failed) return ; 
     15146            if ( state.backtracking==0 ) { 
     15147               after(grammarAccess.getStringRuleAccess().getColonCOLONTerminalRuleCall_1_0());  
     15148            } 
     15149 
     15150            } 
     15151 
     15152 
     15153            } 
     15154 
     15155        } 
     15156        catch (RecognitionException re) { 
     15157            reportError(re); 
     15158            recover(input,re); 
     15159        } 
     15160        finally { 
     15161            if ( state.backtracking>0 ) { memoize(input, 296, rule__StringRule__ColonAssignment_1_StartIndex); } 
    1266515162 
    1266615163                restoreStackSize(stackSize); 
     
    1267315170 
    1267415171    // $ANTLR start "rule__GroupedSequence__DefinitionListAssignment_1" 
    12675     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4626:1: rule__GroupedSequence__DefinitionListAssignment_1 : ( ruleDefinitionList ) ; 
     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 ) ; 
    1267615173    public final void rule__GroupedSequence__DefinitionListAssignment_1() throws RecognitionException { 
    12677  
    12678                         int stackSize = keepStackSize(); 
    12679              
    12680         try { 
    12681             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4630:1: ( ( ruleDefinitionList ) ) 
    12682             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4631:1: ( ruleDefinitionList ) 
    12683             { 
    12684             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4631:1: ( ruleDefinitionList ) 
    12685             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4632:1: ruleDefinitionList 
    12686             { 
    12687              before(grammarAccess.getGroupedSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());  
    12688             pushFollow(FOLLOW_ruleDefinitionList_in_rule__GroupedSequence__DefinitionListAssignment_19396); 
     15174        int rule__GroupedSequence__DefinitionListAssignment_1_StartIndex = input.index(); 
     15175 
     15176                        int stackSize = keepStackSize(); 
     15177             
     15178        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 
     15185            { 
     15186            if ( state.backtracking==0 ) { 
     15187               before(grammarAccess.getGroupedSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());  
     15188            } 
     15189            pushFollow(FOLLOW_ruleDefinitionList_in_rule__GroupedSequence__DefinitionListAssignment_19898); 
    1268915190            ruleDefinitionList(); 
    1269015191 
    1269115192            state._fsp--; 
    12692  
    12693              after(grammarAccess.getGroupedSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());  
    12694  
    12695             } 
    12696  
    12697  
    12698             } 
    12699  
    12700         } 
    12701         catch (RecognitionException re) { 
    12702             reportError(re); 
    12703             recover(input,re); 
    12704         } 
    12705         finally { 
     15193            if (state.failed) return ; 
     15194            if ( state.backtracking==0 ) { 
     15195               after(grammarAccess.getGroupedSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());  
     15196            } 
     15197 
     15198            } 
     15199 
     15200 
     15201            } 
     15202 
     15203        } 
     15204        catch (RecognitionException re) { 
     15205            reportError(re); 
     15206            recover(input,re); 
     15207        } 
     15208        finally { 
     15209            if ( state.backtracking>0 ) { memoize(input, 297, rule__GroupedSequence__DefinitionListAssignment_1_StartIndex); } 
    1270615210 
    1270715211                restoreStackSize(stackSize); 
     
    1271415218 
    1271515219    // $ANTLR start "rule__OptionalSequence__DefinitionListAssignment_1" 
    12716     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4641:1: rule__OptionalSequence__DefinitionListAssignment_1 : ( ruleDefinitionList ) ; 
     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 ) ; 
    1271715221    public final void rule__OptionalSequence__DefinitionListAssignment_1() throws RecognitionException { 
    12718  
    12719                         int stackSize = keepStackSize(); 
    12720              
    12721         try { 
    12722             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4645:1: ( ( ruleDefinitionList ) ) 
    12723             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4646:1: ( ruleDefinitionList ) 
    12724             { 
    12725             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4646:1: ( ruleDefinitionList ) 
    12726             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4647:1: ruleDefinitionList 
    12727             { 
    12728              before(grammarAccess.getOptionalSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());  
    12729             pushFollow(FOLLOW_ruleDefinitionList_in_rule__OptionalSequence__DefinitionListAssignment_19427); 
     15222        int rule__OptionalSequence__DefinitionListAssignment_1_StartIndex = input.index(); 
     15223 
     15224                        int stackSize = keepStackSize(); 
     15225             
     15226        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 
     15233            { 
     15234            if ( state.backtracking==0 ) { 
     15235               before(grammarAccess.getOptionalSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());  
     15236            } 
     15237            pushFollow(FOLLOW_ruleDefinitionList_in_rule__OptionalSequence__DefinitionListAssignment_19929); 
    1273015238            ruleDefinitionList(); 
    1273115239 
    1273215240            state._fsp--; 
    12733  
    12734              after(grammarAccess.getOptionalSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());  
    12735  
    12736             } 
    12737  
    12738  
    12739             } 
    12740  
    12741         } 
    12742         catch (RecognitionException re) { 
    12743             reportError(re); 
    12744             recover(input,re); 
    12745         } 
    12746         finally { 
     15241            if (state.failed) return ; 
     15242            if ( state.backtracking==0 ) { 
     15243               after(grammarAccess.getOptionalSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());  
     15244            } 
     15245 
     15246            } 
     15247 
     15248 
     15249            } 
     15250 
     15251        } 
     15252        catch (RecognitionException re) { 
     15253            reportError(re); 
     15254            recover(input,re); 
     15255        } 
     15256        finally { 
     15257            if ( state.backtracking>0 ) { memoize(input, 298, rule__OptionalSequence__DefinitionListAssignment_1_StartIndex); } 
    1274715258 
    1274815259                restoreStackSize(stackSize); 
     
    1275515266 
    1275615267    // $ANTLR start "rule__RepeatedSequence__DefinitionsAssignment_1" 
    12757     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4656:1: rule__RepeatedSequence__DefinitionsAssignment_1 : ( ruleDefinitionList ) ; 
     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 ) ; 
    1275815269    public final void rule__RepeatedSequence__DefinitionsAssignment_1() throws RecognitionException { 
    12759  
    12760                         int stackSize = keepStackSize(); 
    12761              
    12762         try { 
    12763             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4660:1: ( ( ruleDefinitionList ) ) 
    12764             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4661:1: ( ruleDefinitionList ) 
    12765             { 
    12766             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4661:1: ( ruleDefinitionList ) 
    12767             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4662:1: ruleDefinitionList 
    12768             { 
    12769              before(grammarAccess.getRepeatedSequenceAccess().getDefinitionsDefinitionListParserRuleCall_1_0());  
    12770             pushFollow(FOLLOW_ruleDefinitionList_in_rule__RepeatedSequence__DefinitionsAssignment_19458); 
     15270        int rule__RepeatedSequence__DefinitionsAssignment_1_StartIndex = input.index(); 
     15271 
     15272                        int stackSize = keepStackSize(); 
     15273             
     15274        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 
     15281            { 
     15282            if ( state.backtracking==0 ) { 
     15283               before(grammarAccess.getRepeatedSequenceAccess().getDefinitionsDefinitionListParserRuleCall_1_0());  
     15284            } 
     15285            pushFollow(FOLLOW_ruleDefinitionList_in_rule__RepeatedSequence__DefinitionsAssignment_19960); 
    1277115286            ruleDefinitionList(); 
    1277215287 
    1277315288            state._fsp--; 
    12774  
    12775              after(grammarAccess.getRepeatedSequenceAccess().getDefinitionsDefinitionListParserRuleCall_1_0());  
    12776  
    12777             } 
    12778  
    12779  
    12780             } 
    12781  
    12782         } 
    12783         catch (RecognitionException re) { 
    12784             reportError(re); 
    12785             recover(input,re); 
    12786         } 
    12787         finally { 
     15289            if (state.failed) return ; 
     15290            if ( state.backtracking==0 ) { 
     15291               after(grammarAccess.getRepeatedSequenceAccess().getDefinitionsDefinitionListParserRuleCall_1_0());  
     15292            } 
     15293 
     15294            } 
     15295 
     15296 
     15297            } 
     15298 
     15299        } 
     15300        catch (RecognitionException re) { 
     15301            reportError(re); 
     15302            recover(input,re); 
     15303        } 
     15304        finally { 
     15305            if ( state.backtracking>0 ) { memoize(input, 299, rule__RepeatedSequence__DefinitionsAssignment_1_StartIndex); } 
    1278815306 
    1278915307                restoreStackSize(stackSize); 
     
    1279515313 
    1279615314 
    12797     // $ANTLR start "rule__RepeatedSequence__MorethanonceAssignment_3" 
    12798     // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4671:1: rule__RepeatedSequence__MorethanonceAssignment_3 : ( ( '+' ) ) ; 
    12799     public final void rule__RepeatedSequence__MorethanonceAssignment_3() throws RecognitionException { 
    12800  
    12801                         int stackSize = keepStackSize(); 
    12802              
    12803         try { 
    12804             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4675:1: ( ( ( '+' ) ) ) 
    12805             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4676:1: ( ( '+' ) ) 
    12806             { 
    12807             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4676:1: ( ( '+' ) ) 
    12808             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4677:1: ( '+' ) 
    12809             { 
    12810              before(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0());  
    12811             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4678:1: ( '+' ) 
    12812             // ../de.ugoe.cs.swe.bnftools.ebnf.ui/src-gen/de/ugoe/cs/swe/bnftools/ui/contentassist/antlr/internal/InternalEbnf.g:4679:1: '+' 
    12813             { 
    12814              before(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0());  
    12815             match(input,21,FOLLOW_21_in_rule__RepeatedSequence__MorethanonceAssignment_39494);  
    12816              after(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0());  
    12817  
    12818             } 
    12819  
    12820              after(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0());  
    12821  
    12822             } 
    12823  
    12824  
    12825             } 
    12826  
    12827         } 
    12828         catch (RecognitionException re) { 
    12829             reportError(re); 
    12830             recover(input,re); 
    12831         } 
    12832         finally { 
    12833  
    12834                 restoreStackSize(stackSize); 
    12835  
    12836         } 
    12837         return ; 
    12838     } 
    12839     // $ANTLR end "rule__RepeatedSequence__MorethanonceAssignment_3" 
     15315    // $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 : ( ( '+' ) ) ; 
     15317    public final void rule__RepeatedSequence__MorethanonceAssignment_3_0() throws RecognitionException { 
     15318        int rule__RepeatedSequence__MorethanonceAssignment_3_0_StartIndex = input.index(); 
     15319 
     15320                        int stackSize = keepStackSize(); 
     15321             
     15322        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: ( '+' ) 
     15329            { 
     15330            if ( state.backtracking==0 ) { 
     15331               before(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0());  
     15332            } 
     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: '+' 
     15335            { 
     15336            if ( state.backtracking==0 ) { 
     15337               before(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0());  
     15338            } 
     15339            match(input,21,FOLLOW_21_in_rule__RepeatedSequence__MorethanonceAssignment_3_09996); if (state.failed) return ; 
     15340            if ( state.backtracking==0 ) { 
     15341               after(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0());  
     15342            } 
     15343 
     15344            } 
     15345 
     15346            if ( state.backtracking==0 ) { 
     15347               after(grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0());  
     15348            } 
     15349 
     15350            } 
     15351 
     15352 
     15353            } 
     15354 
     15355        } 
     15356        catch (RecognitionException re) { 
     15357            reportError(re); 
     15358            recover(input,re); 
     15359        } 
     15360        finally { 
     15361            if ( state.backtracking>0 ) { memoize(input, 300, rule__RepeatedSequence__MorethanonceAssignment_3_0_StartIndex); } 
     15362 
     15363                restoreStackSize(stackSize); 
     15364 
     15365        } 
     15366        return ; 
     15367    } 
     15368    // $ANTLR end "rule__RepeatedSequence__MorethanonceAssignment_3_0" 
     15369 
     15370 
     15371    // $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 ) ; 
     15373    public final void rule__RepeatedSequence__RangeAssignment_3_1() throws RecognitionException { 
     15374        int rule__RepeatedSequence__RangeAssignment_3_1_StartIndex = input.index(); 
     15375 
     15376                        int stackSize = keepStackSize(); 
     15377             
     15378        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 
     15385            { 
     15386            if ( state.backtracking==0 ) { 
     15387               before(grammarAccess.getRepeatedSequenceAccess().getRangeRepeatRangeParserRuleCall_3_1_0());  
     15388            } 
     15389            pushFollow(FOLLOW_ruleRepeatRange_in_rule__RepeatedSequence__RangeAssignment_3_110035); 
     15390            ruleRepeatRange(); 
     15391 
     15392            state._fsp--; 
     15393            if (state.failed) return ; 
     15394            if ( state.backtracking==0 ) { 
     15395               after(grammarAccess.getRepeatedSequenceAccess().getRangeRepeatRangeParserRuleCall_3_1_0());  
     15396            } 
     15397 
     15398            } 
     15399 
     15400 
     15401            } 
     15402 
     15403        } 
     15404        catch (RecognitionException re) { 
     15405            reportError(re); 
     15406            recover(input,re); 
     15407        } 
     15408        finally { 
     15409            if ( state.backtracking>0 ) { memoize(input, 301, rule__RepeatedSequence__RangeAssignment_3_1_StartIndex); } 
     15410 
     15411                restoreStackSize(stackSize); 
     15412 
     15413        } 
     15414        return ; 
     15415    } 
     15416    // $ANTLR end "rule__RepeatedSequence__RangeAssignment_3_1" 
     15417 
     15418 
     15419    // $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 ) ; 
     15421    public final void rule__RepeatRange__FromAssignment_2() throws RecognitionException { 
     15422        int rule__RepeatRange__FromAssignment_2_StartIndex = input.index(); 
     15423 
     15424                        int stackSize = keepStackSize(); 
     15425             
     15426        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 
     15433            { 
     15434            if ( state.backtracking==0 ) { 
     15435               before(grammarAccess.getRepeatRangeAccess().getFromINTTerminalRuleCall_2_0());  
     15436            } 
     15437            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__RepeatRange__FromAssignment_210066); if (state.failed) return ; 
     15438            if ( state.backtracking==0 ) { 
     15439               after(grammarAccess.getRepeatRangeAccess().getFromINTTerminalRuleCall_2_0());  
     15440            } 
     15441 
     15442            } 
     15443 
     15444 
     15445            } 
     15446 
     15447        } 
     15448        catch (RecognitionException re) { 
     15449            reportError(re); 
     15450            recover(input,re); 
     15451        } 
     15452        finally { 
     15453            if ( state.backtracking>0 ) { memoize(input, 302, rule__RepeatRange__FromAssignment_2_StartIndex); } 
     15454 
     15455                restoreStackSize(stackSize); 
     15456 
     15457        } 
     15458        return ; 
     15459    } 
     15460    // $ANTLR end "rule__RepeatRange__FromAssignment_2" 
     15461 
     15462 
     15463    // $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 ) ; 
     15465    public final void rule__RepeatRange__ToAssignment_4() throws RecognitionException { 
     15466        int rule__RepeatRange__ToAssignment_4_StartIndex = input.index(); 
     15467 
     15468                        int stackSize = keepStackSize(); 
     15469             
     15470        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 
     15477            { 
     15478            if ( state.backtracking==0 ) { 
     15479               before(grammarAccess.getRepeatRangeAccess().getToINTTerminalRuleCall_4_0());  
     15480            } 
     15481            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__RepeatRange__ToAssignment_410097); if (state.failed) return ; 
     15482            if ( state.backtracking==0 ) { 
     15483               after(grammarAccess.getRepeatRangeAccess().getToINTTerminalRuleCall_4_0());  
     15484            } 
     15485 
     15486            } 
     15487 
     15488 
     15489            } 
     15490 
     15491        } 
     15492        catch (RecognitionException re) { 
     15493            reportError(re); 
     15494            recover(input,re); 
     15495        } 
     15496        finally { 
     15497            if ( state.backtracking>0 ) { memoize(input, 303, rule__RepeatRange__ToAssignment_4_StartIndex); } 
     15498 
     15499                restoreStackSize(stackSize); 
     15500 
     15501        } 
     15502        return ; 
     15503    } 
     15504    // $ANTLR end "rule__RepeatRange__ToAssignment_4" 
     15505 
     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 )? ) 
     15510        { 
     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 )? 
     15513        { 
     15514        if ( state.backtracking==0 ) { 
     15515           before(grammarAccess.getRepeatedSequenceAccess().getMorethanonceAssignment_3_0());  
     15516        } 
     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 )? 
     15518        int alt40=2; 
     15519        int LA40_0 = input.LA(1); 
     15520 
     15521        if ( (LA40_0==21) ) { 
     15522            alt40=1; 
     15523        } 
     15524        switch (alt40) { 
     15525            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 
     15527                { 
     15528                pushFollow(FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_0_in_synpred28_InternalEbnf2274); 
     15529                rule__RepeatedSequence__MorethanonceAssignment_3_0(); 
     15530 
     15531                state._fsp--; 
     15532                if (state.failed) return ; 
     15533 
     15534                } 
     15535                break; 
     15536 
     15537        } 
     15538 
     15539 
     15540        } 
     15541 
     15542 
     15543        } 
     15544    } 
     15545    // $ANTLR end synpred28_InternalEbnf 
    1284015546 
    1284115547    // Delegated rules 
    1284215548 
    12843  
     15549    public final boolean synpred28_InternalEbnf() { 
     15550        state.backtracking++; 
     15551        int start = input.mark(); 
     15552        try { 
     15553            synpred28_InternalEbnf_fragment(); // can never throw exception 
     15554        } catch (RecognitionException re) { 
     15555            System.err.println("impossible: "+re); 
     15556        } 
     15557        boolean success = !state.failed; 
     15558        input.rewind(start); 
     15559        state.backtracking--; 
     15560        state.failed=false; 
     15561        return success; 
     15562    } 
     15563 
     15564 
     15565    protected DFA15 dfa15 = new DFA15(this); 
     15566    static final String DFA15_eotS = 
     15567        "\21\uffff"; 
     15568    static final String DFA15_eofS = 
     15569        "\1\2\20\uffff"; 
     15570    static final String DFA15_minS = 
     15571        "\1\4\1\uffff\16\0\1\uffff"; 
     15572    static final String DFA15_maxS = 
     15573        "\1\42\1\uffff\16\0\1\uffff"; 
     15574    static final String DFA15_acceptS = 
     15575        "\1\uffff\1\1\16\uffff\1\2"; 
     15576    static final String DFA15_specialS = 
     15577        "\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}>"; 
     15579    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", 
     15582            "", 
     15583            "\1\uffff", 
     15584            "\1\uffff", 
     15585            "\1\uffff", 
     15586            "\1\uffff", 
     15587            "\1\uffff", 
     15588            "\1\uffff", 
     15589            "\1\uffff", 
     15590            "\1\uffff", 
     15591            "\1\uffff", 
     15592            "\1\uffff", 
     15593            "\1\uffff", 
     15594            "\1\uffff", 
     15595            "\1\uffff", 
     15596            "\1\uffff", 
     15597            "" 
     15598    }; 
     15599 
     15600    static final short[] DFA15_eot = DFA.unpackEncodedString(DFA15_eotS); 
     15601    static final short[] DFA15_eof = DFA.unpackEncodedString(DFA15_eofS); 
     15602    static final char[] DFA15_min = DFA.unpackEncodedStringToUnsignedChars(DFA15_minS); 
     15603    static final char[] DFA15_max = DFA.unpackEncodedStringToUnsignedChars(DFA15_maxS); 
     15604    static final short[] DFA15_accept = DFA.unpackEncodedString(DFA15_acceptS); 
     15605    static final short[] DFA15_special = DFA.unpackEncodedString(DFA15_specialS); 
     15606    static final short[][] DFA15_transition; 
     15607 
     15608    static { 
     15609        int numStates = DFA15_transitionS.length; 
     15610        DFA15_transition = new short[numStates][]; 
     15611        for (int i=0; i<numStates; i++) { 
     15612            DFA15_transition[i] = DFA.unpackEncodedString(DFA15_transitionS[i]); 
     15613        } 
     15614    } 
     15615 
     15616    class DFA15 extends DFA { 
     15617 
     15618        public DFA15(BaseRecognizer recognizer) { 
     15619            this.recognizer = recognizer; 
     15620            this.decisionNumber = 15; 
     15621            this.eot = DFA15_eot; 
     15622            this.eof = DFA15_eof; 
     15623            this.min = DFA15_min; 
     15624            this.max = DFA15_max; 
     15625            this.accept = DFA15_accept; 
     15626            this.special = DFA15_special; 
     15627            this.transition = DFA15_transition; 
     15628        } 
     15629        public String getDescription() { 
     15630            return "1042:1: rule__RepeatedSequence__Alternatives_3 : ( ( ( rule__RepeatedSequence__MorethanonceAssignment_3_0 )? ) | ( ( rule__RepeatedSequence__RangeAssignment_3_1 )? ) );"; 
     15631        } 
     15632        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { 
     15633            TokenStream input = (TokenStream)_input; 
     15634                int _s = s; 
     15635            switch ( s ) { 
     15636                    case 0 :  
     15637                        int LA15_2 = input.LA(1); 
     15638 
     15639                          
     15640                        int index15_2 = input.index(); 
     15641                        input.rewind(); 
     15642                        s = -1; 
     15643                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15644 
     15645                        else if ( (true) ) {s = 16;} 
     15646 
     15647                          
     15648                        input.seek(index15_2); 
     15649                        if ( s>=0 ) return s; 
     15650                        break; 
     15651                    case 1 :  
     15652                        int LA15_3 = input.LA(1); 
     15653 
     15654                          
     15655                        int index15_3 = input.index(); 
     15656                        input.rewind(); 
     15657                        s = -1; 
     15658                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15659 
     15660                        else if ( (true) ) {s = 16;} 
     15661 
     15662                          
     15663                        input.seek(index15_3); 
     15664                        if ( s>=0 ) return s; 
     15665                        break; 
     15666                    case 2 :  
     15667                        int LA15_4 = input.LA(1); 
     15668 
     15669                          
     15670                        int index15_4 = input.index(); 
     15671                        input.rewind(); 
     15672                        s = -1; 
     15673                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15674 
     15675                        else if ( (true) ) {s = 16;} 
     15676 
     15677                          
     15678                        input.seek(index15_4); 
     15679                        if ( s>=0 ) return s; 
     15680                        break; 
     15681                    case 3 :  
     15682                        int LA15_5 = input.LA(1); 
     15683 
     15684                          
     15685                        int index15_5 = input.index(); 
     15686                        input.rewind(); 
     15687                        s = -1; 
     15688                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15689 
     15690                        else if ( (true) ) {s = 16;} 
     15691 
     15692                          
     15693                        input.seek(index15_5); 
     15694                        if ( s>=0 ) return s; 
     15695                        break; 
     15696                    case 4 :  
     15697                        int LA15_6 = input.LA(1); 
     15698 
     15699                          
     15700                        int index15_6 = input.index(); 
     15701                        input.rewind(); 
     15702                        s = -1; 
     15703                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15704 
     15705                        else if ( (true) ) {s = 16;} 
     15706 
     15707                          
     15708                        input.seek(index15_6); 
     15709                        if ( s>=0 ) return s; 
     15710                        break; 
     15711                    case 5 :  
     15712                        int LA15_7 = input.LA(1); 
     15713 
     15714                          
     15715                        int index15_7 = input.index(); 
     15716                        input.rewind(); 
     15717                        s = -1; 
     15718                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15719 
     15720                        else if ( (true) ) {s = 16;} 
     15721 
     15722                          
     15723                        input.seek(index15_7); 
     15724                        if ( s>=0 ) return s; 
     15725                        break; 
     15726                    case 6 :  
     15727                        int LA15_8 = input.LA(1); 
     15728 
     15729                          
     15730                        int index15_8 = input.index(); 
     15731                        input.rewind(); 
     15732                        s = -1; 
     15733                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15734 
     15735                        else if ( (true) ) {s = 16;} 
     15736 
     15737                          
     15738                        input.seek(index15_8); 
     15739                        if ( s>=0 ) return s; 
     15740                        break; 
     15741                    case 7 :  
     15742                        int LA15_9 = input.LA(1); 
     15743 
     15744                          
     15745                        int index15_9 = input.index(); 
     15746                        input.rewind(); 
     15747                        s = -1; 
     15748                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15749 
     15750                        else if ( (true) ) {s = 16;} 
     15751 
     15752                          
     15753                        input.seek(index15_9); 
     15754                        if ( s>=0 ) return s; 
     15755                        break; 
     15756                    case 8 :  
     15757                        int LA15_10 = input.LA(1); 
     15758 
     15759                          
     15760                        int index15_10 = input.index(); 
     15761                        input.rewind(); 
     15762                        s = -1; 
     15763                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15764 
     15765                        else if ( (true) ) {s = 16;} 
     15766 
     15767                          
     15768                        input.seek(index15_10); 
     15769                        if ( s>=0 ) return s; 
     15770                        break; 
     15771                    case 9 :  
     15772                        int LA15_11 = input.LA(1); 
     15773 
     15774                          
     15775                        int index15_11 = input.index(); 
     15776                        input.rewind(); 
     15777                        s = -1; 
     15778                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15779 
     15780                        else if ( (true) ) {s = 16;} 
     15781 
     15782                          
     15783                        input.seek(index15_11); 
     15784                        if ( s>=0 ) return s; 
     15785                        break; 
     15786                    case 10 :  
     15787                        int LA15_12 = input.LA(1); 
     15788 
     15789                          
     15790                        int index15_12 = input.index(); 
     15791                        input.rewind(); 
     15792                        s = -1; 
     15793                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15794 
     15795                        else if ( (true) ) {s = 16;} 
     15796 
     15797                          
     15798                        input.seek(index15_12); 
     15799                        if ( s>=0 ) return s; 
     15800                        break; 
     15801                    case 11 :  
     15802                        int LA15_13 = input.LA(1); 
     15803 
     15804                          
     15805                        int index15_13 = input.index(); 
     15806                        input.rewind(); 
     15807                        s = -1; 
     15808                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15809 
     15810                        else if ( (true) ) {s = 16;} 
     15811 
     15812                          
     15813                        input.seek(index15_13); 
     15814                        if ( s>=0 ) return s; 
     15815                        break; 
     15816                    case 12 :  
     15817                        int LA15_14 = input.LA(1); 
     15818 
     15819                          
     15820                        int index15_14 = input.index(); 
     15821                        input.rewind(); 
     15822                        s = -1; 
     15823                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15824 
     15825                        else if ( (true) ) {s = 16;} 
     15826 
     15827                          
     15828                        input.seek(index15_14); 
     15829                        if ( s>=0 ) return s; 
     15830                        break; 
     15831                    case 13 :  
     15832                        int LA15_15 = input.LA(1); 
     15833 
     15834                          
     15835                        int index15_15 = input.index(); 
     15836                        input.rewind(); 
     15837                        s = -1; 
     15838                        if ( (synpred28_InternalEbnf()) ) {s = 1;} 
     15839 
     15840                        else if ( (true) ) {s = 16;} 
     15841 
     15842                          
     15843                        input.seek(index15_15); 
     15844                        if ( s>=0 ) return s; 
     15845                        break; 
     15846            } 
     15847            if (state.backtracking>0) {state.failed=true; return -1;} 
     15848            NoViableAltException nvae = 
     15849                new NoViableAltException(getDescription(), 15, _s, input); 
     15850            error(nvae); 
     15851            throw nvae; 
     15852        } 
     15853    } 
    1284415854  
    1284515855 
    12846     public static final BitSet FOLLOW_ruleEtsiBnf_in_entryRuleEtsiBnf61 = new BitSet(new long[]{0x0000000000000000L}); 
    12847     public static final BitSet FOLLOW_EOF_in_entryRuleEtsiBnf68 = new BitSet(new long[]{0x0000000000000002L}); 
    12848     public static final BitSet FOLLOW_rule__EtsiBnf__Alternatives_in_ruleEtsiBnf94 = new BitSet(new long[]{0x0000000000000002L}); 
    12849     public static final BitSet FOLLOW_ruleImportSection_in_entryRuleImportSection121 = new BitSet(new long[]{0x0000000000000000L}); 
    12850     public static final BitSet FOLLOW_EOF_in_entryRuleImportSection128 = new BitSet(new long[]{0x0000000000000002L}); 
    12851     public static final BitSet FOLLOW_rule__ImportSection__ImportsAssignment_in_ruleImportSection156 = new BitSet(new long[]{0x0000000001000002L}); 
    12852     public static final BitSet FOLLOW_rule__ImportSection__ImportsAssignment_in_ruleImportSection168 = new BitSet(new long[]{0x0000000001000002L}); 
    12853     public static final BitSet FOLLOW_ruleBnfEntry_in_entryRuleBnfEntry198 = new BitSet(new long[]{0x0000000000000000L}); 
    12854     public static final BitSet FOLLOW_EOF_in_entryRuleBnfEntry205 = new BitSet(new long[]{0x0000000000000002L}); 
    12855     public static final BitSet FOLLOW_rule__BnfEntry__Alternatives_in_ruleBnfEntry231 = new BitSet(new long[]{0x0000000000000002L}); 
    12856     public static final BitSet FOLLOW_ruleDeltaEntry_in_entryRuleDeltaEntry258 = new BitSet(new long[]{0x0000000000000000L}); 
    12857     public static final BitSet FOLLOW_EOF_in_entryRuleDeltaEntry265 = new BitSet(new long[]{0x0000000000000002L}); 
    12858     public static final BitSet FOLLOW_rule__DeltaEntry__Alternatives_in_ruleDeltaEntry291 = new BitSet(new long[]{0x0000000000000002L}); 
    12859     public static final BitSet FOLLOW_ruleMergeEntry_in_entryRuleMergeEntry318 = new BitSet(new long[]{0x0000000000000000L}); 
    12860     public static final BitSet FOLLOW_EOF_in_entryRuleMergeEntry325 = new BitSet(new long[]{0x0000000000000002L}); 
    12861     public static final BitSet FOLLOW_rule__MergeEntry__Alternatives_in_ruleMergeEntry351 = new BitSet(new long[]{0x0000000000000002L}); 
    12862     public static final BitSet FOLLOW_ruleSectionHeading_in_entryRuleSectionHeading378 = new BitSet(new long[]{0x0000000000000000L}); 
    12863     public static final BitSet FOLLOW_EOF_in_entryRuleSectionHeading385 = new BitSet(new long[]{0x0000000000000002L}); 
    12864     public static final BitSet FOLLOW_rule__SectionHeading__Group__0_in_ruleSectionHeading411 = new BitSet(new long[]{0x0000000000000002L}); 
    12865     public static final BitSet FOLLOW_ruleImport_in_entryRuleImport438 = new BitSet(new long[]{0x0000000000000000L}); 
    12866     public static final BitSet FOLLOW_EOF_in_entryRuleImport445 = new BitSet(new long[]{0x0000000000000002L}); 
    12867     public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport471 = new BitSet(new long[]{0x0000000000000002L}); 
    12868     public static final BitSet FOLLOW_ruleRule_in_entryRuleRule498 = new BitSet(new long[]{0x0000000000000000L}); 
    12869     public static final BitSet FOLLOW_EOF_in_entryRuleRule505 = new BitSet(new long[]{0x0000000000000002L}); 
    12870     public static final BitSet FOLLOW_rule__Rule__Group__0_in_ruleRule531 = new BitSet(new long[]{0x0000000000000002L}); 
    12871     public static final BitSet FOLLOW_ruleExtRule_in_entryRuleExtRule558 = new BitSet(new long[]{0x0000000000000000L}); 
    12872     public static final BitSet FOLLOW_EOF_in_entryRuleExtRule565 = new BitSet(new long[]{0x0000000000000002L}); 
    12873     public static final BitSet FOLLOW_rule__ExtRule__Group__0_in_ruleExtRule591 = new BitSet(new long[]{0x0000000000000002L}); 
    12874     public static final BitSet FOLLOW_ruleMergeRule_in_entryRuleMergeRule618 = new BitSet(new long[]{0x0000000000000000L}); 
    12875     public static final BitSet FOLLOW_EOF_in_entryRuleMergeRule625 = new BitSet(new long[]{0x0000000000000002L}); 
    12876     public static final BitSet FOLLOW_rule__MergeRule__Alternatives_in_ruleMergeRule651 = new BitSet(new long[]{0x0000000000000002L}); 
    12877     public static final BitSet FOLLOW_ruleGlobalCombinator_in_entryRuleGlobalCombinator678 = new BitSet(new long[]{0x0000000000000000L}); 
    12878     public static final BitSet FOLLOW_EOF_in_entryRuleGlobalCombinator685 = new BitSet(new long[]{0x0000000000000002L}); 
    12879     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__0_in_ruleGlobalCombinator711 = new BitSet(new long[]{0x0000000000000002L}); 
    12880     public static final BitSet FOLLOW_ruleRuleCombinator_in_entryRuleRuleCombinator738 = new BitSet(new long[]{0x0000000000000000L}); 
    12881     public static final BitSet FOLLOW_EOF_in_entryRuleRuleCombinator745 = new BitSet(new long[]{0x0000000000000002L}); 
    12882     public static final BitSet FOLLOW_rule__RuleCombinator__Group__0_in_ruleRuleCombinator771 = new BitSet(new long[]{0x0000000000000002L}); 
    12883     public static final BitSet FOLLOW_ruleHookCombinator_in_entryRuleHookCombinator798 = new BitSet(new long[]{0x0000000000000000L}); 
    12884     public static final BitSet FOLLOW_EOF_in_entryRuleHookCombinator805 = new BitSet(new long[]{0x0000000000000002L}); 
    12885     public static final BitSet FOLLOW_rule__HookCombinator__Group__0_in_ruleHookCombinator831 = new BitSet(new long[]{0x0000000000000002L}); 
    12886     public static final BitSet FOLLOW_ruleDefinitionList_in_entryRuleDefinitionList858 = new BitSet(new long[]{0x0000000000000000L}); 
    12887     public static final BitSet FOLLOW_EOF_in_entryRuleDefinitionList865 = new BitSet(new long[]{0x0000000000000002L}); 
    12888     public static final BitSet FOLLOW_rule__DefinitionList__Group__0_in_ruleDefinitionList891 = new BitSet(new long[]{0x0000000000000002L}); 
    12889     public static final BitSet FOLLOW_ruleSingleDefinition_in_entryRuleSingleDefinition918 = new BitSet(new long[]{0x0000000000000000L}); 
    12890     public static final BitSet FOLLOW_EOF_in_entryRuleSingleDefinition925 = new BitSet(new long[]{0x0000000000000002L}); 
    12891     public static final BitSet FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition953 = new BitSet(new long[]{0x00000000000E0252L}); 
    12892     public static final BitSet FOLLOW_rule__SingleDefinition__TermsAssignment_in_ruleSingleDefinition965 = new BitSet(new long[]{0x00000000000E0252L}); 
    12893     public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm995 = new BitSet(new long[]{0x0000000000000000L}); 
    12894     public static final BitSet FOLLOW_EOF_in_entryRuleTerm1002 = new BitSet(new long[]{0x0000000000000002L}); 
    12895     public static final BitSet FOLLOW_rule__Term__Alternatives_in_ruleTerm1028 = new BitSet(new long[]{0x0000000000000002L}); 
    12896     public static final BitSet FOLLOW_ruleAtom_in_entryRuleAtom1055 = new BitSet(new long[]{0x0000000000000000L}); 
    12897     public static final BitSet FOLLOW_EOF_in_entryRuleAtom1062 = new BitSet(new long[]{0x0000000000000002L}); 
    12898     public static final BitSet FOLLOW_rule__Atom__Alternatives_in_ruleAtom1088 = new BitSet(new long[]{0x0000000000000002L}); 
    12899     public static final BitSet FOLLOW_ruleRuleReference_in_entryRuleRuleReference1115 = new BitSet(new long[]{0x0000000000000000L}); 
    12900     public static final BitSet FOLLOW_EOF_in_entryRuleRuleReference1122 = new BitSet(new long[]{0x0000000000000002L}); 
    12901     public static final BitSet FOLLOW_rule__RuleReference__RulerefAssignment_in_ruleRuleReference1148 = new BitSet(new long[]{0x0000000000000002L}); 
    12902     public static final BitSet FOLLOW_ruleStringRule_in_entryRuleStringRule1175 = new BitSet(new long[]{0x0000000000000000L}); 
    12903     public static final BitSet FOLLOW_EOF_in_entryRuleStringRule1182 = new BitSet(new long[]{0x0000000000000002L}); 
    12904     public static final BitSet FOLLOW_rule__StringRule__Alternatives_in_ruleStringRule1208 = new BitSet(new long[]{0x0000000000000002L}); 
    12905     public static final BitSet FOLLOW_ruleGroupedSequence_in_entryRuleGroupedSequence1235 = new BitSet(new long[]{0x0000000000000000L}); 
    12906     public static final BitSet FOLLOW_EOF_in_entryRuleGroupedSequence1242 = new BitSet(new long[]{0x0000000000000002L}); 
    12907     public static final BitSet FOLLOW_rule__GroupedSequence__Group__0_in_ruleGroupedSequence1268 = new BitSet(new long[]{0x0000000000000002L}); 
    12908     public static final BitSet FOLLOW_ruleOptionalSequence_in_entryRuleOptionalSequence1295 = new BitSet(new long[]{0x0000000000000000L}); 
    12909     public static final BitSet FOLLOW_EOF_in_entryRuleOptionalSequence1302 = new BitSet(new long[]{0x0000000000000002L}); 
    12910     public static final BitSet FOLLOW_rule__OptionalSequence__Group__0_in_ruleOptionalSequence1328 = new BitSet(new long[]{0x0000000000000002L}); 
    12911     public static final BitSet FOLLOW_ruleRepeatedSequence_in_entryRuleRepeatedSequence1355 = new BitSet(new long[]{0x0000000000000000L}); 
    12912     public static final BitSet FOLLOW_EOF_in_entryRuleRepeatedSequence1362 = new BitSet(new long[]{0x0000000000000002L}); 
    12913     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__0_in_ruleRepeatedSequence1388 = new BitSet(new long[]{0x0000000000000002L}); 
    12914     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__0_in_rule__EtsiBnf__Alternatives1424 = new BitSet(new long[]{0x0000000000000002L}); 
    12915     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__0_in_rule__EtsiBnf__Alternatives1442 = new BitSet(new long[]{0x0000000000000002L}); 
    12916     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__0_in_rule__EtsiBnf__Alternatives1460 = new BitSet(new long[]{0x0000000000000002L}); 
    12917     public static final BitSet FOLLOW_rule__BnfEntry__SectionheaderAssignment_0_in_rule__BnfEntry__Alternatives1493 = new BitSet(new long[]{0x0000000000000002L}); 
    12918     public static final BitSet FOLLOW_rule__BnfEntry__RuleAssignment_1_in_rule__BnfEntry__Alternatives1511 = new BitSet(new long[]{0x0000000000000002L}); 
    12919     public static final BitSet FOLLOW_rule__DeltaEntry__RuleAssignment_0_in_rule__DeltaEntry__Alternatives1544 = new BitSet(new long[]{0x0000000000000002L}); 
    12920     public static final BitSet FOLLOW_rule__DeltaEntry__SectionheaderAssignment_1_in_rule__DeltaEntry__Alternatives1562 = new BitSet(new long[]{0x0000000000000002L}); 
    12921     public static final BitSet FOLLOW_rule__DeltaEntry__ExtRuleAssignment_2_in_rule__DeltaEntry__Alternatives1580 = new BitSet(new long[]{0x0000000000000002L}); 
    12922     public static final BitSet FOLLOW_rule__MergeEntry__SectionheaderAssignment_0_in_rule__MergeEntry__Alternatives1613 = new BitSet(new long[]{0x0000000000000002L}); 
    12923     public static final BitSet FOLLOW_rule__MergeEntry__MergeRuleAssignment_1_in_rule__MergeEntry__Alternatives1631 = new BitSet(new long[]{0x0000000000000002L}); 
    12924     public static final BitSet FOLLOW_rule__Import__GrammarTypeAssignment_2_1_0_in_rule__Import__Alternatives_2_11664 = new BitSet(new long[]{0x0000000000000002L}); 
    12925     public static final BitSet FOLLOW_rule__Import__GrammarTypeAssignment_2_1_1_in_rule__Import__Alternatives_2_11682 = new BitSet(new long[]{0x0000000000000002L}); 
    12926     public static final BitSet FOLLOW_rule__Import__GrammarTypeAssignment_2_1_2_in_rule__Import__Alternatives_2_11700 = new BitSet(new long[]{0x0000000000000002L}); 
    12927     public static final BitSet FOLLOW_rule__ExtRule__ElementsAssignment_4_0_in_rule__ExtRule__Alternatives_41733 = new BitSet(new long[]{0x0000000000000002L}); 
    12928     public static final BitSet FOLLOW_13_in_rule__ExtRule__Alternatives_41752 = new BitSet(new long[]{0x0000000000000002L}); 
    12929     public static final BitSet FOLLOW_14_in_rule__ExtRule__Alternatives_41772 = new BitSet(new long[]{0x0000000000000002L}); 
    12930     public static final BitSet FOLLOW_15_in_rule__ExtRule__Alternatives_41792 = new BitSet(new long[]{0x0000000000000002L}); 
    12931     public static final BitSet FOLLOW_16_in_rule__ExtRule__Alternatives_41812 = new BitSet(new long[]{0x0000000000000002L}); 
    12932     public static final BitSet FOLLOW_17_in_rule__ExtRule__Alternatives_41832 = new BitSet(new long[]{0x0000000000000002L}); 
    12933     public static final BitSet FOLLOW_18_in_rule__ExtRule__Alternatives_41852 = new BitSet(new long[]{0x0000000000000002L}); 
    12934     public static final BitSet FOLLOW_19_in_rule__ExtRule__Alternatives_41872 = new BitSet(new long[]{0x0000000000000002L}); 
    12935     public static final BitSet FOLLOW_20_in_rule__ExtRule__Alternatives_41892 = new BitSet(new long[]{0x0000000000000002L}); 
    12936     public static final BitSet FOLLOW_21_in_rule__ExtRule__Alternatives_41912 = new BitSet(new long[]{0x0000000000000002L}); 
    12937     public static final BitSet FOLLOW_ruleGlobalCombinator_in_rule__MergeRule__Alternatives1946 = new BitSet(new long[]{0x0000000000000002L}); 
    12938     public static final BitSet FOLLOW_ruleRuleCombinator_in_rule__MergeRule__Alternatives1963 = new BitSet(new long[]{0x0000000000000002L}); 
    12939     public static final BitSet FOLLOW_ruleHookCombinator_in_rule__MergeRule__Alternatives1980 = new BitSet(new long[]{0x0000000000000002L}); 
    12940     public static final BitSet FOLLOW_rule__Term__TermAtomAssignment_0_in_rule__Term__Alternatives2012 = new BitSet(new long[]{0x0000000000000002L}); 
    12941     public static final BitSet FOLLOW_rule__Term__TermGroupedSequenceAssignment_1_in_rule__Term__Alternatives2030 = new BitSet(new long[]{0x0000000000000002L}); 
    12942     public static final BitSet FOLLOW_rule__Term__TermOptionalSequenceAssignment_2_in_rule__Term__Alternatives2048 = new BitSet(new long[]{0x0000000000000002L}); 
    12943     public static final BitSet FOLLOW_rule__Term__TermRepeatedSequenceAssignment_3_in_rule__Term__Alternatives2066 = new BitSet(new long[]{0x0000000000000002L}); 
    12944     public static final BitSet FOLLOW_rule__Atom__AtomStringRuleAssignment_0_in_rule__Atom__Alternatives2099 = new BitSet(new long[]{0x0000000000000002L}); 
    12945     public static final BitSet FOLLOW_rule__Atom__AtomRuleReferenceAssignment_1_in_rule__Atom__Alternatives2117 = new BitSet(new long[]{0x0000000000000002L}); 
    12946     public static final BitSet FOLLOW_rule__StringRule__LiteralAssignment_0_in_rule__StringRule__Alternatives2150 = new BitSet(new long[]{0x0000000000000002L}); 
    12947     public static final BitSet FOLLOW_rule__StringRule__ColonAssignment_1_in_rule__StringRule__Alternatives2168 = new BitSet(new long[]{0x0000000000000002L}); 
    12948     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__0__Impl_in_rule__EtsiBnf__Group_0__02199 = new BitSet(new long[]{0x0000000000000010L}); 
    12949     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__1_in_rule__EtsiBnf__Group_0__02202 = new BitSet(new long[]{0x0000000000000002L}); 
    12950     public static final BitSet FOLLOW_22_in_rule__EtsiBnf__Group_0__0__Impl2230 = new BitSet(new long[]{0x0000000000000002L}); 
    12951     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__1__Impl_in_rule__EtsiBnf__Group_0__12261 = new BitSet(new long[]{0x0000000400800000L}); 
    12952     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__2_in_rule__EtsiBnf__Group_0__12264 = new BitSet(new long[]{0x0000000000000002L}); 
    12953     public static final BitSet FOLLOW_rule__EtsiBnf__NameAssignment_0_1_in_rule__EtsiBnf__Group_0__1__Impl2291 = new BitSet(new long[]{0x0000000000000002L}); 
    12954     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0__2__Impl_in_rule__EtsiBnf__Group_0__22321 = new BitSet(new long[]{0x0000000000000002L}); 
    12955     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__0_in_rule__EtsiBnf__Group_0__2__Impl2348 = new BitSet(new long[]{0x0000000000000002L}); 
    12956     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__0__Impl_in_rule__EtsiBnf__Group_0_2__02384 = new BitSet(new long[]{0x0000000400800000L}); 
    12957     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__1_in_rule__EtsiBnf__Group_0_2__02387 = new BitSet(new long[]{0x0000000000000002L}); 
    12958     public static final BitSet FOLLOW_rule__EtsiBnf__TypeAssignment_0_2_0_in_rule__EtsiBnf__Group_0_2__0__Impl2414 = new BitSet(new long[]{0x0000000000000002L}); 
    12959     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__1__Impl_in_rule__EtsiBnf__Group_0_2__12445 = new BitSet(new long[]{0x00000000010000B0L}); 
    12960     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__2_in_rule__EtsiBnf__Group_0_2__12448 = new BitSet(new long[]{0x0000000000000002L}); 
    12961     public static final BitSet FOLLOW_23_in_rule__EtsiBnf__Group_0_2__1__Impl2476 = new BitSet(new long[]{0x0000000000000002L}); 
    12962     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__2__Impl_in_rule__EtsiBnf__Group_0_2__22507 = new BitSet(new long[]{0x00000000010000B0L}); 
    12963     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__3_in_rule__EtsiBnf__Group_0_2__22510 = new BitSet(new long[]{0x0000000000000002L}); 
    12964     public static final BitSet FOLLOW_rule__EtsiBnf__ImportSectionAssignment_0_2_2_in_rule__EtsiBnf__Group_0_2__2__Impl2537 = new BitSet(new long[]{0x0000000000000002L}); 
    12965     public static final BitSet FOLLOW_rule__EtsiBnf__Group_0_2__3__Impl_in_rule__EtsiBnf__Group_0_2__32568 = new BitSet(new long[]{0x0000000000000002L}); 
    12966     public static final BitSet FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2597 = new BitSet(new long[]{0x00000000010000B2L}); 
    12967     public static final BitSet FOLLOW_rule__EtsiBnf__BnfEntryAssignment_0_2_3_in_rule__EtsiBnf__Group_0_2__3__Impl2609 = new BitSet(new long[]{0x00000000010000B2L}); 
    12968     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__0__Impl_in_rule__EtsiBnf__Group_1__02650 = new BitSet(new long[]{0x0000000000800000L}); 
    12969     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__1_in_rule__EtsiBnf__Group_1__02653 = new BitSet(new long[]{0x0000000000000002L}); 
    12970     public static final BitSet FOLLOW_rule__EtsiBnf__TypeAssignment_1_0_in_rule__EtsiBnf__Group_1__0__Impl2680 = new BitSet(new long[]{0x0000000000000002L}); 
    12971     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__1__Impl_in_rule__EtsiBnf__Group_1__12710 = new BitSet(new long[]{0x00000000010000B0L}); 
    12972     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__2_in_rule__EtsiBnf__Group_1__12713 = new BitSet(new long[]{0x0000000000000002L}); 
    12973     public static final BitSet FOLLOW_23_in_rule__EtsiBnf__Group_1__1__Impl2741 = new BitSet(new long[]{0x0000000000000002L}); 
    12974     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__2__Impl_in_rule__EtsiBnf__Group_1__22772 = new BitSet(new long[]{0x00000000010000B0L}); 
    12975     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__3_in_rule__EtsiBnf__Group_1__22775 = new BitSet(new long[]{0x0000000000000002L}); 
    12976     public static final BitSet FOLLOW_rule__EtsiBnf__ImportSectionAssignment_1_2_in_rule__EtsiBnf__Group_1__2__Impl2802 = new BitSet(new long[]{0x0000000000000002L}); 
    12977     public static final BitSet FOLLOW_rule__EtsiBnf__Group_1__3__Impl_in_rule__EtsiBnf__Group_1__32833 = new BitSet(new long[]{0x0000000000000002L}); 
    12978     public static final BitSet FOLLOW_rule__EtsiBnf__DeltaEntryAssignment_1_3_in_rule__EtsiBnf__Group_1__3__Impl2860 = new BitSet(new long[]{0x00000000010000B2L}); 
    12979     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__0__Impl_in_rule__EtsiBnf__Group_2__02899 = new BitSet(new long[]{0x0000000000800000L}); 
    12980     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__1_in_rule__EtsiBnf__Group_2__02902 = new BitSet(new long[]{0x0000000000000002L}); 
    12981     public static final BitSet FOLLOW_rule__EtsiBnf__TypeAssignment_2_0_in_rule__EtsiBnf__Group_2__0__Impl2929 = new BitSet(new long[]{0x0000000000000002L}); 
    12982     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__1__Impl_in_rule__EtsiBnf__Group_2__12959 = new BitSet(new long[]{0x0000000341000020L}); 
    12983     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__2_in_rule__EtsiBnf__Group_2__12962 = new BitSet(new long[]{0x0000000000000002L}); 
    12984     public static final BitSet FOLLOW_23_in_rule__EtsiBnf__Group_2__1__Impl2990 = new BitSet(new long[]{0x0000000000000002L}); 
    12985     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__2__Impl_in_rule__EtsiBnf__Group_2__23021 = new BitSet(new long[]{0x0000000341000020L}); 
    12986     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__3_in_rule__EtsiBnf__Group_2__23024 = new BitSet(new long[]{0x0000000000000002L}); 
    12987     public static final BitSet FOLLOW_rule__EtsiBnf__ImportSectionAssignment_2_2_in_rule__EtsiBnf__Group_2__2__Impl3051 = new BitSet(new long[]{0x0000000000000002L}); 
    12988     public static final BitSet FOLLOW_rule__EtsiBnf__Group_2__3__Impl_in_rule__EtsiBnf__Group_2__33082 = new BitSet(new long[]{0x0000000000000002L}); 
    12989     public static final BitSet FOLLOW_rule__EtsiBnf__MergeEntryAssignment_2_3_in_rule__EtsiBnf__Group_2__3__Impl3109 = new BitSet(new long[]{0x0000000340000022L}); 
    12990     public static final BitSet FOLLOW_rule__SectionHeading__Group__0__Impl_in_rule__SectionHeading__Group__03148 = new BitSet(new long[]{0x0000000000000020L}); 
    12991     public static final BitSet FOLLOW_rule__SectionHeading__Group__1_in_rule__SectionHeading__Group__03151 = new BitSet(new long[]{0x0000000000000002L}); 
    12992     public static final BitSet FOLLOW_rule__SectionHeading__Group__1__Impl_in_rule__SectionHeading__Group__13209 = new BitSet(new long[]{0x0000000000000002L}); 
    12993     public static final BitSet FOLLOW_rule__SectionHeading__SectionHeaderAssignment_1_in_rule__SectionHeading__Group__1__Impl3236 = new BitSet(new long[]{0x0000000000000002L}); 
    12994     public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__03270 = new BitSet(new long[]{0x0000000000000040L}); 
    12995     public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__03273 = new BitSet(new long[]{0x0000000000000002L}); 
    12996     public static final BitSet FOLLOW_24_in_rule__Import__Group__0__Impl3301 = new BitSet(new long[]{0x0000000000000002L}); 
    12997     public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__13332 = new BitSet(new long[]{0x0000000006800000L}); 
    12998     public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__13335 = new BitSet(new long[]{0x0000000000000002L}); 
    12999     public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_1_in_rule__Import__Group__1__Impl3362 = new BitSet(new long[]{0x0000000000000002L}); 
    13000     public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__23392 = new BitSet(new long[]{0x0000000006800000L}); 
    13001     public static final BitSet FOLLOW_rule__Import__Group__3_in_rule__Import__Group__23395 = new BitSet(new long[]{0x0000000000000002L}); 
    13002     public static final BitSet FOLLOW_rule__Import__Group_2__0_in_rule__Import__Group__2__Impl3422 = new BitSet(new long[]{0x0000000000000002L}); 
    13003     public static final BitSet FOLLOW_rule__Import__Group__3__Impl_in_rule__Import__Group__33453 = new BitSet(new long[]{0x0000000006800000L}); 
    13004     public static final BitSet FOLLOW_rule__Import__Group__4_in_rule__Import__Group__33456 = new BitSet(new long[]{0x0000000000000002L}); 
    13005     public static final BitSet FOLLOW_rule__Import__Group_3__0_in_rule__Import__Group__3__Impl3483 = new BitSet(new long[]{0x0000000000000002L}); 
    13006     public static final BitSet FOLLOW_rule__Import__Group__4__Impl_in_rule__Import__Group__43514 = new BitSet(new long[]{0x0000000000000002L}); 
    13007     public static final BitSet FOLLOW_23_in_rule__Import__Group__4__Impl3542 = new BitSet(new long[]{0x0000000000000002L}); 
    13008     public static final BitSet FOLLOW_rule__Import__Group_2__0__Impl_in_rule__Import__Group_2__03583 = new BitSet(new long[]{0x000000E000000000L}); 
    13009     public static final BitSet FOLLOW_rule__Import__Group_2__1_in_rule__Import__Group_2__03586 = new BitSet(new long[]{0x0000000000000002L}); 
    13010     public static final BitSet FOLLOW_25_in_rule__Import__Group_2__0__Impl3614 = new BitSet(new long[]{0x0000000000000002L}); 
    13011     public static final BitSet FOLLOW_rule__Import__Group_2__1__Impl_in_rule__Import__Group_2__13645 = new BitSet(new long[]{0x0000000000000002L}); 
    13012     public static final BitSet FOLLOW_rule__Import__Alternatives_2_1_in_rule__Import__Group_2__1__Impl3672 = new BitSet(new long[]{0x0000000000000002L}); 
    13013     public static final BitSet FOLLOW_rule__Import__Group_3__0__Impl_in_rule__Import__Group_3__03706 = new BitSet(new long[]{0x0000000000000010L}); 
    13014     public static final BitSet FOLLOW_rule__Import__Group_3__1_in_rule__Import__Group_3__03709 = new BitSet(new long[]{0x0000000000000002L}); 
    13015     public static final BitSet FOLLOW_26_in_rule__Import__Group_3__0__Impl3737 = new BitSet(new long[]{0x0000000000000002L}); 
    13016     public static final BitSet FOLLOW_rule__Import__Group_3__1__Impl_in_rule__Import__Group_3__13768 = new BitSet(new long[]{0x0000000000000002L}); 
    13017     public static final BitSet FOLLOW_rule__Import__LabelAssignment_3_1_in_rule__Import__Group_3__1__Impl3795 = new BitSet(new long[]{0x0000000000000002L}); 
    13018     public static final BitSet FOLLOW_rule__Rule__Group__0__Impl_in_rule__Rule__Group__03829 = new BitSet(new long[]{0x00000000010000B0L}); 
    13019     public static final BitSet FOLLOW_rule__Rule__Group__1_in_rule__Rule__Group__03832 = new BitSet(new long[]{0x0000000000000002L}); 
    13020     public static final BitSet FOLLOW_rule__Rule__Group_0__0_in_rule__Rule__Group__0__Impl3859 = new BitSet(new long[]{0x0000000000000002L}); 
    13021     public static final BitSet FOLLOW_rule__Rule__Group__1__Impl_in_rule__Rule__Group__13890 = new BitSet(new long[]{0x0000000008000000L}); 
    13022     public static final BitSet FOLLOW_rule__Rule__Group__2_in_rule__Rule__Group__13893 = new BitSet(new long[]{0x0000000000000002L}); 
    13023     public static final BitSet FOLLOW_rule__Rule__NameAssignment_1_in_rule__Rule__Group__1__Impl3920 = new BitSet(new long[]{0x0000000000000002L}); 
    13024     public static final BitSet FOLLOW_rule__Rule__Group__2__Impl_in_rule__Rule__Group__23950 = new BitSet(new long[]{0x00000000008E0250L}); 
    13025     public static final BitSet FOLLOW_rule__Rule__Group__3_in_rule__Rule__Group__23953 = new BitSet(new long[]{0x0000000000000002L}); 
    13026     public static final BitSet FOLLOW_27_in_rule__Rule__Group__2__Impl3981 = new BitSet(new long[]{0x0000000000000002L}); 
    13027     public static final BitSet FOLLOW_rule__Rule__Group__3__Impl_in_rule__Rule__Group__34012 = new BitSet(new long[]{0x00000000008E0250L}); 
    13028     public static final BitSet FOLLOW_rule__Rule__Group__4_in_rule__Rule__Group__34015 = new BitSet(new long[]{0x0000000000000002L}); 
    13029     public static final BitSet FOLLOW_rule__Rule__DefinitionListAssignment_3_in_rule__Rule__Group__3__Impl4042 = new BitSet(new long[]{0x0000000000000002L}); 
    13030     public static final BitSet FOLLOW_rule__Rule__Group__4__Impl_in_rule__Rule__Group__44073 = new BitSet(new long[]{0x0000000000000002L}); 
    13031     public static final BitSet FOLLOW_23_in_rule__Rule__Group__4__Impl4102 = new BitSet(new long[]{0x0000000000000002L}); 
    13032     public static final BitSet FOLLOW_rule__Rule__Group_0__0__Impl_in_rule__Rule__Group_0__04145 = new BitSet(new long[]{0x0000000010000010L}); 
    13033     public static final BitSet FOLLOW_rule__Rule__Group_0__1_in_rule__Rule__Group_0__04148 = new BitSet(new long[]{0x0000000000000002L}); 
    13034     public static final BitSet FOLLOW_rule__Rule__RulenumberAssignment_0_0_in_rule__Rule__Group_0__0__Impl4175 = new BitSet(new long[]{0x0000000000000002L}); 
    13035     public static final BitSet FOLLOW_rule__Rule__Group_0__1__Impl_in_rule__Rule__Group_0__14205 = new BitSet(new long[]{0x0000000010000010L}); 
    13036     public static final BitSet FOLLOW_rule__Rule__Group_0__2_in_rule__Rule__Group_0__14208 = new BitSet(new long[]{0x0000000000000002L}); 
    13037     public static final BitSet FOLLOW_rule__Rule__RulevariantAssignment_0_1_in_rule__Rule__Group_0__1__Impl4235 = new BitSet(new long[]{0x0000000000000002L}); 
    13038     public static final BitSet FOLLOW_rule__Rule__Group_0__2__Impl_in_rule__Rule__Group_0__24266 = new BitSet(new long[]{0x0000000000000002L}); 
    13039     public static final BitSet FOLLOW_28_in_rule__Rule__Group_0__2__Impl4294 = new BitSet(new long[]{0x0000000000000002L}); 
    13040     public static final BitSet FOLLOW_rule__ExtRule__Group__0__Impl_in_rule__ExtRule__Group__04331 = new BitSet(new long[]{0x00000000010000B0L}); 
    13041     public static final BitSet FOLLOW_rule__ExtRule__Group__1_in_rule__ExtRule__Group__04334 = new BitSet(new long[]{0x0000000000000002L}); 
    13042     public static final BitSet FOLLOW_rule__ExtRule__Group_0__0_in_rule__ExtRule__Group__0__Impl4361 = new BitSet(new long[]{0x0000000000000002L}); 
    13043     public static final BitSet FOLLOW_rule__ExtRule__Group__1__Impl_in_rule__ExtRule__Group__14392 = new BitSet(new long[]{0x0000000000020000L}); 
    13044     public static final BitSet FOLLOW_rule__ExtRule__Group__2_in_rule__ExtRule__Group__14395 = new BitSet(new long[]{0x0000000000000002L}); 
    13045     public static final BitSet FOLLOW_rule__ExtRule__NameAssignment_1_in_rule__ExtRule__Group__1__Impl4422 = new BitSet(new long[]{0x0000000000000002L}); 
    13046     public static final BitSet FOLLOW_rule__ExtRule__Group__2__Impl_in_rule__ExtRule__Group__24452 = new BitSet(new long[]{0x0000000020000000L}); 
    13047     public static final BitSet FOLLOW_rule__ExtRule__Group__3_in_rule__ExtRule__Group__24455 = new BitSet(new long[]{0x0000000000000002L}); 
    13048     public static final BitSet FOLLOW_rule__ExtRule__Group_2__0_in_rule__ExtRule__Group__2__Impl4482 = new BitSet(new long[]{0x0000000000000002L}); 
    13049     public static final BitSet FOLLOW_rule__ExtRule__Group__3__Impl_in_rule__ExtRule__Group__34512 = new BitSet(new long[]{0x0000000000BFE250L}); 
    13050     public static final BitSet FOLLOW_rule__ExtRule__Group__4_in_rule__ExtRule__Group__34515 = new BitSet(new long[]{0x0000000000000002L}); 
    13051     public static final BitSet FOLLOW_29_in_rule__ExtRule__Group__3__Impl4543 = new BitSet(new long[]{0x0000000000000002L}); 
    13052     public static final BitSet FOLLOW_rule__ExtRule__Group__4__Impl_in_rule__ExtRule__Group__44574 = new BitSet(new long[]{0x0000000000BFE250L}); 
    13053     public static final BitSet FOLLOW_rule__ExtRule__Group__5_in_rule__ExtRule__Group__44577 = new BitSet(new long[]{0x0000000000000002L}); 
    13054     public static final BitSet FOLLOW_rule__ExtRule__Alternatives_4_in_rule__ExtRule__Group__4__Impl4604 = new BitSet(new long[]{0x00000000003FE252L}); 
    13055     public static final BitSet FOLLOW_rule__ExtRule__Group__5__Impl_in_rule__ExtRule__Group__54635 = new BitSet(new long[]{0x0000000000000002L}); 
    13056     public static final BitSet FOLLOW_23_in_rule__ExtRule__Group__5__Impl4664 = new BitSet(new long[]{0x0000000000000002L}); 
    13057     public static final BitSet FOLLOW_rule__ExtRule__Group_0__0__Impl_in_rule__ExtRule__Group_0__04709 = new BitSet(new long[]{0x0000000010000010L}); 
    13058     public static final BitSet FOLLOW_rule__ExtRule__Group_0__1_in_rule__ExtRule__Group_0__04712 = new BitSet(new long[]{0x0000000000000002L}); 
    13059     public static final BitSet FOLLOW_rule__ExtRule__RulenumberAssignment_0_0_in_rule__ExtRule__Group_0__0__Impl4739 = new BitSet(new long[]{0x0000000000000002L}); 
    13060     public static final BitSet FOLLOW_rule__ExtRule__Group_0__1__Impl_in_rule__ExtRule__Group_0__14769 = new BitSet(new long[]{0x0000000010000010L}); 
    13061     public static final BitSet FOLLOW_rule__ExtRule__Group_0__2_in_rule__ExtRule__Group_0__14772 = new BitSet(new long[]{0x0000000000000002L}); 
    13062     public static final BitSet FOLLOW_rule__ExtRule__RulevariantAssignment_0_1_in_rule__ExtRule__Group_0__1__Impl4799 = new BitSet(new long[]{0x0000000000000002L}); 
    13063     public static final BitSet FOLLOW_rule__ExtRule__Group_0__2__Impl_in_rule__ExtRule__Group_0__24830 = new BitSet(new long[]{0x0000000000000002L}); 
    13064     public static final BitSet FOLLOW_28_in_rule__ExtRule__Group_0__2__Impl4858 = new BitSet(new long[]{0x0000000000000002L}); 
    13065     public static final BitSet FOLLOW_rule__ExtRule__Group_2__0__Impl_in_rule__ExtRule__Group_2__04895 = new BitSet(new long[]{0x0000000000000080L}); 
    13066     public static final BitSet FOLLOW_rule__ExtRule__Group_2__1_in_rule__ExtRule__Group_2__04898 = new BitSet(new long[]{0x0000000000000002L}); 
    13067     public static final BitSet FOLLOW_17_in_rule__ExtRule__Group_2__0__Impl4926 = new BitSet(new long[]{0x0000000000000002L}); 
    13068     public static final BitSet FOLLOW_rule__ExtRule__Group_2__1__Impl_in_rule__ExtRule__Group_2__14957 = new BitSet(new long[]{0x0000000000002000L}); 
    13069     public static final BitSet FOLLOW_rule__ExtRule__Group_2__2_in_rule__ExtRule__Group_2__14960 = new BitSet(new long[]{0x0000000000000002L}); 
    13070     public static final BitSet FOLLOW_rule__ExtRule__RuleextAssignment_2_1_in_rule__ExtRule__Group_2__1__Impl4987 = new BitSet(new long[]{0x0000000000000002L}); 
    13071     public static final BitSet FOLLOW_rule__ExtRule__Group_2__2__Impl_in_rule__ExtRule__Group_2__25017 = new BitSet(new long[]{0x0000000000000002L}); 
    13072     public static final BitSet FOLLOW_13_in_rule__ExtRule__Group_2__2__Impl5045 = new BitSet(new long[]{0x0000000000000002L}); 
    13073     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__0__Impl_in_rule__GlobalCombinator__Group__05082 = new BitSet(new long[]{0x0000000000000100L}); 
    13074     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__1_in_rule__GlobalCombinator__Group__05085 = new BitSet(new long[]{0x0000000000000002L}); 
    13075     public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__0_in_rule__GlobalCombinator__Group__0__Impl5112 = new BitSet(new long[]{0x0000000000000002L}); 
    13076     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__1__Impl_in_rule__GlobalCombinator__Group__15142 = new BitSet(new long[]{0x0000000000800000L}); 
    13077     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__2_in_rule__GlobalCombinator__Group__15145 = new BitSet(new long[]{0x0000000000000002L}); 
    13078     public static final BitSet FOLLOW_rule__GlobalCombinator__LogicAssignment_1_in_rule__GlobalCombinator__Group__1__Impl5172 = new BitSet(new long[]{0x0000000000000002L}); 
    13079     public static final BitSet FOLLOW_rule__GlobalCombinator__Group__2__Impl_in_rule__GlobalCombinator__Group__25202 = new BitSet(new long[]{0x0000000000000002L}); 
    13080     public static final BitSet FOLLOW_23_in_rule__GlobalCombinator__Group__2__Impl5231 = new BitSet(new long[]{0x0000000000000002L}); 
    13081     public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__0__Impl_in_rule__GlobalCombinator__Group_0__05270 = new BitSet(new long[]{0x0000000080000000L}); 
    13082     public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__1_in_rule__GlobalCombinator__Group_0__05273 = new BitSet(new long[]{0x0000000000000002L}); 
    13083     public static final BitSet FOLLOW_30_in_rule__GlobalCombinator__Group_0__0__Impl5301 = new BitSet(new long[]{0x0000000000000002L}); 
    13084     public static final BitSet FOLLOW_rule__GlobalCombinator__Group_0__1__Impl_in_rule__GlobalCombinator__Group_0__15332 = new BitSet(new long[]{0x0000000000000002L}); 
    13085     public static final BitSet FOLLOW_31_in_rule__GlobalCombinator__Group_0__1__Impl5360 = new BitSet(new long[]{0x0000000000000002L}); 
    13086     public static final BitSet FOLLOW_rule__RuleCombinator__Group__0__Impl_in_rule__RuleCombinator__Group__05395 = new BitSet(new long[]{0x0000000000000100L}); 
    13087     public static final BitSet FOLLOW_rule__RuleCombinator__Group__1_in_rule__RuleCombinator__Group__05398 = new BitSet(new long[]{0x0000000000000002L}); 
    13088     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__0_in_rule__RuleCombinator__Group__0__Impl5425 = new BitSet(new long[]{0x0000000000000002L}); 
    13089     public static final BitSet FOLLOW_rule__RuleCombinator__Group__1__Impl_in_rule__RuleCombinator__Group__15455 = new BitSet(new long[]{0x0000000000820000L}); 
    13090     public static final BitSet FOLLOW_rule__RuleCombinator__Group__2_in_rule__RuleCombinator__Group__15458 = new BitSet(new long[]{0x0000000000000002L}); 
    13091     public static final BitSet FOLLOW_rule__RuleCombinator__LogicAssignment_1_in_rule__RuleCombinator__Group__1__Impl5485 = new BitSet(new long[]{0x0000000000000002L}); 
    13092     public static final BitSet FOLLOW_rule__RuleCombinator__Group__2__Impl_in_rule__RuleCombinator__Group__25515 = new BitSet(new long[]{0x0000000000820000L}); 
    13093     public static final BitSet FOLLOW_rule__RuleCombinator__Group__3_in_rule__RuleCombinator__Group__25518 = new BitSet(new long[]{0x0000000000000002L}); 
    13094     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__0_in_rule__RuleCombinator__Group__2__Impl5545 = new BitSet(new long[]{0x0000000000020002L}); 
    13095     public static final BitSet FOLLOW_rule__RuleCombinator__Group__3__Impl_in_rule__RuleCombinator__Group__35576 = new BitSet(new long[]{0x0000000000000002L}); 
    13096     public static final BitSet FOLLOW_23_in_rule__RuleCombinator__Group__3__Impl5605 = new BitSet(new long[]{0x0000000000000002L}); 
    13097     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__0__Impl_in_rule__RuleCombinator__Group_0__05646 = new BitSet(new long[]{0x0000000080000000L}); 
    13098     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__1_in_rule__RuleCombinator__Group_0__05649 = new BitSet(new long[]{0x0000000000000002L}); 
    13099     public static final BitSet FOLLOW_32_in_rule__RuleCombinator__Group_0__0__Impl5677 = new BitSet(new long[]{0x0000000000000002L}); 
    13100     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__1__Impl_in_rule__RuleCombinator__Group_0__15708 = new BitSet(new long[]{0x0000000000000010L}); 
    13101     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__2_in_rule__RuleCombinator__Group_0__15711 = new BitSet(new long[]{0x0000000000000002L}); 
    13102     public static final BitSet FOLLOW_31_in_rule__RuleCombinator__Group_0__1__Impl5739 = new BitSet(new long[]{0x0000000000000002L}); 
    13103     public static final BitSet FOLLOW_rule__RuleCombinator__Group_0__2__Impl_in_rule__RuleCombinator__Group_0__25770 = new BitSet(new long[]{0x0000000000000002L}); 
    13104     public static final BitSet FOLLOW_rule__RuleCombinator__NameAssignment_0_2_in_rule__RuleCombinator__Group_0__2__Impl5797 = new BitSet(new long[]{0x0000000000000002L}); 
    13105     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__0__Impl_in_rule__RuleCombinator__Group_2__05833 = new BitSet(new long[]{0x0000000000000040L}); 
    13106     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__1_in_rule__RuleCombinator__Group_2__05836 = new BitSet(new long[]{0x0000000000000002L}); 
    13107     public static final BitSet FOLLOW_17_in_rule__RuleCombinator__Group_2__0__Impl5864 = new BitSet(new long[]{0x0000000000000002L}); 
    13108     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__1__Impl_in_rule__RuleCombinator__Group_2__15895 = new BitSet(new long[]{0x0000000000002000L}); 
    13109     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__2_in_rule__RuleCombinator__Group_2__15898 = new BitSet(new long[]{0x0000000000000002L}); 
    13110     public static final BitSet FOLLOW_rule__RuleCombinator__LABELAssignment_2_1_in_rule__RuleCombinator__Group_2__1__Impl5925 = new BitSet(new long[]{0x0000000000000002L}); 
    13111     public static final BitSet FOLLOW_rule__RuleCombinator__Group_2__2__Impl_in_rule__RuleCombinator__Group_2__25955 = new BitSet(new long[]{0x0000000000000002L}); 
    13112     public static final BitSet FOLLOW_13_in_rule__RuleCombinator__Group_2__2__Impl5983 = new BitSet(new long[]{0x0000000000000002L}); 
    13113     public static final BitSet FOLLOW_rule__HookCombinator__Group__0__Impl_in_rule__HookCombinator__Group__06020 = new BitSet(new long[]{0x0000000080000000L}); 
    13114     public static final BitSet FOLLOW_rule__HookCombinator__Group__1_in_rule__HookCombinator__Group__06023 = new BitSet(new long[]{0x0000000000000002L}); 
    13115     public static final BitSet FOLLOW_33_in_rule__HookCombinator__Group__0__Impl6051 = new BitSet(new long[]{0x0000000000000002L}); 
    13116     public static final BitSet FOLLOW_rule__HookCombinator__Group__1__Impl_in_rule__HookCombinator__Group__16082 = new BitSet(new long[]{0x0000000000000010L}); 
    13117     public static final BitSet FOLLOW_rule__HookCombinator__Group__2_in_rule__HookCombinator__Group__16085 = new BitSet(new long[]{0x0000000000000002L}); 
    13118     public static final BitSet FOLLOW_31_in_rule__HookCombinator__Group__1__Impl6113 = new BitSet(new long[]{0x0000000000000002L}); 
    13119     public static final BitSet FOLLOW_rule__HookCombinator__Group__2__Impl_in_rule__HookCombinator__Group__26144 = new BitSet(new long[]{0x0000000000020000L}); 
    13120     public static final BitSet FOLLOW_rule__HookCombinator__Group__3_in_rule__HookCombinator__Group__26147 = new BitSet(new long[]{0x0000000000000002L}); 
    13121     public static final BitSet FOLLOW_rule__HookCombinator__NameAssignment_2_in_rule__HookCombinator__Group__2__Impl6174 = new BitSet(new long[]{0x0000000000000002L}); 
    13122     public static final BitSet FOLLOW_rule__HookCombinator__Group__3__Impl_in_rule__HookCombinator__Group__36204 = new BitSet(new long[]{0x0000000000000080L}); 
    13123     public static final BitSet FOLLOW_rule__HookCombinator__Group__4_in_rule__HookCombinator__Group__36207 = new BitSet(new long[]{0x0000000000000002L}); 
    13124     public static final BitSet FOLLOW_17_in_rule__HookCombinator__Group__3__Impl6235 = new BitSet(new long[]{0x0000000000000002L}); 
    13125     public static final BitSet FOLLOW_rule__HookCombinator__Group__4__Impl_in_rule__HookCombinator__Group__46266 = new BitSet(new long[]{0x0000000000002000L}); 
    13126     public static final BitSet FOLLOW_rule__HookCombinator__Group__5_in_rule__HookCombinator__Group__46269 = new BitSet(new long[]{0x0000000000000002L}); 
    13127     public static final BitSet FOLLOW_rule__HookCombinator__RuleextAssignment_4_in_rule__HookCombinator__Group__4__Impl6296 = new BitSet(new long[]{0x0000000000000002L}); 
    13128     public static final BitSet FOLLOW_rule__HookCombinator__Group__5__Impl_in_rule__HookCombinator__Group__56326 = new BitSet(new long[]{0x0000000000020100L}); 
    13129     public static final BitSet FOLLOW_rule__HookCombinator__Group__6_in_rule__HookCombinator__Group__56329 = new BitSet(new long[]{0x0000000000000002L}); 
    13130     public static final BitSet FOLLOW_13_in_rule__HookCombinator__Group__5__Impl6357 = new BitSet(new long[]{0x0000000000000002L}); 
    13131     public static final BitSet FOLLOW_rule__HookCombinator__Group__6__Impl_in_rule__HookCombinator__Group__66388 = new BitSet(new long[]{0x0000000000020100L}); 
    13132     public static final BitSet FOLLOW_rule__HookCombinator__Group__7_in_rule__HookCombinator__Group__66391 = new BitSet(new long[]{0x0000000000000002L}); 
    13133     public static final BitSet FOLLOW_rule__HookCombinator__LogicAssignment_6_in_rule__HookCombinator__Group__6__Impl6418 = new BitSet(new long[]{0x0000000000000002L}); 
    13134     public static final BitSet FOLLOW_rule__HookCombinator__Group__7__Impl_in_rule__HookCombinator__Group__76449 = new BitSet(new long[]{0x0000000000800000L}); 
    13135     public static final BitSet FOLLOW_rule__HookCombinator__Group__8_in_rule__HookCombinator__Group__76452 = new BitSet(new long[]{0x0000000000000002L}); 
    13136     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6481 = new BitSet(new long[]{0x0000000000020102L}); 
    13137     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__0_in_rule__HookCombinator__Group__7__Impl6493 = new BitSet(new long[]{0x0000000000020102L}); 
    13138     public static final BitSet FOLLOW_rule__HookCombinator__Group__8__Impl_in_rule__HookCombinator__Group__86526 = new BitSet(new long[]{0x0000000000000002L}); 
    13139     public static final BitSet FOLLOW_23_in_rule__HookCombinator__Group__8__Impl6555 = new BitSet(new long[]{0x0000000000000002L}); 
    13140     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__0__Impl_in_rule__HookCombinator__Group_7__06606 = new BitSet(new long[]{0x0000000000000040L}); 
    13141     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__1_in_rule__HookCombinator__Group_7__06609 = new BitSet(new long[]{0x0000000000000002L}); 
    13142     public static final BitSet FOLLOW_17_in_rule__HookCombinator__Group_7__0__Impl6637 = new BitSet(new long[]{0x0000000000000002L}); 
    13143     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__1__Impl_in_rule__HookCombinator__Group_7__16668 = new BitSet(new long[]{0x0000000000002000L}); 
    13144     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__2_in_rule__HookCombinator__Group_7__16671 = new BitSet(new long[]{0x0000000000000002L}); 
    13145     public static final BitSet FOLLOW_rule__HookCombinator__LABELAssignment_7_1_in_rule__HookCombinator__Group_7__1__Impl6698 = new BitSet(new long[]{0x0000000000000002L}); 
    13146     public static final BitSet FOLLOW_rule__HookCombinator__Group_7__2__Impl_in_rule__HookCombinator__Group_7__26728 = new BitSet(new long[]{0x0000000000000002L}); 
    13147     public static final BitSet FOLLOW_13_in_rule__HookCombinator__Group_7__2__Impl6756 = new BitSet(new long[]{0x0000000000000002L}); 
    13148     public static final BitSet FOLLOW_rule__DefinitionList__Group__0__Impl_in_rule__DefinitionList__Group__06793 = new BitSet(new long[]{0x0000000000010000L}); 
    13149     public static final BitSet FOLLOW_rule__DefinitionList__Group__1_in_rule__DefinitionList__Group__06796 = new BitSet(new long[]{0x0000000000000002L}); 
    13150     public static final BitSet FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_0_in_rule__DefinitionList__Group__0__Impl6823 = new BitSet(new long[]{0x0000000000000002L}); 
    13151     public static final BitSet FOLLOW_rule__DefinitionList__Group__1__Impl_in_rule__DefinitionList__Group__16853 = new BitSet(new long[]{0x0000000000000002L}); 
    13152     public static final BitSet FOLLOW_rule__DefinitionList__Group_1__0_in_rule__DefinitionList__Group__1__Impl6880 = new BitSet(new long[]{0x0000000000010002L}); 
    13153     public static final BitSet FOLLOW_rule__DefinitionList__Group_1__0__Impl_in_rule__DefinitionList__Group_1__06915 = new BitSet(new long[]{0x00000000000E0250L}); 
    13154     public static final BitSet FOLLOW_rule__DefinitionList__Group_1__1_in_rule__DefinitionList__Group_1__06918 = new BitSet(new long[]{0x0000000000000002L}); 
    13155     public static final BitSet FOLLOW_16_in_rule__DefinitionList__Group_1__0__Impl6946 = new BitSet(new long[]{0x0000000000000002L}); 
    13156     public static final BitSet FOLLOW_rule__DefinitionList__Group_1__1__Impl_in_rule__DefinitionList__Group_1__16977 = new BitSet(new long[]{0x0000000000000002L}); 
    13157     public static final BitSet FOLLOW_rule__DefinitionList__SingleDefinitionAssignment_1_1_in_rule__DefinitionList__Group_1__1__Impl7004 = new BitSet(new long[]{0x0000000000000002L}); 
    13158     public static final BitSet FOLLOW_rule__GroupedSequence__Group__0__Impl_in_rule__GroupedSequence__Group__07038 = new BitSet(new long[]{0x00000000000E0250L}); 
    13159     public static final BitSet FOLLOW_rule__GroupedSequence__Group__1_in_rule__GroupedSequence__Group__07041 = new BitSet(new long[]{0x0000000000000002L}); 
    13160     public static final BitSet FOLLOW_17_in_rule__GroupedSequence__Group__0__Impl7069 = new BitSet(new long[]{0x0000000000000002L}); 
    13161     public static final BitSet FOLLOW_rule__GroupedSequence__Group__1__Impl_in_rule__GroupedSequence__Group__17100 = new BitSet(new long[]{0x0000000000002000L}); 
    13162     public static final BitSet FOLLOW_rule__GroupedSequence__Group__2_in_rule__GroupedSequence__Group__17103 = new BitSet(new long[]{0x0000000000000002L}); 
    13163     public static final BitSet FOLLOW_rule__GroupedSequence__DefinitionListAssignment_1_in_rule__GroupedSequence__Group__1__Impl7130 = new BitSet(new long[]{0x0000000000000002L}); 
    13164     public static final BitSet FOLLOW_rule__GroupedSequence__Group__2__Impl_in_rule__GroupedSequence__Group__27160 = new BitSet(new long[]{0x0000000000000002L}); 
    13165     public static final BitSet FOLLOW_13_in_rule__GroupedSequence__Group__2__Impl7188 = new BitSet(new long[]{0x0000000000000002L}); 
    13166     public static final BitSet FOLLOW_rule__OptionalSequence__Group__0__Impl_in_rule__OptionalSequence__Group__07225 = new BitSet(new long[]{0x00000000000E0250L}); 
    13167     public static final BitSet FOLLOW_rule__OptionalSequence__Group__1_in_rule__OptionalSequence__Group__07228 = new BitSet(new long[]{0x0000000000000002L}); 
    13168     public static final BitSet FOLLOW_18_in_rule__OptionalSequence__Group__0__Impl7256 = new BitSet(new long[]{0x0000000000000002L}); 
    13169     public static final BitSet FOLLOW_rule__OptionalSequence__Group__1__Impl_in_rule__OptionalSequence__Group__17287 = new BitSet(new long[]{0x0000000000004000L}); 
    13170     public static final BitSet FOLLOW_rule__OptionalSequence__Group__2_in_rule__OptionalSequence__Group__17290 = new BitSet(new long[]{0x0000000000000002L}); 
    13171     public static final BitSet FOLLOW_rule__OptionalSequence__DefinitionListAssignment_1_in_rule__OptionalSequence__Group__1__Impl7317 = new BitSet(new long[]{0x0000000000000002L}); 
    13172     public static final BitSet FOLLOW_rule__OptionalSequence__Group__2__Impl_in_rule__OptionalSequence__Group__27347 = new BitSet(new long[]{0x0000000000000002L}); 
    13173     public static final BitSet FOLLOW_14_in_rule__OptionalSequence__Group__2__Impl7375 = new BitSet(new long[]{0x0000000000000002L}); 
    13174     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__0__Impl_in_rule__RepeatedSequence__Group__07412 = new BitSet(new long[]{0x00000000000E0250L}); 
    13175     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__1_in_rule__RepeatedSequence__Group__07415 = new BitSet(new long[]{0x0000000000000002L}); 
    13176     public static final BitSet FOLLOW_19_in_rule__RepeatedSequence__Group__0__Impl7443 = new BitSet(new long[]{0x0000000000000002L}); 
    13177     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__1__Impl_in_rule__RepeatedSequence__Group__17474 = new BitSet(new long[]{0x0000000000008000L}); 
    13178     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__2_in_rule__RepeatedSequence__Group__17477 = new BitSet(new long[]{0x0000000000000002L}); 
    13179     public static final BitSet FOLLOW_rule__RepeatedSequence__DefinitionsAssignment_1_in_rule__RepeatedSequence__Group__1__Impl7504 = new BitSet(new long[]{0x0000000000000002L}); 
    13180     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__2__Impl_in_rule__RepeatedSequence__Group__27534 = new BitSet(new long[]{0x0000000000200000L}); 
    13181     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__3_in_rule__RepeatedSequence__Group__27537 = new BitSet(new long[]{0x0000000000000002L}); 
    13182     public static final BitSet FOLLOW_15_in_rule__RepeatedSequence__Group__2__Impl7565 = new BitSet(new long[]{0x0000000000000002L}); 
    13183     public static final BitSet FOLLOW_rule__RepeatedSequence__Group__3__Impl_in_rule__RepeatedSequence__Group__37596 = new BitSet(new long[]{0x0000000000000002L}); 
    13184     public static final BitSet FOLLOW_rule__RepeatedSequence__MorethanonceAssignment_3_in_rule__RepeatedSequence__Group__3__Impl7623 = new BitSet(new long[]{0x0000000000000002L}); 
    13185     public static final BitSet FOLLOW_RULE_ID_in_rule__EtsiBnf__NameAssignment_0_17667 = new BitSet(new long[]{0x0000000000000002L}); 
    13186     public static final BitSet FOLLOW_34_in_rule__EtsiBnf__TypeAssignment_0_2_07703 = new BitSet(new long[]{0x0000000000000002L}); 
    13187     public static final BitSet FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_0_2_27742 = new BitSet(new long[]{0x0000000000000002L}); 
    13188     public static final BitSet FOLLOW_ruleBnfEntry_in_rule__EtsiBnf__BnfEntryAssignment_0_2_37773 = new BitSet(new long[]{0x0000000000000002L}); 
    13189     public static final BitSet FOLLOW_35_in_rule__EtsiBnf__TypeAssignment_1_07809 = new BitSet(new long[]{0x0000000000000002L}); 
    13190     public static final BitSet FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_1_27848 = new BitSet(new long[]{0x0000000000000002L}); 
    13191     public static final BitSet FOLLOW_ruleDeltaEntry_in_rule__EtsiBnf__DeltaEntryAssignment_1_37879 = new BitSet(new long[]{0x0000000000000002L}); 
    13192     public static final BitSet FOLLOW_36_in_rule__EtsiBnf__TypeAssignment_2_07915 = new BitSet(new long[]{0x0000000000000002L}); 
    13193     public static final BitSet FOLLOW_ruleImportSection_in_rule__EtsiBnf__ImportSectionAssignment_2_27954 = new BitSet(new long[]{0x0000000000000002L}); 
    13194     public static final BitSet FOLLOW_ruleMergeEntry_in_rule__EtsiBnf__MergeEntryAssignment_2_37985 = new BitSet(new long[]{0x0000000000000002L}); 
    13195     public static final BitSet FOLLOW_ruleImport_in_rule__ImportSection__ImportsAssignment8016 = new BitSet(new long[]{0x0000000000000002L}); 
    13196     public static final BitSet FOLLOW_ruleSectionHeading_in_rule__BnfEntry__SectionheaderAssignment_08047 = new BitSet(new long[]{0x0000000000000002L}); 
    13197     public static final BitSet FOLLOW_ruleRule_in_rule__BnfEntry__RuleAssignment_18078 = new BitSet(new long[]{0x0000000000000002L}); 
    13198     public static final BitSet FOLLOW_ruleRule_in_rule__DeltaEntry__RuleAssignment_08109 = new BitSet(new long[]{0x0000000000000002L}); 
    13199     public static final BitSet FOLLOW_ruleSectionHeading_in_rule__DeltaEntry__SectionheaderAssignment_18140 = new BitSet(new long[]{0x0000000000000002L}); 
    13200     public static final BitSet FOLLOW_ruleExtRule_in_rule__DeltaEntry__ExtRuleAssignment_28171 = new BitSet(new long[]{0x0000000000000002L}); 
    13201     public static final BitSet FOLLOW_ruleSectionHeading_in_rule__MergeEntry__SectionheaderAssignment_08202 = new BitSet(new long[]{0x0000000000000002L}); 
    13202     public static final BitSet FOLLOW_ruleMergeRule_in_rule__MergeEntry__MergeRuleAssignment_18233 = new BitSet(new long[]{0x0000000000000002L}); 
    13203     public static final BitSet FOLLOW_RULE_SECTIONHEADER_in_rule__SectionHeading__SectionHeaderAssignment_18264 = new BitSet(new long[]{0x0000000000000002L}); 
    13204     public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_18295 = new BitSet(new long[]{0x0000000000000002L}); 
    13205     public static final BitSet FOLLOW_37_in_rule__Import__GrammarTypeAssignment_2_1_08331 = new BitSet(new long[]{0x0000000000000002L}); 
    13206     public static final BitSet FOLLOW_38_in_rule__Import__GrammarTypeAssignment_2_1_18375 = new BitSet(new long[]{0x0000000000000002L}); 
    13207     public static final BitSet FOLLOW_39_in_rule__Import__GrammarTypeAssignment_2_1_28419 = new BitSet(new long[]{0x0000000000000002L}); 
    13208     public static final BitSet FOLLOW_RULE_ID_in_rule__Import__LabelAssignment_3_18458 = new BitSet(new long[]{0x0000000000000002L}); 
    13209     public static final BitSet FOLLOW_RULE_INT_in_rule__Rule__RulenumberAssignment_0_08489 = new BitSet(new long[]{0x0000000000000002L}); 
    13210     public static final BitSet FOLLOW_RULE_ID_in_rule__Rule__RulevariantAssignment_0_18520 = new BitSet(new long[]{0x0000000000000002L}); 
    13211     public static final BitSet FOLLOW_RULE_ID_in_rule__Rule__NameAssignment_18551 = new BitSet(new long[]{0x0000000000000002L}); 
    13212     public static final BitSet FOLLOW_ruleDefinitionList_in_rule__Rule__DefinitionListAssignment_38582 = new BitSet(new long[]{0x0000000000000002L}); 
    13213     public static final BitSet FOLLOW_RULE_INT_in_rule__ExtRule__RulenumberAssignment_0_08613 = new BitSet(new long[]{0x0000000000000002L}); 
    13214     public static final BitSet FOLLOW_RULE_ID_in_rule__ExtRule__RulevariantAssignment_0_18644 = new BitSet(new long[]{0x0000000000000002L}); 
    13215     public static final BitSet FOLLOW_RULE_ID_in_rule__ExtRule__NameAssignment_18675 = new BitSet(new long[]{0x0000000000000002L}); 
    13216     public static final BitSet FOLLOW_RULE_INT_in_rule__ExtRule__RuleextAssignment_2_18706 = new BitSet(new long[]{0x0000000000000002L}); 
    13217     public static final BitSet FOLLOW_ruleAtom_in_rule__ExtRule__ElementsAssignment_4_08737 = new BitSet(new long[]{0x0000000000000002L}); 
    13218     public static final BitSet FOLLOW_RULE_LOGIC_in_rule__GlobalCombinator__LogicAssignment_18768 = new BitSet(new long[]{0x0000000000000002L}); 
    13219     public static final BitSet FOLLOW_RULE_ID_in_rule__RuleCombinator__NameAssignment_0_28799 = new BitSet(new long[]{0x0000000000000002L}); 
    13220     public static final BitSet FOLLOW_RULE_LOGIC_in_rule__RuleCombinator__LogicAssignment_18830 = new BitSet(new long[]{0x0000000000000002L}); 
    13221     public static final BitSet FOLLOW_RULE_STRING_in_rule__RuleCombinator__LABELAssignment_2_18861 = new BitSet(new long[]{0x0000000000000002L}); 
    13222     public static final BitSet FOLLOW_RULE_ID_in_rule__HookCombinator__NameAssignment_28892 = new BitSet(new long[]{0x0000000000000002L}); 
    13223     public static final BitSet FOLLOW_RULE_INT_in_rule__HookCombinator__RuleextAssignment_48923 = new BitSet(new long[]{0x0000000000000002L}); 
    13224     public static final BitSet FOLLOW_RULE_LOGIC_in_rule__HookCombinator__LogicAssignment_68954 = new BitSet(new long[]{0x0000000000000002L}); 
    13225     public static final BitSet FOLLOW_RULE_STRING_in_rule__HookCombinator__LABELAssignment_7_18985 = new BitSet(new long[]{0x0000000000000002L}); 
    13226     public static final BitSet FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_09016 = new BitSet(new long[]{0x0000000000000002L}); 
    13227     public static final BitSet FOLLOW_ruleSingleDefinition_in_rule__DefinitionList__SingleDefinitionAssignment_1_19047 = new BitSet(new long[]{0x0000000000000002L}); 
    13228     public static final BitSet FOLLOW_ruleTerm_in_rule__SingleDefinition__TermsAssignment9078 = new BitSet(new long[]{0x0000000000000002L}); 
    13229     public static final BitSet FOLLOW_ruleAtom_in_rule__Term__TermAtomAssignment_09109 = new BitSet(new long[]{0x0000000000000002L}); 
    13230     public static final BitSet FOLLOW_ruleGroupedSequence_in_rule__Term__TermGroupedSequenceAssignment_19140 = new BitSet(new long[]{0x0000000000000002L}); 
    13231     public static final BitSet FOLLOW_ruleOptionalSequence_in_rule__Term__TermOptionalSequenceAssignment_29171 = new BitSet(new long[]{0x0000000000000002L}); 
    13232     public static final BitSet FOLLOW_ruleRepeatedSequence_in_rule__Term__TermRepeatedSequenceAssignment_39202 = new BitSet(new long[]{0x0000000000000002L}); 
    13233     public static final BitSet FOLLOW_ruleStringRule_in_rule__Atom__AtomStringRuleAssignment_09233 = new BitSet(new long[]{0x0000000000000002L}); 
    13234     public static final BitSet FOLLOW_ruleRuleReference_in_rule__Atom__AtomRuleReferenceAssignment_19264 = new BitSet(new long[]{0x0000000000000002L}); 
    13235     public static final BitSet FOLLOW_RULE_ID_in_rule__RuleReference__RulerefAssignment9299 = new BitSet(new long[]{0x0000000000000002L}); 
    13236     public static final BitSet FOLLOW_RULE_STRING_in_rule__StringRule__LiteralAssignment_09334 = new BitSet(new long[]{0x0000000000000002L}); 
    13237     public static final BitSet FOLLOW_RULE_COLON_in_rule__StringRule__ColonAssignment_19365 = new BitSet(new long[]{0x0000000000000002L}); 
    13238     public static final BitSet FOLLOW_ruleDefinitionList_in_rule__GroupedSequence__DefinitionListAssignment_19396 = new BitSet(new long[]{0x0000000000000002L}); 
    13239     public static final BitSet FOLLOW_ruleDefinitionList_in_rule__OptionalSequence__DefinitionListAssignment_19427 = new BitSet(new long[]{0x0000000000000002L}); 
    13240     public static final BitSet FOLLOW_ruleDefinitionList_in_rule__RepeatedSequence__DefinitionsAssignment_19458 = new BitSet(new long[]{0x0000000000000002L}); 
    13241     public static final BitSet FOLLOW_21_in_rule__RepeatedSequence__MorethanonceAssignment_39494 = new BitSet(new long[]{0x0000000000000002L}); 
     15856    public static final BitSet FOLLOW_ruleEtsiBnf_in_entryRuleEtsiBnf74 = new BitSet(new long[]{0x0000000000000000L}); 
     15857    public static final BitSet FOLLOW_EOF_in_entryRuleEtsiBnf81 = new BitSet(new long[]{0x0000000000000002L}); 
     15858    public static final BitSet FOLLOW_rule__EtsiBnf__Alternatives_in_ruleEtsiBnf107 = new BitSet(new long[]{0x0000000000000002L}); 
     15859    public static final BitSet FOLLOW_ruleImportSection_in_entryRuleImportSection134 = new BitSet(new long[]{0x0000000000000000L}); 
     15860    public static final BitSet FOLLOW_EOF_in_entryRuleImportSection141 = new BitSet(new long[]{0x0000000000000002L}); 
     15861    public static final BitSet FOLLOW_rule__ImportSection__ImportsAssignment_in_ruleImportSection169 = new BitSet(new long[]{0x0000000001000002L}); 
     15862    public static final BitSet FOLLOW_rule__ImportSection__ImportsAssignment_in_ruleImportSection181 = new BitSet(new long[]{0x0000000001000002L}); 
     15863    public static final BitSet FOLLOW_ruleBnfEntry_in_entryRuleBnfEntry211 = new BitSet(new long[]{0x0000000000000000L}); 
     15864    public static final BitSet FOLLOW_EOF_in_entryRuleBnfEntry218 = new BitSet(new long[]{0x0000000000000002L}); 
     15865    public static final BitSet FOLLOW_rule__BnfEntry__Alternatives_in_ruleBnfEntry244 = new BitSet(new long[]{0x0000000000000002L}); 
     15866    public static final BitSet FOLLOW_ruleDeltaEntry_in_entryRuleDeltaEntry271 = new BitSet(new long[]{0x0000000000000000L}); 
     15867    public static final BitSet FOLLOW_EOF_in_entryRuleDeltaEntry278 = new BitSet(new long[]{0x0000000000000002L}); 
     15868    public static final BitSet FOLLOW_rule__DeltaEntry__Alternatives_in_ruleDeltaEntry304 = new BitSet(new long[]{0x0000000000000002L}); 
     15869    public static final BitSet FOLLOW_ruleMergeEntry_in_entryRuleMergeEntry331 = new BitSet(new long[]{0x0000000000000000L}); 
     15870    public static final BitSet FOLLOW_EOF_in_entryRuleMergeEntry338 = new BitSet(new long[]{0x0000000000000002L}); 
     15871    public static final BitSet FOLLOW_rule__MergeEntry__Alternatives_in_ruleMergeEntry364 = new BitSet(new long[]{0x0000000000000002L}); 
     15872    public static final BitSet FOLLOW_ruleSectionHeading_in_entryRuleSectionHeading391 = new BitSet(new long[]{0x0000000000000000L}); 
     15873    public static final BitSet FOLLOW_EOF_in_entryRuleSectionHeading398 = new BitSet(new long[]{0x0000000000000002L}); 
     15874    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}); 
    1324216278 
    1324316279} 
Note: See TracChangeset for help on using the changeset viewer.