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

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

+ generated resources

File size: 43.0 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
378
379
380// Entry rule entryRuleDeltaEntry
381entryRuleDeltaEntry returns [EObject current=null]
382        :
383        { newCompositeNode(grammarAccess.getDeltaEntryRule()); }
384         iv_ruleDeltaEntry=ruleDeltaEntry
385         { $current=$iv_ruleDeltaEntry.current; }
386         EOF
387;
388
389// Rule DeltaEntry
390ruleDeltaEntry returns [EObject current=null]
391    @init { enterRule();
392    }
393    @after { leaveRule(); }:
394((
395(
396                {
397                newCompositeNode(grammarAccess.getDeltaEntryAccess().getRuleRuleParserRuleCall_0_0());
398            }
399                lv_rule_0_0=ruleRule            {
400                if ($current==null) {
401                    $current = createModelElementForParent(grammarAccess.getDeltaEntryRule());
402                }
403                set(
404                        $current,
405                        "rule",
406                        lv_rule_0_0,
407                        "Rule");
408                afterParserOrEnumRuleCall();
409            }
410
411)
412)
413    |(
414(
415                {
416                newCompositeNode(grammarAccess.getDeltaEntryAccess().getSectionheaderSectionHeadingParserRuleCall_1_0());
417            }
418                lv_sectionheader_1_0=ruleSectionHeading         {
419                if ($current==null) {
420                    $current = createModelElementForParent(grammarAccess.getDeltaEntryRule());
421                }
422                set(
423                        $current,
424                        "sectionheader",
425                        lv_sectionheader_1_0,
426                        "SectionHeading");
427                afterParserOrEnumRuleCall();
428            }
429
430)
431)
432    |(
433(
434                {
435                newCompositeNode(grammarAccess.getDeltaEntryAccess().getExtRuleExtRuleParserRuleCall_2_0());
436            }
437                lv_extRule_2_0=ruleExtRule              {
438                if ($current==null) {
439                    $current = createModelElementForParent(grammarAccess.getDeltaEntryRule());
440                }
441                set(
442                        $current,
443                        "extRule",
444                        lv_extRule_2_0,
445                        "ExtRule");
446                afterParserOrEnumRuleCall();
447            }
448
449)
450))
451;
452
453
454
455
456
457// Entry rule entryRuleMergeEntry
458entryRuleMergeEntry returns [EObject current=null]
459        :
460        { newCompositeNode(grammarAccess.getMergeEntryRule()); }
461         iv_ruleMergeEntry=ruleMergeEntry
462         { $current=$iv_ruleMergeEntry.current; }
463         EOF
464;
465
466// Rule MergeEntry
467ruleMergeEntry returns [EObject current=null]
468    @init { enterRule();
469    }
470    @after { leaveRule(); }:
471((
472(
473                {
474                newCompositeNode(grammarAccess.getMergeEntryAccess().getSectionheaderSectionHeadingParserRuleCall_0_0());
475            }
476                lv_sectionheader_0_0=ruleSectionHeading         {
477                if ($current==null) {
478                    $current = createModelElementForParent(grammarAccess.getMergeEntryRule());
479                }
480                set(
481                        $current,
482                        "sectionheader",
483                        lv_sectionheader_0_0,
484                        "SectionHeading");
485                afterParserOrEnumRuleCall();
486            }
487
488)
489)
490    |(
491(
492                {
493                newCompositeNode(grammarAccess.getMergeEntryAccess().getMergeRuleMergeRuleParserRuleCall_1_0());
494            }
495                lv_mergeRule_1_0=ruleMergeRule          {
496                if ($current==null) {
497                    $current = createModelElementForParent(grammarAccess.getMergeEntryRule());
498                }
499                set(
500                        $current,
501                        "mergeRule",
502                        lv_mergeRule_1_0,
503                        "MergeRule");
504                afterParserOrEnumRuleCall();
505            }
506
507)
508))
509;
510
511
512
513
514
515// Entry rule entryRuleSectionHeading
516entryRuleSectionHeading returns [EObject current=null]
517        :
518        { newCompositeNode(grammarAccess.getSectionHeadingRule()); }
519         iv_ruleSectionHeading=ruleSectionHeading
520         { $current=$iv_ruleSectionHeading.current; }
521         EOF
522;
523
524// Rule SectionHeading
525ruleSectionHeading returns [EObject current=null]
526    @init { enterRule();
527    }
528    @after { leaveRule(); }:
529((
530        {
531          /* */
532        }
533    {
534        $current = forceCreateModelElement(
535            grammarAccess.getSectionHeadingAccess().getSectionHeadingAction_0(),
536            $current);
537    }
538)(
539(
540                lv_sectionHeader_1_0=RULE_SECTIONHEADER
541                {
542                        newLeafNode(lv_sectionHeader_1_0, grammarAccess.getSectionHeadingAccess().getSectionHeaderSECTIONHEADERTerminalRuleCall_1_0());
543                }
544                {
545                if ($current==null) {
546                    $current = createModelElement(grammarAccess.getSectionHeadingRule());
547                }
548                setWithLastConsumed(
549                        $current,
550                        "sectionHeader",
551                        lv_sectionHeader_1_0,
552                        "SECTIONHEADER");
553            }
554
555)
556))
557;
558
559
560
561
562
563// Entry rule entryRuleImport
564entryRuleImport returns [EObject current=null]
565        :
566        { newCompositeNode(grammarAccess.getImportRule()); }
567         iv_ruleImport=ruleImport
568         { $current=$iv_ruleImport.current; }
569         EOF
570;
571
572// Rule Import
573ruleImport returns [EObject current=null]
574    @init { enterRule();
575    }
576    @after { leaveRule(); }:
577(       otherlv_0='import'
578    {
579        newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
580    }
581(
582(
583                lv_importURI_1_0=RULE_STRING
584                {
585                        newLeafNode(lv_importURI_1_0, grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0());
586                }
587                {
588                if ($current==null) {
589                    $current = createModelElement(grammarAccess.getImportRule());
590                }
591                setWithLastConsumed(
592                        $current,
593                        "importURI",
594                        lv_importURI_1_0,
595                        "STRING");
596            }
597
598)
599)(      otherlv_2='/'
600    {
601        newLeafNode(otherlv_2, grammarAccess.getImportAccess().getSolidusKeyword_2_0());
602    }
603((
604(
605                lv_grammarType_3_0=     'core'
606    {
607        newLeafNode(lv_grammarType_3_0, grammarAccess.getImportAccess().getGrammarTypeCoreKeyword_2_1_0_0());
608    }
609 
610            {
611                if ($current==null) {
612                    $current = createModelElement(grammarAccess.getImportRule());
613                }
614                setWithLastConsumed($current, "grammarType", lv_grammarType_3_0, "core");
615            }
616
617)
618)
619    |(
620(
621                lv_grammarType_4_0=     'package'
622    {
623        newLeafNode(lv_grammarType_4_0, grammarAccess.getImportAccess().getGrammarTypePackageKeyword_2_1_1_0());
624    }
625 
626            {
627                if ($current==null) {
628                    $current = createModelElement(grammarAccess.getImportRule());
629                }
630                setWithLastConsumed($current, "grammarType", lv_grammarType_4_0, "package");
631            }
632
633)
634)
635    |(
636(
637                lv_grammarType_5_0=     'update'
638    {
639        newLeafNode(lv_grammarType_5_0, grammarAccess.getImportAccess().getGrammarTypeUpdateKeyword_2_1_2_0());
640    }
641 
642            {
643                if ($current==null) {
644                    $current = createModelElement(grammarAccess.getImportRule());
645                }
646                setWithLastConsumed($current, "grammarType", lv_grammarType_5_0, "update");
647            }
648
649)
650)))?(   otherlv_6='label:'
651    {
652        newLeafNode(otherlv_6, grammarAccess.getImportAccess().getLabelKeyword_3_0());
653    }
654(
655(
656                lv_label_7_0=RULE_ID
657                {
658                        newLeafNode(lv_label_7_0, grammarAccess.getImportAccess().getLabelIDTerminalRuleCall_3_1_0());
659                }
660                {
661                if ($current==null) {
662                    $current = createModelElement(grammarAccess.getImportRule());
663                }
664                setWithLastConsumed(
665                        $current,
666                        "label",
667                        lv_label_7_0,
668                        "ID");
669            }
670
671)
672))?     otherlv_8=';'
673    {
674        newLeafNode(otherlv_8, grammarAccess.getImportAccess().getSemicolonKeyword_4());
675    }
676)
677;
678
679
680
681
682
683// Entry rule entryRuleRule
684entryRuleRule returns [EObject current=null]
685        :
686        { newCompositeNode(grammarAccess.getRuleRule()); }
687         iv_ruleRule=ruleRule
688         { $current=$iv_ruleRule.current; }
689         EOF
690;
691
692// Rule Rule
693ruleRule returns [EObject current=null]
694    @init { enterRule();
695    }
696    @after { leaveRule(); }:
697(((
698(
699                lv_rulenumber_0_0=RULE_INT
700                {
701                        newLeafNode(lv_rulenumber_0_0, grammarAccess.getRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());
702                }
703                {
704                if ($current==null) {
705                    $current = createModelElement(grammarAccess.getRuleRule());
706                }
707                setWithLastConsumed(
708                        $current,
709                        "rulenumber",
710                        lv_rulenumber_0_0,
711                        "INT");
712            }
713
714)
715)(
716(
717                lv_rulevariant_1_0=RULE_ID
718                {
719                        newLeafNode(lv_rulevariant_1_0, grammarAccess.getRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());
720                }
721                {
722                if ($current==null) {
723                    $current = createModelElement(grammarAccess.getRuleRule());
724                }
725                setWithLastConsumed(
726                        $current,
727                        "rulevariant",
728                        lv_rulevariant_1_0,
729                        "ID");
730            }
731
732)
733)?      otherlv_2='.'
734    {
735        newLeafNode(otherlv_2, grammarAccess.getRuleAccess().getFullStopKeyword_0_2());
736    }
737)?(
738(
739                lv_name_3_0=RULE_ID
740                {
741                        newLeafNode(lv_name_3_0, grammarAccess.getRuleAccess().getNameIDTerminalRuleCall_1_0());
742                }
743                {
744                if ($current==null) {
745                    $current = createModelElement(grammarAccess.getRuleRule());
746                }
747                setWithLastConsumed(
748                        $current,
749                        "name",
750                        lv_name_3_0,
751                        "ID");
752            }
753
754)
755)       otherlv_4='::='
756    {
757        newLeafNode(otherlv_4, grammarAccess.getRuleAccess().getColonColonEqualsSignKeyword_2());
758    }
759(
760(
761                {
762                newCompositeNode(grammarAccess.getRuleAccess().getDefinitionListDefinitionListParserRuleCall_3_0());
763            }
764                lv_definitionList_5_0=ruleDefinitionList                {
765                if ($current==null) {
766                    $current = createModelElementForParent(grammarAccess.getRuleRule());
767                }
768                set(
769                        $current,
770                        "definitionList",
771                        lv_definitionList_5_0,
772                        "DefinitionList");
773                afterParserOrEnumRuleCall();
774            }
775
776)
777)?(     otherlv_6=';'
778    {
779        newLeafNode(otherlv_6, grammarAccess.getRuleAccess().getSemicolonKeyword_4());
780    }
781)?)
782;
783
784
785
786
787
788// Entry rule entryRuleExtRule
789entryRuleExtRule returns [EObject current=null]
790        :
791        { newCompositeNode(grammarAccess.getExtRuleRule()); }
792         iv_ruleExtRule=ruleExtRule
793         { $current=$iv_ruleExtRule.current; }
794         EOF
795;
796
797// Rule ExtRule
798ruleExtRule returns [EObject current=null]
799    @init { enterRule();
800    }
801    @after { leaveRule(); }:
802(((
803(
804                lv_rulenumber_0_0=RULE_INT
805                {
806                        newLeafNode(lv_rulenumber_0_0, grammarAccess.getExtRuleAccess().getRulenumberINTTerminalRuleCall_0_0_0());
807                }
808                {
809                if ($current==null) {
810                    $current = createModelElement(grammarAccess.getExtRuleRule());
811                }
812                setWithLastConsumed(
813                        $current,
814                        "rulenumber",
815                        lv_rulenumber_0_0,
816                        "INT");
817            }
818
819)
820)(
821(
822                lv_rulevariant_1_0=RULE_ID
823                {
824                        newLeafNode(lv_rulevariant_1_0, grammarAccess.getExtRuleAccess().getRulevariantIDTerminalRuleCall_0_1_0());
825                }
826                {
827                if ($current==null) {
828                    $current = createModelElement(grammarAccess.getExtRuleRule());
829                }
830                setWithLastConsumed(
831                        $current,
832                        "rulevariant",
833                        lv_rulevariant_1_0,
834                        "ID");
835            }
836
837)
838)?      otherlv_2='.'
839    {
840        newLeafNode(otherlv_2, grammarAccess.getExtRuleAccess().getFullStopKeyword_0_2());
841    }
842)?(
843(
844                lv_name_3_0=RULE_ID
845                {
846                        newLeafNode(lv_name_3_0, grammarAccess.getExtRuleAccess().getNameIDTerminalRuleCall_1_0());
847                }
848                {
849                if ($current==null) {
850                    $current = createModelElement(grammarAccess.getExtRuleRule());
851                }
852                setWithLastConsumed(
853                        $current,
854                        "name",
855                        lv_name_3_0,
856                        "ID");
857            }
858
859)
860)(      otherlv_4='('
861    {
862        newLeafNode(otherlv_4, grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_2_0());
863    }
864(
865(
866                lv_ruleext_5_0=RULE_INT
867                {
868                        newLeafNode(lv_ruleext_5_0, grammarAccess.getExtRuleAccess().getRuleextINTTerminalRuleCall_2_1_0());
869                }
870                {
871                if ($current==null) {
872                    $current = createModelElement(grammarAccess.getExtRuleRule());
873                }
874                setWithLastConsumed(
875                        $current,
876                        "ruleext",
877                        lv_ruleext_5_0,
878                        "INT");
879            }
880
881)
882)       otherlv_6=')'
883    {
884        newLeafNode(otherlv_6, grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_2_2());
885    }
886)       otherlv_7='<-'
887    {
888        newLeafNode(otherlv_7, grammarAccess.getExtRuleAccess().getLessThanSignHyphenMinusKeyword_3());
889    }
890((
891(
892                {
893                newCompositeNode(grammarAccess.getExtRuleAccess().getElementsAtomParserRuleCall_4_0_0());
894            }
895                lv_elements_8_0=ruleAtom                {
896                if ($current==null) {
897                    $current = createModelElementForParent(grammarAccess.getExtRuleRule());
898                }
899                add(
900                        $current,
901                        "elements",
902                        lv_elements_8_0,
903                        "Atom");
904                afterParserOrEnumRuleCall();
905            }
906
907)
908)
909    |   otherlv_9=')'
910    {
911        newLeafNode(otherlv_9, grammarAccess.getExtRuleAccess().getRightParenthesisKeyword_4_1());
912    }
913
914    |   otherlv_10=']'
915    {
916        newLeafNode(otherlv_10, grammarAccess.getExtRuleAccess().getRightSquareBracketKeyword_4_2());
917    }
918
919    |   otherlv_11='}'
920    {
921        newLeafNode(otherlv_11, grammarAccess.getExtRuleAccess().getRightCurlyBracketKeyword_4_3());
922    }
923
924    |   otherlv_12='|'
925    {
926        newLeafNode(otherlv_12, grammarAccess.getExtRuleAccess().getVerticalLineKeyword_4_4());
927    }
928
929    |   otherlv_13='('
930    {
931        newLeafNode(otherlv_13, grammarAccess.getExtRuleAccess().getLeftParenthesisKeyword_4_5());
932    }
933
934    |   otherlv_14='['
935    {
936        newLeafNode(otherlv_14, grammarAccess.getExtRuleAccess().getLeftSquareBracketKeyword_4_6());
937    }
938
939    |   otherlv_15='{'
940    {
941        newLeafNode(otherlv_15, grammarAccess.getExtRuleAccess().getLeftCurlyBracketKeyword_4_7());
942    }
943
944    |   otherlv_16='*'
945    {
946        newLeafNode(otherlv_16, grammarAccess.getExtRuleAccess().getAsteriskKeyword_4_8());
947    }
948
949    |   otherlv_17='+'
950    {
951        newLeafNode(otherlv_17, grammarAccess.getExtRuleAccess().getPlusSignKeyword_4_9());
952    }
953)*(     otherlv_18=';'
954    {
955        newLeafNode(otherlv_18, grammarAccess.getExtRuleAccess().getSemicolonKeyword_5());
956    }
957)?)
958;
959
960
961
962
963
964// Entry rule entryRuleMergeRule
965entryRuleMergeRule returns [EObject current=null]
966        :
967        { newCompositeNode(grammarAccess.getMergeRuleRule()); }
968         iv_ruleMergeRule=ruleMergeRule
969         { $current=$iv_ruleMergeRule.current; }
970         EOF
971;
972
973// Rule MergeRule
974ruleMergeRule returns [EObject current=null]
975    @init { enterRule();
976    }
977    @after { leaveRule(); }:
978(
979        {
980          /* */
981        }
982    {
983        newCompositeNode(grammarAccess.getMergeRuleAccess().getGlobalCombinatorParserRuleCall_0());
984    }
985    this_GlobalCombinator_0=ruleGlobalCombinator
986    {
987        $current = $this_GlobalCombinator_0.current;
988        afterParserOrEnumRuleCall();
989    }
990
991    |
992        {
993          /* */
994        }
995    {
996        newCompositeNode(grammarAccess.getMergeRuleAccess().getRuleCombinatorParserRuleCall_1());
997    }
998    this_RuleCombinator_1=ruleRuleCombinator
999    {
1000        $current = $this_RuleCombinator_1.current;
1001        afterParserOrEnumRuleCall();
1002    }
1003
1004    |
1005        {
1006          /* */
1007        }
1008    {
1009        newCompositeNode(grammarAccess.getMergeRuleAccess().getHookCombinatorParserRuleCall_2());
1010    }
1011    this_HookCombinator_2=ruleHookCombinator
1012    {
1013        $current = $this_HookCombinator_2.current;
1014        afterParserOrEnumRuleCall();
1015    }
1016)
1017;
1018
1019
1020
1021
1022
1023// Entry rule entryRuleGlobalCombinator
1024entryRuleGlobalCombinator returns [EObject current=null]
1025        :
1026        { newCompositeNode(grammarAccess.getGlobalCombinatorRule()); }
1027         iv_ruleGlobalCombinator=ruleGlobalCombinator
1028         { $current=$iv_ruleGlobalCombinator.current; }
1029         EOF
1030;
1031
1032// Rule GlobalCombinator
1033ruleGlobalCombinator returns [EObject current=null]
1034    @init { enterRule();
1035    }
1036    @after { leaveRule(); }:
1037((      otherlv_0='global'
1038    {
1039        newLeafNode(otherlv_0, grammarAccess.getGlobalCombinatorAccess().getGlobalKeyword_0_0());
1040    }
1041        otherlv_1='combinator:'
1042    {
1043        newLeafNode(otherlv_1, grammarAccess.getGlobalCombinatorAccess().getCombinatorKeyword_0_1());
1044    }
1045)(
1046(
1047                lv_logic_2_0=RULE_LOGIC
1048                {
1049                        newLeafNode(lv_logic_2_0, grammarAccess.getGlobalCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());
1050                }
1051                {
1052                if ($current==null) {
1053                    $current = createModelElement(grammarAccess.getGlobalCombinatorRule());
1054                }
1055                setWithLastConsumed(
1056                        $current,
1057                        "logic",
1058                        lv_logic_2_0,
1059                        "LOGIC");
1060            }
1061
1062)
1063)(      otherlv_3=';'
1064    {
1065        newLeafNode(otherlv_3, grammarAccess.getGlobalCombinatorAccess().getSemicolonKeyword_2());
1066    }
1067)?)
1068;
1069
1070
1071
1072
1073
1074// Entry rule entryRuleRuleCombinator
1075entryRuleRuleCombinator returns [EObject current=null]
1076        :
1077        { newCompositeNode(grammarAccess.getRuleCombinatorRule()); }
1078         iv_ruleRuleCombinator=ruleRuleCombinator
1079         { $current=$iv_ruleRuleCombinator.current; }
1080         EOF
1081;
1082
1083// Rule RuleCombinator
1084ruleRuleCombinator returns [EObject current=null]
1085    @init { enterRule();
1086    }
1087    @after { leaveRule(); }:
1088((      otherlv_0='rule'
1089    {
1090        newLeafNode(otherlv_0, grammarAccess.getRuleCombinatorAccess().getRuleKeyword_0_0());
1091    }
1092        otherlv_1='combinator:'
1093    {
1094        newLeafNode(otherlv_1, grammarAccess.getRuleCombinatorAccess().getCombinatorKeyword_0_1());
1095    }
1096(
1097(
1098                lv_name_2_0=RULE_ID
1099                {
1100                        newLeafNode(lv_name_2_0, grammarAccess.getRuleCombinatorAccess().getNameIDTerminalRuleCall_0_2_0());
1101                }
1102                {
1103                if ($current==null) {
1104                    $current = createModelElement(grammarAccess.getRuleCombinatorRule());
1105                }
1106                setWithLastConsumed(
1107                        $current,
1108                        "name",
1109                        lv_name_2_0,
1110                        "ID");
1111            }
1112
1113)
1114))(
1115(
1116                lv_logic_3_0=RULE_LOGIC
1117                {
1118                        newLeafNode(lv_logic_3_0, grammarAccess.getRuleCombinatorAccess().getLogicLOGICTerminalRuleCall_1_0());
1119                }
1120                {
1121                if ($current==null) {
1122                    $current = createModelElement(grammarAccess.getRuleCombinatorRule());
1123                }
1124                setWithLastConsumed(
1125                        $current,
1126                        "logic",
1127                        lv_logic_3_0,
1128                        "LOGIC");
1129            }
1130
1131)
1132)(      otherlv_4='('
1133    {
1134        newLeafNode(otherlv_4, grammarAccess.getRuleCombinatorAccess().getLeftParenthesisKeyword_2_0());
1135    }
1136(
1137(
1138                lv_LABEL_5_0=RULE_STRING
1139                {
1140                        newLeafNode(lv_LABEL_5_0, grammarAccess.getRuleCombinatorAccess().getLABELSTRINGTerminalRuleCall_2_1_0());
1141                }
1142                {
1143                if ($current==null) {
1144                    $current = createModelElement(grammarAccess.getRuleCombinatorRule());
1145                }
1146                addWithLastConsumed(
1147                        $current,
1148                        "LABEL",
1149                        lv_LABEL_5_0,
1150                        "STRING");
1151            }
1152
1153)
1154)       otherlv_6=')'
1155    {
1156        newLeafNode(otherlv_6, grammarAccess.getRuleCombinatorAccess().getRightParenthesisKeyword_2_2());
1157    }
1158)*(     otherlv_7=';'
1159    {
1160        newLeafNode(otherlv_7, grammarAccess.getRuleCombinatorAccess().getSemicolonKeyword_3());
1161    }
1162)?)
1163;
1164
1165
1166
1167
1168
1169// Entry rule entryRuleHookCombinator
1170entryRuleHookCombinator returns [EObject current=null]
1171        :
1172        { newCompositeNode(grammarAccess.getHookCombinatorRule()); }
1173         iv_ruleHookCombinator=ruleHookCombinator
1174         { $current=$iv_ruleHookCombinator.current; }
1175         EOF
1176;
1177
1178// Rule HookCombinator
1179ruleHookCombinator returns [EObject current=null]
1180    @init { enterRule();
1181    }
1182    @after { leaveRule(); }:
1183(       otherlv_0='hook'
1184    {
1185        newLeafNode(otherlv_0, grammarAccess.getHookCombinatorAccess().getHookKeyword_0());
1186    }
1187        otherlv_1='combinator:'
1188    {
1189        newLeafNode(otherlv_1, grammarAccess.getHookCombinatorAccess().getCombinatorKeyword_1());
1190    }
1191(
1192(
1193                lv_name_2_0=RULE_ID
1194                {
1195                        newLeafNode(lv_name_2_0, grammarAccess.getHookCombinatorAccess().getNameIDTerminalRuleCall_2_0());
1196                }
1197                {
1198                if ($current==null) {
1199                    $current = createModelElement(grammarAccess.getHookCombinatorRule());
1200                }
1201                setWithLastConsumed(
1202                        $current,
1203                        "name",
1204                        lv_name_2_0,
1205                        "ID");
1206            }
1207
1208)
1209)       otherlv_3='('
1210    {
1211        newLeafNode(otherlv_3, grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_3());
1212    }
1213(
1214(
1215                lv_ruleext_4_0=RULE_INT
1216                {
1217                        newLeafNode(lv_ruleext_4_0, grammarAccess.getHookCombinatorAccess().getRuleextINTTerminalRuleCall_4_0());
1218                }
1219                {
1220                if ($current==null) {
1221                    $current = createModelElement(grammarAccess.getHookCombinatorRule());
1222                }
1223                setWithLastConsumed(
1224                        $current,
1225                        "ruleext",
1226                        lv_ruleext_4_0,
1227                        "INT");
1228            }
1229
1230)
1231)       otherlv_5=')'
1232    {
1233        newLeafNode(otherlv_5, grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_5());
1234    }
1235(
1236(
1237                lv_logic_6_0=RULE_LOGIC
1238                {
1239                        newLeafNode(lv_logic_6_0, grammarAccess.getHookCombinatorAccess().getLogicLOGICTerminalRuleCall_6_0());
1240                }
1241                {
1242                if ($current==null) {
1243                    $current = createModelElement(grammarAccess.getHookCombinatorRule());
1244                }
1245                setWithLastConsumed(
1246                        $current,
1247                        "logic",
1248                        lv_logic_6_0,
1249                        "LOGIC");
1250            }
1251
1252)
1253)?(     otherlv_7='('
1254    {
1255        newLeafNode(otherlv_7, grammarAccess.getHookCombinatorAccess().getLeftParenthesisKeyword_7_0());
1256    }
1257(
1258(
1259                lv_LABEL_8_0=RULE_STRING
1260                {
1261                        newLeafNode(lv_LABEL_8_0, grammarAccess.getHookCombinatorAccess().getLABELSTRINGTerminalRuleCall_7_1_0());
1262                }
1263                {
1264                if ($current==null) {
1265                    $current = createModelElement(grammarAccess.getHookCombinatorRule());
1266                }
1267                addWithLastConsumed(
1268                        $current,
1269                        "LABEL",
1270                        lv_LABEL_8_0,
1271                        "STRING");
1272            }
1273
1274)
1275)       otherlv_9=')'
1276    {
1277        newLeafNode(otherlv_9, grammarAccess.getHookCombinatorAccess().getRightParenthesisKeyword_7_2());
1278    }
1279)+(     otherlv_10=';'
1280    {
1281        newLeafNode(otherlv_10, grammarAccess.getHookCombinatorAccess().getSemicolonKeyword_8());
1282    }
1283)?)
1284;
1285
1286
1287
1288
1289
1290// Entry rule entryRuleDefinitionList
1291entryRuleDefinitionList returns [EObject current=null]
1292        :
1293        { newCompositeNode(grammarAccess.getDefinitionListRule()); }
1294         iv_ruleDefinitionList=ruleDefinitionList
1295         { $current=$iv_ruleDefinitionList.current; }
1296         EOF
1297;
1298
1299// Rule DefinitionList
1300ruleDefinitionList returns [EObject current=null]
1301    @init { enterRule();
1302    }
1303    @after { leaveRule(); }:
1304((
1305(
1306                {
1307                newCompositeNode(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_0_0());
1308            }
1309                lv_singleDefinition_0_0=ruleSingleDefinition            {
1310                if ($current==null) {
1311                    $current = createModelElementForParent(grammarAccess.getDefinitionListRule());
1312                }
1313                add(
1314                        $current,
1315                        "singleDefinition",
1316                        lv_singleDefinition_0_0,
1317                        "SingleDefinition");
1318                afterParserOrEnumRuleCall();
1319            }
1320
1321)
1322)(      otherlv_1='|'
1323    {
1324        newLeafNode(otherlv_1, grammarAccess.getDefinitionListAccess().getVerticalLineKeyword_1_0());
1325    }
1326(
1327(
1328                {
1329                newCompositeNode(grammarAccess.getDefinitionListAccess().getSingleDefinitionSingleDefinitionParserRuleCall_1_1_0());
1330            }
1331                lv_singleDefinition_2_0=ruleSingleDefinition            {
1332                if ($current==null) {
1333                    $current = createModelElementForParent(grammarAccess.getDefinitionListRule());
1334                }
1335                add(
1336                        $current,
1337                        "singleDefinition",
1338                        lv_singleDefinition_2_0,
1339                        "SingleDefinition");
1340                afterParserOrEnumRuleCall();
1341            }
1342
1343)
1344))*)
1345;
1346
1347
1348
1349
1350
1351// Entry rule entryRuleSingleDefinition
1352entryRuleSingleDefinition returns [EObject current=null]
1353        :
1354        { newCompositeNode(grammarAccess.getSingleDefinitionRule()); }
1355         iv_ruleSingleDefinition=ruleSingleDefinition
1356         { $current=$iv_ruleSingleDefinition.current; }
1357         EOF
1358;
1359
1360// Rule SingleDefinition
1361ruleSingleDefinition returns [EObject current=null]
1362    @init { enterRule();
1363    }
1364    @after { leaveRule(); }:
1365(
1366(
1367                {
1368                newCompositeNode(grammarAccess.getSingleDefinitionAccess().getTermsTermParserRuleCall_0());
1369            }
1370                lv_terms_0_0=ruleTerm           {
1371                if ($current==null) {
1372                    $current = createModelElementForParent(grammarAccess.getSingleDefinitionRule());
1373                }
1374                add(
1375                        $current,
1376                        "terms",
1377                        lv_terms_0_0,
1378                        "Term");
1379                afterParserOrEnumRuleCall();
1380            }
1381
1382)
1383)+
1384;
1385
1386
1387
1388
1389
1390// Entry rule entryRuleTerm
1391entryRuleTerm returns [EObject current=null]
1392        :
1393        { newCompositeNode(grammarAccess.getTermRule()); }
1394         iv_ruleTerm=ruleTerm
1395         { $current=$iv_ruleTerm.current; }
1396         EOF
1397;
1398
1399// Rule Term
1400ruleTerm returns [EObject current=null]
1401    @init { enterRule();
1402    }
1403    @after { leaveRule(); }:
1404((
1405(
1406                {
1407                newCompositeNode(grammarAccess.getTermAccess().getTermAtomAtomParserRuleCall_0_0());
1408            }
1409                lv_termAtom_0_0=ruleAtom                {
1410                if ($current==null) {
1411                    $current = createModelElementForParent(grammarAccess.getTermRule());
1412                }
1413                set(
1414                        $current,
1415                        "termAtom",
1416                        lv_termAtom_0_0,
1417                        "Atom");
1418                afterParserOrEnumRuleCall();
1419            }
1420
1421)
1422)
1423    |(
1424(
1425                {
1426                newCompositeNode(grammarAccess.getTermAccess().getTermGroupedSequenceGroupedSequenceParserRuleCall_1_0());
1427            }
1428                lv_termGroupedSequence_1_0=ruleGroupedSequence          {
1429                if ($current==null) {
1430                    $current = createModelElementForParent(grammarAccess.getTermRule());
1431                }
1432                set(
1433                        $current,
1434                        "termGroupedSequence",
1435                        lv_termGroupedSequence_1_0,
1436                        "GroupedSequence");
1437                afterParserOrEnumRuleCall();
1438            }
1439
1440)
1441)
1442    |(
1443(
1444                {
1445                newCompositeNode(grammarAccess.getTermAccess().getTermOptionalSequenceOptionalSequenceParserRuleCall_2_0());
1446            }
1447                lv_termOptionalSequence_2_0=ruleOptionalSequence                {
1448                if ($current==null) {
1449                    $current = createModelElementForParent(grammarAccess.getTermRule());
1450                }
1451                set(
1452                        $current,
1453                        "termOptionalSequence",
1454                        lv_termOptionalSequence_2_0,
1455                        "OptionalSequence");
1456                afterParserOrEnumRuleCall();
1457            }
1458
1459)
1460)
1461    |(
1462(
1463                {
1464                newCompositeNode(grammarAccess.getTermAccess().getTermRepeatedSequenceRepeatedSequenceParserRuleCall_3_0());
1465            }
1466                lv_termRepeatedSequence_3_0=ruleRepeatedSequence                {
1467                if ($current==null) {
1468                    $current = createModelElementForParent(grammarAccess.getTermRule());
1469                }
1470                set(
1471                        $current,
1472                        "termRepeatedSequence",
1473                        lv_termRepeatedSequence_3_0,
1474                        "RepeatedSequence");
1475                afterParserOrEnumRuleCall();
1476            }
1477
1478)
1479))
1480;
1481
1482
1483
1484
1485
1486// Entry rule entryRuleAtom
1487entryRuleAtom returns [EObject current=null]
1488        :
1489        { newCompositeNode(grammarAccess.getAtomRule()); }
1490         iv_ruleAtom=ruleAtom
1491         { $current=$iv_ruleAtom.current; }
1492         EOF
1493;
1494
1495// Rule Atom
1496ruleAtom returns [EObject current=null]
1497    @init { enterRule();
1498    }
1499    @after { leaveRule(); }:
1500((
1501(
1502                {
1503                newCompositeNode(grammarAccess.getAtomAccess().getAtomStringRuleStringRuleParserRuleCall_0_0());
1504            }
1505                lv_atomStringRule_0_0=ruleStringRule            {
1506                if ($current==null) {
1507                    $current = createModelElementForParent(grammarAccess.getAtomRule());
1508                }
1509                set(
1510                        $current,
1511                        "atomStringRule",
1512                        lv_atomStringRule_0_0,
1513                        "StringRule");
1514                afterParserOrEnumRuleCall();
1515            }
1516
1517)
1518)
1519    |(
1520(
1521                {
1522                newCompositeNode(grammarAccess.getAtomAccess().getAtomRuleReferenceRuleReferenceParserRuleCall_1_0());
1523            }
1524                lv_atomRuleReference_1_0=ruleRuleReference              {
1525                if ($current==null) {
1526                    $current = createModelElementForParent(grammarAccess.getAtomRule());
1527                }
1528                set(
1529                        $current,
1530                        "atomRuleReference",
1531                        lv_atomRuleReference_1_0,
1532                        "RuleReference");
1533                afterParserOrEnumRuleCall();
1534            }
1535
1536)
1537))
1538;
1539
1540
1541
1542
1543
1544// Entry rule entryRuleRuleReference
1545entryRuleRuleReference returns [EObject current=null]
1546        :
1547        { newCompositeNode(grammarAccess.getRuleReferenceRule()); }
1548         iv_ruleRuleReference=ruleRuleReference
1549         { $current=$iv_ruleRuleReference.current; }
1550         EOF
1551;
1552
1553// Rule RuleReference
1554ruleRuleReference returns [EObject current=null]
1555    @init { enterRule();
1556    }
1557    @after { leaveRule(); }:
1558(
1559(
1560                {
1561                  /* */
1562                }
1563                {
1564                        if ($current==null) {
1565                    $current = createModelElement(grammarAccess.getRuleReferenceRule());
1566                }
1567        }
1568        otherlv_0=RULE_ID
1569        {
1570                newLeafNode(otherlv_0, grammarAccess.getRuleReferenceAccess().getRulerefRuleCrossReference_0());
1571        }
1572
1573)
1574)
1575;
1576
1577
1578
1579
1580
1581// Entry rule entryRuleStringRule
1582entryRuleStringRule returns [EObject current=null]
1583        :
1584        { newCompositeNode(grammarAccess.getStringRuleRule()); }
1585         iv_ruleStringRule=ruleStringRule
1586         { $current=$iv_ruleStringRule.current; }
1587         EOF
1588;
1589
1590// Rule StringRule
1591ruleStringRule returns [EObject current=null]
1592    @init { enterRule();
1593    }
1594    @after { leaveRule(); }:
1595((
1596(
1597                lv_literal_0_0=RULE_STRING
1598                {
1599                        newLeafNode(lv_literal_0_0, grammarAccess.getStringRuleAccess().getLiteralSTRINGTerminalRuleCall_0_0());
1600                }
1601                {
1602                if ($current==null) {
1603                    $current = createModelElement(grammarAccess.getStringRuleRule());
1604                }
1605                setWithLastConsumed(
1606                        $current,
1607                        "literal",
1608                        lv_literal_0_0,
1609                        "STRING");
1610            }
1611
1612)
1613)
1614    |(
1615(
1616                lv_colon_1_0=RULE_COLON
1617                {
1618                        newLeafNode(lv_colon_1_0, grammarAccess.getStringRuleAccess().getColonCOLONTerminalRuleCall_1_0());
1619                }
1620                {
1621                if ($current==null) {
1622                    $current = createModelElement(grammarAccess.getStringRuleRule());
1623                }
1624                setWithLastConsumed(
1625                        $current,
1626                        "colon",
1627                        lv_colon_1_0,
1628                        "COLON");
1629            }
1630
1631)
1632))
1633;
1634
1635
1636
1637
1638
1639// Entry rule entryRuleGroupedSequence
1640entryRuleGroupedSequence returns [EObject current=null]
1641        :
1642        { newCompositeNode(grammarAccess.getGroupedSequenceRule()); }
1643         iv_ruleGroupedSequence=ruleGroupedSequence
1644         { $current=$iv_ruleGroupedSequence.current; }
1645         EOF
1646;
1647
1648// Rule GroupedSequence
1649ruleGroupedSequence returns [EObject current=null]
1650    @init { enterRule();
1651    }
1652    @after { leaveRule(); }:
1653(       otherlv_0='('
1654    {
1655        newLeafNode(otherlv_0, grammarAccess.getGroupedSequenceAccess().getLeftParenthesisKeyword_0());
1656    }
1657(
1658(
1659                {
1660                newCompositeNode(grammarAccess.getGroupedSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());
1661            }
1662                lv_definitionList_1_0=ruleDefinitionList                {
1663                if ($current==null) {
1664                    $current = createModelElementForParent(grammarAccess.getGroupedSequenceRule());
1665                }
1666                add(
1667                        $current,
1668                        "definitionList",
1669                        lv_definitionList_1_0,
1670                        "DefinitionList");
1671                afterParserOrEnumRuleCall();
1672            }
1673
1674)
1675)       otherlv_2=')'
1676    {
1677        newLeafNode(otherlv_2, grammarAccess.getGroupedSequenceAccess().getRightParenthesisKeyword_2());
1678    }
1679)
1680;
1681
1682
1683
1684
1685
1686// Entry rule entryRuleOptionalSequence
1687entryRuleOptionalSequence returns [EObject current=null]
1688        :
1689        { newCompositeNode(grammarAccess.getOptionalSequenceRule()); }
1690         iv_ruleOptionalSequence=ruleOptionalSequence
1691         { $current=$iv_ruleOptionalSequence.current; }
1692         EOF
1693;
1694
1695// Rule OptionalSequence
1696ruleOptionalSequence returns [EObject current=null]
1697    @init { enterRule();
1698    }
1699    @after { leaveRule(); }:
1700(       otherlv_0='['
1701    {
1702        newLeafNode(otherlv_0, grammarAccess.getOptionalSequenceAccess().getLeftSquareBracketKeyword_0());
1703    }
1704(
1705(
1706                {
1707                newCompositeNode(grammarAccess.getOptionalSequenceAccess().getDefinitionListDefinitionListParserRuleCall_1_0());
1708            }
1709                lv_definitionList_1_0=ruleDefinitionList                {
1710                if ($current==null) {
1711                    $current = createModelElementForParent(grammarAccess.getOptionalSequenceRule());
1712                }
1713                add(
1714                        $current,
1715                        "definitionList",
1716                        lv_definitionList_1_0,
1717                        "DefinitionList");
1718                afterParserOrEnumRuleCall();
1719            }
1720
1721)
1722)       otherlv_2=']'
1723    {
1724        newLeafNode(otherlv_2, grammarAccess.getOptionalSequenceAccess().getRightSquareBracketKeyword_2());
1725    }
1726)
1727;
1728
1729
1730
1731
1732
1733// Entry rule entryRuleRepeatedSequence
1734entryRuleRepeatedSequence returns [EObject current=null]
1735        :
1736        { newCompositeNode(grammarAccess.getRepeatedSequenceRule()); }
1737         iv_ruleRepeatedSequence=ruleRepeatedSequence
1738         { $current=$iv_ruleRepeatedSequence.current; }
1739         EOF
1740;
1741
1742// Rule RepeatedSequence
1743ruleRepeatedSequence returns [EObject current=null]
1744    @init { enterRule();
1745    }
1746    @after { leaveRule(); }:
1747(       otherlv_0='{'
1748    {
1749        newLeafNode(otherlv_0, grammarAccess.getRepeatedSequenceAccess().getLeftCurlyBracketKeyword_0());
1750    }
1751(
1752(
1753                {
1754                newCompositeNode(grammarAccess.getRepeatedSequenceAccess().getDefinitionsDefinitionListParserRuleCall_1_0());
1755            }
1756                lv_definitions_1_0=ruleDefinitionList           {
1757                if ($current==null) {
1758                    $current = createModelElementForParent(grammarAccess.getRepeatedSequenceRule());
1759                }
1760                add(
1761                        $current,
1762                        "definitions",
1763                        lv_definitions_1_0,
1764                        "DefinitionList");
1765                afterParserOrEnumRuleCall();
1766            }
1767
1768)
1769)       otherlv_2='}'
1770    {
1771        newLeafNode(otherlv_2, grammarAccess.getRepeatedSequenceAccess().getRightCurlyBracketKeyword_2());
1772    }
1773((
1774(
1775                lv_morethanonce_3_0=    '+'
1776    {
1777        newLeafNode(lv_morethanonce_3_0, grammarAccess.getRepeatedSequenceAccess().getMorethanoncePlusSignKeyword_3_0_0());
1778    }
1779 
1780            {
1781                if ($current==null) {
1782                    $current = createModelElement(grammarAccess.getRepeatedSequenceRule());
1783                }
1784                setWithLastConsumed($current, "morethanonce", true, "+");
1785            }
1786
1787)
1788)?
1789    |(
1790(
1791                {
1792                newCompositeNode(grammarAccess.getRepeatedSequenceAccess().getRangeRepeatRangeParserRuleCall_3_1_0());
1793            }
1794                lv_range_4_0=ruleRepeatRange            {
1795                if ($current==null) {
1796                    $current = createModelElementForParent(grammarAccess.getRepeatedSequenceRule());
1797                }
1798                set(
1799                        $current,
1800                        "range",
1801                        lv_range_4_0,
1802                        "RepeatRange");
1803                afterParserOrEnumRuleCall();
1804            }
1805
1806)
1807)?))
1808;
1809
1810
1811
1812
1813
1814// Entry rule entryRuleRepeatRange
1815entryRuleRepeatRange returns [EObject current=null]
1816        :
1817        { newCompositeNode(grammarAccess.getRepeatRangeRule()); }
1818         iv_ruleRepeatRange=ruleRepeatRange
1819         { $current=$iv_ruleRepeatRange.current; }
1820         EOF
1821;
1822
1823// Rule RepeatRange
1824ruleRepeatRange returns [EObject current=null]
1825    @init { enterRule();
1826    }
1827    @after { leaveRule(); }:
1828(       otherlv_0='#'
1829    {
1830        newLeafNode(otherlv_0, grammarAccess.getRepeatRangeAccess().getNumberSignKeyword_0());
1831    }
1832        otherlv_1='('
1833    {
1834        newLeafNode(otherlv_1, grammarAccess.getRepeatRangeAccess().getLeftParenthesisKeyword_1());
1835    }
1836(
1837(
1838                lv_from_2_0=RULE_INT
1839                {
1840                        newLeafNode(lv_from_2_0, grammarAccess.getRepeatRangeAccess().getFromINTTerminalRuleCall_2_0());
1841                }
1842                {
1843                if ($current==null) {
1844                    $current = createModelElement(grammarAccess.getRepeatRangeRule());
1845                }
1846                setWithLastConsumed(
1847                        $current,
1848                        "from",
1849                        lv_from_2_0,
1850                        "INT");
1851            }
1852
1853)
1854)       otherlv_3=','
1855    {
1856        newLeafNode(otherlv_3, grammarAccess.getRepeatRangeAccess().getCommaKeyword_3());
1857    }
1858(
1859(
1860                lv_to_4_0=RULE_INT
1861                {
1862                        newLeafNode(lv_to_4_0, grammarAccess.getRepeatRangeAccess().getToINTTerminalRuleCall_4_0());
1863                }
1864                {
1865                if ($current==null) {
1866                    $current = createModelElement(grammarAccess.getRepeatRangeRule());
1867                }
1868                setWithLastConsumed(
1869                        $current,
1870                        "to",
1871                        lv_to_4_0,
1872                        "INT");
1873            }
1874
1875)
1876)       otherlv_5=')'
1877    {
1878        newLeafNode(otherlv_5, grammarAccess.getRepeatRangeAccess().getRightParenthesisKeyword_5());
1879    }
1880)
1881;
1882
1883
1884
1885
1886
1887RULE_ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*;
1888
1889RULE_INT : ('0'..'9')+;
1890
1891RULE_WS : (' '|'\t'|'\r'? '\n')+;
1892
1893RULE_COLON : '"' '"' '"';
1894
1895RULE_STRING : ('"' ~('"')* '"'|'\'' ~('\'')* '\'');
1896
1897RULE_SECTIONHEADER : ('a'..'z'|'A'..'Z') ('.'|'0'..'9')+ (' '|'\t') ~(('\n'|'\r'))* '\r'? '\n';
1898
1899RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
1900
1901RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
1902
1903RULE_LOGIC : ('/and'|'/or'|'/andr'|'/orr'|'/any'|'/together');
1904
1905
Note: See TracBrowser for help on using the repository browser.