aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Alloy-Solver2/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/Alloy-Solver2/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g')
-rw-r--r--Solvers/Alloy-Solver2/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g3139
1 files changed, 0 insertions, 3139 deletions
diff --git a/Solvers/Alloy-Solver2/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g b/Solvers/Alloy-Solver2/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g
deleted file mode 100644
index 83f2ee24..00000000
--- a/Solvers/Alloy-Solver2/hu.bme.mit.inf.dslreasoner.alloy.language/src-gen/hu/bme/mit/inf/dslreasoner/parser/antlr/internal/InternalAlloyLanguage.g
+++ /dev/null
@@ -1,3139 +0,0 @@
1/*
2 * generated by Xtext
3 */
4grammar InternalAlloyLanguage;
5
6options {
7 superClass=AbstractInternalAntlrParser;
8
9}
10
11@lexer::header {
12package hu.bme.mit.inf.dslreasoner.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 hu.bme.mit.inf.dslreasoner.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.emf.common.util.Enumerator;
28import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
29import org.eclipse.xtext.parser.antlr.XtextTokenStream;
30import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
31import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
32import hu.bme.mit.inf.dslreasoner.services.AlloyLanguageGrammarAccess;
33
34}
35
36@parser::members {
37
38 private AlloyLanguageGrammarAccess grammarAccess;
39
40 public InternalAlloyLanguageParser(TokenStream input, AlloyLanguageGrammarAccess grammarAccess) {
41 this(input);
42 this.grammarAccess = grammarAccess;
43 registerRules(grammarAccess.getGrammar());
44 }
45
46 @Override
47 protected String getFirstRuleName() {
48 return "ALSDocument";
49 }
50
51 @Override
52 protected AlloyLanguageGrammarAccess getGrammarAccess() {
53 return grammarAccess;
54 }
55}
56
57@rulecatch {
58 catch (RecognitionException re) {
59 recover(input,re);
60 appendSkippedTokens();
61 }
62}
63
64
65
66
67// Entry rule entryRuleALSDocument
68entryRuleALSDocument returns [EObject current=null]
69 :
70 { newCompositeNode(grammarAccess.getALSDocumentRule()); }
71 iv_ruleALSDocument=ruleALSDocument
72 { $current=$iv_ruleALSDocument.current; }
73 EOF
74;
75
76// Rule ALSDocument
77ruleALSDocument returns [EObject current=null]
78 @init { enterRule();
79 }
80 @after { leaveRule(); }:
81(((
82(
83 {
84 newCompositeNode(grammarAccess.getALSDocumentAccess().getEnumDeclarationsALSEnumDeclarationParserRuleCall_0_0_0());
85 }
86 lv_enumDeclarations_0_0=ruleALSEnumDeclaration {
87 if ($current==null) {
88 $current = createModelElementForParent(grammarAccess.getALSDocumentRule());
89 }
90 add(
91 $current,
92 "enumDeclarations",
93 lv_enumDeclarations_0_0,
94 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSEnumDeclaration");
95 afterParserOrEnumRuleCall();
96 }
97
98)
99)
100 |(
101(
102 {
103 newCompositeNode(grammarAccess.getALSDocumentAccess().getSignatureBodiesALSSignatureBodyParserRuleCall_0_1_0());
104 }
105 lv_signatureBodies_1_0=ruleALSSignatureBody {
106 if ($current==null) {
107 $current = createModelElementForParent(grammarAccess.getALSDocumentRule());
108 }
109 add(
110 $current,
111 "signatureBodies",
112 lv_signatureBodies_1_0,
113 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSSignatureBody");
114 afterParserOrEnumRuleCall();
115 }
116
117)
118)
119 |(
120(
121 {
122 newCompositeNode(grammarAccess.getALSDocumentAccess().getFunctionDefinitionsALSFunctionDefinitionParserRuleCall_0_2_0());
123 }
124 lv_functionDefinitions_2_0=ruleALSFunctionDefinition {
125 if ($current==null) {
126 $current = createModelElementForParent(grammarAccess.getALSDocumentRule());
127 }
128 add(
129 $current,
130 "functionDefinitions",
131 lv_functionDefinitions_2_0,
132 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSFunctionDefinition");
133 afterParserOrEnumRuleCall();
134 }
135
136)
137)
138 |(
139(
140 {
141 newCompositeNode(grammarAccess.getALSDocumentAccess().getRelationDefinitionsALSRelationDefinitionParserRuleCall_0_3_0());
142 }
143 lv_relationDefinitions_3_0=ruleALSRelationDefinition {
144 if ($current==null) {
145 $current = createModelElementForParent(grammarAccess.getALSDocumentRule());
146 }
147 add(
148 $current,
149 "relationDefinitions",
150 lv_relationDefinitions_3_0,
151 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSRelationDefinition");
152 afterParserOrEnumRuleCall();
153 }
154
155)
156)
157 |(
158(
159 {
160 newCompositeNode(grammarAccess.getALSDocumentAccess().getFactDeclarationsALSFactDeclarationParserRuleCall_0_4_0());
161 }
162 lv_factDeclarations_4_0=ruleALSFactDeclaration {
163 if ($current==null) {
164 $current = createModelElementForParent(grammarAccess.getALSDocumentRule());
165 }
166 add(
167 $current,
168 "factDeclarations",
169 lv_factDeclarations_4_0,
170 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSFactDeclaration");
171 afterParserOrEnumRuleCall();
172 }
173
174)
175))+(
176(
177 {
178 newCompositeNode(grammarAccess.getALSDocumentAccess().getRunCommandALSRunCommandParserRuleCall_1_0());
179 }
180 lv_runCommand_5_0=ruleALSRunCommand {
181 if ($current==null) {
182 $current = createModelElementForParent(grammarAccess.getALSDocumentRule());
183 }
184 set(
185 $current,
186 "runCommand",
187 lv_runCommand_5_0,
188 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSRunCommand");
189 afterParserOrEnumRuleCall();
190 }
191
192)
193))
194;
195
196
197
198
199
200// Entry rule entryRuleALSID
201entryRuleALSID returns [String current=null]
202 :
203 { newCompositeNode(grammarAccess.getALSIDRule()); }
204 iv_ruleALSID=ruleALSID
205 { $current=$iv_ruleALSID.current.getText(); }
206 EOF
207;
208
209// Rule ALSID
210ruleALSID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
211 @init { enterRule();
212 }
213 @after { leaveRule(); }:
214 this_ID_0=RULE_ID {
215 $current.merge(this_ID_0);
216 }
217
218 {
219 newLeafNode(this_ID_0, grammarAccess.getALSIDAccess().getIDTerminalRuleCall());
220 }
221
222 ;
223
224
225
226
227
228
229
230// Entry rule entryRuleALSTypeDeclaration
231entryRuleALSTypeDeclaration returns [EObject current=null]
232 :
233 { newCompositeNode(grammarAccess.getALSTypeDeclarationRule()); }
234 iv_ruleALSTypeDeclaration=ruleALSTypeDeclaration
235 { $current=$iv_ruleALSTypeDeclaration.current; }
236 EOF
237;
238
239// Rule ALSTypeDeclaration
240ruleALSTypeDeclaration returns [EObject current=null]
241 @init { enterRule();
242 }
243 @after { leaveRule(); }:
244(
245 {
246 newCompositeNode(grammarAccess.getALSTypeDeclarationAccess().getALSEnumDeclarationParserRuleCall_0());
247 }
248 this_ALSEnumDeclaration_0=ruleALSEnumDeclaration
249 {
250 $current = $this_ALSEnumDeclaration_0.current;
251 afterParserOrEnumRuleCall();
252 }
253
254 |
255 {
256 newCompositeNode(grammarAccess.getALSTypeDeclarationAccess().getALSSignatureDeclarationParserRuleCall_1());
257 }
258 this_ALSSignatureDeclaration_1=ruleALSSignatureDeclaration
259 {
260 $current = $this_ALSSignatureDeclaration_1.current;
261 afterParserOrEnumRuleCall();
262 }
263)
264;
265
266
267
268
269
270// Entry rule entryRuleALSEnumDeclaration
271entryRuleALSEnumDeclaration returns [EObject current=null]
272 :
273 { newCompositeNode(grammarAccess.getALSEnumDeclarationRule()); }
274 iv_ruleALSEnumDeclaration=ruleALSEnumDeclaration
275 { $current=$iv_ruleALSEnumDeclaration.current; }
276 EOF
277;
278
279// Rule ALSEnumDeclaration
280ruleALSEnumDeclaration returns [EObject current=null]
281 @init { enterRule();
282 }
283 @after { leaveRule(); }:
284( otherlv_0='enum'
285 {
286 newLeafNode(otherlv_0, grammarAccess.getALSEnumDeclarationAccess().getEnumKeyword_0());
287 }
288(
289(
290 {
291 newCompositeNode(grammarAccess.getALSEnumDeclarationAccess().getNameALSIDParserRuleCall_1_0());
292 }
293 lv_name_1_0=ruleALSID {
294 if ($current==null) {
295 $current = createModelElementForParent(grammarAccess.getALSEnumDeclarationRule());
296 }
297 set(
298 $current,
299 "name",
300 lv_name_1_0,
301 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSID");
302 afterParserOrEnumRuleCall();
303 }
304
305)
306) otherlv_2='{'
307 {
308 newLeafNode(otherlv_2, grammarAccess.getALSEnumDeclarationAccess().getLeftCurlyBracketKeyword_2());
309 }
310(
311(
312 {
313 newCompositeNode(grammarAccess.getALSEnumDeclarationAccess().getLiteralALSEnumLiteralParserRuleCall_3_0());
314 }
315 lv_literal_3_0=ruleALSEnumLiteral {
316 if ($current==null) {
317 $current = createModelElementForParent(grammarAccess.getALSEnumDeclarationRule());
318 }
319 add(
320 $current,
321 "literal",
322 lv_literal_3_0,
323 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSEnumLiteral");
324 afterParserOrEnumRuleCall();
325 }
326
327)
328)( otherlv_4=','
329 {
330 newLeafNode(otherlv_4, grammarAccess.getALSEnumDeclarationAccess().getCommaKeyword_4_0());
331 }
332(
333(
334 {
335 newCompositeNode(grammarAccess.getALSEnumDeclarationAccess().getLiteralALSEnumLiteralParserRuleCall_4_1_0());
336 }
337 lv_literal_5_0=ruleALSEnumLiteral {
338 if ($current==null) {
339 $current = createModelElementForParent(grammarAccess.getALSEnumDeclarationRule());
340 }
341 add(
342 $current,
343 "literal",
344 lv_literal_5_0,
345 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSEnumLiteral");
346 afterParserOrEnumRuleCall();
347 }
348
349)
350))* otherlv_6='}'
351 {
352 newLeafNode(otherlv_6, grammarAccess.getALSEnumDeclarationAccess().getRightCurlyBracketKeyword_5());
353 }
354)
355;
356
357
358
359
360
361// Entry rule entryRuleALSEnumLiteral
362entryRuleALSEnumLiteral returns [EObject current=null]
363 :
364 { newCompositeNode(grammarAccess.getALSEnumLiteralRule()); }
365 iv_ruleALSEnumLiteral=ruleALSEnumLiteral
366 { $current=$iv_ruleALSEnumLiteral.current; }
367 EOF
368;
369
370// Rule ALSEnumLiteral
371ruleALSEnumLiteral returns [EObject current=null]
372 @init { enterRule();
373 }
374 @after { leaveRule(); }:
375(
376(
377 {
378 newCompositeNode(grammarAccess.getALSEnumLiteralAccess().getNameALSIDParserRuleCall_0());
379 }
380 lv_name_0_0=ruleALSID {
381 if ($current==null) {
382 $current = createModelElementForParent(grammarAccess.getALSEnumLiteralRule());
383 }
384 set(
385 $current,
386 "name",
387 lv_name_0_0,
388 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSID");
389 afterParserOrEnumRuleCall();
390 }
391
392)
393)
394;
395
396
397
398
399
400// Entry rule entryRuleALSSignatureDeclaration
401entryRuleALSSignatureDeclaration returns [EObject current=null]
402 :
403 { newCompositeNode(grammarAccess.getALSSignatureDeclarationRule()); }
404 iv_ruleALSSignatureDeclaration=ruleALSSignatureDeclaration
405 { $current=$iv_ruleALSSignatureDeclaration.current; }
406 EOF
407;
408
409// Rule ALSSignatureDeclaration
410ruleALSSignatureDeclaration returns [EObject current=null]
411 @init { enterRule();
412 }
413 @after { leaveRule(); }:
414(
415(
416 {
417 newCompositeNode(grammarAccess.getALSSignatureDeclarationAccess().getNameALSIDParserRuleCall_0());
418 }
419 lv_name_0_0=ruleALSID {
420 if ($current==null) {
421 $current = createModelElementForParent(grammarAccess.getALSSignatureDeclarationRule());
422 }
423 set(
424 $current,
425 "name",
426 lv_name_0_0,
427 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSID");
428 afterParserOrEnumRuleCall();
429 }
430
431)
432)
433;
434
435
436
437
438
439// Entry rule entryRuleALSSignatureBody
440entryRuleALSSignatureBody returns [EObject current=null]
441 :
442 { newCompositeNode(grammarAccess.getALSSignatureBodyRule()); }
443 iv_ruleALSSignatureBody=ruleALSSignatureBody
444 { $current=$iv_ruleALSSignatureBody.current; }
445 EOF
446;
447
448// Rule ALSSignatureBody
449ruleALSSignatureBody returns [EObject current=null]
450 @init { enterRule();
451 }
452 @after { leaveRule(); }:
453((
454
455(
456 {
457 getUnorderedGroupHelper().enter(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0());
458 }
459 (
460 (
461
462 (
463 {getUnorderedGroupHelper().canSelect(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0(), 0)}?=>(
464 {
465 getUnorderedGroupHelper().select(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0(), 0);
466 }
467 ({true}?=>(
468(
469 {
470 newCompositeNode(grammarAccess.getALSSignatureBodyAccess().getMultiplicityALSMultiplicityEnumRuleCall_0_0_0());
471 }
472 lv_multiplicity_1_0=ruleALSMultiplicity {
473 if ($current==null) {
474 $current = createModelElementForParent(grammarAccess.getALSSignatureBodyRule());
475 }
476 set(
477 $current,
478 "multiplicity",
479 lv_multiplicity_1_0,
480 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSMultiplicity");
481 afterParserOrEnumRuleCall();
482 }
483
484)
485))
486 {
487 getUnorderedGroupHelper().returnFromSelection(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0());
488 }
489 )
490 ) |
491
492 (
493 {getUnorderedGroupHelper().canSelect(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0(), 1)}?=>(
494 {
495 getUnorderedGroupHelper().select(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0(), 1);
496 }
497 ({true}?=>(
498(
499 lv_abstract_2_0= 'abstract'
500 {
501 newLeafNode(lv_abstract_2_0, grammarAccess.getALSSignatureBodyAccess().getAbstractAbstractKeyword_0_1_0());
502 }
503
504 {
505 if ($current==null) {
506 $current = createModelElement(grammarAccess.getALSSignatureBodyRule());
507 }
508 setWithLastConsumed($current, "abstract", true, "abstract");
509 }
510
511)
512))
513 {
514 getUnorderedGroupHelper().returnFromSelection(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0());
515 }
516 )
517 )
518
519 )*
520 )
521)
522 {
523 getUnorderedGroupHelper().leave(grammarAccess.getALSSignatureBodyAccess().getUnorderedGroup_0());
524 }
525
526) otherlv_3='sig'
527 {
528 newLeafNode(otherlv_3, grammarAccess.getALSSignatureBodyAccess().getSigKeyword_1());
529 }
530(
531(
532 {
533 newCompositeNode(grammarAccess.getALSSignatureBodyAccess().getDeclarationsALSSignatureDeclarationParserRuleCall_2_0());
534 }
535 lv_declarations_4_0=ruleALSSignatureDeclaration {
536 if ($current==null) {
537 $current = createModelElementForParent(grammarAccess.getALSSignatureBodyRule());
538 }
539 add(
540 $current,
541 "declarations",
542 lv_declarations_4_0,
543 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSSignatureDeclaration");
544 afterParserOrEnumRuleCall();
545 }
546
547)
548)( otherlv_5=','
549 {
550 newLeafNode(otherlv_5, grammarAccess.getALSSignatureBodyAccess().getCommaKeyword_3_0());
551 }
552(
553(
554 {
555 newCompositeNode(grammarAccess.getALSSignatureBodyAccess().getDeclarationsALSSignatureDeclarationParserRuleCall_3_1_0());
556 }
557 lv_declarations_6_0=ruleALSSignatureDeclaration {
558 if ($current==null) {
559 $current = createModelElementForParent(grammarAccess.getALSSignatureBodyRule());
560 }
561 add(
562 $current,
563 "declarations",
564 lv_declarations_6_0,
565 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSSignatureDeclaration");
566 afterParserOrEnumRuleCall();
567 }
568
569)
570))*(( otherlv_7='extends'
571 {
572 newLeafNode(otherlv_7, grammarAccess.getALSSignatureBodyAccess().getExtendsKeyword_4_0_0());
573 }
574(
575(
576 {
577 if ($current==null) {
578 $current = createModelElement(grammarAccess.getALSSignatureBodyRule());
579 }
580 }
581 otherlv_8=RULE_ID
582 {
583 newLeafNode(otherlv_8, grammarAccess.getALSSignatureBodyAccess().getSupertypeALSSignatureDeclarationCrossReference_4_0_1_0());
584 }
585
586)
587))
588 |( otherlv_9='in'
589 {
590 newLeafNode(otherlv_9, grammarAccess.getALSSignatureBodyAccess().getInKeyword_4_1_0());
591 }
592(
593(
594 {
595 if ($current==null) {
596 $current = createModelElement(grammarAccess.getALSSignatureBodyRule());
597 }
598 }
599 otherlv_10=RULE_ID
600 {
601 newLeafNode(otherlv_10, grammarAccess.getALSSignatureBodyAccess().getSupersetALSSignatureDeclarationCrossReference_4_1_1_0());
602 }
603
604)
605)( otherlv_11='+'
606 {
607 newLeafNode(otherlv_11, grammarAccess.getALSSignatureBodyAccess().getPlusSignKeyword_4_1_2_0());
608 }
609(
610(
611 {
612 if ($current==null) {
613 $current = createModelElement(grammarAccess.getALSSignatureBodyRule());
614 }
615 }
616 otherlv_12=RULE_ID
617 {
618 newLeafNode(otherlv_12, grammarAccess.getALSSignatureBodyAccess().getSupersetALSSignatureDeclarationCrossReference_4_1_2_1_0());
619 }
620
621)
622))*))? otherlv_13='{'
623 {
624 newLeafNode(otherlv_13, grammarAccess.getALSSignatureBodyAccess().getLeftCurlyBracketKeyword_5());
625 }
626((
627(
628 {
629 newCompositeNode(grammarAccess.getALSSignatureBodyAccess().getFieldsALSFieldDeclarationParserRuleCall_6_0_0());
630 }
631 lv_fields_14_0=ruleALSFieldDeclaration {
632 if ($current==null) {
633 $current = createModelElementForParent(grammarAccess.getALSSignatureBodyRule());
634 }
635 add(
636 $current,
637 "fields",
638 lv_fields_14_0,
639 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSFieldDeclaration");
640 afterParserOrEnumRuleCall();
641 }
642
643)
644)( otherlv_15=','
645 {
646 newLeafNode(otherlv_15, grammarAccess.getALSSignatureBodyAccess().getCommaKeyword_6_1_0());
647 }
648(
649(
650 {
651 newCompositeNode(grammarAccess.getALSSignatureBodyAccess().getFieldsALSFieldDeclarationParserRuleCall_6_1_1_0());
652 }
653 lv_fields_16_0=ruleALSFieldDeclaration {
654 if ($current==null) {
655 $current = createModelElementForParent(grammarAccess.getALSSignatureBodyRule());
656 }
657 add(
658 $current,
659 "fields",
660 lv_fields_16_0,
661 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSFieldDeclaration");
662 afterParserOrEnumRuleCall();
663 }
664
665)
666))*)? otherlv_17='}'
667 {
668 newLeafNode(otherlv_17, grammarAccess.getALSSignatureBodyAccess().getRightCurlyBracketKeyword_7());
669 }
670)
671;
672
673
674
675
676
677// Entry rule entryRuleALSFieldDeclaration
678entryRuleALSFieldDeclaration returns [EObject current=null]
679 :
680 { newCompositeNode(grammarAccess.getALSFieldDeclarationRule()); }
681 iv_ruleALSFieldDeclaration=ruleALSFieldDeclaration
682 { $current=$iv_ruleALSFieldDeclaration.current; }
683 EOF
684;
685
686// Rule ALSFieldDeclaration
687ruleALSFieldDeclaration returns [EObject current=null]
688 @init { enterRule();
689 }
690 @after { leaveRule(); }:
691((
692(
693 {
694 newCompositeNode(grammarAccess.getALSFieldDeclarationAccess().getNameALSIDParserRuleCall_0_0());
695 }
696 lv_name_0_0=ruleALSID {
697 if ($current==null) {
698 $current = createModelElementForParent(grammarAccess.getALSFieldDeclarationRule());
699 }
700 set(
701 $current,
702 "name",
703 lv_name_0_0,
704 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSID");
705 afterParserOrEnumRuleCall();
706 }
707
708)
709) otherlv_1=':'
710 {
711 newLeafNode(otherlv_1, grammarAccess.getALSFieldDeclarationAccess().getColonKeyword_1());
712 }
713(
714(
715 {
716 newCompositeNode(grammarAccess.getALSFieldDeclarationAccess().getMultiplicityALSMultiplicityEnumRuleCall_2_0());
717 }
718 lv_multiplicity_2_0=ruleALSMultiplicity {
719 if ($current==null) {
720 $current = createModelElementForParent(grammarAccess.getALSFieldDeclarationRule());
721 }
722 set(
723 $current,
724 "multiplicity",
725 lv_multiplicity_2_0,
726 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSMultiplicity");
727 afterParserOrEnumRuleCall();
728 }
729
730)
731)?(
732(
733 {
734 newCompositeNode(grammarAccess.getALSFieldDeclarationAccess().getTypeALSTermParserRuleCall_3_0());
735 }
736 lv_type_3_0=ruleALSTerm {
737 if ($current==null) {
738 $current = createModelElementForParent(grammarAccess.getALSFieldDeclarationRule());
739 }
740 set(
741 $current,
742 "type",
743 lv_type_3_0,
744 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTerm");
745 afterParserOrEnumRuleCall();
746 }
747
748)
749))
750;
751
752
753
754
755
756
757
758// Entry rule entryRuleALSFunctionDefinition
759entryRuleALSFunctionDefinition returns [EObject current=null]
760 :
761 { newCompositeNode(grammarAccess.getALSFunctionDefinitionRule()); }
762 iv_ruleALSFunctionDefinition=ruleALSFunctionDefinition
763 { $current=$iv_ruleALSFunctionDefinition.current; }
764 EOF
765;
766
767// Rule ALSFunctionDefinition
768ruleALSFunctionDefinition returns [EObject current=null]
769 @init { enterRule();
770 }
771 @after { leaveRule(); }:
772( otherlv_0='fun'
773 {
774 newLeafNode(otherlv_0, grammarAccess.getALSFunctionDefinitionAccess().getFunKeyword_0());
775 }
776(
777(
778 {
779 newCompositeNode(grammarAccess.getALSFunctionDefinitionAccess().getNameALSIDParserRuleCall_1_0());
780 }
781 lv_name_1_0=ruleALSID {
782 if ($current==null) {
783 $current = createModelElementForParent(grammarAccess.getALSFunctionDefinitionRule());
784 }
785 set(
786 $current,
787 "name",
788 lv_name_1_0,
789 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSID");
790 afterParserOrEnumRuleCall();
791 }
792
793)
794) otherlv_2='['
795 {
796 newLeafNode(otherlv_2, grammarAccess.getALSFunctionDefinitionAccess().getLeftSquareBracketKeyword_2());
797 }
798(
799(
800 {
801 newCompositeNode(grammarAccess.getALSFunctionDefinitionAccess().getVariablesALSVariableDeclarationParserRuleCall_3_0());
802 }
803 lv_variables_3_0=ruleALSVariableDeclaration {
804 if ($current==null) {
805 $current = createModelElementForParent(grammarAccess.getALSFunctionDefinitionRule());
806 }
807 add(
808 $current,
809 "variables",
810 lv_variables_3_0,
811 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSVariableDeclaration");
812 afterParserOrEnumRuleCall();
813 }
814
815)
816)( otherlv_4=','
817 {
818 newLeafNode(otherlv_4, grammarAccess.getALSFunctionDefinitionAccess().getCommaKeyword_4_0());
819 }
820(
821(
822 {
823 newCompositeNode(grammarAccess.getALSFunctionDefinitionAccess().getVariablesALSVariableDeclarationParserRuleCall_4_1_0());
824 }
825 lv_variables_5_0=ruleALSVariableDeclaration {
826 if ($current==null) {
827 $current = createModelElementForParent(grammarAccess.getALSFunctionDefinitionRule());
828 }
829 add(
830 $current,
831 "variables",
832 lv_variables_5_0,
833 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSVariableDeclaration");
834 afterParserOrEnumRuleCall();
835 }
836
837)
838))* otherlv_6=']'
839 {
840 newLeafNode(otherlv_6, grammarAccess.getALSFunctionDefinitionAccess().getRightSquareBracketKeyword_5());
841 }
842 otherlv_7=':'
843 {
844 newLeafNode(otherlv_7, grammarAccess.getALSFunctionDefinitionAccess().getColonKeyword_6());
845 }
846(
847(
848 {
849 newCompositeNode(grammarAccess.getALSFunctionDefinitionAccess().getTypeALSTermParserRuleCall_7_0());
850 }
851 lv_type_8_0=ruleALSTerm {
852 if ($current==null) {
853 $current = createModelElementForParent(grammarAccess.getALSFunctionDefinitionRule());
854 }
855 set(
856 $current,
857 "type",
858 lv_type_8_0,
859 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTerm");
860 afterParserOrEnumRuleCall();
861 }
862
863)
864) otherlv_9='{'
865 {
866 newLeafNode(otherlv_9, grammarAccess.getALSFunctionDefinitionAccess().getLeftCurlyBracketKeyword_8());
867 }
868(
869(
870 {
871 newCompositeNode(grammarAccess.getALSFunctionDefinitionAccess().getValueALSTermParserRuleCall_9_0());
872 }
873 lv_value_10_0=ruleALSTerm {
874 if ($current==null) {
875 $current = createModelElementForParent(grammarAccess.getALSFunctionDefinitionRule());
876 }
877 set(
878 $current,
879 "value",
880 lv_value_10_0,
881 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTerm");
882 afterParserOrEnumRuleCall();
883 }
884
885)
886) otherlv_11='}'
887 {
888 newLeafNode(otherlv_11, grammarAccess.getALSFunctionDefinitionAccess().getRightCurlyBracketKeyword_10());
889 }
890)
891;
892
893
894
895
896
897// Entry rule entryRuleALSRelationDefinition
898entryRuleALSRelationDefinition returns [EObject current=null]
899 :
900 { newCompositeNode(grammarAccess.getALSRelationDefinitionRule()); }
901 iv_ruleALSRelationDefinition=ruleALSRelationDefinition
902 { $current=$iv_ruleALSRelationDefinition.current; }
903 EOF
904;
905
906// Rule ALSRelationDefinition
907ruleALSRelationDefinition returns [EObject current=null]
908 @init { enterRule();
909 }
910 @after { leaveRule(); }:
911( otherlv_0='pred'
912 {
913 newLeafNode(otherlv_0, grammarAccess.getALSRelationDefinitionAccess().getPredKeyword_0());
914 }
915(
916(
917 {
918 newCompositeNode(grammarAccess.getALSRelationDefinitionAccess().getNameALSIDParserRuleCall_1_0());
919 }
920 lv_name_1_0=ruleALSID {
921 if ($current==null) {
922 $current = createModelElementForParent(grammarAccess.getALSRelationDefinitionRule());
923 }
924 set(
925 $current,
926 "name",
927 lv_name_1_0,
928 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSID");
929 afterParserOrEnumRuleCall();
930 }
931
932)
933) otherlv_2='['
934 {
935 newLeafNode(otherlv_2, grammarAccess.getALSRelationDefinitionAccess().getLeftSquareBracketKeyword_2());
936 }
937(
938(
939 {
940 newCompositeNode(grammarAccess.getALSRelationDefinitionAccess().getVariablesALSVariableDeclarationParserRuleCall_3_0());
941 }
942 lv_variables_3_0=ruleALSVariableDeclaration {
943 if ($current==null) {
944 $current = createModelElementForParent(grammarAccess.getALSRelationDefinitionRule());
945 }
946 add(
947 $current,
948 "variables",
949 lv_variables_3_0,
950 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSVariableDeclaration");
951 afterParserOrEnumRuleCall();
952 }
953
954)
955)( otherlv_4=','
956 {
957 newLeafNode(otherlv_4, grammarAccess.getALSRelationDefinitionAccess().getCommaKeyword_4_0());
958 }
959(
960(
961 {
962 newCompositeNode(grammarAccess.getALSRelationDefinitionAccess().getVariablesALSVariableDeclarationParserRuleCall_4_1_0());
963 }
964 lv_variables_5_0=ruleALSVariableDeclaration {
965 if ($current==null) {
966 $current = createModelElementForParent(grammarAccess.getALSRelationDefinitionRule());
967 }
968 add(
969 $current,
970 "variables",
971 lv_variables_5_0,
972 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSVariableDeclaration");
973 afterParserOrEnumRuleCall();
974 }
975
976)
977))* otherlv_6=']'
978 {
979 newLeafNode(otherlv_6, grammarAccess.getALSRelationDefinitionAccess().getRightSquareBracketKeyword_5());
980 }
981 otherlv_7='{'
982 {
983 newLeafNode(otherlv_7, grammarAccess.getALSRelationDefinitionAccess().getLeftCurlyBracketKeyword_6());
984 }
985(
986(
987 {
988 newCompositeNode(grammarAccess.getALSRelationDefinitionAccess().getValueALSTermParserRuleCall_7_0());
989 }
990 lv_value_8_0=ruleALSTerm {
991 if ($current==null) {
992 $current = createModelElementForParent(grammarAccess.getALSRelationDefinitionRule());
993 }
994 set(
995 $current,
996 "value",
997 lv_value_8_0,
998 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTerm");
999 afterParserOrEnumRuleCall();
1000 }
1001
1002)
1003) otherlv_9='}'
1004 {
1005 newLeafNode(otherlv_9, grammarAccess.getALSRelationDefinitionAccess().getRightCurlyBracketKeyword_8());
1006 }
1007)
1008;
1009
1010
1011
1012
1013
1014// Entry rule entryRuleALSFactDeclaration
1015entryRuleALSFactDeclaration returns [EObject current=null]
1016 :
1017 { newCompositeNode(grammarAccess.getALSFactDeclarationRule()); }
1018 iv_ruleALSFactDeclaration=ruleALSFactDeclaration
1019 { $current=$iv_ruleALSFactDeclaration.current; }
1020 EOF
1021;
1022
1023// Rule ALSFactDeclaration
1024ruleALSFactDeclaration returns [EObject current=null]
1025 @init { enterRule();
1026 }
1027 @after { leaveRule(); }:
1028((
1029 {
1030 $current = forceCreateModelElement(
1031 grammarAccess.getALSFactDeclarationAccess().getALSFactDeclarationAction_0(),
1032 $current);
1033 }
1034) otherlv_1='fact'
1035 {
1036 newLeafNode(otherlv_1, grammarAccess.getALSFactDeclarationAccess().getFactKeyword_1());
1037 }
1038(
1039(
1040 {
1041 newCompositeNode(grammarAccess.getALSFactDeclarationAccess().getNameALSIDParserRuleCall_2_0());
1042 }
1043 lv_name_2_0=ruleALSID {
1044 if ($current==null) {
1045 $current = createModelElementForParent(grammarAccess.getALSFactDeclarationRule());
1046 }
1047 set(
1048 $current,
1049 "name",
1050 lv_name_2_0,
1051 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSID");
1052 afterParserOrEnumRuleCall();
1053 }
1054
1055)
1056)? otherlv_3='{'
1057 {
1058 newLeafNode(otherlv_3, grammarAccess.getALSFactDeclarationAccess().getLeftCurlyBracketKeyword_3());
1059 }
1060(
1061(
1062 {
1063 newCompositeNode(grammarAccess.getALSFactDeclarationAccess().getTermALSTermParserRuleCall_4_0());
1064 }
1065 lv_term_4_0=ruleALSTerm {
1066 if ($current==null) {
1067 $current = createModelElementForParent(grammarAccess.getALSFactDeclarationRule());
1068 }
1069 set(
1070 $current,
1071 "term",
1072 lv_term_4_0,
1073 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTerm");
1074 afterParserOrEnumRuleCall();
1075 }
1076
1077)
1078) otherlv_5='}'
1079 {
1080 newLeafNode(otherlv_5, grammarAccess.getALSFactDeclarationAccess().getRightCurlyBracketKeyword_5());
1081 }
1082)
1083;
1084
1085
1086
1087
1088
1089// Entry rule entryRuleALSTerm
1090entryRuleALSTerm returns [EObject current=null]
1091 :
1092 { newCompositeNode(grammarAccess.getALSTermRule()); }
1093 iv_ruleALSTerm=ruleALSTerm
1094 { $current=$iv_ruleALSTerm.current; }
1095 EOF
1096;
1097
1098// Rule ALSTerm
1099ruleALSTerm returns [EObject current=null]
1100 @init { enterRule();
1101 }
1102 @after { leaveRule(); }:
1103
1104 {
1105 newCompositeNode(grammarAccess.getALSTermAccess().getALSQuantifiedParserRuleCall());
1106 }
1107 this_ALSQuantified_0=ruleALSQuantified
1108 {
1109 $current = $this_ALSQuantified_0.current;
1110 afterParserOrEnumRuleCall();
1111 }
1112
1113;
1114
1115
1116
1117
1118
1119// Entry rule entryRuleALSQuantified
1120entryRuleALSQuantified returns [EObject current=null]
1121 :
1122 { newCompositeNode(grammarAccess.getALSQuantifiedRule()); }
1123 iv_ruleALSQuantified=ruleALSQuantified
1124 { $current=$iv_ruleALSQuantified.current; }
1125 EOF
1126;
1127
1128// Rule ALSQuantified
1129ruleALSQuantified returns [EObject current=null]
1130 @init { enterRule();
1131 }
1132 @after { leaveRule(); }:
1133(((
1134 {
1135 $current = forceCreateModelElement(
1136 grammarAccess.getALSQuantifiedAccess().getALSQuantifiedExAction_0_0(),
1137 $current);
1138 }
1139)(
1140(
1141 {
1142 newCompositeNode(grammarAccess.getALSQuantifiedAccess().getTypeALSMultiplicityEnumRuleCall_0_1_0());
1143 }
1144 lv_type_1_0=ruleALSMultiplicity {
1145 if ($current==null) {
1146 $current = createModelElementForParent(grammarAccess.getALSQuantifiedRule());
1147 }
1148 set(
1149 $current,
1150 "type",
1151 lv_type_1_0,
1152 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSMultiplicity");
1153 afterParserOrEnumRuleCall();
1154 }
1155
1156)
1157)(
1158(
1159 lv_disj_2_0= 'disj'
1160 {
1161 newLeafNode(lv_disj_2_0, grammarAccess.getALSQuantifiedAccess().getDisjDisjKeyword_0_2_0());
1162 }
1163
1164 {
1165 if ($current==null) {
1166 $current = createModelElement(grammarAccess.getALSQuantifiedRule());
1167 }
1168 setWithLastConsumed($current, "disj", true, "disj");
1169 }
1170
1171)
1172)?(
1173(
1174 {
1175 newCompositeNode(grammarAccess.getALSQuantifiedAccess().getVariablesALSVariableDeclarationParserRuleCall_0_3_0());
1176 }
1177 lv_variables_3_0=ruleALSVariableDeclaration {
1178 if ($current==null) {
1179 $current = createModelElementForParent(grammarAccess.getALSQuantifiedRule());
1180 }
1181 add(
1182 $current,
1183 "variables",
1184 lv_variables_3_0,
1185 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSVariableDeclaration");
1186 afterParserOrEnumRuleCall();
1187 }
1188
1189)
1190)( otherlv_4=','
1191 {
1192 newLeafNode(otherlv_4, grammarAccess.getALSQuantifiedAccess().getCommaKeyword_0_4_0());
1193 }
1194(
1195(
1196 {
1197 newCompositeNode(grammarAccess.getALSQuantifiedAccess().getVariablesALSVariableDeclarationParserRuleCall_0_4_1_0());
1198 }
1199 lv_variables_5_0=ruleALSVariableDeclaration {
1200 if ($current==null) {
1201 $current = createModelElementForParent(grammarAccess.getALSQuantifiedRule());
1202 }
1203 add(
1204 $current,
1205 "variables",
1206 lv_variables_5_0,
1207 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSVariableDeclaration");
1208 afterParserOrEnumRuleCall();
1209 }
1210
1211)
1212))* otherlv_6='{'
1213 {
1214 newLeafNode(otherlv_6, grammarAccess.getALSQuantifiedAccess().getLeftCurlyBracketKeyword_0_5());
1215 }
1216(
1217(
1218 {
1219 newCompositeNode(grammarAccess.getALSQuantifiedAccess().getExpressionALSTermParserRuleCall_0_6_0());
1220 }
1221 lv_expression_7_0=ruleALSTerm {
1222 if ($current==null) {
1223 $current = createModelElementForParent(grammarAccess.getALSQuantifiedRule());
1224 }
1225 set(
1226 $current,
1227 "expression",
1228 lv_expression_7_0,
1229 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTerm");
1230 afterParserOrEnumRuleCall();
1231 }
1232
1233)
1234) otherlv_8='}'
1235 {
1236 newLeafNode(otherlv_8, grammarAccess.getALSQuantifiedAccess().getRightCurlyBracketKeyword_0_7());
1237 }
1238)
1239 |
1240 {
1241 newCompositeNode(grammarAccess.getALSQuantifiedAccess().getALSOrParserRuleCall_1());
1242 }
1243 this_ALSOr_9=ruleALSOr
1244 {
1245 $current = $this_ALSOr_9.current;
1246 afterParserOrEnumRuleCall();
1247 }
1248)
1249;
1250
1251
1252
1253
1254
1255// Entry rule entryRuleALSOr
1256entryRuleALSOr returns [EObject current=null]
1257 :
1258 { newCompositeNode(grammarAccess.getALSOrRule()); }
1259 iv_ruleALSOr=ruleALSOr
1260 { $current=$iv_ruleALSOr.current; }
1261 EOF
1262;
1263
1264// Rule ALSOr
1265ruleALSOr returns [EObject current=null]
1266 @init { enterRule();
1267 }
1268 @after { leaveRule(); }:
1269(
1270 {
1271 newCompositeNode(grammarAccess.getALSOrAccess().getALSIffParserRuleCall_0());
1272 }
1273 this_ALSIff_0=ruleALSIff
1274 {
1275 $current = $this_ALSIff_0.current;
1276 afterParserOrEnumRuleCall();
1277 }
1278((
1279 {
1280 $current = forceCreateModelElementAndSet(
1281 grammarAccess.getALSOrAccess().getALSOrLeftOperandAction_1_0(),
1282 $current);
1283 }
1284)( otherlv_2='||'
1285 {
1286 newLeafNode(otherlv_2, grammarAccess.getALSOrAccess().getVerticalLineVerticalLineKeyword_1_1_0());
1287 }
1288
1289 | otherlv_3='or'
1290 {
1291 newLeafNode(otherlv_3, grammarAccess.getALSOrAccess().getOrKeyword_1_1_1());
1292 }
1293)(
1294(
1295 {
1296 newCompositeNode(grammarAccess.getALSOrAccess().getRightOperandALSIffParserRuleCall_1_2_0());
1297 }
1298 lv_rightOperand_4_0=ruleALSIff {
1299 if ($current==null) {
1300 $current = createModelElementForParent(grammarAccess.getALSOrRule());
1301 }
1302 set(
1303 $current,
1304 "rightOperand",
1305 lv_rightOperand_4_0,
1306 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSIff");
1307 afterParserOrEnumRuleCall();
1308 }
1309
1310)
1311))?)
1312;
1313
1314
1315
1316
1317
1318// Entry rule entryRuleALSIff
1319entryRuleALSIff returns [EObject current=null]
1320 :
1321 { newCompositeNode(grammarAccess.getALSIffRule()); }
1322 iv_ruleALSIff=ruleALSIff
1323 { $current=$iv_ruleALSIff.current; }
1324 EOF
1325;
1326
1327// Rule ALSIff
1328ruleALSIff returns [EObject current=null]
1329 @init { enterRule();
1330 }
1331 @after { leaveRule(); }:
1332(
1333 {
1334 newCompositeNode(grammarAccess.getALSIffAccess().getALSImplParserRuleCall_0());
1335 }
1336 this_ALSImpl_0=ruleALSImpl
1337 {
1338 $current = $this_ALSImpl_0.current;
1339 afterParserOrEnumRuleCall();
1340 }
1341((
1342 {
1343 $current = forceCreateModelElementAndSet(
1344 grammarAccess.getALSIffAccess().getALSIffLeftOperandAction_1_0(),
1345 $current);
1346 }
1347)( otherlv_2='<=>'
1348 {
1349 newLeafNode(otherlv_2, grammarAccess.getALSIffAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_1_0());
1350 }
1351
1352 | otherlv_3='iff'
1353 {
1354 newLeafNode(otherlv_3, grammarAccess.getALSIffAccess().getIffKeyword_1_1_1());
1355 }
1356)(
1357(
1358 {
1359 newCompositeNode(grammarAccess.getALSIffAccess().getRightOperandALSImplParserRuleCall_1_2_0());
1360 }
1361 lv_rightOperand_4_0=ruleALSImpl {
1362 if ($current==null) {
1363 $current = createModelElementForParent(grammarAccess.getALSIffRule());
1364 }
1365 set(
1366 $current,
1367 "rightOperand",
1368 lv_rightOperand_4_0,
1369 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSImpl");
1370 afterParserOrEnumRuleCall();
1371 }
1372
1373)
1374))?)
1375;
1376
1377
1378
1379
1380
1381// Entry rule entryRuleALSImpl
1382entryRuleALSImpl returns [EObject current=null]
1383 :
1384 { newCompositeNode(grammarAccess.getALSImplRule()); }
1385 iv_ruleALSImpl=ruleALSImpl
1386 { $current=$iv_ruleALSImpl.current; }
1387 EOF
1388;
1389
1390// Rule ALSImpl
1391ruleALSImpl returns [EObject current=null]
1392 @init { enterRule();
1393 }
1394 @after { leaveRule(); }:
1395(
1396 {
1397 newCompositeNode(grammarAccess.getALSImplAccess().getALSAndParserRuleCall_0());
1398 }
1399 this_ALSAnd_0=ruleALSAnd
1400 {
1401 $current = $this_ALSAnd_0.current;
1402 afterParserOrEnumRuleCall();
1403 }
1404((
1405 {
1406 $current = forceCreateModelElementAndSet(
1407 grammarAccess.getALSImplAccess().getALSImplLeftOperandAction_1_0(),
1408 $current);
1409 }
1410)( otherlv_2='=>'
1411 {
1412 newLeafNode(otherlv_2, grammarAccess.getALSImplAccess().getEqualsSignGreaterThanSignKeyword_1_1_0());
1413 }
1414
1415 | otherlv_3='implies'
1416 {
1417 newLeafNode(otherlv_3, grammarAccess.getALSImplAccess().getImpliesKeyword_1_1_1());
1418 }
1419)(
1420(
1421 {
1422 newCompositeNode(grammarAccess.getALSImplAccess().getRightOperandALSAndParserRuleCall_1_2_0());
1423 }
1424 lv_rightOperand_4_0=ruleALSAnd {
1425 if ($current==null) {
1426 $current = createModelElementForParent(grammarAccess.getALSImplRule());
1427 }
1428 set(
1429 $current,
1430 "rightOperand",
1431 lv_rightOperand_4_0,
1432 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSAnd");
1433 afterParserOrEnumRuleCall();
1434 }
1435
1436)
1437)( otherlv_5='else'
1438 {
1439 newLeafNode(otherlv_5, grammarAccess.getALSImplAccess().getElseKeyword_1_3_0());
1440 }
1441(
1442(
1443 {
1444 newCompositeNode(grammarAccess.getALSImplAccess().getElseOperandALSAndParserRuleCall_1_3_1_0());
1445 }
1446 lv_elseOperand_6_0=ruleALSAnd {
1447 if ($current==null) {
1448 $current = createModelElementForParent(grammarAccess.getALSImplRule());
1449 }
1450 set(
1451 $current,
1452 "elseOperand",
1453 lv_elseOperand_6_0,
1454 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSAnd");
1455 afterParserOrEnumRuleCall();
1456 }
1457
1458)
1459))?)?)
1460;
1461
1462
1463
1464
1465
1466// Entry rule entryRuleALSAnd
1467entryRuleALSAnd returns [EObject current=null]
1468 :
1469 { newCompositeNode(grammarAccess.getALSAndRule()); }
1470 iv_ruleALSAnd=ruleALSAnd
1471 { $current=$iv_ruleALSAnd.current; }
1472 EOF
1473;
1474
1475// Rule ALSAnd
1476ruleALSAnd returns [EObject current=null]
1477 @init { enterRule();
1478 }
1479 @after { leaveRule(); }:
1480(
1481 {
1482 newCompositeNode(grammarAccess.getALSAndAccess().getALSComparisonParserRuleCall_0());
1483 }
1484 this_ALSComparison_0=ruleALSComparison
1485 {
1486 $current = $this_ALSComparison_0.current;
1487 afterParserOrEnumRuleCall();
1488 }
1489((
1490 {
1491 $current = forceCreateModelElementAndSet(
1492 grammarAccess.getALSAndAccess().getALSAndLeftOperandAction_1_0(),
1493 $current);
1494 }
1495)( otherlv_2='&&'
1496 {
1497 newLeafNode(otherlv_2, grammarAccess.getALSAndAccess().getAmpersandAmpersandKeyword_1_1_0());
1498 }
1499
1500 | otherlv_3='and'
1501 {
1502 newLeafNode(otherlv_3, grammarAccess.getALSAndAccess().getAndKeyword_1_1_1());
1503 }
1504)(
1505(
1506 {
1507 newCompositeNode(grammarAccess.getALSAndAccess().getRightOperandALSComparisonParserRuleCall_1_2_0());
1508 }
1509 lv_rightOperand_4_0=ruleALSComparison {
1510 if ($current==null) {
1511 $current = createModelElementForParent(grammarAccess.getALSAndRule());
1512 }
1513 set(
1514 $current,
1515 "rightOperand",
1516 lv_rightOperand_4_0,
1517 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSComparison");
1518 afterParserOrEnumRuleCall();
1519 }
1520
1521)
1522))?)
1523;
1524
1525
1526
1527
1528
1529// Entry rule entryRuleALSComparison
1530entryRuleALSComparison returns [EObject current=null]
1531 :
1532 { newCompositeNode(grammarAccess.getALSComparisonRule()); }
1533 iv_ruleALSComparison=ruleALSComparison
1534 { $current=$iv_ruleALSComparison.current; }
1535 EOF
1536;
1537
1538// Rule ALSComparison
1539ruleALSComparison returns [EObject current=null]
1540 @init { enterRule();
1541 }
1542 @after { leaveRule(); }:
1543(
1544 {
1545 newCompositeNode(grammarAccess.getALSComparisonAccess().getALSOverrideParserRuleCall_0());
1546 }
1547 this_ALSOverride_0=ruleALSOverride
1548 {
1549 $current = $this_ALSOverride_0.current;
1550 afterParserOrEnumRuleCall();
1551 }
1552((((
1553 {
1554 $current = forceCreateModelElementAndSet(
1555 grammarAccess.getALSComparisonAccess().getALSEqualsLeftOperandAction_1_0_0_0(),
1556 $current);
1557 }
1558) otherlv_2='='
1559 {
1560 newLeafNode(otherlv_2, grammarAccess.getALSComparisonAccess().getEqualsSignKeyword_1_0_0_1());
1561 }
1562)
1563 |((
1564 {
1565 $current = forceCreateModelElementAndSet(
1566 grammarAccess.getALSComparisonAccess().getALSNotEqualsLeftOperandAction_1_0_1_0(),
1567 $current);
1568 }
1569) otherlv_4='!='
1570 {
1571 newLeafNode(otherlv_4, grammarAccess.getALSComparisonAccess().getExclamationMarkEqualsSignKeyword_1_0_1_1());
1572 }
1573)
1574 |((
1575 {
1576 $current = forceCreateModelElementAndSet(
1577 grammarAccess.getALSComparisonAccess().getALSSubsetLeftOperandAction_1_0_2_0(),
1578 $current);
1579 }
1580) otherlv_6='in'
1581 {
1582 newLeafNode(otherlv_6, grammarAccess.getALSComparisonAccess().getInKeyword_1_0_2_1());
1583 }
1584)
1585 |((
1586 {
1587 $current = forceCreateModelElementAndSet(
1588 grammarAccess.getALSComparisonAccess().getALSLessLeftOperandAction_1_0_3_0(),
1589 $current);
1590 }
1591) otherlv_8='>'
1592 {
1593 newLeafNode(otherlv_8, grammarAccess.getALSComparisonAccess().getGreaterThanSignKeyword_1_0_3_1());
1594 }
1595)
1596 |((
1597 {
1598 $current = forceCreateModelElementAndSet(
1599 grammarAccess.getALSComparisonAccess().getALSLeqLeftOperandAction_1_0_4_0(),
1600 $current);
1601 }
1602) otherlv_10='>='
1603 {
1604 newLeafNode(otherlv_10, grammarAccess.getALSComparisonAccess().getGreaterThanSignEqualsSignKeyword_1_0_4_1());
1605 }
1606)
1607 |((
1608 {
1609 $current = forceCreateModelElementAndSet(
1610 grammarAccess.getALSComparisonAccess().getALSMoreLeftOperandAction_1_0_5_0(),
1611 $current);
1612 }
1613) otherlv_12='<'
1614 {
1615 newLeafNode(otherlv_12, grammarAccess.getALSComparisonAccess().getLessThanSignKeyword_1_0_5_1());
1616 }
1617)
1618 |((
1619 {
1620 $current = forceCreateModelElementAndSet(
1621 grammarAccess.getALSComparisonAccess().getALSMeqLeftOperandAction_1_0_6_0(),
1622 $current);
1623 }
1624) otherlv_14='<='
1625 {
1626 newLeafNode(otherlv_14, grammarAccess.getALSComparisonAccess().getLessThanSignEqualsSignKeyword_1_0_6_1());
1627 }
1628))(
1629(
1630 {
1631 newCompositeNode(grammarAccess.getALSComparisonAccess().getRightOperandALSOverrideParserRuleCall_1_1_0());
1632 }
1633 lv_rightOperand_15_0=ruleALSOverride {
1634 if ($current==null) {
1635 $current = createModelElementForParent(grammarAccess.getALSComparisonRule());
1636 }
1637 set(
1638 $current,
1639 "rightOperand",
1640 lv_rightOperand_15_0,
1641 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSOverride");
1642 afterParserOrEnumRuleCall();
1643 }
1644
1645)
1646))?)
1647;
1648
1649
1650
1651
1652
1653// Entry rule entryRuleALSOverride
1654entryRuleALSOverride returns [EObject current=null]
1655 :
1656 { newCompositeNode(grammarAccess.getALSOverrideRule()); }
1657 iv_ruleALSOverride=ruleALSOverride
1658 { $current=$iv_ruleALSOverride.current; }
1659 EOF
1660;
1661
1662// Rule ALSOverride
1663ruleALSOverride returns [EObject current=null]
1664 @init { enterRule();
1665 }
1666 @after { leaveRule(); }:
1667(
1668 {
1669 newCompositeNode(grammarAccess.getALSOverrideAccess().getALSRangeRestrictionRightParserRuleCall_0());
1670 }
1671 this_ALSRangeRestrictionRight_0=ruleALSRangeRestrictionRight
1672 {
1673 $current = $this_ALSRangeRestrictionRight_0.current;
1674 afterParserOrEnumRuleCall();
1675 }
1676((
1677 {
1678 $current = forceCreateModelElementAndSet(
1679 grammarAccess.getALSOverrideAccess().getALSOverrideLeftOperandAction_1_0(),
1680 $current);
1681 }
1682) otherlv_2='++'
1683 {
1684 newLeafNode(otherlv_2, grammarAccess.getALSOverrideAccess().getPlusSignPlusSignKeyword_1_1());
1685 }
1686(
1687(
1688 {
1689 newCompositeNode(grammarAccess.getALSOverrideAccess().getRightOperandALSRangeRestrictionRightParserRuleCall_1_2_0());
1690 }
1691 lv_rightOperand_3_0=ruleALSRangeRestrictionRight {
1692 if ($current==null) {
1693 $current = createModelElementForParent(grammarAccess.getALSOverrideRule());
1694 }
1695 set(
1696 $current,
1697 "rightOperand",
1698 lv_rightOperand_3_0,
1699 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSRangeRestrictionRight");
1700 afterParserOrEnumRuleCall();
1701 }
1702
1703)
1704))?)
1705;
1706
1707
1708
1709
1710
1711// Entry rule entryRuleALSRangeRestrictionRight
1712entryRuleALSRangeRestrictionRight returns [EObject current=null]
1713 :
1714 { newCompositeNode(grammarAccess.getALSRangeRestrictionRightRule()); }
1715 iv_ruleALSRangeRestrictionRight=ruleALSRangeRestrictionRight
1716 { $current=$iv_ruleALSRangeRestrictionRight.current; }
1717 EOF
1718;
1719
1720// Rule ALSRangeRestrictionRight
1721ruleALSRangeRestrictionRight returns [EObject current=null]
1722 @init { enterRule();
1723 }
1724 @after { leaveRule(); }:
1725(
1726 {
1727 newCompositeNode(grammarAccess.getALSRangeRestrictionRightAccess().getALSRangeRestrictionLeftParserRuleCall_0());
1728 }
1729 this_ALSRangeRestrictionLeft_0=ruleALSRangeRestrictionLeft
1730 {
1731 $current = $this_ALSRangeRestrictionLeft_0.current;
1732 afterParserOrEnumRuleCall();
1733 }
1734((
1735 {
1736 $current = forceCreateModelElementAndSet(
1737 grammarAccess.getALSRangeRestrictionRightAccess().getALSRangeRestrictionRightRelationAction_1_0(),
1738 $current);
1739 }
1740) otherlv_2=':>'
1741 {
1742 newLeafNode(otherlv_2, grammarAccess.getALSRangeRestrictionRightAccess().getColonGreaterThanSignKeyword_1_1());
1743 }
1744(
1745(
1746 {
1747 newCompositeNode(grammarAccess.getALSRangeRestrictionRightAccess().getFilterALSRangeRestrictionLeftParserRuleCall_1_2_0());
1748 }
1749 lv_filter_3_0=ruleALSRangeRestrictionLeft {
1750 if ($current==null) {
1751 $current = createModelElementForParent(grammarAccess.getALSRangeRestrictionRightRule());
1752 }
1753 set(
1754 $current,
1755 "filter",
1756 lv_filter_3_0,
1757 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSRangeRestrictionLeft");
1758 afterParserOrEnumRuleCall();
1759 }
1760
1761)
1762))?)
1763;
1764
1765
1766
1767
1768
1769// Entry rule entryRuleALSRangeRestrictionLeft
1770entryRuleALSRangeRestrictionLeft returns [EObject current=null]
1771 :
1772 { newCompositeNode(grammarAccess.getALSRangeRestrictionLeftRule()); }
1773 iv_ruleALSRangeRestrictionLeft=ruleALSRangeRestrictionLeft
1774 { $current=$iv_ruleALSRangeRestrictionLeft.current; }
1775 EOF
1776;
1777
1778// Rule ALSRangeRestrictionLeft
1779ruleALSRangeRestrictionLeft returns [EObject current=null]
1780 @init { enterRule();
1781 }
1782 @after { leaveRule(); }:
1783(
1784 {
1785 newCompositeNode(grammarAccess.getALSRangeRestrictionLeftAccess().getALSJoinParserRuleCall_0());
1786 }
1787 this_ALSJoin_0=ruleALSJoin
1788 {
1789 $current = $this_ALSJoin_0.current;
1790 afterParserOrEnumRuleCall();
1791 }
1792((
1793 {
1794 $current = forceCreateModelElementAndSet(
1795 grammarAccess.getALSRangeRestrictionLeftAccess().getALSRangeRestrictionLeftFilterAction_1_0(),
1796 $current);
1797 }
1798) otherlv_2='<:'
1799 {
1800 newLeafNode(otherlv_2, grammarAccess.getALSRangeRestrictionLeftAccess().getLessThanSignColonKeyword_1_1());
1801 }
1802(
1803(
1804 {
1805 newCompositeNode(grammarAccess.getALSRangeRestrictionLeftAccess().getRelationALSJoinParserRuleCall_1_2_0());
1806 }
1807 lv_relation_3_0=ruleALSJoin {
1808 if ($current==null) {
1809 $current = createModelElementForParent(grammarAccess.getALSRangeRestrictionLeftRule());
1810 }
1811 set(
1812 $current,
1813 "relation",
1814 lv_relation_3_0,
1815 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSJoin");
1816 afterParserOrEnumRuleCall();
1817 }
1818
1819)
1820))?)
1821;
1822
1823
1824
1825
1826
1827// Entry rule entryRuleALSJoin
1828entryRuleALSJoin returns [EObject current=null]
1829 :
1830 { newCompositeNode(grammarAccess.getALSJoinRule()); }
1831 iv_ruleALSJoin=ruleALSJoin
1832 { $current=$iv_ruleALSJoin.current; }
1833 EOF
1834;
1835
1836// Rule ALSJoin
1837ruleALSJoin returns [EObject current=null]
1838 @init { enterRule();
1839 }
1840 @after { leaveRule(); }:
1841(
1842 {
1843 newCompositeNode(grammarAccess.getALSJoinAccess().getALSMinusParserRuleCall_0());
1844 }
1845 this_ALSMinus_0=ruleALSMinus
1846 {
1847 $current = $this_ALSMinus_0.current;
1848 afterParserOrEnumRuleCall();
1849 }
1850((
1851 {
1852 $current = forceCreateModelElementAndSet(
1853 grammarAccess.getALSJoinAccess().getALSJoinLeftOperandAction_1_0(),
1854 $current);
1855 }
1856) otherlv_2='.'
1857 {
1858 newLeafNode(otherlv_2, grammarAccess.getALSJoinAccess().getFullStopKeyword_1_1());
1859 }
1860(
1861(
1862 {
1863 newCompositeNode(grammarAccess.getALSJoinAccess().getRightOperandALSMinusParserRuleCall_1_2_0());
1864 }
1865 lv_rightOperand_3_0=ruleALSMinus {
1866 if ($current==null) {
1867 $current = createModelElementForParent(grammarAccess.getALSJoinRule());
1868 }
1869 set(
1870 $current,
1871 "rightOperand",
1872 lv_rightOperand_3_0,
1873 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSMinus");
1874 afterParserOrEnumRuleCall();
1875 }
1876
1877)
1878))*)
1879;
1880
1881
1882
1883
1884
1885// Entry rule entryRuleALSMinus
1886entryRuleALSMinus returns [EObject current=null]
1887 :
1888 { newCompositeNode(grammarAccess.getALSMinusRule()); }
1889 iv_ruleALSMinus=ruleALSMinus
1890 { $current=$iv_ruleALSMinus.current; }
1891 EOF
1892;
1893
1894// Rule ALSMinus
1895ruleALSMinus returns [EObject current=null]
1896 @init { enterRule();
1897 }
1898 @after { leaveRule(); }:
1899(
1900 {
1901 newCompositeNode(grammarAccess.getALSMinusAccess().getALSPlusParserRuleCall_0());
1902 }
1903 this_ALSPlus_0=ruleALSPlus
1904 {
1905 $current = $this_ALSPlus_0.current;
1906 afterParserOrEnumRuleCall();
1907 }
1908((
1909 {
1910 $current = forceCreateModelElementAndSet(
1911 grammarAccess.getALSMinusAccess().getALSMinusLeftOperandAction_1_0(),
1912 $current);
1913 }
1914) otherlv_2='-'
1915 {
1916 newLeafNode(otherlv_2, grammarAccess.getALSMinusAccess().getHyphenMinusKeyword_1_1());
1917 }
1918(
1919(
1920 {
1921 newCompositeNode(grammarAccess.getALSMinusAccess().getRightOperandALSPlusParserRuleCall_1_2_0());
1922 }
1923 lv_rightOperand_3_0=ruleALSPlus {
1924 if ($current==null) {
1925 $current = createModelElementForParent(grammarAccess.getALSMinusRule());
1926 }
1927 set(
1928 $current,
1929 "rightOperand",
1930 lv_rightOperand_3_0,
1931 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSPlus");
1932 afterParserOrEnumRuleCall();
1933 }
1934
1935)
1936))*)
1937;
1938
1939
1940
1941
1942
1943// Entry rule entryRuleALSPlus
1944entryRuleALSPlus returns [EObject current=null]
1945 :
1946 { newCompositeNode(grammarAccess.getALSPlusRule()); }
1947 iv_ruleALSPlus=ruleALSPlus
1948 { $current=$iv_ruleALSPlus.current; }
1949 EOF
1950;
1951
1952// Rule ALSPlus
1953ruleALSPlus returns [EObject current=null]
1954 @init { enterRule();
1955 }
1956 @after { leaveRule(); }:
1957(
1958 {
1959 newCompositeNode(grammarAccess.getALSPlusAccess().getALSIntersectionParserRuleCall_0());
1960 }
1961 this_ALSIntersection_0=ruleALSIntersection
1962 {
1963 $current = $this_ALSIntersection_0.current;
1964 afterParserOrEnumRuleCall();
1965 }
1966((
1967 {
1968 $current = forceCreateModelElementAndSet(
1969 grammarAccess.getALSPlusAccess().getALSPlusLeftOperandAction_1_0(),
1970 $current);
1971 }
1972) otherlv_2='+'
1973 {
1974 newLeafNode(otherlv_2, grammarAccess.getALSPlusAccess().getPlusSignKeyword_1_1());
1975 }
1976(
1977(
1978 {
1979 newCompositeNode(grammarAccess.getALSPlusAccess().getRightOperandALSIntersectionParserRuleCall_1_2_0());
1980 }
1981 lv_rightOperand_3_0=ruleALSIntersection {
1982 if ($current==null) {
1983 $current = createModelElementForParent(grammarAccess.getALSPlusRule());
1984 }
1985 set(
1986 $current,
1987 "rightOperand",
1988 lv_rightOperand_3_0,
1989 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSIntersection");
1990 afterParserOrEnumRuleCall();
1991 }
1992
1993)
1994))*)
1995;
1996
1997
1998
1999
2000
2001// Entry rule entryRuleALSIntersection
2002entryRuleALSIntersection returns [EObject current=null]
2003 :
2004 { newCompositeNode(grammarAccess.getALSIntersectionRule()); }
2005 iv_ruleALSIntersection=ruleALSIntersection
2006 { $current=$iv_ruleALSIntersection.current; }
2007 EOF
2008;
2009
2010// Rule ALSIntersection
2011ruleALSIntersection returns [EObject current=null]
2012 @init { enterRule();
2013 }
2014 @after { leaveRule(); }:
2015(
2016 {
2017 newCompositeNode(grammarAccess.getALSIntersectionAccess().getALSDirectProductParserRuleCall_0());
2018 }
2019 this_ALSDirectProduct_0=ruleALSDirectProduct
2020 {
2021 $current = $this_ALSDirectProduct_0.current;
2022 afterParserOrEnumRuleCall();
2023 }
2024((
2025 {
2026 $current = forceCreateModelElementAndSet(
2027 grammarAccess.getALSIntersectionAccess().getALSIntersectionLeftOperandAction_1_0(),
2028 $current);
2029 }
2030) otherlv_2='&'
2031 {
2032 newLeafNode(otherlv_2, grammarAccess.getALSIntersectionAccess().getAmpersandKeyword_1_1());
2033 }
2034(
2035(
2036 {
2037 newCompositeNode(grammarAccess.getALSIntersectionAccess().getRightOperandALSDirectProductParserRuleCall_1_2_0());
2038 }
2039 lv_rightOperand_3_0=ruleALSDirectProduct {
2040 if ($current==null) {
2041 $current = createModelElementForParent(grammarAccess.getALSIntersectionRule());
2042 }
2043 set(
2044 $current,
2045 "rightOperand",
2046 lv_rightOperand_3_0,
2047 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSDirectProduct");
2048 afterParserOrEnumRuleCall();
2049 }
2050
2051)
2052))*)
2053;
2054
2055
2056
2057
2058
2059// Entry rule entryRuleALSDirectProduct
2060entryRuleALSDirectProduct returns [EObject current=null]
2061 :
2062 { newCompositeNode(grammarAccess.getALSDirectProductRule()); }
2063 iv_ruleALSDirectProduct=ruleALSDirectProduct
2064 { $current=$iv_ruleALSDirectProduct.current; }
2065 EOF
2066;
2067
2068// Rule ALSDirectProduct
2069ruleALSDirectProduct returns [EObject current=null]
2070 @init { enterRule();
2071 }
2072 @after { leaveRule(); }:
2073(
2074 {
2075 newCompositeNode(grammarAccess.getALSDirectProductAccess().getALSPreficedParserRuleCall_0());
2076 }
2077 this_ALSPreficed_0=ruleALSPreficed
2078 {
2079 $current = $this_ALSPreficed_0.current;
2080 afterParserOrEnumRuleCall();
2081 }
2082((
2083 {
2084 $current = forceCreateModelElementAndSet(
2085 grammarAccess.getALSDirectProductAccess().getALSDirectProductLeftOperandAction_1_0(),
2086 $current);
2087 }
2088)(
2089(
2090 {
2091 newCompositeNode(grammarAccess.getALSDirectProductAccess().getLeftMultiplicitALSMultiplicityEnumRuleCall_1_1_0());
2092 }
2093 lv_leftMultiplicit_2_0=ruleALSMultiplicity {
2094 if ($current==null) {
2095 $current = createModelElementForParent(grammarAccess.getALSDirectProductRule());
2096 }
2097 set(
2098 $current,
2099 "leftMultiplicit",
2100 lv_leftMultiplicit_2_0,
2101 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSMultiplicity");
2102 afterParserOrEnumRuleCall();
2103 }
2104
2105)
2106)? otherlv_3='->'
2107 {
2108 newLeafNode(otherlv_3, grammarAccess.getALSDirectProductAccess().getHyphenMinusGreaterThanSignKeyword_1_2());
2109 }
2110(
2111(
2112 {
2113 newCompositeNode(grammarAccess.getALSDirectProductAccess().getRightMultiplicitALSMultiplicityEnumRuleCall_1_3_0());
2114 }
2115 lv_rightMultiplicit_4_0=ruleALSMultiplicity {
2116 if ($current==null) {
2117 $current = createModelElementForParent(grammarAccess.getALSDirectProductRule());
2118 }
2119 set(
2120 $current,
2121 "rightMultiplicit",
2122 lv_rightMultiplicit_4_0,
2123 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSMultiplicity");
2124 afterParserOrEnumRuleCall();
2125 }
2126
2127)
2128)?(
2129(
2130 {
2131 newCompositeNode(grammarAccess.getALSDirectProductAccess().getRightOperandALSPreficedParserRuleCall_1_4_0());
2132 }
2133 lv_rightOperand_5_0=ruleALSPreficed {
2134 if ($current==null) {
2135 $current = createModelElementForParent(grammarAccess.getALSDirectProductRule());
2136 }
2137 set(
2138 $current,
2139 "rightOperand",
2140 lv_rightOperand_5_0,
2141 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSPreficed");
2142 afterParserOrEnumRuleCall();
2143 }
2144
2145)
2146))?)
2147;
2148
2149
2150
2151
2152
2153// Entry rule entryRuleALSPreficed
2154entryRuleALSPreficed returns [EObject current=null]
2155 :
2156 { newCompositeNode(grammarAccess.getALSPreficedRule()); }
2157 iv_ruleALSPreficed=ruleALSPreficed
2158 { $current=$iv_ruleALSPreficed.current; }
2159 EOF
2160;
2161
2162// Rule ALSPreficed
2163ruleALSPreficed returns [EObject current=null]
2164 @init { enterRule();
2165 }
2166 @after { leaveRule(); }:
2167(((
2168 {
2169 $current = forceCreateModelElement(
2170 grammarAccess.getALSPreficedAccess().getALSNotAction_0_0(),
2171 $current);
2172 }
2173)((( '!'
2174
2175 | 'not'
2176))=>( otherlv_1='!'
2177 {
2178 newLeafNode(otherlv_1, grammarAccess.getALSPreficedAccess().getExclamationMarkKeyword_0_1_0_0());
2179 }
2180
2181 | otherlv_2='not'
2182 {
2183 newLeafNode(otherlv_2, grammarAccess.getALSPreficedAccess().getNotKeyword_0_1_0_1());
2184 }
2185))(
2186(
2187 {
2188 newCompositeNode(grammarAccess.getALSPreficedAccess().getOperandALSBasicRelationTermParserRuleCall_0_2_0());
2189 }
2190 lv_operand_3_0=ruleALSBasicRelationTerm {
2191 if ($current==null) {
2192 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2193 }
2194 set(
2195 $current,
2196 "operand",
2197 lv_operand_3_0,
2198 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSBasicRelationTerm");
2199 afterParserOrEnumRuleCall();
2200 }
2201
2202)
2203))
2204 |((
2205 {
2206 $current = forceCreateModelElement(
2207 grammarAccess.getALSPreficedAccess().getALSInverseRelationAction_1_0(),
2208 $current);
2209 }
2210)(( '~'
2211)=> otherlv_5='~'
2212 {
2213 newLeafNode(otherlv_5, grammarAccess.getALSPreficedAccess().getTildeKeyword_1_1());
2214 }
2215)(
2216(
2217 {
2218 newCompositeNode(grammarAccess.getALSPreficedAccess().getOperandALSBasicRelationTermParserRuleCall_1_2_0());
2219 }
2220 lv_operand_6_0=ruleALSBasicRelationTerm {
2221 if ($current==null) {
2222 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2223 }
2224 set(
2225 $current,
2226 "operand",
2227 lv_operand_6_0,
2228 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSBasicRelationTerm");
2229 afterParserOrEnumRuleCall();
2230 }
2231
2232)
2233))
2234 |((
2235 {
2236 $current = forceCreateModelElement(
2237 grammarAccess.getALSPreficedAccess().getAlSTransitiveClosureAction_2_0(),
2238 $current);
2239 }
2240) otherlv_8='^'
2241 {
2242 newLeafNode(otherlv_8, grammarAccess.getALSPreficedAccess().getCircumflexAccentKeyword_2_1());
2243 }
2244(
2245(
2246 {
2247 newCompositeNode(grammarAccess.getALSPreficedAccess().getOperandALSBasicRelationTermParserRuleCall_2_2_0());
2248 }
2249 lv_operand_9_0=ruleALSBasicRelationTerm {
2250 if ($current==null) {
2251 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2252 }
2253 set(
2254 $current,
2255 "operand",
2256 lv_operand_9_0,
2257 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSBasicRelationTerm");
2258 afterParserOrEnumRuleCall();
2259 }
2260
2261)
2262))
2263 |((
2264 {
2265 $current = forceCreateModelElement(
2266 grammarAccess.getALSPreficedAccess().getALSReflectiveTransitiveClosureAction_3_0(),
2267 $current);
2268 }
2269) otherlv_11='*'
2270 {
2271 newLeafNode(otherlv_11, grammarAccess.getALSPreficedAccess().getAsteriskKeyword_3_1());
2272 }
2273(
2274(
2275 {
2276 newCompositeNode(grammarAccess.getALSPreficedAccess().getOperandALSBasicRelationTermParserRuleCall_3_2_0());
2277 }
2278 lv_operand_12_0=ruleALSBasicRelationTerm {
2279 if ($current==null) {
2280 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2281 }
2282 set(
2283 $current,
2284 "operand",
2285 lv_operand_12_0,
2286 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSBasicRelationTerm");
2287 afterParserOrEnumRuleCall();
2288 }
2289
2290)
2291))
2292 |((
2293 {
2294 $current = forceCreateModelElement(
2295 grammarAccess.getALSPreficedAccess().getALSCardinalityAction_4_0(),
2296 $current);
2297 }
2298) otherlv_14='#'
2299 {
2300 newLeafNode(otherlv_14, grammarAccess.getALSPreficedAccess().getNumberSignKeyword_4_1());
2301 }
2302(
2303(
2304 {
2305 newCompositeNode(grammarAccess.getALSPreficedAccess().getOperandALSBasicRelationTermParserRuleCall_4_2_0());
2306 }
2307 lv_operand_15_0=ruleALSBasicRelationTerm {
2308 if ($current==null) {
2309 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2310 }
2311 set(
2312 $current,
2313 "operand",
2314 lv_operand_15_0,
2315 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSBasicRelationTerm");
2316 afterParserOrEnumRuleCall();
2317 }
2318
2319)
2320))
2321 |((
2322 {
2323 $current = forceCreateModelElement(
2324 grammarAccess.getALSPreficedAccess().getALSUnaryMinusAction_5_0(),
2325 $current);
2326 }
2327)(( '-'
2328)=> otherlv_17='-'
2329 {
2330 newLeafNode(otherlv_17, grammarAccess.getALSPreficedAccess().getHyphenMinusKeyword_5_1());
2331 }
2332)(
2333(
2334 {
2335 newCompositeNode(grammarAccess.getALSPreficedAccess().getOperandALSBasicRelationTermParserRuleCall_5_2_0());
2336 }
2337 lv_operand_18_0=ruleALSBasicRelationTerm {
2338 if ($current==null) {
2339 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2340 }
2341 set(
2342 $current,
2343 "operand",
2344 lv_operand_18_0,
2345 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSBasicRelationTerm");
2346 afterParserOrEnumRuleCall();
2347 }
2348
2349)
2350))
2351 |((
2352 {
2353 $current = forceCreateModelElement(
2354 grammarAccess.getALSPreficedAccess().getALSSumAction_6_0(),
2355 $current);
2356 }
2357) otherlv_20='sum'
2358 {
2359 newLeafNode(otherlv_20, grammarAccess.getALSPreficedAccess().getSumKeyword_6_1());
2360 }
2361(
2362(
2363 {
2364 newCompositeNode(grammarAccess.getALSPreficedAccess().getVariablesALSVariableDeclarationParserRuleCall_6_2_0());
2365 }
2366 lv_variables_21_0=ruleALSVariableDeclaration {
2367 if ($current==null) {
2368 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2369 }
2370 add(
2371 $current,
2372 "variables",
2373 lv_variables_21_0,
2374 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSVariableDeclaration");
2375 afterParserOrEnumRuleCall();
2376 }
2377
2378)
2379)( otherlv_22=','
2380 {
2381 newLeafNode(otherlv_22, grammarAccess.getALSPreficedAccess().getCommaKeyword_6_3_0());
2382 }
2383(
2384(
2385 {
2386 newCompositeNode(grammarAccess.getALSPreficedAccess().getVariablesALSVariableDeclarationParserRuleCall_6_3_1_0());
2387 }
2388 lv_variables_23_0=ruleALSVariableDeclaration {
2389 if ($current==null) {
2390 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2391 }
2392 add(
2393 $current,
2394 "variables",
2395 lv_variables_23_0,
2396 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSVariableDeclaration");
2397 afterParserOrEnumRuleCall();
2398 }
2399
2400)
2401))* otherlv_24='{'
2402 {
2403 newLeafNode(otherlv_24, grammarAccess.getALSPreficedAccess().getLeftCurlyBracketKeyword_6_4());
2404 }
2405(
2406(
2407 {
2408 newCompositeNode(grammarAccess.getALSPreficedAccess().getExpressionALSTermParserRuleCall_6_5_0());
2409 }
2410 lv_expression_25_0=ruleALSTerm {
2411 if ($current==null) {
2412 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2413 }
2414 set(
2415 $current,
2416 "expression",
2417 lv_expression_25_0,
2418 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTerm");
2419 afterParserOrEnumRuleCall();
2420 }
2421
2422)
2423) otherlv_26='}'
2424 {
2425 newLeafNode(otherlv_26, grammarAccess.getALSPreficedAccess().getRightCurlyBracketKeyword_6_6());
2426 }
2427)
2428 |((
2429 {
2430 $current = forceCreateModelElement(
2431 grammarAccess.getALSPreficedAccess().getALSFunctionCallAction_7_0(),
2432 $current);
2433 }
2434)((
2435(
2436 {
2437 if ($current==null) {
2438 $current = createModelElement(grammarAccess.getALSPreficedRule());
2439 }
2440 }
2441 otherlv_28=RULE_ID
2442 {
2443 newLeafNode(otherlv_28, grammarAccess.getALSPreficedAccess().getReferredDefinitionALSDefinitionCrossReference_7_1_0_0());
2444 }
2445
2446)
2447)
2448 |(
2449(
2450 {
2451 newCompositeNode(grammarAccess.getALSPreficedAccess().getReferredNumericOperatorALSNumericOperatorEnumRuleCall_7_1_1_0());
2452 }
2453 lv_referredNumericOperator_29_0=ruleALSNumericOperator {
2454 if ($current==null) {
2455 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2456 }
2457 set(
2458 $current,
2459 "referredNumericOperator",
2460 lv_referredNumericOperator_29_0,
2461 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSNumericOperator");
2462 afterParserOrEnumRuleCall();
2463 }
2464
2465)
2466)) otherlv_30='['
2467 {
2468 newLeafNode(otherlv_30, grammarAccess.getALSPreficedAccess().getLeftSquareBracketKeyword_7_2());
2469 }
2470(
2471(
2472 {
2473 newCompositeNode(grammarAccess.getALSPreficedAccess().getParamsALSTermParserRuleCall_7_3_0());
2474 }
2475 lv_params_31_0=ruleALSTerm {
2476 if ($current==null) {
2477 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2478 }
2479 add(
2480 $current,
2481 "params",
2482 lv_params_31_0,
2483 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTerm");
2484 afterParserOrEnumRuleCall();
2485 }
2486
2487)
2488)( otherlv_32=','
2489 {
2490 newLeafNode(otherlv_32, grammarAccess.getALSPreficedAccess().getCommaKeyword_7_4_0());
2491 }
2492(
2493(
2494 {
2495 newCompositeNode(grammarAccess.getALSPreficedAccess().getParamsALSTermParserRuleCall_7_4_1_0());
2496 }
2497 lv_params_33_0=ruleALSTerm {
2498 if ($current==null) {
2499 $current = createModelElementForParent(grammarAccess.getALSPreficedRule());
2500 }
2501 add(
2502 $current,
2503 "params",
2504 lv_params_33_0,
2505 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTerm");
2506 afterParserOrEnumRuleCall();
2507 }
2508
2509)
2510))* otherlv_34=']'
2511 {
2512 newLeafNode(otherlv_34, grammarAccess.getALSPreficedAccess().getRightSquareBracketKeyword_7_5());
2513 }
2514)
2515 |
2516 {
2517 newCompositeNode(grammarAccess.getALSPreficedAccess().getALSBasicRelationTermParserRuleCall_8());
2518 }
2519 this_ALSBasicRelationTerm_35=ruleALSBasicRelationTerm
2520 {
2521 $current = $this_ALSBasicRelationTerm_35.current;
2522 afterParserOrEnumRuleCall();
2523 }
2524)
2525;
2526
2527
2528
2529
2530
2531// Entry rule entryRuleALSVariableDeclaration
2532entryRuleALSVariableDeclaration returns [EObject current=null]
2533 :
2534 { newCompositeNode(grammarAccess.getALSVariableDeclarationRule()); }
2535 iv_ruleALSVariableDeclaration=ruleALSVariableDeclaration
2536 { $current=$iv_ruleALSVariableDeclaration.current; }
2537 EOF
2538;
2539
2540// Rule ALSVariableDeclaration
2541ruleALSVariableDeclaration returns [EObject current=null]
2542 @init { enterRule();
2543 }
2544 @after { leaveRule(); }:
2545((
2546(
2547 {
2548 newCompositeNode(grammarAccess.getALSVariableDeclarationAccess().getNameALSIDParserRuleCall_0_0());
2549 }
2550 lv_name_0_0=ruleALSID {
2551 if ($current==null) {
2552 $current = createModelElementForParent(grammarAccess.getALSVariableDeclarationRule());
2553 }
2554 set(
2555 $current,
2556 "name",
2557 lv_name_0_0,
2558 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSID");
2559 afterParserOrEnumRuleCall();
2560 }
2561
2562)
2563) otherlv_1=':'
2564 {
2565 newLeafNode(otherlv_1, grammarAccess.getALSVariableDeclarationAccess().getColonKeyword_1());
2566 }
2567(
2568(
2569 {
2570 newCompositeNode(grammarAccess.getALSVariableDeclarationAccess().getRangeALSTermParserRuleCall_2_0());
2571 }
2572 lv_range_2_0=ruleALSTerm {
2573 if ($current==null) {
2574 $current = createModelElementForParent(grammarAccess.getALSVariableDeclarationRule());
2575 }
2576 set(
2577 $current,
2578 "range",
2579 lv_range_2_0,
2580 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTerm");
2581 afterParserOrEnumRuleCall();
2582 }
2583
2584)
2585))
2586;
2587
2588
2589
2590
2591
2592// Entry rule entryRuleALSBasicRelationTerm
2593entryRuleALSBasicRelationTerm returns [EObject current=null]
2594 :
2595 { newCompositeNode(grammarAccess.getALSBasicRelationTermRule()); }
2596 iv_ruleALSBasicRelationTerm=ruleALSBasicRelationTerm
2597 { $current=$iv_ruleALSBasicRelationTerm.current; }
2598 EOF
2599;
2600
2601// Rule ALSBasicRelationTerm
2602ruleALSBasicRelationTerm returns [EObject current=null]
2603 @init { enterRule();
2604 }
2605 @after { leaveRule(); }:
2606(((
2607 {
2608 $current = forceCreateModelElement(
2609 grammarAccess.getALSBasicRelationTermAccess().getALSNoneAction_0_0(),
2610 $current);
2611 }
2612) otherlv_1='none'
2613 {
2614 newLeafNode(otherlv_1, grammarAccess.getALSBasicRelationTermAccess().getNoneKeyword_0_1());
2615 }
2616)
2617 |((
2618 {
2619 $current = forceCreateModelElement(
2620 grammarAccess.getALSBasicRelationTermAccess().getALSIdenAction_1_0(),
2621 $current);
2622 }
2623) otherlv_3='iden'
2624 {
2625 newLeafNode(otherlv_3, grammarAccess.getALSBasicRelationTermAccess().getIdenKeyword_1_1());
2626 }
2627)
2628 |((
2629 {
2630 $current = forceCreateModelElement(
2631 grammarAccess.getALSBasicRelationTermAccess().getALSUnivAction_2_0(),
2632 $current);
2633 }
2634) otherlv_5='univ'
2635 {
2636 newLeafNode(otherlv_5, grammarAccess.getALSBasicRelationTermAccess().getUnivKeyword_2_1());
2637 }
2638)
2639 |((
2640 {
2641 $current = forceCreateModelElement(
2642 grammarAccess.getALSBasicRelationTermAccess().getALSIntAction_3_0(),
2643 $current);
2644 }
2645) otherlv_7='Int'
2646 {
2647 newLeafNode(otherlv_7, grammarAccess.getALSBasicRelationTermAccess().getIntKeyword_3_1());
2648 }
2649)
2650 |((
2651 {
2652 $current = forceCreateModelElement(
2653 grammarAccess.getALSBasicRelationTermAccess().getALSStringAction_4_0(),
2654 $current);
2655 }
2656) otherlv_9='String'
2657 {
2658 newLeafNode(otherlv_9, grammarAccess.getALSBasicRelationTermAccess().getStringKeyword_4_1());
2659 }
2660)
2661 |((
2662 {
2663 $current = forceCreateModelElement(
2664 grammarAccess.getALSBasicRelationTermAccess().getALSReferenceAction_5_0(),
2665 $current);
2666 }
2667)(
2668(
2669 {
2670 if ($current==null) {
2671 $current = createModelElement(grammarAccess.getALSBasicRelationTermRule());
2672 }
2673 }
2674 otherlv_11=RULE_ID
2675 {
2676 newLeafNode(otherlv_11, grammarAccess.getALSBasicRelationTermAccess().getReferredALSRelationDeclarationCrossReference_5_1_0());
2677 }
2678
2679)
2680))
2681 |((
2682 {
2683 $current = forceCreateModelElement(
2684 grammarAccess.getALSBasicRelationTermAccess().getALSNumberLiteralAction_6_0(),
2685 $current);
2686 }
2687)(
2688(
2689 lv_value_13_0=RULE_INT
2690 {
2691 newLeafNode(lv_value_13_0, grammarAccess.getALSBasicRelationTermAccess().getValueINTTerminalRuleCall_6_1_0());
2692 }
2693 {
2694 if ($current==null) {
2695 $current = createModelElement(grammarAccess.getALSBasicRelationTermRule());
2696 }
2697 setWithLastConsumed(
2698 $current,
2699 "value",
2700 lv_value_13_0,
2701 "org.eclipse.xtext.common.Terminals.INT");
2702 }
2703
2704)
2705))
2706 |((
2707 {
2708 $current = forceCreateModelElement(
2709 grammarAccess.getALSBasicRelationTermAccess().getALSStringLiteralAction_7_0(),
2710 $current);
2711 }
2712)(
2713(
2714 lv_value_15_0=RULE_STRING
2715 {
2716 newLeafNode(lv_value_15_0, grammarAccess.getALSBasicRelationTermAccess().getValueSTRINGTerminalRuleCall_7_1_0());
2717 }
2718 {
2719 if ($current==null) {
2720 $current = createModelElement(grammarAccess.getALSBasicRelationTermRule());
2721 }
2722 setWithLastConsumed(
2723 $current,
2724 "value",
2725 lv_value_15_0,
2726 "org.eclipse.xtext.common.Terminals.STRING");
2727 }
2728
2729)
2730))
2731 |( otherlv_16='('
2732 {
2733 newLeafNode(otherlv_16, grammarAccess.getALSBasicRelationTermAccess().getLeftParenthesisKeyword_8_0());
2734 }
2735
2736 {
2737 newCompositeNode(grammarAccess.getALSBasicRelationTermAccess().getALSTermParserRuleCall_8_1());
2738 }
2739 this_ALSTerm_17=ruleALSTerm
2740 {
2741 $current = $this_ALSTerm_17.current;
2742 afterParserOrEnumRuleCall();
2743 }
2744 otherlv_18=')'
2745 {
2746 newLeafNode(otherlv_18, grammarAccess.getALSBasicRelationTermAccess().getRightParenthesisKeyword_8_2());
2747 }
2748))
2749;
2750
2751
2752
2753
2754
2755// Entry rule entryRuleALSRunCommand
2756entryRuleALSRunCommand returns [EObject current=null]
2757 :
2758 { newCompositeNode(grammarAccess.getALSRunCommandRule()); }
2759 iv_ruleALSRunCommand=ruleALSRunCommand
2760 { $current=$iv_ruleALSRunCommand.current; }
2761 EOF
2762;
2763
2764// Rule ALSRunCommand
2765ruleALSRunCommand returns [EObject current=null]
2766 @init { enterRule();
2767 }
2768 @after { leaveRule(); }:
2769((
2770 {
2771 $current = forceCreateModelElement(
2772 grammarAccess.getALSRunCommandAccess().getALSRunCommandAction_0(),
2773 $current);
2774 }
2775) otherlv_1='run'
2776 {
2777 newLeafNode(otherlv_1, grammarAccess.getALSRunCommandAccess().getRunKeyword_1());
2778 }
2779 otherlv_2='{'
2780 {
2781 newLeafNode(otherlv_2, grammarAccess.getALSRunCommandAccess().getLeftCurlyBracketKeyword_2());
2782 }
2783 otherlv_3='}'
2784 {
2785 newLeafNode(otherlv_3, grammarAccess.getALSRunCommandAccess().getRightCurlyBracketKeyword_3());
2786 }
2787( otherlv_4='for'
2788 {
2789 newLeafNode(otherlv_4, grammarAccess.getALSRunCommandAccess().getForKeyword_4_0());
2790 }
2791(
2792(
2793 {
2794 newCompositeNode(grammarAccess.getALSRunCommandAccess().getTypeScopesALSTypeScopeParserRuleCall_4_1_0());
2795 }
2796 lv_typeScopes_5_0=ruleALSTypeScope {
2797 if ($current==null) {
2798 $current = createModelElementForParent(grammarAccess.getALSRunCommandRule());
2799 }
2800 add(
2801 $current,
2802 "typeScopes",
2803 lv_typeScopes_5_0,
2804 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTypeScope");
2805 afterParserOrEnumRuleCall();
2806 }
2807
2808)
2809)( otherlv_6=','
2810 {
2811 newLeafNode(otherlv_6, grammarAccess.getALSRunCommandAccess().getCommaKeyword_4_2_0());
2812 }
2813(
2814(
2815 {
2816 newCompositeNode(grammarAccess.getALSRunCommandAccess().getTypeScopesALSTypeScopeParserRuleCall_4_2_1_0());
2817 }
2818 lv_typeScopes_7_0=ruleALSTypeScope {
2819 if ($current==null) {
2820 $current = createModelElementForParent(grammarAccess.getALSRunCommandRule());
2821 }
2822 add(
2823 $current,
2824 "typeScopes",
2825 lv_typeScopes_7_0,
2826 "hu.bme.mit.inf.dslreasoner.AlloyLanguage.ALSTypeScope");
2827 afterParserOrEnumRuleCall();
2828 }
2829
2830)
2831))*)?)
2832;
2833
2834
2835
2836
2837
2838// Entry rule entryRuleALSTypeScope
2839entryRuleALSTypeScope returns [EObject current=null]
2840 :
2841 { newCompositeNode(grammarAccess.getALSTypeScopeRule()); }
2842 iv_ruleALSTypeScope=ruleALSTypeScope
2843 { $current=$iv_ruleALSTypeScope.current; }
2844 EOF
2845;
2846
2847// Rule ALSTypeScope
2848ruleALSTypeScope returns [EObject current=null]
2849 @init { enterRule();
2850 }
2851 @after { leaveRule(); }:
2852(
2853 {
2854 newCompositeNode(grammarAccess.getALSTypeScopeAccess().getALSSigScopeParserRuleCall_0());
2855 }
2856 this_ALSSigScope_0=ruleALSSigScope
2857 {
2858 $current = $this_ALSSigScope_0.current;
2859 afterParserOrEnumRuleCall();
2860 }
2861
2862 |
2863 {
2864 newCompositeNode(grammarAccess.getALSTypeScopeAccess().getALSIntScopeParserRuleCall_1());
2865 }
2866 this_ALSIntScope_1=ruleALSIntScope
2867 {
2868 $current = $this_ALSIntScope_1.current;
2869 afterParserOrEnumRuleCall();
2870 }
2871
2872 |
2873 {
2874 newCompositeNode(grammarAccess.getALSTypeScopeAccess().getALSStringScopeParserRuleCall_2());
2875 }
2876 this_ALSStringScope_2=ruleALSStringScope
2877 {
2878 $current = $this_ALSStringScope_2.current;
2879 afterParserOrEnumRuleCall();
2880 }
2881)
2882;
2883
2884
2885
2886
2887
2888// Entry rule entryRuleALSSigScope
2889entryRuleALSSigScope returns [EObject current=null]
2890 :
2891 { newCompositeNode(grammarAccess.getALSSigScopeRule()); }
2892 iv_ruleALSSigScope=ruleALSSigScope
2893 { $current=$iv_ruleALSSigScope.current; }
2894 EOF
2895;
2896
2897// Rule ALSSigScope
2898ruleALSSigScope returns [EObject current=null]
2899 @init { enterRule();
2900 }
2901 @after { leaveRule(); }:
2902((
2903(
2904 lv_exactly_0_0= 'exactly'
2905 {
2906 newLeafNode(lv_exactly_0_0, grammarAccess.getALSSigScopeAccess().getExactlyExactlyKeyword_0_0());
2907 }
2908
2909 {
2910 if ($current==null) {
2911 $current = createModelElement(grammarAccess.getALSSigScopeRule());
2912 }
2913 setWithLastConsumed($current, "exactly", true, "exactly");
2914 }
2915
2916)
2917)?(
2918(
2919 lv_number_1_0=RULE_INT
2920 {
2921 newLeafNode(lv_number_1_0, grammarAccess.getALSSigScopeAccess().getNumberINTTerminalRuleCall_1_0());
2922 }
2923 {
2924 if ($current==null) {
2925 $current = createModelElement(grammarAccess.getALSSigScopeRule());
2926 }
2927 setWithLastConsumed(
2928 $current,
2929 "number",
2930 lv_number_1_0,
2931 "org.eclipse.xtext.common.Terminals.INT");
2932 }
2933
2934)
2935)(
2936(
2937 {
2938 if ($current==null) {
2939 $current = createModelElement(grammarAccess.getALSSigScopeRule());
2940 }
2941 }
2942 otherlv_2=RULE_ID
2943 {
2944 newLeafNode(otherlv_2, grammarAccess.getALSSigScopeAccess().getTypeALSSignatureDeclarationCrossReference_2_0());
2945 }
2946
2947)
2948))
2949;
2950
2951
2952
2953
2954
2955// Entry rule entryRuleALSIntScope
2956entryRuleALSIntScope returns [EObject current=null]
2957 :
2958 { newCompositeNode(grammarAccess.getALSIntScopeRule()); }
2959 iv_ruleALSIntScope=ruleALSIntScope
2960 { $current=$iv_ruleALSIntScope.current; }
2961 EOF
2962;
2963
2964// Rule ALSIntScope
2965ruleALSIntScope returns [EObject current=null]
2966 @init { enterRule();
2967 }
2968 @after { leaveRule(); }:
2969((
2970(
2971 lv_number_0_0=RULE_INT
2972 {
2973 newLeafNode(lv_number_0_0, grammarAccess.getALSIntScopeAccess().getNumberINTTerminalRuleCall_0_0());
2974 }
2975 {
2976 if ($current==null) {
2977 $current = createModelElement(grammarAccess.getALSIntScopeRule());
2978 }
2979 setWithLastConsumed(
2980 $current,
2981 "number",
2982 lv_number_0_0,
2983 "org.eclipse.xtext.common.Terminals.INT");
2984 }
2985
2986)
2987) otherlv_1='Int'
2988 {
2989 newLeafNode(otherlv_1, grammarAccess.getALSIntScopeAccess().getIntKeyword_1());
2990 }
2991)
2992;
2993
2994
2995
2996
2997
2998// Entry rule entryRuleALSStringScope
2999entryRuleALSStringScope returns [EObject current=null]
3000 :
3001 { newCompositeNode(grammarAccess.getALSStringScopeRule()); }
3002 iv_ruleALSStringScope=ruleALSStringScope
3003 { $current=$iv_ruleALSStringScope.current; }
3004 EOF
3005;
3006
3007// Rule ALSStringScope
3008ruleALSStringScope returns [EObject current=null]
3009 @init { enterRule();
3010 }
3011 @after { leaveRule(); }:
3012( otherlv_0='exactly'
3013 {
3014 newLeafNode(otherlv_0, grammarAccess.getALSStringScopeAccess().getExactlyKeyword_0());
3015 }
3016(
3017(
3018 lv_number_1_0=RULE_INT
3019 {
3020 newLeafNode(lv_number_1_0, grammarAccess.getALSStringScopeAccess().getNumberINTTerminalRuleCall_1_0());
3021 }
3022 {
3023 if ($current==null) {
3024 $current = createModelElement(grammarAccess.getALSStringScopeRule());
3025 }
3026 setWithLastConsumed(
3027 $current,
3028 "number",
3029 lv_number_1_0,
3030 "org.eclipse.xtext.common.Terminals.INT");
3031 }
3032
3033)
3034) otherlv_2='String'
3035 {
3036 newLeafNode(otherlv_2, grammarAccess.getALSStringScopeAccess().getStringKeyword_2());
3037 }
3038)
3039;
3040
3041
3042
3043
3044
3045// Rule ALSMultiplicity
3046ruleALSMultiplicity returns [Enumerator current=null]
3047 @init { enterRule(); }
3048 @after { leaveRule(); }:
3049(( enumLiteral_0='all'
3050 {
3051 $current = grammarAccess.getALSMultiplicityAccess().getAllEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3052 newLeafNode(enumLiteral_0, grammarAccess.getALSMultiplicityAccess().getAllEnumLiteralDeclaration_0());
3053 }
3054)
3055 |( enumLiteral_1='no'
3056 {
3057 $current = grammarAccess.getALSMultiplicityAccess().getNoEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3058 newLeafNode(enumLiteral_1, grammarAccess.getALSMultiplicityAccess().getNoEnumLiteralDeclaration_1());
3059 }
3060)
3061 |( enumLiteral_2='some'
3062 {
3063 $current = grammarAccess.getALSMultiplicityAccess().getSomeEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3064 newLeafNode(enumLiteral_2, grammarAccess.getALSMultiplicityAccess().getSomeEnumLiteralDeclaration_2());
3065 }
3066)
3067 |( enumLiteral_3='lone'
3068 {
3069 $current = grammarAccess.getALSMultiplicityAccess().getLoneEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
3070 newLeafNode(enumLiteral_3, grammarAccess.getALSMultiplicityAccess().getLoneEnumLiteralDeclaration_3());
3071 }
3072)
3073 |( enumLiteral_4='one'
3074 {
3075 $current = grammarAccess.getALSMultiplicityAccess().getOneEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
3076 newLeafNode(enumLiteral_4, grammarAccess.getALSMultiplicityAccess().getOneEnumLiteralDeclaration_4());
3077 }
3078)
3079 |( enumLiteral_5='set'
3080 {
3081 $current = grammarAccess.getALSMultiplicityAccess().getSetEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
3082 newLeafNode(enumLiteral_5, grammarAccess.getALSMultiplicityAccess().getSetEnumLiteralDeclaration_5());
3083 }
3084));
3085
3086
3087
3088// Rule ALSNumericOperator
3089ruleALSNumericOperator returns [Enumerator current=null]
3090 @init { enterRule(); }
3091 @after { leaveRule(); }:
3092(( enumLiteral_0='plus'
3093 {
3094 $current = grammarAccess.getALSNumericOperatorAccess().getPlusEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
3095 newLeafNode(enumLiteral_0, grammarAccess.getALSNumericOperatorAccess().getPlusEnumLiteralDeclaration_0());
3096 }
3097)
3098 |( enumLiteral_1='sub'
3099 {
3100 $current = grammarAccess.getALSNumericOperatorAccess().getSubEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
3101 newLeafNode(enumLiteral_1, grammarAccess.getALSNumericOperatorAccess().getSubEnumLiteralDeclaration_1());
3102 }
3103)
3104 |( enumLiteral_2='mul'
3105 {
3106 $current = grammarAccess.getALSNumericOperatorAccess().getMulEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
3107 newLeafNode(enumLiteral_2, grammarAccess.getALSNumericOperatorAccess().getMulEnumLiteralDeclaration_2());
3108 }
3109)
3110 |( enumLiteral_3='rem'
3111 {
3112 $current = grammarAccess.getALSNumericOperatorAccess().getRemEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
3113 newLeafNode(enumLiteral_3, grammarAccess.getALSNumericOperatorAccess().getRemEnumLiteralDeclaration_3());
3114 }
3115)
3116 |( enumLiteral_4='div'
3117 {
3118 $current = grammarAccess.getALSNumericOperatorAccess().getDivEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
3119 newLeafNode(enumLiteral_4, grammarAccess.getALSNumericOperatorAccess().getDivEnumLiteralDeclaration_4());
3120 }
3121));
3122
3123
3124
3125RULE_ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'\''|'"'|'0'..'9')*;
3126
3127RULE_INT : ('0'..'9')+;
3128
3129RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
3130
3131RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
3132
3133RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
3134
3135RULE_WS : (' '|'\t'|'\r'|'\n')+;
3136
3137RULE_ANY_OTHER : .;
3138
3139