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

Last change on this file since 61 was 61, checked in by hkaulbersch, 10 years ago

initial commit

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