source: default/v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src-gen/de/ugoe/cs/swe/bnftools/parser/antlr/internal/InternalEbnf.g @ 100

Last change on this file since 100 was 100, checked in by phdmakk, 8 years ago

+ generated resources

File size: 44.3 KB
Line 
1/*
2* generated by Xtext
3*/
4grammar InternalEbnf;
5
6options {
7        superClass=AbstractInternalAntlrParser;
8        backtrack=true;
9         memoize=true;
10       
11}
12
13@lexer::header {
14package de.ugoe.cs.swe.bnftools.parser.antlr.internal;
15
16// Hack: Use our own Lexer superclass by means of import.
17// Currently there is no other way to specify the superclass for the lexer.
18import org.eclipse.xtext.parser.antlr.Lexer;
19}
20
21@parser::header {
22package de.ugoe.cs.swe.bnftools.parser.antlr.internal;
23
24import org.eclipse.xtext.*;
25import org.eclipse.xtext.parser.*;
26import org.eclipse.xtext.parser.impl.*;
27import org.eclipse.emf.ecore.util.EcoreUtil;
28import org.eclipse.emf.ecore.EObject;
29import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
30import org.eclipse.xtext.parser.antlr.XtextTokenStream;
31import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
32import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
33import de.ugoe.cs.swe.bnftools.services.EbnfGrammarAccess;
34
35}
36
37@parser::members {
38
39/*
40  This grammar contains a lot of empty actions to work around a bug in ANTLR.
41  Otherwise the ANTLR tool will create synpreds that cannot be compiled in some rare cases.
42*/
43 
44        private EbnfGrammarAccess grammarAccess;
45       
46    public InternalEbnfParser(TokenStream input, EbnfGrammarAccess grammarAccess) {
47        this(input);
48        this.grammarAccess = grammarAccess;
49        registerRules(grammarAccess.getGrammar());
50    }
51   
52    @Override
53    protected String getFirstRuleName() {
54        return "EtsiBnf";       
55        }
56       
57        @Override
58        protected EbnfGrammarAccess getGrammarAccess() {
59                return grammarAccess;
60        }
61}
62
63@rulecatch {
64    catch (RecognitionException re) {
65        recover(input,re);
66        appendSkippedTokens();
67    }
68}
69
70
71
72
73// Entry rule entryRuleEtsiBnf
74entryRuleEtsiBnf returns [EObject current=null]
75        :
76        { newCompositeNode(grammarAccess.getEtsiBnfRule()); }
77         iv_ruleEtsiBnf=ruleEtsiBnf
78         { $current=$iv_ruleEtsiBnf.current; }
79         EOF
80;
81
82// Rule EtsiBnf
83ruleEtsiBnf returns [EObject current=null]
84    @init { enterRule();
85    }
86    @after { leaveRule(); }:
87((      otherlv_0='grammar'
88    {
89        newLeafNode(otherlv_0, grammarAccess.getEtsiBnfAccess().getGrammarKeyword_0_0());
90    }
91(
92(
93                lv_name_1_0=RULE_ID
94                {
95                        newLeafNode(lv_name_1_0, grammarAccess.getEtsiBnfAccess().getNameIDTerminalRuleCall_0_1_0());
96                }
97                {
98                if ($current==null) {
99                    $current = createModelElement(grammarAccess.getEtsiBnfRule());
100                }
101                setWithLastConsumed(
102                        $current,
103                        "name",
104                        lv_name_1_0,
105                        "ID");
106            }
107
108)
109)((
110(
111                lv_type_2_0=    '/bnf'
112    {
113        newLeafNode(lv_type_2_0, grammarAccess.getEtsiBnfAccess().getTypeBnfKeyword_0_2_0_0());
114    }
115 
116            {
117                if ($current==null) {
118                    $current = createModelElement(grammarAccess.getEtsiBnfRule());
119                }
120                setWithLastConsumed($current, "type", lv_type_2_0, "/bnf");
121            }
122
123)
124)?      otherlv_3=';'
125    {
126        newLeafNode(otherlv_3, grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_0_2_1());
127    }
128(
129(
130                {
131                newCompositeNode(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_0_2_2_0());
132            }
133                lv_importSection_4_0=ruleImportSection          {
134                if ($current==null) {
135                    $current = createModelElementForParent(grammarAccess.getEtsiBnfRule());
136                }
137                set(
138                        $current,
139                        "importSection",
140                        lv_importSection_4_0,
141                        "ImportSection");
142                afterParserOrEnumRuleCall();
143            }
144
145)
146)?(
147(
148                {
149                newCompositeNode(grammarAccess.getEtsiBnfAccess().getBnfEntryBnfEntryParserRuleCall_0_2_3_0());
150            }
151                lv_bnfEntry_5_0=ruleBnfEntry            {
152                if ($current==null) {
153                    $current = createModelElementForParent(grammarAccess.getEtsiBnfRule());
154                }
155                add(
156                        $current,
157                        "bnfEntry",
158                        lv_bnfEntry_5_0,
159                        "BnfEntry");
160                afterParserOrEnumRuleCall();
161            }
162
163)
164)+))
165    |((
166(
167                lv_type_6_0=    '/delta'
168    {
169        newLeafNode(lv_type_6_0, grammarAccess.getEtsiBnfAccess().getTypeDeltaKeyword_1_0_0());
170    }
171 
172            {
173                if ($current==null) {
174                    $current = createModelElement(grammarAccess.getEtsiBnfRule());
175                }
176                setWithLastConsumed($current, "type", lv_type_6_0, "/delta");
177            }
178
179)
180)       otherlv_7=';'
181    {
182        newLeafNode(otherlv_7, grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_1_1());
183    }
184(
185(
186                {
187                newCompositeNode(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_1_2_0());
188            }
189                lv_importSection_8_0=ruleImportSection          {
190                if ($current==null) {
191                    $current = createModelElementForParent(grammarAccess.getEtsiBnfRule());
192                }
193                set(
194                        $current,
195                        "importSection",
196                        lv_importSection_8_0,
197                        "ImportSection");
198                afterParserOrEnumRuleCall();
199            }
200
201)
202)?(
203(
204                {
205                newCompositeNode(grammarAccess.getEtsiBnfAccess().getDeltaEntryDeltaEntryParserRuleCall_1_3_0());
206            }
207                lv_deltaEntry_9_0=ruleDeltaEntry                {
208                if ($current==null) {
209                    $current = createModelElementForParent(grammarAccess.getEtsiBnfRule());
210                }
211                add(
212                        $current,
213                        "deltaEntry",
214                        lv_deltaEntry_9_0,
215                        "DeltaEntry");
216                afterParserOrEnumRuleCall();
217            }
218
219)
220)*)
221    |((
222(
223                lv_type_10_0=   '/merge'
224    {
225        newLeafNode(lv_type_10_0, grammarAccess.getEtsiBnfAccess().getTypeMergeKeyword_2_0_0());
226    }
227 
228            {
229                if ($current==null) {
230                    $current = createModelElement(grammarAccess.getEtsiBnfRule());
231                }
232                setWithLastConsumed($current, "type", lv_type_10_0, "/merge");
233            }
234
235)
236)       otherlv_11=';'
237    {
238        newLeafNode(otherlv_11, grammarAccess.getEtsiBnfAccess().getSemicolonKeyword_2_1());
239    }
240(
241(
242                {
243                newCompositeNode(grammarAccess.getEtsiBnfAccess().getImportSectionImportSectionParserRuleCall_2_2_0());
244            }
245                lv_importSection_12_0=ruleImportSection         {
246                if ($current==null) {
247                    $current = createModelElementForParent(grammarAccess.getEtsiBnfRule());
248                }
249                set(
250                        $current,
251                        "importSection",
252                        lv_importSection_12_0,
253                        "ImportSection");
254                afterParserOrEnumRuleCall();
255            }
256
257)
258)?(
259(
260                {
261                newCompositeNode(grammarAccess.getEtsiBnfAccess().getMergeEntryMergeEntryParserRuleCall_2_3_0());
262            }
263                lv_mergeEntry_13_0=ruleMergeEntry               {
264                if ($current==null) {
265                    $current = createModelElementForParent(grammarAccess.getEtsiBnfRule());
266                }
267                add(
268                        $current,
269                        "mergeEntry",
270                        lv_mergeEntry_13_0,
271                        "MergeEntry");
272                afterParserOrEnumRuleCall();
273            }
274
275)
276)*))
277;
278
279
280
281
282
283// Entry rule entryRuleImportSection
284entryRuleImportSection returns [EObject current=null]
285        :
286        { newCompositeNode(grammarAccess.getImportSectionRule()); }
287         iv_ruleImportSection=ruleImportSection
288         { $current=$iv_ruleImportSection.current; }
289         EOF
290;
291
292// Rule ImportSection
293ruleImportSection returns [EObject current=null]
294    @init { enterRule();
295    }
296    @after { leaveRule(); }:
297(
298(
299                {
300                newCompositeNode(grammarAccess.getImportSectionAccess().getImportsImportParserRuleCall_0());
301            }
302                lv_imports_0_0=ruleImport               {
303                if ($current==null) {
304                    $current = createModelElementForParent(grammarAccess.getImportSectionRule());
305                }
306                add(
307                        $current,
308                        "imports",
309                        lv_imports_0_0,
310                        "Import");
311                afterParserOrEnumRuleCall();
312            }
313
314)
315)+
316;
317
318
319
320
321
322// Entry rule entryRuleBnfEntry
323entryRuleBnfEntry returns [EObject current=null]
324        :
325        { newCompositeNode(grammarAccess.getBnfEntryRule()); }
326         iv_ruleBnfEntry=ruleBnfEntry
327         { $current=$iv_ruleBnfEntry.current; }
328         EOF
329;
330
331// Rule BnfEntry
332ruleBnfEntry returns [EObject current=null]
333    @init { enterRule();
334    }
335    @after { leaveRule(); }:
336((
337(
338                {
339                newCompositeNode(grammarAccess.getBnfEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());
340            }
341                lv_sectionheader_0_0=ruleSectionHeading         {
342                if ($current==null) {
343                    $current = createModelElementForParent(grammarAccess.getBnfEntryRule());
344                }
345                set(
346                        $current,
347                        "sectionheader",
348                        lv_sectionheader_0_0,
349                        "SectionHeading");
350                afterParserOrEnumRuleCall();
351            }
352
353)
354)
355    |(
356(
357                {
358                newCompositeNode(grammarAccess.getBnfEntryAccess().getRuleRuleParserRuleCall_1_0());
359            }
360                lv_rule_1_0=ruleRule            {
361                if ($current==null) {
362                    $current = createModelElementForParent(grammarAccess.getBnfEntryRule());
363                }
364                set(
365                        $current,
366                        "rule",
367                        lv_rule_1_0,
368                        "Rule");
369                afterParserOrEnumRuleCall();
370            }
371
372)
373)
374    |(
375(
376                {
377                newCompositeNode(grammarAccess.getBnfEntryAccess().getCommentCommentParserRuleCall_2_0());
378            }
379                lv_comment_2_0=ruleComment              {
380                if ($current==null) {
381                    $current = createModelElementForParent(grammarAccess.getBnfEntryRule());
382                }
383                set(
384                        $current,
385                        "comment",
386                        lv_comment_2_0,
387                        "Comment");
388                afterParserOrEnumRuleCall();
389            }
390
391)
392))
393;
394
395
396
397
398
399// Entry rule entryRuleDeltaEntry
400entryRuleDeltaEntry returns [EObject current=null]
401        :
402        { newCompositeNode(grammarAccess.getDeltaEntryRule()); }
403         iv_ruleDeltaEntry=ruleDeltaEntry
404         { $current=$iv_ruleDeltaEntry.current; }
405         EOF
406;
407
408// Rule DeltaEntry
409ruleDeltaEntry returns [EObject current=null]
410    @init { enterRule();
411    }
412    @after { leaveRule(); }:
413((
414(
415                {
416                newCompositeNode(grammarAccess.getDeltaEntryAccess().getRuleRuleParserRuleCall_0_0());
417            }
418                lv_rule_0_0=ruleRule            {
419                if ($current==null) {
420                    $current = createModelElementForParent(grammarAccess.getDeltaEntryRule());
421                }
422                set(
423                        $current,
424                        "rule",
425                        lv_rule_0_0,
426                        "Rule");
427                afterParserOrEnumRuleCall();
428            }
429
430)
431)
432    |(
433(
434                {
435                newCompositeNode(grammarAccess.getDeltaEntryAccess().getSectionheaderSectionHeadingParserRuleCall_1_0());
436            }
437                lv_sectionheader_1_0=ruleSectionHeading         {
438                if ($current==null) {
439                    $current = createModelElementForParent(grammarAccess.getDeltaEntryRule());
440                }
441                set(
442                        $current,
443                        "sectionheader",
444                        lv_sectionheader_1_0,
445                        "SectionHeading");
446                afterParserOrEnumRuleCall();
447            }
448
449)
450)
451    |(
452(
453                {
454                newCompositeNode(grammarAccess.getDeltaEntryAccess().getExtRuleExtRuleParserRuleCall_2_0());
455            }
456                lv_extRule_2_0=ruleExtRule              {
457                if ($current==null) {
458                    $current = createModelElementForParent(grammarAccess.getDeltaEntryRule());
459                }
460                set(
461                        $current,
462                        "extRule",
463                        lv_extRule_2_0,
464                        "ExtRule");
465                afterParserOrEnumRuleCall();
466            }
467
468)
469))
470;
471
472
473
474
475
476// Entry rule entryRuleMergeEntry
477entryRuleMergeEntry returns [EObject current=null]
478        :
479        { newCompositeNode(grammarAccess.getMergeEntryRule()); }
480         iv_ruleMergeEntry=ruleMergeEntry
481         { $current=$iv_ruleMergeEntry.current; }
482         EOF
483;
484
485// Rule MergeEntry
486ruleMergeEntry returns [EObject current=null]
487    @init { enterRule();
488    }
489    @after { leaveRule(); }:
490((
491(
492                {
493                newCompositeNode(grammarAccess.getMergeEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());
494            }
495                lv_sectionheader_0_0=ruleSectionHeading         {
496                if ($current==null) {
497                    $current = createModelElementForParent(grammarAccess.getMergeEntryRule());
498                }
499                set(
500                        $current,
501                        "sectionheader",
502                        lv_sectionheader_0_0,
503                        "SectionHeading");
504                afterParserOrEnumRuleCall();
505            }
506
507)
508)
509    |(
510(
511                {
512                newCompositeNode(grammarAccess.getMergeEntryAccess().getMergeRuleMergeRuleParserRuleCall_1_0());
513            }
514                lv_mergeRule_1_0=ruleMergeRule          {
515                if ($current==null) {
516                    $current = createModelElementForParent(grammarAccess.getMergeEntryRule());
517                }
518                set(
519                        $current,
520                        "mergeRule",
521                        lv_mergeRule_1_0,
522                        "MergeRule");
523                afterParserOrEnumRuleCall();
524            }
525
526)
527))
528;
529
530
531
532
533
534// Entry rule entryRuleSectionHeading
535entryRuleSectionHeading returns [EObject current=null]
536        :
537        { newCompositeNode(grammarAccess.getSectionHeadingRule()); }
538         iv_ruleSectionHeading=ruleSectionHeading
539         { $current=$iv_ruleSectionHeading.current; }
540         EOF
541;
542
543// Rule SectionHeading
544ruleSectionHeading returns [EObject current=null]
545    @init { enterRule();
546    }
547    @after { leaveRule(); }:
548((
549        {
550          /* */
551        }
552    {
553        $current = forceCreateModelElement(
554            grammarAccess.getSectionHeadingAccess().getSectionHeadingAction_0(),
555            $current);
556    }
557)(
558(
559                lv_sectionHeader_1_0=RULE_SECTIONHEADER
560                {
561                        newLeafNode(lv_sectionHeader_1_0, grammarAccess.getSectionHeadingAccess().getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0());
562                }
563                {
564                if ($current==null) {
565                    $current = createModelElement(grammarAccess.getSectionHeadingRule());
566                }
567                setWithLastConsumed(
568                        $current,
569                        "sectionHeader",
570                        lv_sectionHeader_1_0,
571                        "SECTIONHEADER");
572            }
573
574)
575))
576;
577
578
579
580
581
582// Entry rule entryRuleComment
583entryRuleComment returns [EObject current=null]
584        :
585        { newCompositeNode(grammarAccess.getCommentRule()); }
586         iv_ruleComment=ruleComment
587         { $current=$iv_ruleComment.current; }
588         EOF
589;
590
591// Rule Comment
592ruleComment returns [EObject current=null]
593    @init { enterRule();
594    }
595    @after { leaveRule(); }:
596((
597        {
598          /* */
599        }
600    {
601        $current = forceCreateModelElement(
602            grammarAccess.getCommentAccess().getCommentAction_0(),
603            $current);
604    }
605)(
606(
607                lv_content_1_0=RULE_ML_COMMENT
608                {
609                        newLeafNode(lv_content_1_0, grammarAccess.getCommentAccess().getContentML_COMMENTTerminalRuleCall_1_0());
610                }
611                {
612                if ($current==null) {
613                    $current = createModelElement(grammarAccess.getCommentRule());
614                }
615                setWithLastConsumed(
616                        $current,
617                        "content",
618                        lv_content_1_0,
619                        "ML_COMMENT");
620            }
621
622)
623))
624;
625
626
627
628
629
630// Entry rule entryRuleImport
631entryRuleImport returns [EObject current=null]
632        :
633        { newCompositeNode(grammarAccess.getImportRule()); }
634         iv_ruleImport=ruleImport
635         { $current=$iv_ruleImport.current; }
636         EOF
637;
638
639// Rule Import
640ruleImport returns [EObject current=null]
641    @init { enterRule();
642    }
643    @after { leaveRule(); }:
644(       otherlv_0='import'
645    {
646        newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
647    }
648(
649(
650                lv_importURI_1_0=RULE_STRING
651                {
652                        newLeafNode(lv_importURI_1_0, grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0());
653                }
654                {
655                if ($current==null) {
656                    $current = createModelElement(grammarAccess.getImportRule());
657                }
658                setWithLastConsumed(
659                        $current,
660                        "importURI",
661                        lv_importURI_1_0,
662                        "STRING");
663            }
664
665)
666)(      otherlv_2='/'
667    {
668        newLeafNode(otherlv_2, grammarAccess.getImportAccess().getSolidusKeyword_2_0());
669    }
670((
671(
672                lv_grammarType_3_0=     'core'
673    {
674        newLeafNode(lv_grammarType_3_0, grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());
675    }
676 
677            {
678                if ($current==null) {
679                    $current = createModelElement(grammarAccess.getImportRule());
680                }
681                setWithLastConsumed($current, "grammarType", lv_grammarType_3_0, "core");
682            }
683
684)
685)
686    |(
687(
688                lv_grammarType_4_0=     'package'
689    {
690        newLeafNode(lv_grammarType_4_0, grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());
691    }
692 
693            {
694                if ($current==null) {
695                    $current = createModelElement(grammarAccess.getImportRule());
696                }
697                setWithLastConsumed($current, "grammarType", lv_grammarType_4_0, "package");
698            }
699
700)
701)
702    |(
703(
704                lv_grammarType_5_0=     'update'
705    {
706        newLeafNode(lv_grammarType_5_0, grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());
707    }
708 
709            {
710                if ($current==null) {
711                    $current = createModelElement(grammarAccess.getImportRule());
712                }
713                setWithLastConsumed($current, "grammarType", lv_grammarType_5_0, "update");
714            }
715
716)
717)))?(   otherlv_6='label:'
718    {
719        newLeafNode(otherlv_6, grammarAccess.getImportAccess().getLabelKeyword_3_0());
720    }
721(
722(
723                lv_label_7_0=RULE_ID
724                {
725                        newLeafNode(lv_label_7_0, grammarAccess.getImportAccess().getLabelIDTerminalRuleCall_3_1_0());
726                }
727                {
728                if ($current==null) {
729                    $current = createModelElement(grammarAccess.getImportRule());
730                }
731                setWithLastConsumed(
732                        $current,
733                        "label",
734                        lv_label_7_0,
735                        "ID");
736            }
737
738)
739))?     otherlv_8=';'
740    {
741        newLeafNode(otherlv_8, grammarAccess.getImportAccess().getSemicolonKeyword_4());
742    }
743)
744;
745
746
747
748
749
750// Entry rule entryRuleRule
751entryRuleRule returns [EObject current=null]
752        :
753        { newCompositeNode(grammarAccess.getRuleRule()); }
754         iv_ruleRule=ruleRule
755         { $current=$iv_ruleRule.current; }
756         EOF
757;
758
759// Rule Rule
760ruleRule returns [EObject current=null]
761    @init { enterRule();
762    }
763    @after { leaveRule(); }:
764(((
765(
766                lv_rulenumber_0_0=RULE_INT
767                {
768                        newLeafNode(lv_rulenumber_0_0, grammarAccess.getRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());
769                }
770                {
771                if ($current==null) {
772                    $current = createModelElement(grammarAccess.getRuleRule());
773                }
774                setWithLastConsumed(
775                        $current,
776                        "rulenumber",
777                        lv_rulenumber_0_0,
778                        "INT");
779            }
780
781)
782)(
783(
784                lv_rulevariant_1_0=RULE_ID
785                {
786                        newLeafNode(lv_rulevariant_1_0, grammarAccess.getRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());
787                }
788                {
789                if ($current==null) {
790                    $current = createModelElement(grammarAccess.getRuleRule());
791                }
792                setWithLastConsumed(
793                        $current,
794                        "rulevariant",
795                        lv_rulevariant_1_0,
796                        "ID");
797            }
798
799)
800)?      otherlv_2='.'
801    {
802        newLeafNode(otherlv_2, grammarAccess.getRuleAccess().getFullStopKeyword_0_2());
803    }
804)?(
805(
806                lv_name_3_0=RULE_ID
807                {
808                        newLeafNode(lv_name_3_0, grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_1_0());
809                }
810                {
811                if ($current==null) {
812                    $current = createModelElement(grammarAccess.getRuleRule());
813                }
814                setWithLastConsumed(
815                        $current,
816                        "name",
817                        lv_name_3_0,
818                        "ID");
819            }
820
821)
822)       otherlv_4='::='
823    {
824        newLeafNode(otherlv_4, grammarAccess.getRuleAccess().getColonColonEqualsSignKeyword_2());
825    }
826(
827(
828                {
829                newCompositeNode(grammarAccess.getRuleAccess().getDefinitionListDefinitionListParserRuleCall_3_0());
830            }
831                lv_definitionList_5_0=ruleDefinitionList                {
832                if ($current==null) {
833                    $current = createModelElementForParent(grammarAccess.getRuleRule());
834                }
835                set(
836                        $current,
837                        "definitionList",
838                        lv_definitionList_5_0,
839                        "DefinitionList");
840                afterParserOrEnumRuleCall();
841            }
842
843)
844)?(     otherlv_6=';'
845    {
846        newLeafNode(otherlv_6, grammarAccess.getRuleAccess().getSemicolonKeyword_4());
847    }
848)?)
849;
850
851
852
853
854
855// Entry rule entryRuleExtRule
856entryRuleExtRule returns [EObject current=null]
857        :
858        { newCompositeNode(grammarAccess.getExtRuleRule()); }
859         iv_ruleExtRule=ruleExtRule
860         { $current=$iv_ruleExtRule.current; }
861         EOF
862;
863
864// Rule ExtRule
865ruleExtRule returns [EObject current=null]
866    @init { enterRule();
867    }
868    @after { leaveRule(); }:
869(((
870(
871                lv_rulenumber_0_0=RULE_INT
872                {
873                        newLeafNode(lv_rulenumber_0_0, grammarAccess.getExtRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());
874                }
875                {
876                if ($current==null) {
877                    $current = createModelElement(grammarAccess.getExtRuleRule());
878                }
879                setWithLastConsumed(
880                        $current,
881                        "rulenumber",
882                        lv_rulenumber_0_0,
883                        "INT");
884            }
885
886)
887)(
888(
889                lv_rulevariant_1_0=RULE_ID
890                {
891                        newLeafNode(lv_rulevariant_1_0, grammarAccess.getExtRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());
892                }
893                {
894                if ($current==null) {
895                    $current = createModelElement(grammarAccess.getExtRuleRule());
896                }
897                setWithLastConsumed(
898                        $current,
899                        "rulevariant",
900                        lv_rulevariant_1_0,
901                        "ID");
902            }
903
904)
905)?      otherlv_2='.'
906    {
907        newLeafNode(otherlv_2, grammarAccess.getExtRuleAccess().getFullStopKeyword_0_2());
908    }
909)?(
910(
911                lv_name_3_0=RULE_ID
912                {
913                        newLeafNode(lv_name_3_0, grammarAccess.getExtRuleAccess().getNameIDTerminalRuleCall_1_0());
914                }
915                {
916                if ($current==null) {
917                    $current = createModelElement(grammarAccess.getExtRuleRule());
918                }
919                setWithLastConsumed(
920                        $current,
921                        "name",
922                        lv_name_3_0,
923                        "ID");
924            }
925
926)
927)(      otherlv_4='('
928    {
929        newLeafNode(otherlv_4, grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_2_0());
930    }
931(
932(
933                lv_ruleext_5_0=RULE_INT
934                {
935                        newLeafNode(lv_ruleext_5_0, grammarAccess.getExtRuleAccess().getRuleextINTTerminalRuleCall_2_1_0());
936                }
937                {
938                if ($current==null) {
939                    $current = createModelElement(grammarAccess.getExtRuleRule());
940                }
941                setWithLastConsumed(
942                        $current,
943                        "ruleext",
944                        lv_ruleext_5_0,
945                        "INT");
946            }
947
948)
949)       otherlv_6=')'
950    {
951        newLeafNode(otherlv_6, grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_2_2());
952    }
953)       otherlv_7='<-'
954    {
955        newLeafNode(otherlv_7, grammarAccess.getExtRuleAccess().getLessThanSignHyphenMinusKeyword_3());
956    }
957((
958(
959                {
960                newCompositeNode(grammarAccess.getExtRuleAccess().getElementsAtomParserRuleCall_4_0_0());
961            }
962                lv_elements_8_0=ruleAtom                {
963                if ($current==null) {
964                    $current = createModelElementForParent(grammarAccess.getExtRuleRule());
965                }
966                add(
967                        $current,
968                        "elements",
969                        lv_elements_8_0,
970                        "Atom");
971                afterParserOrEnumRuleCall();
972            }
973
974)
975)
976    |   otherlv_9=')'
977    {
978        newLeafNode(otherlv_9, grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_4_1());
979    }
980
981    |   otherlv_10=']'
982    {
983        newLeafNode(otherlv_10, grammarAccess.getExtRuleAccess().getRightSquareBracketKeyword_4_2());
984    }
985
986    |   otherlv_11='}'
987    {
988        newLeafNode(otherlv_11, grammarAccess.getExtRuleAccess().getRightCurlyBracketKeyword_4_3());
989    }
990
991    |   otherlv_12='|'
992    {
993        newLeafNode(otherlv_12, grammarAccess.getExtRuleAccess().getVerticalLineKeyword_4_4());
994    }
995
996    |   otherlv_13='('
997    {
998        newLeafNode(otherlv_13, grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_4_5());
999    }
1000
1001    |   otherlv_14='['
1002    {
1003        newLeafNode(otherlv_14, grammarAccess.getExtRuleAccess().getLeftSquareBracketKeyword_4_6());
1004    }
1005
1006    |   otherlv_15='{'
1007    {
1008        newLeafNode(otherlv_15, grammarAccess.getExtRuleAccess().getLeftCurlyBracketKeyword_4_7());
1009    }
1010
1011    |   otherlv_16='*'
1012    {
1013        newLeafNode(otherlv_16, grammarAccess.getExtRuleAccess().getAsteriskKeyword_4_8());
1014    }
1015
1016    |   otherlv_17='+'
1017    {
1018        newLeafNode(otherlv_17, grammarAccess.getExtRuleAccess().getPlusSignKeyword_4_9());
1019    }
1020)*(     otherlv_18=';'
1021    {
1022        newLeafNode(otherlv_18, grammarAccess.getExtRuleAccess().getSemicolonKeyword_5());
1023    }
1024)?)
1025;
1026
1027
1028
1029
1030
1031// Entry rule entryRuleMergeRule
1032entryRuleMergeRule returns [EObject current=null]
1033        :
1034        { newCompositeNode(grammarAccess.getMergeRuleRule()); }
1035         iv_ruleMergeRule=ruleMergeRule
1036         { $current=$iv_ruleMergeRule.current; }
1037         EOF
1038;
1039
1040// Rule MergeRule
1041ruleMergeRule returns [EObject current=null]
1042    @init { enterRule();
1043    }
1044    @after { leaveRule(); }:
1045(
1046        {
1047          /* */
1048        }
1049    {
1050        newCompositeNode(grammarAccess.getMergeRuleAccess().getGlobalCombinatorParserRuleCall_0());
1051    }
1052    this_GlobalCombinator_0=ruleGlobalCombinator
1053    {
1054        $current = $this_GlobalCombinator_0.current;
1055        afterParserOrEnumRuleCall();
1056    }
1057
1058    |
1059        {
1060          /* */
1061        }
1062    {
1063        newCompositeNode(grammarAccess.getMergeRuleAccess().getRuleCombinatorParserRuleCall_1());
1064    }
1065    this_RuleCombinator_1=ruleRuleCombinator
1066    {
1067        $current = $this_RuleCombinator_1.current;
1068        afterParserOrEnumRuleCall();
1069    }
1070
1071    |
1072        {
1073          /* */
1074        }
1075    {
1076        newCompositeNode(grammarAccess.getMergeRuleAccess().getHookCombinatorParserRuleCall_2());
1077    }
1078    this_HookCombinator_2=ruleHookCombinator
1079    {
1080        $current = $this_HookCombinator_2.current;
1081        afterParserOrEnumRuleCall();
1082    }
1083)
1084;
1085
1086
1087
1088
1089
1090// Entry rule entryRuleGlobalCombinator
1091entryRuleGlobalCombinator returns [EObject current=null]
1092        :
1093        { newCompositeNode(grammarAccess.getGlobalCombinatorRule()); }
1094         iv_ruleGlobalCombinator=ruleGlobalCombinator
1095         { $current=$iv_ruleGlobalCombinator.current; }
1096         EOF
1097;
1098
1099// Rule GlobalCombinator
1100ruleGlobalCombinator returns [EObject current=null]
1101    @init { enterRule();
1102    }
1103    @after { leaveRule(); }:
1104((      otherlv_0='global'
1105    {
1106        newLeafNode(otherlv_0, grammarAccess.getGlobalCombinatorAccess().getGlobalKeyword_0_0());
1107    }
1108        otherlv_1='combinator:'
1109    {
1110        newLeafNode(otherlv_1, grammarAccess.getGlobalCombinatorAccess().getCombinatorKeyword_0_1());
1111    }
1112)(
1113(
1114                lv_logic_2_0=RULE_LOGIC
1115                {
1116                        newLeafNode(lv_logic_2_0, grammarAccess.getGlobalCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());
1117                }
1118                {
1119                if ($current==null) {
1120                    $current = createModelElement(grammarAccess.getGlobalCombinatorRule());
1121                }
1122                setWithLastConsumed(
1123                        $current,
1124                        "logic",
1125                        lv_logic_2_0,
1126                        "LOGIC");
1127            }
1128
1129)
1130)(      otherlv_3=';'
1131    {
1132        newLeafNode(otherlv_3, grammarAccess.getGlobalCombinatorAccess().getSemicolonKeyword_2());
1133    }
1134)?)
1135;
1136
1137
1138
1139
1140
1141// Entry rule entryRuleRuleCombinator
1142entryRuleRuleCombinator returns [EObject current=null]
1143        :
1144        { newCompositeNode(grammarAccess.getRuleCombinatorRule()); }
1145         iv_ruleRuleCombinator=ruleRuleCombinator
1146         { $current=$iv_ruleRuleCombinator.current; }
1147         EOF
1148;
1149
1150// Rule RuleCombinator
1151ruleRuleCombinator returns [EObject current=null]
1152    @init { enterRule();
1153    }
1154    @after { leaveRule(); }:
1155((      otherlv_0='rule'
1156    {
1157        newLeafNode(otherlv_0, grammarAccess.getRuleCombinatorAccess().getRuleKeyword_0_0());
1158    }
1159        otherlv_1='combinator:'
1160    {
1161        newLeafNode(otherlv_1, grammarAccess.getRuleCombinatorAccess().getCombinatorKeyword_0_1());
1162    }
1163(
1164(
1165                lv_name_2_0=RULE_ID
1166                {
1167                        newLeafNode(lv_name_2_0, grammarAccess.getRuleCombinatorAccess().getNameIDTerminalRuleCall_0_2_0());
1168                }
1169                {
1170                if ($current==null) {
1171                    $current = createModelElement(grammarAccess.getRuleCombinatorRule());
1172                }
1173                setWithLastConsumed(
1174                        $current,
1175                        "name",
1176                        lv_name_2_0,
1177                        "ID");
1178            }
1179
1180)
1181))(
1182(
1183                lv_logic_3_0=RULE_LOGIC
1184                {
1185                        newLeafNode(lv_logic_3_0, grammarAccess.getRuleCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());
1186                }
1187                {
1188                if ($current==null) {
1189                    $current = createModelElement(grammarAccess.getRuleCombinatorRule());
1190                }
1191                setWithLastConsumed(
1192                        $current,
1193                        "logic",
1194                        lv_logic_3_0,
1195                        "LOGIC");
1196            }
1197
1198)
1199)(      otherlv_4='('
1200    {
1201        newLeafNode(otherlv_4, grammarAccess.getRuleCombinatorAccess().getLeftParenthesisKeyword_2_0());
1202    }
1203(
1204(
1205                lv_LABEL_5_0=RULE_STRING
1206                {
1207                        newLeafNode(lv_LABEL_5_0, grammarAccess.getRuleCombinatorAccess().getLABELSTRINGTerminalRuleCall_2_1_0());
1208                }
1209                {
1210                if ($current==null) {
1211                    $current = createModelElement(grammarAccess.getRuleCombinatorRule());
1212                }
1213                addWithLastConsumed(
1214                        $current,
1215                        "LABEL",
1216                        lv_LABEL_5_0,
1217                        "STRING");
1218            }
1219
1220)
1221)       otherlv_6=')'
1222    {
1223        newLeafNode(otherlv_6, grammarAccess.getRuleCombinatorAccess().getRightParenthesisKeyword_2_2());
1224    }
1225)*(     otherlv_7=';'
1226    {
1227        newLeafNode(otherlv_7, grammarAccess.getRuleCombinatorAccess().getSemicolonKeyword_3());
1228    }
1229)?)
1230;
1231
1232
1233
1234
1235
1236// Entry rule entryRuleHookCombinator
1237entryRuleHookCombinator returns [EObject current=null]
1238        :
1239        { newCompositeNode(grammarAccess.getHookCombinatorRule()); }
1240         iv_ruleHookCombinator=ruleHookCombinator
1241         { $current=$iv_ruleHookCombinator.current; }
1242         EOF
1243;
1244
1245// Rule HookCombinator
1246ruleHookCombinator returns [EObject current=null]
1247    @init { enterRule();
1248    }
1249    @after { leaveRule(); }:
1250(       otherlv_0='hook'
1251    {
1252        newLeafNode(otherlv_0, grammarAccess.getHookCombinatorAccess().getHookKeyword_0());
1253    }
1254        otherlv_1='combinator:'
1255    {
1256        newLeafNode(otherlv_1, grammarAccess.getHookCombinatorAccess().getCombinatorKeyword_1());
1257    }
1258(
1259(
1260                lv_name_2_0=RULE_ID
1261                {
1262                        newLeafNode(lv_name_2_0, grammarAccess.getHookCombinatorAccess().getNameIDTerminalRuleCall_2_0());
1263                }
1264                {
1265                if ($current==null) {
1266                    $current = createModelElement(grammarAccess.getHookCombinatorRule());
1267                }
1268                setWithLastConsumed(
1269                        $current,
1270                        "name",
1271                        lv_name_2_0,
1272                        "ID");
1273            }
1274
1275)
1276)       otherlv_3='('
1277    {
1278        newLeafNode(otherlv_3, grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_3());
1279    }
1280(
1281(
1282                lv_ruleext_4_0=RULE_INT
1283                {
1284                        newLeafNode(lv_ruleext_4_0, grammarAccess.getHookCombinatorAccess().getRuleextINTTerminalRuleCall_4_0());
1285                }
1286                {
1287                if ($current==null) {
1288                    $current = createModelElement(grammarAccess.getHookCombinatorRule());
1289                }
1290                setWithLastConsumed(
1291                        $current,
1292                        "ruleext",
1293                        lv_ruleext_4_0,
1294                        "INT");
1295            }
1296
1297)
1298)       otherlv_5=')'
1299    {
1300        newLeafNode(otherlv_5, grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_5());
1301    }
1302(
1303(
1304                lv_logic_6_0=RULE_LOGIC
1305                {
1306                        newLeafNode(lv_logic_6_0, grammarAccess.getHookCombinatorAccess().getLogicLOGICTerminalRuleCall_6_0());
1307                }
1308                {
1309                if ($current==null) {
1310                    $current = createModelElement(grammarAccess.getHookCombinatorRule());
1311                }
1312                setWithLastConsumed(
1313                        $current,
1314                        "logic",
1315                        lv_logic_6_0,
1316                        "LOGIC");
1317            }
1318
1319)
1320)?(     otherlv_7='('
1321    {
1322        newLeafNode(otherlv_7, grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_7_0());
1323    }
1324(
1325(
1326                lv_LABEL_8_0=RULE_STRING
1327                {
1328                        newLeafNode(lv_LABEL_8_0, grammarAccess.getHookCombinatorAccess().getLABELSTRINGTerminalRuleCall_7_1_0());
1329                }
1330                {
1331                if ($current==null) {
1332                    $current = createModelElement(grammarAccess.getHookCombinatorRule());
1333                }
1334                addWithLastConsumed(
1335                        $current,
1336                        "LABEL",
1337                        lv_LABEL_8_0,
1338                        "STRING");
1339            }
1340
1341)
1342)       otherlv_9=')'
1343    {
1344        newLeafNode(otherlv_9, grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_7_2());
1345    }
1346)+(     otherlv_10=';'
1347    {
1348        newLeafNode(otherlv_10, grammarAccess.getHookCombinatorAccess().getSemicolonKeyword_8());
1349    }
1350)?)
1351;
1352
1353
1354
1355
1356
1357// Entry rule entryRuleDefinitionList
1358entryRuleDefinitionList returns [EObject current=null]
1359        :
1360        { newCompositeNode(grammarAccess.getDefinitionListRule()); }
1361         iv_ruleDefinitionList=ruleDefinitionList
1362         { $current=$iv_ruleDefinitionList.current; }
1363         EOF
1364;
1365
1366// Rule DefinitionList
1367ruleDefinitionList returns [EObject current=null]
1368    @init { enterRule();
1369    }
1370    @after { leaveRule(); }:
1371((
1372(
1373                {
1374                newCompositeNode(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_0_0());
1375            }
1376                lv_singleDefinition_0_0=ruleSingleDefinition            {
1377                if ($current==null) {
1378                    $current = createModelElementForParent(grammarAccess.getDefinitionListRule());
1379                }
1380                add(
1381                        $current,
1382                        "singleDefinition",
1383                        lv_singleDefinition_0_0,
1384                        "SingleDefinition");
1385                afterParserOrEnumRuleCall();
1386            }
1387
1388)
1389)(      otherlv_1='|'
1390    {
1391        newLeafNode(otherlv_1, grammarAccess.getDefinitionListAccess().getVerticalLineKeyword_1_0());
1392    }
1393(
1394(
1395                {
1396                newCompositeNode(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_1_1_0());
1397            }
1398                lv_singleDefinition_2_0=ruleSingleDefinition            {
1399                if ($current==null) {
1400                    $current = createModelElementForParent(grammarAccess.getDefinitionListRule());
1401                }
1402                add(
1403                        $current,
1404                        "singleDefinition",
1405                        lv_singleDefinition_2_0,
1406                        "SingleDefinition");
1407                afterParserOrEnumRuleCall();
1408            }
1409
1410)
1411))*)
1412;
1413
1414
1415
1416
1417
1418// Entry rule entryRuleSingleDefinition
1419entryRuleSingleDefinition returns [EObject current=null]
1420        :
1421        { newCompositeNode(grammarAccess.getSingleDefinitionRule()); }
1422         iv_ruleSingleDefinition=ruleSingleDefinition
1423         { $current=$iv_ruleSingleDefinition.current; }
1424         EOF
1425;
1426
1427// Rule SingleDefinition
1428ruleSingleDefinition returns [EObject current=null]
1429    @init { enterRule();
1430    }
1431    @after { leaveRule(); }:
1432(
1433(
1434                {
1435                newCompositeNode(grammarAccess.getSingleDefinitionAccess().getTermsTermParserRuleCall_0());
1436            }
1437                lv_terms_0_0=ruleTerm           {
1438                if ($current==null) {
1439                    $current = createModelElementForParent(grammarAccess.getSingleDefinitionRule());
1440                }
1441                add(
1442                        $current,
1443                        "terms",
1444                        lv_terms_0_0,
1445                        "Term");
1446                afterParserOrEnumRuleCall();
1447            }
1448
1449)
1450)+
1451;
1452
1453
1454
1455
1456
1457// Entry rule entryRuleTerm
1458entryRuleTerm returns [EObject current=null]
1459        :
1460        { newCompositeNode(grammarAccess.getTermRule()); }
1461         iv_ruleTerm=ruleTerm
1462         { $current=$iv_ruleTerm.current; }
1463         EOF
1464;
1465
1466// Rule Term
1467ruleTerm returns [EObject current=null]
1468    @init { enterRule();
1469    }
1470    @after { leaveRule(); }:
1471((
1472(
1473                {
1474                newCompositeNode(grammarAccess.getTermAccess().getTermAtomAtomParserRuleCall_0_0());
1475            }
1476                lv_termAtom_0_0=ruleAtom                {
1477                if ($current==null) {
1478                    $current = createModelElementForParent(grammarAccess.getTermRule());
1479                }
1480                set(
1481                        $current,
1482                        "termAtom",
1483                        lv_termAtom_0_0,
1484                        "Atom");
1485                afterParserOrEnumRuleCall();
1486            }
1487
1488)
1489)
1490    |(
1491(
1492                {
1493                newCompositeNode(grammarAccess.getTermAccess().getTermGroupedSequenceGroupedSequenceParserRuleCall_1_0());
1494            }
1495                lv_termGroupedSequence_1_0=ruleGroupedSequence          {
1496                if ($current==null) {
1497                    $current = createModelElementForParent(grammarAccess.getTermRule());
1498                }
1499                set(
1500                        $current,
1501                        "termGroupedSequence",
1502                        lv_termGroupedSequence_1_0,
1503                        "GroupedSequence");
1504                afterParserOrEnumRuleCall();
1505            }
1506
1507)
1508)
1509    |(
1510(
1511                {
1512                newCompositeNode(grammarAccess.getTermAccess().getTermOptionalSequenceOptionalSequenceParserRuleCall_2_0());
1513            }
1514                lv_termOptionalSequence_2_0=ruleOptionalSequence                {
1515                if ($current==null) {
1516                    $current = createModelElementForParent(grammarAccess.getTermRule());
1517                }
1518                set(
1519                        $current,
1520                        "termOptionalSequence",
1521                        lv_termOptionalSequence_2_0,
1522                        "OptionalSequence");
1523                afterParserOrEnumRuleCall();
1524            }
1525
1526)
1527)
1528    |(
1529(
1530                {
1531                newCompositeNode(grammarAccess.getTermAccess().getTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0());
1532            }
1533                lv_termRepeatedSequence_3_0=ruleRepeatedSequence                {
1534                if ($current==null) {
1535                    $current = createModelElementForParent(grammarAccess.getTermRule());
1536                }
1537                set(
1538                        $current,
1539                        "termRepeatedSequence",
1540                        lv_termRepeatedSequence_3_0,
1541                        "RepeatedSequence");
1542                afterParserOrEnumRuleCall();
1543            }
1544
1545)
1546))
1547;
1548
1549
1550
1551
1552
1553// Entry rule entryRuleAtom
1554entryRuleAtom returns [EObject current=null]
1555        :
1556        { newCompositeNode(grammarAccess.getAtomRule()); }
1557         iv_ruleAtom=ruleAtom
1558         { $current=$iv_ruleAtom.current; }
1559         EOF
1560;
1561
1562// Rule Atom
1563ruleAtom returns [EObject current=null]
1564    @init { enterRule();
1565    }
1566    @after { leaveRule(); }:
1567((
1568(
1569                {
1570                newCompositeNode(grammarAccess.getAtomAccess().getAtomStringRuleStringRuleParserRuleCall_0_0());
1571            }
1572                lv_atomStringRule_0_0=ruleStringRule            {
1573                if ($current==null) {
1574                    $current = createModelElementForParent(grammarAccess.getAtomRule());
1575                }
1576                set(
1577                        $current,
1578                        "atomStringRule",
1579                        lv_atomStringRule_0_0,
1580                        "StringRule");
1581                afterParserOrEnumRuleCall();
1582            }
1583
1584)
1585)
1586    |(
1587(
1588                {
1589                newCompositeNode(grammarAccess.getAtomAccess().getAtomRuleReferenceRuleReferenceParserRuleCall_1_0());
1590            }
1591                lv_atomRuleReference_1_0=ruleRuleReference              {
1592                if ($current==null) {
1593                    $current = createModelElementForParent(grammarAccess.getAtomRule());
1594                }
1595                set(
1596                        $current,
1597                        "atomRuleReference",
1598                        lv_atomRuleReference_1_0,
1599                        "RuleReference");
1600                afterParserOrEnumRuleCall();
1601            }
1602
1603)
1604))
1605;
1606
1607
1608
1609
1610
1611// Entry rule entryRuleRuleReference
1612entryRuleRuleReference returns [EObject current=null]
1613        :
1614        { newCompositeNode(grammarAccess.getRuleReferenceRule()); }
1615         iv_ruleRuleReference=ruleRuleReference
1616         { $current=$iv_ruleRuleReference.current; }
1617         EOF
1618;
1619
1620// Rule RuleReference
1621ruleRuleReference returns [EObject current=null]
1622    @init { enterRule();
1623    }
1624    @after { leaveRule(); }:
1625(
1626(
1627                {
1628                  /* */
1629                }
1630                {
1631                        if ($current==null) {
1632                    $current = createModelElement(grammarAccess.getRuleReferenceRule());
1633                }
1634        }
1635        otherlv_0=RULE_ID
1636        {
1637                newLeafNode(otherlv_0, grammarAccess.getRuleReferenceAccess().getRulerefRuleCrossReference_0());
1638        }
1639
1640)
1641)
1642;
1643
1644
1645
1646
1647
1648// Entry rule entryRuleStringRule
1649entryRuleStringRule returns [EObject current=null]
1650        :
1651        { newCompositeNode(grammarAccess.getStringRuleRule()); }
1652         iv_ruleStringRule=ruleStringRule
1653         { $current=$iv_ruleStringRule.current; }
1654         EOF
1655;
1656
1657// Rule StringRule
1658ruleStringRule returns [EObject current=null]
1659    @init { enterRule();
1660    }
1661    @after { leaveRule(); }:
1662((
1663(
1664                lv_literal_0_0=RULE_STRING
1665                {
1666                        newLeafNode(lv_literal_0_0, grammarAccess.getStringRuleAccess().getLiteralSTRINGTerminalRuleCall_0_0());
1667                }
1668                {
1669                if ($current==null) {
1670                    $current = createModelElement(grammarAccess.getStringRuleRule());
1671                }
1672                setWithLastConsumed(
1673                        $current,
1674                        "literal",
1675                        lv_literal_0_0,
1676                        "STRING");
1677            }
1678
1679)
1680)
1681    |(
1682(
1683                lv_colon_1_0=RULE_COLON
1684                {
1685                        newLeafNode(lv_colon_1_0, grammarAccess.getStringRuleAccess().getColonCOLONTerminalRuleCall_1_0());
1686                }
1687                {
1688                if ($current==null) {
1689                    $current = createModelElement(grammarAccess.getStringRuleRule());
1690                }
1691                setWithLastConsumed(
1692                        $current,
1693                        "colon",
1694                        lv_colon_1_0,
1695                        "COLON");
1696            }
1697
1698)
1699))
1700;
1701
1702
1703
1704
1705
1706// Entry rule entryRuleGroupedSequence
1707entryRuleGroupedSequence returns [EObject current=null]
1708        :
1709        { newCompositeNode(grammarAccess.getGroupedSequenceRule()); }
1710         iv_ruleGroupedSequence=ruleGroupedSequence
1711         { $current=$iv_ruleGroupedSequence.current; }
1712         EOF
1713;
1714
1715// Rule GroupedSequence
1716ruleGroupedSequence returns [EObject current=null]
1717    @init { enterRule();
1718    }
1719    @after { leaveRule(); }:
1720(       otherlv_0='('
1721    {
1722        newLeafNode(otherlv_0, grammarAccess.getGroupedSequenceAccess().getLeftParenthesisKeyword_0());
1723    }
1724(
1725(
1726                {
1727                newCompositeNode(grammarAccess.getGroupedSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());
1728            }
1729                lv_definitionList_1_0=ruleDefinitionList                {
1730                if ($current==null) {
1731                    $current = createModelElementForParent(grammarAccess.getGroupedSequenceRule());
1732                }
1733                add(
1734                        $current,
1735                        "definitionList",
1736                        lv_definitionList_1_0,
1737                        "DefinitionList");
1738                afterParserOrEnumRuleCall();
1739            }
1740
1741)
1742)       otherlv_2=')'
1743    {
1744        newLeafNode(otherlv_2, grammarAccess.getGroupedSequenceAccess().getRightParenthesisKeyword_2());
1745    }
1746)
1747;
1748
1749
1750
1751
1752
1753// Entry rule entryRuleOptionalSequence
1754entryRuleOptionalSequence returns [EObject current=null]
1755        :
1756        { newCompositeNode(grammarAccess.getOptionalSequenceRule()); }
1757         iv_ruleOptionalSequence=ruleOptionalSequence
1758         { $current=$iv_ruleOptionalSequence.current; }
1759         EOF
1760;
1761
1762// Rule OptionalSequence
1763ruleOptionalSequence returns [EObject current=null]
1764    @init { enterRule();
1765    }
1766    @after { leaveRule(); }:
1767(       otherlv_0='['
1768    {
1769        newLeafNode(otherlv_0, grammarAccess.getOptionalSequenceAccess().getLeftSquareBracketKeyword_0());
1770    }
1771(
1772(
1773                {
1774                newCompositeNode(grammarAccess.getOptionalSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());
1775            }
1776                lv_definitionList_1_0=ruleDefinitionList                {
1777                if ($current==null) {
1778                    $current = createModelElementForParent(grammarAccess.getOptionalSequenceRule());
1779                }
1780                add(
1781                        $current,
1782                        "definitionList",
1783                        lv_definitionList_1_0,
1784                        "DefinitionList");
1785                afterParserOrEnumRuleCall();
1786            }
1787
1788)
1789)       otherlv_2=']'
1790    {
1791        newLeafNode(otherlv_2, grammarAccess.getOptionalSequenceAccess().getRightSquareBracketKeyword_2());
1792    }
1793)
1794;
1795
1796
1797
1798
1799
1800// Entry rule entryRuleRepeatedSequence
1801entryRuleRepeatedSequence returns [EObject current=null]
1802        :
1803        { newCompositeNode(grammarAccess.getRepeatedSequenceRule()); }
1804         iv_ruleRepeatedSequence=ruleRepeatedSequence
1805         { $current=$iv_ruleRepeatedSequence.current; }
1806         EOF
1807;
1808
1809// Rule RepeatedSequence
1810ruleRepeatedSequence returns [EObject current=null]
1811    @init { enterRule();
1812    }
1813    @after { leaveRule(); }:
1814(       otherlv_0='{'
1815    {
1816        newLeafNode(otherlv_0, grammarAccess.getRepeatedSequenceAccess().getLeftCurlyBracketKeyword_0());
1817    }
1818(
1819(
1820                {
1821                newCompositeNode(grammarAccess.getRepeatedSequenceAccess().getDefinitionsDefinitionListParserRuleCall_1_0());
1822            }
1823                lv_definitions_1_0=ruleDefinitionList           {
1824                if ($current==null) {
1825                    $current = createModelElementForParent(grammarAccess.getRepeatedSequenceRule());
1826                }
1827                add(
1828                        $current,
1829                        "definitions",
1830                        lv_definitions_1_0,
1831                        "DefinitionList");
1832                afterParserOrEnumRuleCall();
1833            }
1834
1835)
1836)       otherlv_2='}'
1837    {
1838        newLeafNode(otherlv_2, grammarAccess.getRepeatedSequenceAccess().getRightCurlyBracketKeyword_2());
1839    }
1840((
1841(
1842                lv_morethanonce_3_0=    '+'
1843    {
1844        newLeafNode(lv_morethanonce_3_0, grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0());
1845    }
1846 
1847            {
1848                if ($current==null) {
1849                    $current = createModelElement(grammarAccess.getRepeatedSequenceRule());
1850                }
1851                setWithLastConsumed($current, "morethanonce", true, "+");
1852            }
1853
1854)
1855)?
1856    |(
1857(
1858                {
1859                newCompositeNode(grammarAccess.getRepeatedSequenceAccess().getRangeRepeatRangeParserRuleCall_3_1_0());
1860            }
1861                lv_range_4_0=ruleRepeatRange            {
1862                if ($current==null) {
1863                    $current = createModelElementForParent(grammarAccess.getRepeatedSequenceRule());
1864                }
1865                set(
1866                        $current,
1867                        "range",
1868                        lv_range_4_0,
1869                        "RepeatRange");
1870                afterParserOrEnumRuleCall();
1871            }
1872
1873)
1874)?))
1875;
1876
1877
1878
1879
1880
1881// Entry rule entryRuleRepeatRange
1882entryRuleRepeatRange returns [EObject current=null]
1883        :
1884        { newCompositeNode(grammarAccess.getRepeatRangeRule()); }
1885         iv_ruleRepeatRange=ruleRepeatRange
1886         { $current=$iv_ruleRepeatRange.current; }
1887         EOF
1888;
1889
1890// Rule RepeatRange
1891ruleRepeatRange returns [EObject current=null]
1892    @init { enterRule();
1893    }
1894    @after { leaveRule(); }:
1895(       otherlv_0='#'
1896    {
1897        newLeafNode(otherlv_0, grammarAccess.getRepeatRangeAccess().getNumberSignKeyword_0());
1898    }
1899        otherlv_1='('
1900    {
1901        newLeafNode(otherlv_1, grammarAccess.getRepeatRangeAccess().getLeftParenthesisKeyword_1());
1902    }
1903(
1904(
1905                lv_from_2_0=RULE_INT
1906                {
1907                        newLeafNode(lv_from_2_0, grammarAccess.getRepeatRangeAccess().getFromINTTerminalRuleCall_2_0());
1908                }
1909                {
1910                if ($current==null) {
1911                    $current = createModelElement(grammarAccess.getRepeatRangeRule());
1912                }
1913                setWithLastConsumed(
1914                        $current,
1915                        "from",
1916                        lv_from_2_0,
1917                        "INT");
1918            }
1919
1920)
1921)       otherlv_3=','
1922    {
1923        newLeafNode(otherlv_3, grammarAccess.getRepeatRangeAccess().getCommaKeyword_3());
1924    }
1925(
1926(
1927                lv_to_4_0=RULE_INT
1928                {
1929                        newLeafNode(lv_to_4_0, grammarAccess.getRepeatRangeAccess().getToINTTerminalRuleCall_4_0());
1930                }
1931                {
1932                if ($current==null) {
1933                    $current = createModelElement(grammarAccess.getRepeatRangeRule());
1934                }
1935                setWithLastConsumed(
1936                        $current,
1937                        "to",
1938                        lv_to_4_0,
1939                        "INT");
1940            }
1941
1942)
1943)       otherlv_5=')'
1944    {
1945        newLeafNode(otherlv_5, grammarAccess.getRepeatRangeAccess().getRightParenthesisKeyword_5());
1946    }
1947)
1948;
1949
1950
1951
1952
1953
1954RULE_ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*;
1955
1956RULE_INT : ('0'..'9')+;
1957
1958RULE_WS : (' '|'\t'|'\r'? '\n')+;
1959
1960RULE_COLON : '"' '"' '"';
1961
1962RULE_STRING : ('"' ~('"')* '"'|'\'' ~('\'')* '\'');
1963
1964RULE_SECTIONHEADER : ('a'..'z'|'A'..'Z') ('.'|'0'..'9')+ (' '|'\t') ~(('\n'|'\r'))* '\r'? '\n';
1965
1966RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
1967
1968RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
1969
1970RULE_LOGIC : ('/and'|'/or'|'/andr'|'/orr'|'/any'|'/together');
1971
1972
Note: See TracBrowser for help on using the repository browser.