aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g2669
1 files changed, 2669 insertions, 0 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g
new file mode 100644
index 00000000..2819b307
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g
@@ -0,0 +1,2669 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4grammar InternalVampireLanguage;
5
6options {
7 superClass=AbstractInternalAntlrParser;
8}
9
10@lexer::header {
11package ca.mcgill.ecse.dslreasoner.parser.antlr.internal;
12
13// Hack: Use our own Lexer superclass by means of import.
14// Currently there is no other way to specify the superclass for the lexer.
15import org.eclipse.xtext.parser.antlr.Lexer;
16}
17
18@parser::header {
19package ca.mcgill.ecse.dslreasoner.parser.antlr.internal;
20
21import org.eclipse.xtext.*;
22import org.eclipse.xtext.parser.*;
23import org.eclipse.xtext.parser.impl.*;
24import org.eclipse.emf.ecore.util.EcoreUtil;
25import org.eclipse.emf.ecore.EObject;
26import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
27import org.eclipse.xtext.parser.antlr.XtextTokenStream;
28import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
29import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
30import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
31
32}
33
34@parser::members {
35
36 private VampireLanguageGrammarAccess grammarAccess;
37
38 public InternalVampireLanguageParser(TokenStream input, VampireLanguageGrammarAccess grammarAccess) {
39 this(input);
40 this.grammarAccess = grammarAccess;
41 registerRules(grammarAccess.getGrammar());
42 }
43
44 @Override
45 protected String getFirstRuleName() {
46 return "VampireModel";
47 }
48
49 @Override
50 protected VampireLanguageGrammarAccess getGrammarAccess() {
51 return grammarAccess;
52 }
53
54}
55
56@rulecatch {
57 catch (RecognitionException re) {
58 recover(input,re);
59 appendSkippedTokens();
60 }
61}
62
63// Entry rule entryRuleVampireModel
64entryRuleVampireModel returns [EObject current=null]:
65 { newCompositeNode(grammarAccess.getVampireModelRule()); }
66 iv_ruleVampireModel=ruleVampireModel
67 { $current=$iv_ruleVampireModel.current; }
68 EOF;
69
70// Rule VampireModel
71ruleVampireModel returns [EObject current=null]
72@init {
73 enterRule();
74}
75@after {
76 leaveRule();
77}:
78 (
79 (
80 (
81 {
82 newCompositeNode(grammarAccess.getVampireModelAccess().getIncludesVLSIncludeParserRuleCall_0_0());
83 }
84 lv_includes_0_0=ruleVLSInclude
85 {
86 if ($current==null) {
87 $current = createModelElementForParent(grammarAccess.getVampireModelRule());
88 }
89 add(
90 $current,
91 "includes",
92 lv_includes_0_0,
93 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSInclude");
94 afterParserOrEnumRuleCall();
95 }
96 )
97 )
98 |
99 (
100 (
101 {
102 newCompositeNode(grammarAccess.getVampireModelAccess().getCommentsVLSCommentParserRuleCall_1_0());
103 }
104 lv_comments_1_0=ruleVLSComment
105 {
106 if ($current==null) {
107 $current = createModelElementForParent(grammarAccess.getVampireModelRule());
108 }
109 add(
110 $current,
111 "comments",
112 lv_comments_1_0,
113 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSComment");
114 afterParserOrEnumRuleCall();
115 }
116 )
117 )
118 |
119 (
120 (
121 {
122 newCompositeNode(grammarAccess.getVampireModelAccess().getFormulasVLSFofFormulaParserRuleCall_2_0());
123 }
124 lv_formulas_2_0=ruleVLSFofFormula
125 {
126 if ($current==null) {
127 $current = createModelElementForParent(grammarAccess.getVampireModelRule());
128 }
129 add(
130 $current,
131 "formulas",
132 lv_formulas_2_0,
133 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofFormula");
134 afterParserOrEnumRuleCall();
135 }
136 )
137 )
138 )*
139;
140
141// Entry rule entryRuleVLSInclude
142entryRuleVLSInclude returns [EObject current=null]:
143 { newCompositeNode(grammarAccess.getVLSIncludeRule()); }
144 iv_ruleVLSInclude=ruleVLSInclude
145 { $current=$iv_ruleVLSInclude.current; }
146 EOF;
147
148// Rule VLSInclude
149ruleVLSInclude returns [EObject current=null]
150@init {
151 enterRule();
152}
153@after {
154 leaveRule();
155}:
156 (
157 otherlv_0='include('
158 {
159 newLeafNode(otherlv_0, grammarAccess.getVLSIncludeAccess().getIncludeKeyword_0());
160 }
161 (
162 (
163 lv_fileName_1_0=RULE_SINGLE_QUOTE
164 {
165 newLeafNode(lv_fileName_1_0, grammarAccess.getVLSIncludeAccess().getFileNameSINGLE_QUOTETerminalRuleCall_1_0());
166 }
167 {
168 if ($current==null) {
169 $current = createModelElement(grammarAccess.getVLSIncludeRule());
170 }
171 setWithLastConsumed(
172 $current,
173 "fileName",
174 lv_fileName_1_0,
175 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
176 }
177 )
178 )
179 (
180 otherlv_2=',['
181 {
182 newLeafNode(otherlv_2, grammarAccess.getVLSIncludeAccess().getCommaLeftSquareBracketKeyword_2_0());
183 }
184 (
185 (
186 {
187 newCompositeNode(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_1_0());
188 }
189 lv_names_3_0=ruleVLSName
190 {
191 if ($current==null) {
192 $current = createModelElementForParent(grammarAccess.getVLSIncludeRule());
193 }
194 add(
195 $current,
196 "names",
197 lv_names_3_0,
198 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
199 afterParserOrEnumRuleCall();
200 }
201 )
202 )
203 (
204 otherlv_4=','
205 {
206 newLeafNode(otherlv_4, grammarAccess.getVLSIncludeAccess().getCommaKeyword_2_2_0());
207 }
208 (
209 (
210 {
211 newCompositeNode(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_2_1_0());
212 }
213 lv_names_5_0=ruleVLSName
214 {
215 if ($current==null) {
216 $current = createModelElementForParent(grammarAccess.getVLSIncludeRule());
217 }
218 add(
219 $current,
220 "names",
221 lv_names_5_0,
222 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
223 afterParserOrEnumRuleCall();
224 }
225 )
226 )
227 )*
228 otherlv_6=']'
229 {
230 newLeafNode(otherlv_6, grammarAccess.getVLSIncludeAccess().getRightSquareBracketKeyword_2_3());
231 }
232 )?
233 )
234;
235
236// Entry rule entryRuleVLSName
237entryRuleVLSName returns [EObject current=null]:
238 { newCompositeNode(grammarAccess.getVLSNameRule()); }
239 iv_ruleVLSName=ruleVLSName
240 { $current=$iv_ruleVLSName.current; }
241 EOF;
242
243// Rule VLSName
244ruleVLSName returns [EObject current=null]
245@init {
246 enterRule();
247}
248@after {
249 leaveRule();
250}:
251 (
252 (
253 (
254 lv_name_0_1=RULE_LOWER_WORD_ID
255 {
256 newLeafNode(lv_name_0_1, grammarAccess.getVLSNameAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_0());
257 }
258 {
259 if ($current==null) {
260 $current = createModelElement(grammarAccess.getVLSNameRule());
261 }
262 setWithLastConsumed(
263 $current,
264 "name",
265 lv_name_0_1,
266 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
267 }
268 |
269 lv_name_0_2=RULE_SINGLE_QUOTE
270 {
271 newLeafNode(lv_name_0_2, grammarAccess.getVLSNameAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1());
272 }
273 {
274 if ($current==null) {
275 $current = createModelElement(grammarAccess.getVLSNameRule());
276 }
277 setWithLastConsumed(
278 $current,
279 "name",
280 lv_name_0_2,
281 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
282 }
283 |
284 lv_name_0_3=RULE_LITERAL
285 {
286 newLeafNode(lv_name_0_3, grammarAccess.getVLSNameAccess().getNameLITERALTerminalRuleCall_0_2());
287 }
288 {
289 if ($current==null) {
290 $current = createModelElement(grammarAccess.getVLSNameRule());
291 }
292 setWithLastConsumed(
293 $current,
294 "name",
295 lv_name_0_3,
296 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LITERAL");
297 }
298 |
299 lv_name_0_4=RULE_SIGNED_LITERAL
300 {
301 newLeafNode(lv_name_0_4, grammarAccess.getVLSNameAccess().getNameSIGNED_LITERALTerminalRuleCall_0_3());
302 }
303 {
304 if ($current==null) {
305 $current = createModelElement(grammarAccess.getVLSNameRule());
306 }
307 setWithLastConsumed(
308 $current,
309 "name",
310 lv_name_0_4,
311 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
312 }
313 )
314 )
315 )
316;
317
318// Entry rule entryRuleVLSComment
319entryRuleVLSComment returns [EObject current=null]:
320 { newCompositeNode(grammarAccess.getVLSCommentRule()); }
321 iv_ruleVLSComment=ruleVLSComment
322 { $current=$iv_ruleVLSComment.current; }
323 EOF;
324
325// Rule VLSComment
326ruleVLSComment returns [EObject current=null]
327@init {
328 enterRule();
329}
330@after {
331 leaveRule();
332}:
333 (
334 (
335 lv_comment_0_0=RULE_SINGLE_COMMENT
336 {
337 newLeafNode(lv_comment_0_0, grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_0());
338 }
339 {
340 if ($current==null) {
341 $current = createModelElement(grammarAccess.getVLSCommentRule());
342 }
343 setWithLastConsumed(
344 $current,
345 "comment",
346 lv_comment_0_0,
347 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_COMMENT");
348 }
349 )
350 )
351;
352
353// Entry rule entryRuleVLSFofFormula
354entryRuleVLSFofFormula returns [EObject current=null]:
355 { newCompositeNode(grammarAccess.getVLSFofFormulaRule()); }
356 iv_ruleVLSFofFormula=ruleVLSFofFormula
357 { $current=$iv_ruleVLSFofFormula.current; }
358 EOF;
359
360// Rule VLSFofFormula
361ruleVLSFofFormula returns [EObject current=null]
362@init {
363 enterRule();
364}
365@after {
366 leaveRule();
367}:
368 (
369 otherlv_0='fof'
370 {
371 newLeafNode(otherlv_0, grammarAccess.getVLSFofFormulaAccess().getFofKeyword_0());
372 }
373 otherlv_1='('
374 {
375 newLeafNode(otherlv_1, grammarAccess.getVLSFofFormulaAccess().getLeftParenthesisKeyword_1());
376 }
377 (
378 (
379 (
380 lv_name_2_1=RULE_LOWER_WORD_ID
381 {
382 newLeafNode(lv_name_2_1, grammarAccess.getVLSFofFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0());
383 }
384 {
385 if ($current==null) {
386 $current = createModelElement(grammarAccess.getVLSFofFormulaRule());
387 }
388 setWithLastConsumed(
389 $current,
390 "name",
391 lv_name_2_1,
392 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
393 }
394 |
395 lv_name_2_2=RULE_SIGNED_LITERAL
396 {
397 newLeafNode(lv_name_2_2, grammarAccess.getVLSFofFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1());
398 }
399 {
400 if ($current==null) {
401 $current = createModelElement(grammarAccess.getVLSFofFormulaRule());
402 }
403 setWithLastConsumed(
404 $current,
405 "name",
406 lv_name_2_2,
407 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
408 }
409 |
410 lv_name_2_3=RULE_SINGLE_QUOTE
411 {
412 newLeafNode(lv_name_2_3, grammarAccess.getVLSFofFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2());
413 }
414 {
415 if ($current==null) {
416 $current = createModelElement(grammarAccess.getVLSFofFormulaRule());
417 }
418 setWithLastConsumed(
419 $current,
420 "name",
421 lv_name_2_3,
422 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
423 }
424 )
425 )
426 )
427 otherlv_3=','
428 {
429 newLeafNode(otherlv_3, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_3());
430 }
431 (
432 (
433 {
434 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0());
435 }
436 lv_fofRole_4_0=ruleVLSRole
437 {
438 if ($current==null) {
439 $current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
440 }
441 set(
442 $current,
443 "fofRole",
444 lv_fofRole_4_0,
445 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
446 afterParserOrEnumRuleCall();
447 }
448 )
449 )
450 otherlv_5=','
451 {
452 newLeafNode(otherlv_5, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_5());
453 }
454 (
455 (
456 {
457 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0());
458 }
459 lv_fofFormula_6_0=ruleVLSTerm
460 {
461 if ($current==null) {
462 $current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
463 }
464 set(
465 $current,
466 "fofFormula",
467 lv_fofFormula_6_0,
468 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTerm");
469 afterParserOrEnumRuleCall();
470 }
471 )
472 )
473 (
474 otherlv_7=','
475 {
476 newLeafNode(otherlv_7, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_7_0());
477 }
478 (
479 (
480 {
481 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0());
482 }
483 lv_annotations_8_0=ruleVLSAnnotation
484 {
485 if ($current==null) {
486 $current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
487 }
488 set(
489 $current,
490 "annotations",
491 lv_annotations_8_0,
492 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
493 afterParserOrEnumRuleCall();
494 }
495 )
496 )
497 )?
498 otherlv_9=')'
499 {
500 newLeafNode(otherlv_9, grammarAccess.getVLSFofFormulaAccess().getRightParenthesisKeyword_8());
501 }
502 otherlv_10='.'
503 {
504 newLeafNode(otherlv_10, grammarAccess.getVLSFofFormulaAccess().getFullStopKeyword_9());
505 }
506 )
507;
508
509// Entry rule entryRuleVLSRole
510entryRuleVLSRole returns [String current=null]:
511 { newCompositeNode(grammarAccess.getVLSRoleRule()); }
512 iv_ruleVLSRole=ruleVLSRole
513 { $current=$iv_ruleVLSRole.current.getText(); }
514 EOF;
515
516// Rule VLSRole
517ruleVLSRole returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
518@init {
519 enterRule();
520}
521@after {
522 leaveRule();
523}:
524 (
525 {
526 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSAxiomParserRuleCall_0());
527 }
528 this_VLSAxiom_0=ruleVLSAxiom
529 {
530 $current.merge(this_VLSAxiom_0);
531 }
532 {
533 afterParserOrEnumRuleCall();
534 }
535 |
536 {
537 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSConjectureParserRuleCall_1());
538 }
539 this_VLSConjecture_1=ruleVLSConjecture
540 {
541 $current.merge(this_VLSConjecture_1);
542 }
543 {
544 afterParserOrEnumRuleCall();
545 }
546 |
547 {
548 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSHypothesisParserRuleCall_2());
549 }
550 this_VLSHypothesis_2=ruleVLSHypothesis
551 {
552 $current.merge(this_VLSHypothesis_2);
553 }
554 {
555 afterParserOrEnumRuleCall();
556 }
557 |
558 {
559 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSDefinitionParserRuleCall_3());
560 }
561 this_VLSDefinition_3=ruleVLSDefinition
562 {
563 $current.merge(this_VLSDefinition_3);
564 }
565 {
566 afterParserOrEnumRuleCall();
567 }
568 |
569 {
570 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSAssumptionParserRuleCall_4());
571 }
572 this_VLSAssumption_4=ruleVLSAssumption
573 {
574 $current.merge(this_VLSAssumption_4);
575 }
576 {
577 afterParserOrEnumRuleCall();
578 }
579 |
580 {
581 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSLemmaParserRuleCall_5());
582 }
583 this_VLSLemma_5=ruleVLSLemma
584 {
585 $current.merge(this_VLSLemma_5);
586 }
587 {
588 afterParserOrEnumRuleCall();
589 }
590 |
591 {
592 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSTheoremParserRuleCall_6());
593 }
594 this_VLSTheorem_6=ruleVLSTheorem
595 {
596 $current.merge(this_VLSTheorem_6);
597 }
598 {
599 afterParserOrEnumRuleCall();
600 }
601 |
602 {
603 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSCorollaryParserRuleCall_7());
604 }
605 this_VLSCorollary_7=ruleVLSCorollary
606 {
607 $current.merge(this_VLSCorollary_7);
608 }
609 {
610 afterParserOrEnumRuleCall();
611 }
612 |
613 {
614 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSNegated_ConjectureParserRuleCall_8());
615 }
616 this_VLSNegated_Conjecture_8=ruleVLSNegated_Conjecture
617 {
618 $current.merge(this_VLSNegated_Conjecture_8);
619 }
620 {
621 afterParserOrEnumRuleCall();
622 }
623 |
624 {
625 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSPlainParserRuleCall_9());
626 }
627 this_VLSPlain_9=ruleVLSPlain
628 {
629 $current.merge(this_VLSPlain_9);
630 }
631 {
632 afterParserOrEnumRuleCall();
633 }
634 |
635 {
636 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSTypeParserRuleCall_10());
637 }
638 this_VLSType_10=ruleVLSType
639 {
640 $current.merge(this_VLSType_10);
641 }
642 {
643 afterParserOrEnumRuleCall();
644 }
645 |
646 {
647 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_DomainParserRuleCall_11());
648 }
649 this_VLSFi_Domain_11=ruleVLSFi_Domain
650 {
651 $current.merge(this_VLSFi_Domain_11);
652 }
653 {
654 afterParserOrEnumRuleCall();
655 }
656 |
657 {
658 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_FunctorsParserRuleCall_12());
659 }
660 this_VLSFi_Functors_12=ruleVLSFi_Functors
661 {
662 $current.merge(this_VLSFi_Functors_12);
663 }
664 {
665 afterParserOrEnumRuleCall();
666 }
667 |
668 {
669 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_PredicatesParserRuleCall_13());
670 }
671 this_VLSFi_Predicates_13=ruleVLSFi_Predicates
672 {
673 $current.merge(this_VLSFi_Predicates_13);
674 }
675 {
676 afterParserOrEnumRuleCall();
677 }
678 |
679 {
680 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSUnknownParserRuleCall_14());
681 }
682 this_VLSUnknown_14=ruleVLSUnknown
683 {
684 $current.merge(this_VLSUnknown_14);
685 }
686 {
687 afterParserOrEnumRuleCall();
688 }
689 )
690;
691
692// Entry rule entryRuleVLSAxiom
693entryRuleVLSAxiom returns [String current=null]:
694 { newCompositeNode(grammarAccess.getVLSAxiomRule()); }
695 iv_ruleVLSAxiom=ruleVLSAxiom
696 { $current=$iv_ruleVLSAxiom.current.getText(); }
697 EOF;
698
699// Rule VLSAxiom
700ruleVLSAxiom returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
701@init {
702 enterRule();
703}
704@after {
705 leaveRule();
706}:
707 kw='axiom'
708 {
709 $current.merge(kw);
710 newLeafNode(kw, grammarAccess.getVLSAxiomAccess().getAxiomKeyword());
711 }
712;
713
714// Entry rule entryRuleVLSConjecture
715entryRuleVLSConjecture returns [String current=null]:
716 { newCompositeNode(grammarAccess.getVLSConjectureRule()); }
717 iv_ruleVLSConjecture=ruleVLSConjecture
718 { $current=$iv_ruleVLSConjecture.current.getText(); }
719 EOF;
720
721// Rule VLSConjecture
722ruleVLSConjecture returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
723@init {
724 enterRule();
725}
726@after {
727 leaveRule();
728}:
729 kw='conjecture'
730 {
731 $current.merge(kw);
732 newLeafNode(kw, grammarAccess.getVLSConjectureAccess().getConjectureKeyword());
733 }
734;
735
736// Entry rule entryRuleVLSHypothesis
737entryRuleVLSHypothesis returns [String current=null]:
738 { newCompositeNode(grammarAccess.getVLSHypothesisRule()); }
739 iv_ruleVLSHypothesis=ruleVLSHypothesis
740 { $current=$iv_ruleVLSHypothesis.current.getText(); }
741 EOF;
742
743// Rule VLSHypothesis
744ruleVLSHypothesis returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
745@init {
746 enterRule();
747}
748@after {
749 leaveRule();
750}:
751 kw='hypothesis'
752 {
753 $current.merge(kw);
754 newLeafNode(kw, grammarAccess.getVLSHypothesisAccess().getHypothesisKeyword());
755 }
756;
757
758// Entry rule entryRuleVLSDefinition
759entryRuleVLSDefinition returns [String current=null]:
760 { newCompositeNode(grammarAccess.getVLSDefinitionRule()); }
761 iv_ruleVLSDefinition=ruleVLSDefinition
762 { $current=$iv_ruleVLSDefinition.current.getText(); }
763 EOF;
764
765// Rule VLSDefinition
766ruleVLSDefinition returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
767@init {
768 enterRule();
769}
770@after {
771 leaveRule();
772}:
773 kw='definition'
774 {
775 $current.merge(kw);
776 newLeafNode(kw, grammarAccess.getVLSDefinitionAccess().getDefinitionKeyword());
777 }
778;
779
780// Entry rule entryRuleVLSAssumption
781entryRuleVLSAssumption returns [String current=null]:
782 { newCompositeNode(grammarAccess.getVLSAssumptionRule()); }
783 iv_ruleVLSAssumption=ruleVLSAssumption
784 { $current=$iv_ruleVLSAssumption.current.getText(); }
785 EOF;
786
787// Rule VLSAssumption
788ruleVLSAssumption returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
789@init {
790 enterRule();
791}
792@after {
793 leaveRule();
794}:
795 kw='assumption'
796 {
797 $current.merge(kw);
798 newLeafNode(kw, grammarAccess.getVLSAssumptionAccess().getAssumptionKeyword());
799 }
800;
801
802// Entry rule entryRuleVLSLemma
803entryRuleVLSLemma returns [String current=null]:
804 { newCompositeNode(grammarAccess.getVLSLemmaRule()); }
805 iv_ruleVLSLemma=ruleVLSLemma
806 { $current=$iv_ruleVLSLemma.current.getText(); }
807 EOF;
808
809// Rule VLSLemma
810ruleVLSLemma returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
811@init {
812 enterRule();
813}
814@after {
815 leaveRule();
816}:
817 kw='lemma'
818 {
819 $current.merge(kw);
820 newLeafNode(kw, grammarAccess.getVLSLemmaAccess().getLemmaKeyword());
821 }
822;
823
824// Entry rule entryRuleVLSTheorem
825entryRuleVLSTheorem returns [String current=null]:
826 { newCompositeNode(grammarAccess.getVLSTheoremRule()); }
827 iv_ruleVLSTheorem=ruleVLSTheorem
828 { $current=$iv_ruleVLSTheorem.current.getText(); }
829 EOF;
830
831// Rule VLSTheorem
832ruleVLSTheorem returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
833@init {
834 enterRule();
835}
836@after {
837 leaveRule();
838}:
839 kw='theorem'
840 {
841 $current.merge(kw);
842 newLeafNode(kw, grammarAccess.getVLSTheoremAccess().getTheoremKeyword());
843 }
844;
845
846// Entry rule entryRuleVLSCorollary
847entryRuleVLSCorollary returns [String current=null]:
848 { newCompositeNode(grammarAccess.getVLSCorollaryRule()); }
849 iv_ruleVLSCorollary=ruleVLSCorollary
850 { $current=$iv_ruleVLSCorollary.current.getText(); }
851 EOF;
852
853// Rule VLSCorollary
854ruleVLSCorollary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
855@init {
856 enterRule();
857}
858@after {
859 leaveRule();
860}:
861 kw='corollary'
862 {
863 $current.merge(kw);
864 newLeafNode(kw, grammarAccess.getVLSCorollaryAccess().getCorollaryKeyword());
865 }
866;
867
868// Entry rule entryRuleVLSNegated_Conjecture
869entryRuleVLSNegated_Conjecture returns [String current=null]:
870 { newCompositeNode(grammarAccess.getVLSNegated_ConjectureRule()); }
871 iv_ruleVLSNegated_Conjecture=ruleVLSNegated_Conjecture
872 { $current=$iv_ruleVLSNegated_Conjecture.current.getText(); }
873 EOF;
874
875// Rule VLSNegated_Conjecture
876ruleVLSNegated_Conjecture returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
877@init {
878 enterRule();
879}
880@after {
881 leaveRule();
882}:
883 kw='negated_conjecture'
884 {
885 $current.merge(kw);
886 newLeafNode(kw, grammarAccess.getVLSNegated_ConjectureAccess().getNegated_conjectureKeyword());
887 }
888;
889
890// Entry rule entryRuleVLSPlain
891entryRuleVLSPlain returns [String current=null]:
892 { newCompositeNode(grammarAccess.getVLSPlainRule()); }
893 iv_ruleVLSPlain=ruleVLSPlain
894 { $current=$iv_ruleVLSPlain.current.getText(); }
895 EOF;
896
897// Rule VLSPlain
898ruleVLSPlain returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
899@init {
900 enterRule();
901}
902@after {
903 leaveRule();
904}:
905 kw='plain'
906 {
907 $current.merge(kw);
908 newLeafNode(kw, grammarAccess.getVLSPlainAccess().getPlainKeyword());
909 }
910;
911
912// Entry rule entryRuleVLSType
913entryRuleVLSType returns [String current=null]:
914 { newCompositeNode(grammarAccess.getVLSTypeRule()); }
915 iv_ruleVLSType=ruleVLSType
916 { $current=$iv_ruleVLSType.current.getText(); }
917 EOF;
918
919// Rule VLSType
920ruleVLSType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
921@init {
922 enterRule();
923}
924@after {
925 leaveRule();
926}:
927 kw='type'
928 {
929 $current.merge(kw);
930 newLeafNode(kw, grammarAccess.getVLSTypeAccess().getTypeKeyword());
931 }
932;
933
934// Entry rule entryRuleVLSFi_Domain
935entryRuleVLSFi_Domain returns [String current=null]:
936 { newCompositeNode(grammarAccess.getVLSFi_DomainRule()); }
937 iv_ruleVLSFi_Domain=ruleVLSFi_Domain
938 { $current=$iv_ruleVLSFi_Domain.current.getText(); }
939 EOF;
940
941// Rule VLSFi_Domain
942ruleVLSFi_Domain returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
943@init {
944 enterRule();
945}
946@after {
947 leaveRule();
948}:
949 kw='fi_domain'
950 {
951 $current.merge(kw);
952 newLeafNode(kw, grammarAccess.getVLSFi_DomainAccess().getFi_domainKeyword());
953 }
954;
955
956// Entry rule entryRuleVLSFi_Functors
957entryRuleVLSFi_Functors returns [String current=null]:
958 { newCompositeNode(grammarAccess.getVLSFi_FunctorsRule()); }
959 iv_ruleVLSFi_Functors=ruleVLSFi_Functors
960 { $current=$iv_ruleVLSFi_Functors.current.getText(); }
961 EOF;
962
963// Rule VLSFi_Functors
964ruleVLSFi_Functors returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
965@init {
966 enterRule();
967}
968@after {
969 leaveRule();
970}:
971 kw='fi_functors'
972 {
973 $current.merge(kw);
974 newLeafNode(kw, grammarAccess.getVLSFi_FunctorsAccess().getFi_functorsKeyword());
975 }
976;
977
978// Entry rule entryRuleVLSFi_Predicates
979entryRuleVLSFi_Predicates returns [String current=null]:
980 { newCompositeNode(grammarAccess.getVLSFi_PredicatesRule()); }
981 iv_ruleVLSFi_Predicates=ruleVLSFi_Predicates
982 { $current=$iv_ruleVLSFi_Predicates.current.getText(); }
983 EOF;
984
985// Rule VLSFi_Predicates
986ruleVLSFi_Predicates returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
987@init {
988 enterRule();
989}
990@after {
991 leaveRule();
992}:
993 kw='fi_predicates'
994 {
995 $current.merge(kw);
996 newLeafNode(kw, grammarAccess.getVLSFi_PredicatesAccess().getFi_predicatesKeyword());
997 }
998;
999
1000// Entry rule entryRuleVLSUnknown
1001entryRuleVLSUnknown returns [String current=null]:
1002 { newCompositeNode(grammarAccess.getVLSUnknownRule()); }
1003 iv_ruleVLSUnknown=ruleVLSUnknown
1004 { $current=$iv_ruleVLSUnknown.current.getText(); }
1005 EOF;
1006
1007// Rule VLSUnknown
1008ruleVLSUnknown returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1009@init {
1010 enterRule();
1011}
1012@after {
1013 leaveRule();
1014}:
1015 kw='unknown'
1016 {
1017 $current.merge(kw);
1018 newLeafNode(kw, grammarAccess.getVLSUnknownAccess().getUnknownKeyword());
1019 }
1020;
1021
1022// Entry rule entryRuleVLSAnnotation
1023entryRuleVLSAnnotation returns [EObject current=null]:
1024 { newCompositeNode(grammarAccess.getVLSAnnotationRule()); }
1025 iv_ruleVLSAnnotation=ruleVLSAnnotation
1026 { $current=$iv_ruleVLSAnnotation.current; }
1027 EOF;
1028
1029// Rule VLSAnnotation
1030ruleVLSAnnotation returns [EObject current=null]
1031@init {
1032 enterRule();
1033}
1034@after {
1035 leaveRule();
1036}:
1037 (
1038 (
1039 otherlv_0='['
1040 {
1041 newLeafNode(otherlv_0, grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0());
1042 }
1043 )?
1044 (
1045 (
1046 (
1047 lv_name_1_1=RULE_LOWER_WORD_ID
1048 {
1049 newLeafNode(lv_name_1_1, grammarAccess.getVLSAnnotationAccess().getNameLOWER_WORD_IDTerminalRuleCall_1_0_0());
1050 }
1051 {
1052 if ($current==null) {
1053 $current = createModelElement(grammarAccess.getVLSAnnotationRule());
1054 }
1055 setWithLastConsumed(
1056 $current,
1057 "name",
1058 lv_name_1_1,
1059 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
1060 }
1061 |
1062 lv_name_1_2=RULE_SINGLE_QUOTE
1063 {
1064 newLeafNode(lv_name_1_2, grammarAccess.getVLSAnnotationAccess().getNameSINGLE_QUOTETerminalRuleCall_1_0_1());
1065 }
1066 {
1067 if ($current==null) {
1068 $current = createModelElement(grammarAccess.getVLSAnnotationRule());
1069 }
1070 setWithLastConsumed(
1071 $current,
1072 "name",
1073 lv_name_1_2,
1074 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
1075 }
1076 |
1077 {
1078 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getNameVLSRoleParserRuleCall_1_0_2());
1079 }
1080 lv_name_1_3=ruleVLSRole
1081 {
1082 if ($current==null) {
1083 $current = createModelElementForParent(grammarAccess.getVLSAnnotationRule());
1084 }
1085 set(
1086 $current,
1087 "name",
1088 lv_name_1_3,
1089 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
1090 afterParserOrEnumRuleCall();
1091 }
1092 )
1093 )
1094 )?
1095 (
1096 otherlv_2='('
1097 {
1098 newLeafNode(otherlv_2, grammarAccess.getVLSAnnotationAccess().getLeftParenthesisKeyword_2_0());
1099 }
1100 (
1101 (
1102 {
1103 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getFollowupVLSAnnotationTermsParserRuleCall_2_1_0());
1104 }
1105 lv_followup_3_0=ruleVLSAnnotationTerms
1106 {
1107 if ($current==null) {
1108 $current = createModelElementForParent(grammarAccess.getVLSAnnotationRule());
1109 }
1110 set(
1111 $current,
1112 "followup",
1113 lv_followup_3_0,
1114 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotationTerms");
1115 afterParserOrEnumRuleCall();
1116 }
1117 )
1118 )
1119 otherlv_4=')'
1120 {
1121 newLeafNode(otherlv_4, grammarAccess.getVLSAnnotationAccess().getRightParenthesisKeyword_2_2());
1122 }
1123 )?
1124 (
1125 otherlv_5=']'
1126 {
1127 newLeafNode(otherlv_5, grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3());
1128 }
1129 )?
1130 )
1131;
1132
1133// Entry rule entryRuleVLSAnnotationTerms
1134entryRuleVLSAnnotationTerms returns [EObject current=null]:
1135 { newCompositeNode(grammarAccess.getVLSAnnotationTermsRule()); }
1136 iv_ruleVLSAnnotationTerms=ruleVLSAnnotationTerms
1137 { $current=$iv_ruleVLSAnnotationTerms.current; }
1138 EOF;
1139
1140// Rule VLSAnnotationTerms
1141ruleVLSAnnotationTerms returns [EObject current=null]
1142@init {
1143 enterRule();
1144}
1145@after {
1146 leaveRule();
1147}:
1148 (
1149 (
1150 (
1151 {
1152 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_0_0());
1153 }
1154 lv_terms_0_0=ruleVLSAnnotation
1155 {
1156 if ($current==null) {
1157 $current = createModelElementForParent(grammarAccess.getVLSAnnotationTermsRule());
1158 }
1159 add(
1160 $current,
1161 "terms",
1162 lv_terms_0_0,
1163 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
1164 afterParserOrEnumRuleCall();
1165 }
1166 )
1167 )
1168 (
1169 otherlv_1=','
1170 {
1171 newLeafNode(otherlv_1, grammarAccess.getVLSAnnotationTermsAccess().getCommaKeyword_1_0());
1172 }
1173 (
1174 (
1175 {
1176 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_1_1_0());
1177 }
1178 lv_terms_2_0=ruleVLSAnnotation
1179 {
1180 if ($current==null) {
1181 $current = createModelElementForParent(grammarAccess.getVLSAnnotationTermsRule());
1182 }
1183 add(
1184 $current,
1185 "terms",
1186 lv_terms_2_0,
1187 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
1188 afterParserOrEnumRuleCall();
1189 }
1190 )
1191 )
1192 )*
1193 )
1194;
1195
1196// Entry rule entryRuleVLSTerm
1197entryRuleVLSTerm returns [EObject current=null]:
1198 { newCompositeNode(grammarAccess.getVLSTermRule()); }
1199 iv_ruleVLSTerm=ruleVLSTerm
1200 { $current=$iv_ruleVLSTerm.current; }
1201 EOF;
1202
1203// Rule VLSTerm
1204ruleVLSTerm returns [EObject current=null]
1205@init {
1206 enterRule();
1207}
1208@after {
1209 leaveRule();
1210}:
1211 {
1212 newCompositeNode(grammarAccess.getVLSTermAccess().getVLSBinaryParserRuleCall());
1213 }
1214 this_VLSBinary_0=ruleVLSBinary
1215 {
1216 $current = $this_VLSBinary_0.current;
1217 afterParserOrEnumRuleCall();
1218 }
1219;
1220
1221// Entry rule entryRuleVLSBinary
1222entryRuleVLSBinary returns [EObject current=null]:
1223 { newCompositeNode(grammarAccess.getVLSBinaryRule()); }
1224 iv_ruleVLSBinary=ruleVLSBinary
1225 { $current=$iv_ruleVLSBinary.current; }
1226 EOF;
1227
1228// Rule VLSBinary
1229ruleVLSBinary returns [EObject current=null]
1230@init {
1231 enterRule();
1232}
1233@after {
1234 leaveRule();
1235}:
1236 (
1237 {
1238 newCompositeNode(grammarAccess.getVLSBinaryAccess().getVLSUnitaryFormulaParserRuleCall_0());
1239 }
1240 this_VLSUnitaryFormula_0=ruleVLSUnitaryFormula
1241 {
1242 $current = $this_VLSUnitaryFormula_0.current;
1243 afterParserOrEnumRuleCall();
1244 }
1245 (
1246 (
1247 (
1248 (
1249 (
1250 {
1251 $current = forceCreateModelElementAndSet(
1252 grammarAccess.getVLSBinaryAccess().getVLSEquivalentLeftAction_1_0_0_0_0(),
1253 $current);
1254 }
1255 )
1256 otherlv_2='<=>'
1257 {
1258 newLeafNode(otherlv_2, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1());
1259 }
1260 )
1261 |
1262 (
1263 (
1264 {
1265 $current = forceCreateModelElementAndSet(
1266 grammarAccess.getVLSBinaryAccess().getVLSImpliesLeftAction_1_0_0_1_0(),
1267 $current);
1268 }
1269 )
1270 otherlv_4='=>'
1271 {
1272 newLeafNode(otherlv_4, grammarAccess.getVLSBinaryAccess().getEqualsSignGreaterThanSignKeyword_1_0_0_1_1());
1273 }
1274 )
1275 |
1276 (
1277 (
1278 {
1279 $current = forceCreateModelElementAndSet(
1280 grammarAccess.getVLSBinaryAccess().getVLSRevImpliesLeftAction_1_0_0_2_0(),
1281 $current);
1282 }
1283 )
1284 otherlv_6='<='
1285 {
1286 newLeafNode(otherlv_6, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignKeyword_1_0_0_2_1());
1287 }
1288 )
1289 |
1290 (
1291 (
1292 {
1293 $current = forceCreateModelElementAndSet(
1294 grammarAccess.getVLSBinaryAccess().getVLSXnorLeftAction_1_0_0_3_0(),
1295 $current);
1296 }
1297 )
1298 otherlv_8='<~>'
1299 {
1300 newLeafNode(otherlv_8, grammarAccess.getVLSBinaryAccess().getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1());
1301 }
1302 )
1303 |
1304 (
1305 (
1306 {
1307 $current = forceCreateModelElementAndSet(
1308 grammarAccess.getVLSBinaryAccess().getVLSNorLeftAction_1_0_0_4_0(),
1309 $current);
1310 }
1311 )
1312 otherlv_10='~|'
1313 {
1314 newLeafNode(otherlv_10, grammarAccess.getVLSBinaryAccess().getTildeVerticalLineKeyword_1_0_0_4_1());
1315 }
1316 )
1317 |
1318 (
1319 (
1320 {
1321 $current = forceCreateModelElementAndSet(
1322 grammarAccess.getVLSBinaryAccess().getVLSNandLeftAction_1_0_0_5_0(),
1323 $current);
1324 }
1325 )
1326 otherlv_12='~&'
1327 {
1328 newLeafNode(otherlv_12, grammarAccess.getVLSBinaryAccess().getTildeAmpersandKeyword_1_0_0_5_1());
1329 }
1330 )
1331 )
1332 (
1333 (
1334 {
1335 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0());
1336 }
1337 lv_right_13_0=ruleVLSUnitaryFormula
1338 {
1339 if ($current==null) {
1340 $current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
1341 }
1342 set(
1343 $current,
1344 "right",
1345 lv_right_13_0,
1346 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1347 afterParserOrEnumRuleCall();
1348 }
1349 )
1350 )
1351 )
1352 |
1353 (
1354 (
1355 {
1356 $current = forceCreateModelElementAndSet(
1357 grammarAccess.getVLSBinaryAccess().getVLSAndLeftAction_1_1_0(),
1358 $current);
1359 }
1360 )
1361 otherlv_15='&'
1362 {
1363 newLeafNode(otherlv_15, grammarAccess.getVLSBinaryAccess().getAmpersandKeyword_1_1_1());
1364 }
1365 (
1366 (
1367 {
1368 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0());
1369 }
1370 lv_right_16_0=ruleVLSUnitaryFormula
1371 {
1372 if ($current==null) {
1373 $current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
1374 }
1375 set(
1376 $current,
1377 "right",
1378 lv_right_16_0,
1379 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1380 afterParserOrEnumRuleCall();
1381 }
1382 )
1383 )
1384 )+
1385 |
1386 (
1387 (
1388 {
1389 $current = forceCreateModelElementAndSet(
1390 grammarAccess.getVLSBinaryAccess().getVLSOrLeftAction_1_2_0(),
1391 $current);
1392 }
1393 )
1394 otherlv_18='|'
1395 {
1396 newLeafNode(otherlv_18, grammarAccess.getVLSBinaryAccess().getVerticalLineKeyword_1_2_1());
1397 }
1398 (
1399 (
1400 {
1401 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0());
1402 }
1403 lv_right_19_0=ruleVLSUnitaryFormula
1404 {
1405 if ($current==null) {
1406 $current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
1407 }
1408 set(
1409 $current,
1410 "right",
1411 lv_right_19_0,
1412 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1413 afterParserOrEnumRuleCall();
1414 }
1415 )
1416 )
1417 )+
1418 )?
1419 )
1420;
1421
1422// Entry rule entryRuleVLSUnitaryFormula
1423entryRuleVLSUnitaryFormula returns [EObject current=null]:
1424 { newCompositeNode(grammarAccess.getVLSUnitaryFormulaRule()); }
1425 iv_ruleVLSUnitaryFormula=ruleVLSUnitaryFormula
1426 { $current=$iv_ruleVLSUnitaryFormula.current; }
1427 EOF;
1428
1429// Rule VLSUnitaryFormula
1430ruleVLSUnitaryFormula returns [EObject current=null]
1431@init {
1432 enterRule();
1433}
1434@after {
1435 leaveRule();
1436}:
1437 (
1438 {
1439 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUniversalQuantifierParserRuleCall_0());
1440 }
1441 this_VLSUniversalQuantifier_0=ruleVLSUniversalQuantifier
1442 {
1443 $current = $this_VLSUniversalQuantifier_0.current;
1444 afterParserOrEnumRuleCall();
1445 }
1446 |
1447 {
1448 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSExistentialQuantifierParserRuleCall_1());
1449 }
1450 this_VLSExistentialQuantifier_1=ruleVLSExistentialQuantifier
1451 {
1452 $current = $this_VLSExistentialQuantifier_1.current;
1453 afterParserOrEnumRuleCall();
1454 }
1455 |
1456 {
1457 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryNegationParserRuleCall_2());
1458 }
1459 this_VLSUnaryNegation_2=ruleVLSUnaryNegation
1460 {
1461 $current = $this_VLSUnaryNegation_2.current;
1462 afterParserOrEnumRuleCall();
1463 }
1464 |
1465 {
1466 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryInfixParserRuleCall_3());
1467 }
1468 this_VLSUnaryInfix_3=ruleVLSUnaryInfix
1469 {
1470 $current = $this_VLSUnaryInfix_3.current;
1471 afterParserOrEnumRuleCall();
1472 }
1473 |
1474 (
1475 otherlv_4='('
1476 {
1477 newLeafNode(otherlv_4, grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0());
1478 }
1479 {
1480 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSTermParserRuleCall_4_1());
1481 }
1482 this_VLSTerm_5=ruleVLSTerm
1483 {
1484 $current = $this_VLSTerm_5.current;
1485 afterParserOrEnumRuleCall();
1486 }
1487 otherlv_6=')'
1488 {
1489 newLeafNode(otherlv_6, grammarAccess.getVLSUnitaryFormulaAccess().getRightParenthesisKeyword_4_2());
1490 }
1491 )
1492 )
1493;
1494
1495// Entry rule entryRuleVLSUniversalQuantifier
1496entryRuleVLSUniversalQuantifier returns [EObject current=null]:
1497 { newCompositeNode(grammarAccess.getVLSUniversalQuantifierRule()); }
1498 iv_ruleVLSUniversalQuantifier=ruleVLSUniversalQuantifier
1499 { $current=$iv_ruleVLSUniversalQuantifier.current; }
1500 EOF;
1501
1502// Rule VLSUniversalQuantifier
1503ruleVLSUniversalQuantifier returns [EObject current=null]
1504@init {
1505 enterRule();
1506}
1507@after {
1508 leaveRule();
1509}:
1510 (
1511 (
1512 {
1513 $current = forceCreateModelElement(
1514 grammarAccess.getVLSUniversalQuantifierAccess().getVLSUniversalQuantifierAction_0(),
1515 $current);
1516 }
1517 )
1518 (
1519 otherlv_1='!'
1520 {
1521 newLeafNode(otherlv_1, grammarAccess.getVLSUniversalQuantifierAccess().getExclamationMarkKeyword_1_0());
1522 }
1523 otherlv_2='['
1524 {
1525 newLeafNode(otherlv_2, grammarAccess.getVLSUniversalQuantifierAccess().getLeftSquareBracketKeyword_1_1());
1526 }
1527 (
1528 (
1529 {
1530 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
1531 }
1532 lv_variables_3_0=ruleVLSVariable
1533 {
1534 if ($current==null) {
1535 $current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
1536 }
1537 add(
1538 $current,
1539 "variables",
1540 lv_variables_3_0,
1541 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
1542 afterParserOrEnumRuleCall();
1543 }
1544 )
1545 )
1546 (
1547 otherlv_4=','
1548 {
1549 newLeafNode(otherlv_4, grammarAccess.getVLSUniversalQuantifierAccess().getCommaKeyword_1_3_0());
1550 }
1551 (
1552 (
1553 {
1554 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
1555 }
1556 lv_variables_5_0=ruleVLSVariable
1557 {
1558 if ($current==null) {
1559 $current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
1560 }
1561 add(
1562 $current,
1563 "variables",
1564 lv_variables_5_0,
1565 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
1566 afterParserOrEnumRuleCall();
1567 }
1568 )
1569 )
1570 )*
1571 otherlv_6=']'
1572 {
1573 newLeafNode(otherlv_6, grammarAccess.getVLSUniversalQuantifierAccess().getRightSquareBracketKeyword_1_4());
1574 }
1575 otherlv_7=':'
1576 {
1577 newLeafNode(otherlv_7, grammarAccess.getVLSUniversalQuantifierAccess().getColonKeyword_1_5());
1578 }
1579 )
1580 (
1581 (
1582 {
1583 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
1584 }
1585 lv_operand_8_0=ruleVLSUnitaryFormula
1586 {
1587 if ($current==null) {
1588 $current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
1589 }
1590 set(
1591 $current,
1592 "operand",
1593 lv_operand_8_0,
1594 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1595 afterParserOrEnumRuleCall();
1596 }
1597 )
1598 )
1599 )
1600;
1601
1602// Entry rule entryRuleVLSExistentialQuantifier
1603entryRuleVLSExistentialQuantifier returns [EObject current=null]:
1604 { newCompositeNode(grammarAccess.getVLSExistentialQuantifierRule()); }
1605 iv_ruleVLSExistentialQuantifier=ruleVLSExistentialQuantifier
1606 { $current=$iv_ruleVLSExistentialQuantifier.current; }
1607 EOF;
1608
1609// Rule VLSExistentialQuantifier
1610ruleVLSExistentialQuantifier returns [EObject current=null]
1611@init {
1612 enterRule();
1613}
1614@after {
1615 leaveRule();
1616}:
1617 (
1618 (
1619 {
1620 $current = forceCreateModelElement(
1621 grammarAccess.getVLSExistentialQuantifierAccess().getVLSExistentialQuantifierAction_0(),
1622 $current);
1623 }
1624 )
1625 (
1626 otherlv_1='?'
1627 {
1628 newLeafNode(otherlv_1, grammarAccess.getVLSExistentialQuantifierAccess().getQuestionMarkKeyword_1_0());
1629 }
1630 otherlv_2='['
1631 {
1632 newLeafNode(otherlv_2, grammarAccess.getVLSExistentialQuantifierAccess().getLeftSquareBracketKeyword_1_1());
1633 }
1634 (
1635 (
1636 {
1637 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
1638 }
1639 lv_variables_3_0=ruleVLSVariable
1640 {
1641 if ($current==null) {
1642 $current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
1643 }
1644 add(
1645 $current,
1646 "variables",
1647 lv_variables_3_0,
1648 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
1649 afterParserOrEnumRuleCall();
1650 }
1651 )
1652 )
1653 (
1654 otherlv_4=','
1655 {
1656 newLeafNode(otherlv_4, grammarAccess.getVLSExistentialQuantifierAccess().getCommaKeyword_1_3_0());
1657 }
1658 (
1659 (
1660 {
1661 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
1662 }
1663 lv_variables_5_0=ruleVLSVariable
1664 {
1665 if ($current==null) {
1666 $current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
1667 }
1668 add(
1669 $current,
1670 "variables",
1671 lv_variables_5_0,
1672 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
1673 afterParserOrEnumRuleCall();
1674 }
1675 )
1676 )
1677 )*
1678 otherlv_6=']'
1679 {
1680 newLeafNode(otherlv_6, grammarAccess.getVLSExistentialQuantifierAccess().getRightSquareBracketKeyword_1_4());
1681 }
1682 otherlv_7=':'
1683 {
1684 newLeafNode(otherlv_7, grammarAccess.getVLSExistentialQuantifierAccess().getColonKeyword_1_5());
1685 }
1686 )
1687 (
1688 (
1689 {
1690 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
1691 }
1692 lv_operand_8_0=ruleVLSUnitaryFormula
1693 {
1694 if ($current==null) {
1695 $current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
1696 }
1697 set(
1698 $current,
1699 "operand",
1700 lv_operand_8_0,
1701 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1702 afterParserOrEnumRuleCall();
1703 }
1704 )
1705 )
1706 )
1707;
1708
1709// Entry rule entryRuleVLSUnaryNegation
1710entryRuleVLSUnaryNegation returns [EObject current=null]:
1711 { newCompositeNode(grammarAccess.getVLSUnaryNegationRule()); }
1712 iv_ruleVLSUnaryNegation=ruleVLSUnaryNegation
1713 { $current=$iv_ruleVLSUnaryNegation.current; }
1714 EOF;
1715
1716// Rule VLSUnaryNegation
1717ruleVLSUnaryNegation returns [EObject current=null]
1718@init {
1719 enterRule();
1720}
1721@after {
1722 leaveRule();
1723}:
1724 (
1725 (
1726 {
1727 $current = forceCreateModelElement(
1728 grammarAccess.getVLSUnaryNegationAccess().getVLSUnaryNegationAction_0(),
1729 $current);
1730 }
1731 )
1732 otherlv_1='~'
1733 {
1734 newLeafNode(otherlv_1, grammarAccess.getVLSUnaryNegationAccess().getTildeKeyword_1());
1735 }
1736 (
1737 (
1738 {
1739 newCompositeNode(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
1740 }
1741 lv_operand_2_0=ruleVLSUnitaryFormula
1742 {
1743 if ($current==null) {
1744 $current = createModelElementForParent(grammarAccess.getVLSUnaryNegationRule());
1745 }
1746 set(
1747 $current,
1748 "operand",
1749 lv_operand_2_0,
1750 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1751 afterParserOrEnumRuleCall();
1752 }
1753 )
1754 )
1755 )
1756;
1757
1758// Entry rule entryRuleVLSUnaryInfix
1759entryRuleVLSUnaryInfix returns [EObject current=null]:
1760 { newCompositeNode(grammarAccess.getVLSUnaryInfixRule()); }
1761 iv_ruleVLSUnaryInfix=ruleVLSUnaryInfix
1762 { $current=$iv_ruleVLSUnaryInfix.current; }
1763 EOF;
1764
1765// Rule VLSUnaryInfix
1766ruleVLSUnaryInfix returns [EObject current=null]
1767@init {
1768 enterRule();
1769}
1770@after {
1771 leaveRule();
1772}:
1773 (
1774 {
1775 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getVLSAtomicParserRuleCall_0());
1776 }
1777 this_VLSAtomic_0=ruleVLSAtomic
1778 {
1779 $current = $this_VLSAtomic_0.current;
1780 afterParserOrEnumRuleCall();
1781 }
1782 (
1783 (
1784 (
1785 (
1786 {
1787 $current = forceCreateModelElementAndSet(
1788 grammarAccess.getVLSUnaryInfixAccess().getVLSInequalityLeftAction_1_0_0_0(),
1789 $current);
1790 }
1791 )
1792 otherlv_2='!='
1793 {
1794 newLeafNode(otherlv_2, grammarAccess.getVLSUnaryInfixAccess().getExclamationMarkEqualsSignKeyword_1_0_0_1());
1795 }
1796 )
1797 |
1798 (
1799 (
1800 {
1801 $current = forceCreateModelElementAndSet(
1802 grammarAccess.getVLSUnaryInfixAccess().getVLSEqualityLeftAction_1_0_1_0(),
1803 $current);
1804 }
1805 )
1806 otherlv_4='='
1807 {
1808 newLeafNode(otherlv_4, grammarAccess.getVLSUnaryInfixAccess().getEqualsSignKeyword_1_0_1_1());
1809 }
1810 )
1811 |
1812 (
1813 (
1814 {
1815 $current = forceCreateModelElementAndSet(
1816 grammarAccess.getVLSUnaryInfixAccess().getVLSAssignmentLeftAction_1_0_2_0(),
1817 $current);
1818 }
1819 )
1820 otherlv_6=':='
1821 {
1822 newLeafNode(otherlv_6, grammarAccess.getVLSUnaryInfixAccess().getColonEqualsSignKeyword_1_0_2_1());
1823 }
1824 )
1825 )
1826 (
1827 (
1828 {
1829 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0());
1830 }
1831 lv_right_7_0=ruleVLSAtomic
1832 {
1833 if ($current==null) {
1834 $current = createModelElementForParent(grammarAccess.getVLSUnaryInfixRule());
1835 }
1836 set(
1837 $current,
1838 "right",
1839 lv_right_7_0,
1840 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAtomic");
1841 afterParserOrEnumRuleCall();
1842 }
1843 )
1844 )
1845 )?
1846 )
1847;
1848
1849// Entry rule entryRuleVLSAtomic
1850entryRuleVLSAtomic returns [EObject current=null]:
1851 { newCompositeNode(grammarAccess.getVLSAtomicRule()); }
1852 iv_ruleVLSAtomic=ruleVLSAtomic
1853 { $current=$iv_ruleVLSAtomic.current; }
1854 EOF;
1855
1856// Rule VLSAtomic
1857ruleVLSAtomic returns [EObject current=null]
1858@init {
1859 enterRule();
1860}
1861@after {
1862 leaveRule();
1863}:
1864 (
1865 {
1866 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicConstantParserRuleCall_0());
1867 }
1868 this_VLSAtomicConstant_0=ruleVLSAtomicConstant
1869 {
1870 $current = $this_VLSAtomicConstant_0.current;
1871 afterParserOrEnumRuleCall();
1872 }
1873 |
1874 {
1875 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicFunctionParserRuleCall_1());
1876 }
1877 this_VLSAtomicFunction_1=ruleVLSAtomicFunction
1878 {
1879 $current = $this_VLSAtomicFunction_1.current;
1880 afterParserOrEnumRuleCall();
1881 }
1882 |
1883 {
1884 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSVariableParserRuleCall_2());
1885 }
1886 this_VLSVariable_2=ruleVLSVariable
1887 {
1888 $current = $this_VLSVariable_2.current;
1889 afterParserOrEnumRuleCall();
1890 }
1891 |
1892 {
1893 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSDefinedTermParserRuleCall_3());
1894 }
1895 this_VLSDefinedTerm_3=ruleVLSDefinedTerm
1896 {
1897 $current = $this_VLSDefinedTerm_3.current;
1898 afterParserOrEnumRuleCall();
1899 }
1900 )
1901;
1902
1903// Entry rule entryRuleVLSAtomicConstant
1904entryRuleVLSAtomicConstant returns [EObject current=null]:
1905 { newCompositeNode(grammarAccess.getVLSAtomicConstantRule()); }
1906 iv_ruleVLSAtomicConstant=ruleVLSAtomicConstant
1907 { $current=$iv_ruleVLSAtomicConstant.current; }
1908 EOF;
1909
1910// Rule VLSAtomicConstant
1911ruleVLSAtomicConstant returns [EObject current=null]
1912@init {
1913 enterRule();
1914}
1915@after {
1916 leaveRule();
1917}:
1918 (
1919 (
1920 (
1921 {
1922 $current = forceCreateModelElement(
1923 grammarAccess.getVLSAtomicConstantAccess().getVLSConstantAction_0_0(),
1924 $current);
1925 }
1926 )
1927 (
1928 (
1929 (
1930 lv_name_1_1=RULE_LOWER_WORD_ID
1931 {
1932 newLeafNode(lv_name_1_1, grammarAccess.getVLSAtomicConstantAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
1933 }
1934 {
1935 if ($current==null) {
1936 $current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
1937 }
1938 setWithLastConsumed(
1939 $current,
1940 "name",
1941 lv_name_1_1,
1942 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
1943 }
1944 |
1945 lv_name_1_2=RULE_SINGLE_QUOTE
1946 {
1947 newLeafNode(lv_name_1_2, grammarAccess.getVLSAtomicConstantAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1_0_1());
1948 }
1949 {
1950 if ($current==null) {
1951 $current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
1952 }
1953 setWithLastConsumed(
1954 $current,
1955 "name",
1956 lv_name_1_2,
1957 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
1958 }
1959 |
1960 lv_name_1_3=RULE_DOLLAR_ID
1961 {
1962 newLeafNode(lv_name_1_3, grammarAccess.getVLSAtomicConstantAccess().getNameDOLLAR_IDTerminalRuleCall_0_1_0_2());
1963 }
1964 {
1965 if ($current==null) {
1966 $current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
1967 }
1968 setWithLastConsumed(
1969 $current,
1970 "name",
1971 lv_name_1_3,
1972 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
1973 }
1974 |
1975 lv_name_1_4=RULE_DOUBLE_DOLLAR_ID
1976 {
1977 newLeafNode(lv_name_1_4, grammarAccess.getVLSAtomicConstantAccess().getNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
1978 }
1979 {
1980 if ($current==null) {
1981 $current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
1982 }
1983 setWithLastConsumed(
1984 $current,
1985 "name",
1986 lv_name_1_4,
1987 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
1988 }
1989 |
1990 {
1991 newCompositeNode(grammarAccess.getVLSAtomicConstantAccess().getNameVLSRoleParserRuleCall_0_1_0_4());
1992 }
1993 lv_name_1_5=ruleVLSRole
1994 {
1995 if ($current==null) {
1996 $current = createModelElementForParent(grammarAccess.getVLSAtomicConstantRule());
1997 }
1998 set(
1999 $current,
2000 "name",
2001 lv_name_1_5,
2002 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
2003 afterParserOrEnumRuleCall();
2004 }
2005 )
2006 )
2007 )
2008 )
2009 |
2010 (
2011 (
2012 {
2013 $current = forceCreateModelElement(
2014 grammarAccess.getVLSAtomicConstantAccess().getVLSTrueAction_1_0(),
2015 $current);
2016 }
2017 )
2018 otherlv_3='$true'
2019 {
2020 newLeafNode(otherlv_3, grammarAccess.getVLSAtomicConstantAccess().getTrueKeyword_1_1());
2021 }
2022 )
2023 |
2024 (
2025 (
2026 {
2027 $current = forceCreateModelElement(
2028 grammarAccess.getVLSAtomicConstantAccess().getVLSFalseAction_2_0(),
2029 $current);
2030 }
2031 )
2032 otherlv_5='$false'
2033 {
2034 newLeafNode(otherlv_5, grammarAccess.getVLSAtomicConstantAccess().getFalseKeyword_2_1());
2035 }
2036 )
2037 )
2038;
2039
2040// Entry rule entryRuleVLSAtomicFunction
2041entryRuleVLSAtomicFunction returns [EObject current=null]:
2042 { newCompositeNode(grammarAccess.getVLSAtomicFunctionRule()); }
2043 iv_ruleVLSAtomicFunction=ruleVLSAtomicFunction
2044 { $current=$iv_ruleVLSAtomicFunction.current; }
2045 EOF;
2046
2047// Rule VLSAtomicFunction
2048ruleVLSAtomicFunction returns [EObject current=null]
2049@init {
2050 enterRule();
2051}
2052@after {
2053 leaveRule();
2054}:
2055 (
2056 (
2057 (
2058 {
2059 $current = forceCreateModelElement(
2060 grammarAccess.getVLSAtomicFunctionAccess().getVLSFunctionAction_0_0(),
2061 $current);
2062 }
2063 )
2064 (
2065 (
2066 (
2067 lv_constant_1_1=RULE_LOWER_WORD_ID
2068 {
2069 newLeafNode(lv_constant_1_1, grammarAccess.getVLSAtomicFunctionAccess().getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
2070 }
2071 {
2072 if ($current==null) {
2073 $current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
2074 }
2075 setWithLastConsumed(
2076 $current,
2077 "constant",
2078 lv_constant_1_1,
2079 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
2080 }
2081 |
2082 lv_constant_1_2=RULE_SINGLE_QUOTE
2083 {
2084 newLeafNode(lv_constant_1_2, grammarAccess.getVLSAtomicFunctionAccess().getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1());
2085 }
2086 {
2087 if ($current==null) {
2088 $current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
2089 }
2090 setWithLastConsumed(
2091 $current,
2092 "constant",
2093 lv_constant_1_2,
2094 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
2095 }
2096 |
2097 lv_constant_1_3=RULE_DOLLAR_ID
2098 {
2099 newLeafNode(lv_constant_1_3, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2());
2100 }
2101 {
2102 if ($current==null) {
2103 $current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
2104 }
2105 setWithLastConsumed(
2106 $current,
2107 "constant",
2108 lv_constant_1_3,
2109 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
2110 }
2111 |
2112 lv_constant_1_4=RULE_DOUBLE_DOLLAR_ID
2113 {
2114 newLeafNode(lv_constant_1_4, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
2115 }
2116 {
2117 if ($current==null) {
2118 $current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
2119 }
2120 setWithLastConsumed(
2121 $current,
2122 "constant",
2123 lv_constant_1_4,
2124 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
2125 }
2126 |
2127 {
2128 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getConstantVLSRoleParserRuleCall_0_1_0_4());
2129 }
2130 lv_constant_1_5=ruleVLSRole
2131 {
2132 if ($current==null) {
2133 $current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
2134 }
2135 set(
2136 $current,
2137 "constant",
2138 lv_constant_1_5,
2139 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
2140 afterParserOrEnumRuleCall();
2141 }
2142 )
2143 )
2144 )
2145 (
2146 otherlv_2='('
2147 {
2148 newLeafNode(otherlv_2, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_0_2_0());
2149 }
2150 (
2151 (
2152 {
2153 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_1_0());
2154 }
2155 lv_terms_3_0=ruleVLSFofTerm
2156 {
2157 if ($current==null) {
2158 $current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
2159 }
2160 add(
2161 $current,
2162 "terms",
2163 lv_terms_3_0,
2164 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2165 afterParserOrEnumRuleCall();
2166 }
2167 )
2168 )
2169 (
2170 otherlv_4=','
2171 {
2172 newLeafNode(otherlv_4, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_0_2_2_0());
2173 }
2174 (
2175 (
2176 {
2177 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_2_1_0());
2178 }
2179 lv_terms_5_0=ruleVLSFofTerm
2180 {
2181 if ($current==null) {
2182 $current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
2183 }
2184 add(
2185 $current,
2186 "terms",
2187 lv_terms_5_0,
2188 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2189 afterParserOrEnumRuleCall();
2190 }
2191 )
2192 )
2193 )*
2194 otherlv_6=')'
2195 {
2196 newLeafNode(otherlv_6, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_0_2_3());
2197 }
2198 )
2199 )
2200 |
2201 (
2202 (
2203 {
2204 $current = forceCreateModelElement(
2205 grammarAccess.getVLSAtomicFunctionAccess().getVLSLessAction_1_0(),
2206 $current);
2207 }
2208 )
2209 (
2210 (
2211 lv_name_8_0='$less'
2212 {
2213 newLeafNode(lv_name_8_0, grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0());
2214 }
2215 {
2216 if ($current==null) {
2217 $current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
2218 }
2219 setWithLastConsumed($current, "name", lv_name_8_0, "\$less");
2220 }
2221 )
2222 )
2223 otherlv_9='('
2224 {
2225 newLeafNode(otherlv_9, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_1_2());
2226 }
2227 (
2228 (
2229 {
2230 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_3_0());
2231 }
2232 lv_terms_10_0=ruleVLSFofTerm
2233 {
2234 if ($current==null) {
2235 $current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
2236 }
2237 add(
2238 $current,
2239 "terms",
2240 lv_terms_10_0,
2241 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2242 afterParserOrEnumRuleCall();
2243 }
2244 )
2245 )
2246 otherlv_11=','
2247 {
2248 newLeafNode(otherlv_11, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_1_4());
2249 }
2250 (
2251 (
2252 {
2253 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_5_0());
2254 }
2255 lv_terms_12_0=ruleVLSFofTerm
2256 {
2257 if ($current==null) {
2258 $current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
2259 }
2260 add(
2261 $current,
2262 "terms",
2263 lv_terms_12_0,
2264 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2265 afterParserOrEnumRuleCall();
2266 }
2267 )
2268 )
2269 otherlv_13=')'
2270 {
2271 newLeafNode(otherlv_13, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_1_6());
2272 }
2273 )
2274 )
2275;
2276
2277// Entry rule entryRuleVLSVariable
2278entryRuleVLSVariable returns [EObject current=null]:
2279 { newCompositeNode(grammarAccess.getVLSVariableRule()); }
2280 iv_ruleVLSVariable=ruleVLSVariable
2281 { $current=$iv_ruleVLSVariable.current; }
2282 EOF;
2283
2284// Rule VLSVariable
2285ruleVLSVariable returns [EObject current=null]
2286@init {
2287 enterRule();
2288}
2289@after {
2290 leaveRule();
2291}:
2292 (
2293 (
2294 lv_name_0_0=RULE_UPPER_WORD_ID
2295 {
2296 newLeafNode(lv_name_0_0, grammarAccess.getVLSVariableAccess().getNameUPPER_WORD_IDTerminalRuleCall_0());
2297 }
2298 {
2299 if ($current==null) {
2300 $current = createModelElement(grammarAccess.getVLSVariableRule());
2301 }
2302 setWithLastConsumed(
2303 $current,
2304 "name",
2305 lv_name_0_0,
2306 "ca.mcgill.ecse.dslreasoner.VampireLanguage.UPPER_WORD_ID");
2307 }
2308 )
2309 )
2310;
2311
2312// Entry rule entryRuleVLSFofTerm
2313entryRuleVLSFofTerm returns [EObject current=null]:
2314 { newCompositeNode(grammarAccess.getVLSFofTermRule()); }
2315 iv_ruleVLSFofTerm=ruleVLSFofTerm
2316 { $current=$iv_ruleVLSFofTerm.current; }
2317 EOF;
2318
2319// Rule VLSFofTerm
2320ruleVLSFofTerm returns [EObject current=null]
2321@init {
2322 enterRule();
2323}
2324@after {
2325 leaveRule();
2326}:
2327 (
2328 {
2329 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSVariableParserRuleCall_0());
2330 }
2331 this_VLSVariable_0=ruleVLSVariable
2332 {
2333 $current = $this_VLSVariable_0.current;
2334 afterParserOrEnumRuleCall();
2335 }
2336 |
2337 {
2338 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSFunctionFofParserRuleCall_1());
2339 }
2340 this_VLSFunctionFof_1=ruleVLSFunctionFof
2341 {
2342 $current = $this_VLSFunctionFof_1.current;
2343 afterParserOrEnumRuleCall();
2344 }
2345 |
2346 {
2347 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSDefinedTermParserRuleCall_2());
2348 }
2349 this_VLSDefinedTerm_2=ruleVLSDefinedTerm
2350 {
2351 $current = $this_VLSDefinedTerm_2.current;
2352 afterParserOrEnumRuleCall();
2353 }
2354 )
2355;
2356
2357// Entry rule entryRuleVLSFunctionFof
2358entryRuleVLSFunctionFof returns [EObject current=null]:
2359 { newCompositeNode(grammarAccess.getVLSFunctionFofRule()); }
2360 iv_ruleVLSFunctionFof=ruleVLSFunctionFof
2361 { $current=$iv_ruleVLSFunctionFof.current; }
2362 EOF;
2363
2364// Rule VLSFunctionFof
2365ruleVLSFunctionFof returns [EObject current=null]
2366@init {
2367 enterRule();
2368}
2369@after {
2370 leaveRule();
2371}:
2372 (
2373 (
2374 (
2375 (
2376 lv_functor_0_1=RULE_LOWER_WORD_ID
2377 {
2378 newLeafNode(lv_functor_0_1, grammarAccess.getVLSFunctionFofAccess().getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0());
2379 }
2380 {
2381 if ($current==null) {
2382 $current = createModelElement(grammarAccess.getVLSFunctionFofRule());
2383 }
2384 setWithLastConsumed(
2385 $current,
2386 "functor",
2387 lv_functor_0_1,
2388 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
2389 }
2390 |
2391 lv_functor_0_2=RULE_SINGLE_QUOTE
2392 {
2393 newLeafNode(lv_functor_0_2, grammarAccess.getVLSFunctionFofAccess().getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1());
2394 }
2395 {
2396 if ($current==null) {
2397 $current = createModelElement(grammarAccess.getVLSFunctionFofRule());
2398 }
2399 setWithLastConsumed(
2400 $current,
2401 "functor",
2402 lv_functor_0_2,
2403 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
2404 }
2405 |
2406 lv_functor_0_3=RULE_DOLLAR_ID
2407 {
2408 newLeafNode(lv_functor_0_3, grammarAccess.getVLSFunctionFofAccess().getFunctorDOLLAR_IDTerminalRuleCall_0_0_2());
2409 }
2410 {
2411 if ($current==null) {
2412 $current = createModelElement(grammarAccess.getVLSFunctionFofRule());
2413 }
2414 setWithLastConsumed(
2415 $current,
2416 "functor",
2417 lv_functor_0_3,
2418 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
2419 }
2420 |
2421 lv_functor_0_4=RULE_DOUBLE_DOLLAR_ID
2422 {
2423 newLeafNode(lv_functor_0_4, grammarAccess.getVLSFunctionFofAccess().getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3());
2424 }
2425 {
2426 if ($current==null) {
2427 $current = createModelElement(grammarAccess.getVLSFunctionFofRule());
2428 }
2429 setWithLastConsumed(
2430 $current,
2431 "functor",
2432 lv_functor_0_4,
2433 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
2434 }
2435 )
2436 )
2437 )
2438 (
2439 otherlv_1='('
2440 {
2441 newLeafNode(otherlv_1, grammarAccess.getVLSFunctionFofAccess().getLeftParenthesisKeyword_1_0());
2442 }
2443 (
2444 (
2445 {
2446 newCompositeNode(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_1_0());
2447 }
2448 lv_terms_2_0=ruleVLSFofTerm
2449 {
2450 if ($current==null) {
2451 $current = createModelElementForParent(grammarAccess.getVLSFunctionFofRule());
2452 }
2453 add(
2454 $current,
2455 "terms",
2456 lv_terms_2_0,
2457 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2458 afterParserOrEnumRuleCall();
2459 }
2460 )
2461 )
2462 (
2463 otherlv_3=','
2464 {
2465 newLeafNode(otherlv_3, grammarAccess.getVLSFunctionFofAccess().getCommaKeyword_1_2_0());
2466 }
2467 (
2468 (
2469 {
2470 newCompositeNode(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_2_1_0());
2471 }
2472 lv_terms_4_0=ruleVLSFofTerm
2473 {
2474 if ($current==null) {
2475 $current = createModelElementForParent(grammarAccess.getVLSFunctionFofRule());
2476 }
2477 add(
2478 $current,
2479 "terms",
2480 lv_terms_4_0,
2481 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2482 afterParserOrEnumRuleCall();
2483 }
2484 )
2485 )
2486 )*
2487 otherlv_5=')'
2488 {
2489 newLeafNode(otherlv_5, grammarAccess.getVLSFunctionFofAccess().getRightParenthesisKeyword_1_3());
2490 }
2491 )?
2492 )
2493;
2494
2495// Entry rule entryRuleVLSDefinedTerm
2496entryRuleVLSDefinedTerm returns [EObject current=null]:
2497 { newCompositeNode(grammarAccess.getVLSDefinedTermRule()); }
2498 iv_ruleVLSDefinedTerm=ruleVLSDefinedTerm
2499 { $current=$iv_ruleVLSDefinedTerm.current; }
2500 EOF;
2501
2502// Rule VLSDefinedTerm
2503ruleVLSDefinedTerm returns [EObject current=null]
2504@init {
2505 enterRule();
2506}
2507@after {
2508 leaveRule();
2509}:
2510 (
2511 (
2512 (
2513 {
2514 $current = forceCreateModelElement(
2515 grammarAccess.getVLSDefinedTermAccess().getVLSIntAction_0_0(),
2516 $current);
2517 }
2518 )
2519 (
2520 (
2521 lv_value_1_0=RULE_SIGNED_LITERAL
2522 {
2523 newLeafNode(lv_value_1_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_LITERALTerminalRuleCall_0_1_0());
2524 }
2525 {
2526 if ($current==null) {
2527 $current = createModelElement(grammarAccess.getVLSDefinedTermRule());
2528 }
2529 setWithLastConsumed(
2530 $current,
2531 "value",
2532 lv_value_1_0,
2533 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
2534 }
2535 )
2536 )
2537 )
2538 |
2539 (
2540 (
2541 {
2542 $current = forceCreateModelElement(
2543 grammarAccess.getVLSDefinedTermAccess().getVLSRealAction_1_0(),
2544 $current);
2545 }
2546 )
2547 (
2548 (
2549 lv_value_3_0=RULE_SIGNED_REAL_ID
2550 {
2551 newLeafNode(lv_value_3_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0());
2552 }
2553 {
2554 if ($current==null) {
2555 $current = createModelElement(grammarAccess.getVLSDefinedTermRule());
2556 }
2557 setWithLastConsumed(
2558 $current,
2559 "value",
2560 lv_value_3_0,
2561 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_REAL_ID");
2562 }
2563 )
2564 )
2565 )
2566 |
2567 (
2568 (
2569 {
2570 $current = forceCreateModelElement(
2571 grammarAccess.getVLSDefinedTermAccess().getVLSRationalAction_2_0(),
2572 $current);
2573 }
2574 )
2575 (
2576 (
2577 lv_value_5_0=RULE_SIGNED_RAT_ID
2578 {
2579 newLeafNode(lv_value_5_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0());
2580 }
2581 {
2582 if ($current==null) {
2583 $current = createModelElement(grammarAccess.getVLSDefinedTermRule());
2584 }
2585 setWithLastConsumed(
2586 $current,
2587 "value",
2588 lv_value_5_0,
2589 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_RAT_ID");
2590 }
2591 )
2592 )
2593 )
2594 |
2595 (
2596 (
2597 {
2598 $current = forceCreateModelElement(
2599 grammarAccess.getVLSDefinedTermAccess().getVLSDoubleQuoteAction_3_0(),
2600 $current);
2601 }
2602 )
2603 (
2604 (
2605 lv_value_7_0=RULE_DOUBLE_QUOTE
2606 {
2607 newLeafNode(lv_value_7_0, grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_3_1_0());
2608 }
2609 {
2610 if ($current==null) {
2611 $current = createModelElement(grammarAccess.getVLSDefinedTermRule());
2612 }
2613 setWithLastConsumed(
2614 $current,
2615 "value",
2616 lv_value_7_0,
2617 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_QUOTE");
2618 }
2619 )
2620 )
2621 )
2622 )
2623;
2624
2625fragment RULE_ALPHA_NUMERIC : ('a'..'z'|'A'..'Z'|'0'..'9'|'_');
2626
2627RULE_UPPER_WORD_ID : 'A'..'Z' RULE_ALPHA_NUMERIC*;
2628
2629RULE_LOWER_WORD_ID : 'a'..'z' RULE_ALPHA_NUMERIC*;
2630
2631RULE_DOUBLE_QUOTE : '"' ('\\' ('"'|'\\')|~(('\\'|'"')))* '"';
2632
2633RULE_SINGLE_QUOTE : '\'' ('\\' ('\''|'\\')|~(('\\'|'\'')))+ '\'';
2634
2635fragment RULE_SIGN : ('+'|'-');
2636
2637RULE_DOLLAR_ID : '$' RULE_LOWER_WORD_ID;
2638
2639RULE_DOUBLE_DOLLAR_ID : '$$' RULE_LOWER_WORD_ID;
2640
2641RULE_LITERAL : ('0'|'1'..'9' RULE_INT?);
2642
2643RULE_SIGNED_LITERAL : RULE_SIGN* RULE_LITERAL;
2644
2645fragment RULE_UNSIGNED_REAL_FRAC_ID : RULE_LITERAL '.' RULE_INT;
2646
2647fragment RULE_UNSIGNED_REAL_EXP_ID : (RULE_LITERAL|RULE_UNSIGNED_REAL_FRAC_ID) 'Ee' RULE_SIGN* RULE_INT;
2648
2649RULE_SIGNED_REAL_ID : RULE_SIGN* (RULE_UNSIGNED_REAL_FRAC_ID|RULE_UNSIGNED_REAL_EXP_ID);
2650
2651fragment RULE_UNSIGNED_RAT_ID : RULE_LITERAL '/' '1'..'9' RULE_INT?;
2652
2653RULE_SIGNED_RAT_ID : RULE_SIGN* RULE_UNSIGNED_RAT_ID;
2654
2655fragment RULE_ANY_OTHER : '%' ~(('\n'|'\r'))* '\r';
2656
2657RULE_SINGLE_COMMENT : RULE_ANY_OTHER;
2658
2659RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
2660
2661fragment RULE_INT : ('0'..'9')+;
2662
2663RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
2664
2665RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
2666
2667RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
2668
2669RULE_WS : (' '|'\t'|'\r'|'\n')+;