aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-01-15 12:44:33 -0500
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-01-15 12:44:33 -0500
commit20f131a3f09edf8e1455f20b4f486629147e7eff (patch)
tree690ee30b62caf76bdc7d45f183382965e4e7bf05 /Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr
parentViatraSolver as default (diff)
downloadVIATRA-Generator-20f131a3f09edf8e1455f20b4f486629147e7eff.tar.gz
VIATRA-Generator-20f131a3f09edf8e1455f20b4f486629147e7eff.tar.zst
VIATRA-Generator-20f131a3f09edf8e1455f20b4f486629147e7eff.zip
Initial workspace setup
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageAntlrTokenFileProvider.java16
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageParser.java40
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g2669
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.tokens107
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageLexer.java3100
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java7031
6 files changed, 12963 insertions, 0 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageAntlrTokenFileProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageAntlrTokenFileProvider.java
new file mode 100644
index 00000000..a4da8047
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageAntlrTokenFileProvider.java
@@ -0,0 +1,16 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.parser.antlr;
5
6import java.io.InputStream;
7import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
8
9public class VampireLanguageAntlrTokenFileProvider implements IAntlrTokenFileProvider {
10
11 @Override
12 public InputStream getAntlrTokenFile() {
13 ClassLoader classLoader = getClass().getClassLoader();
14 return classLoader.getResourceAsStream("ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.tokens");
15 }
16}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageParser.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageParser.java
new file mode 100644
index 00000000..0e487d5c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageParser.java
@@ -0,0 +1,40 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.parser.antlr;
5
6import ca.mcgill.ecse.dslreasoner.parser.antlr.internal.InternalVampireLanguageParser;
7import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
8import com.google.inject.Inject;
9import org.eclipse.xtext.parser.antlr.AbstractAntlrParser;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream;
11
12public class VampireLanguageParser extends AbstractAntlrParser {
13
14 @Inject
15 private VampireLanguageGrammarAccess grammarAccess;
16
17 @Override
18 protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
19 tokenStream.setInitialHiddenTokens("RULE_WS");
20 }
21
22
23 @Override
24 protected InternalVampireLanguageParser createParser(XtextTokenStream stream) {
25 return new InternalVampireLanguageParser(stream, getGrammarAccess());
26 }
27
28 @Override
29 protected String getDefaultRuleName() {
30 return "VampireModel";
31 }
32
33 public VampireLanguageGrammarAccess getGrammarAccess() {
34 return this.grammarAccess;
35 }
36
37 public void setGrammarAccess(VampireLanguageGrammarAccess grammarAccess) {
38 this.grammarAccess = grammarAccess;
39 }
40}
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')+;
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.tokens b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.tokens
new file mode 100644
index 00000000..9a2d1db3
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.tokens
@@ -0,0 +1,107 @@
1'!'=59
2'!='=63
3'$false'=67
4'$less'=68
5'$true'=66
6'&'=57
7'('=32
8')'=33
9','=29
10',['=28
11'.'=34
12':'=60
13':='=65
14'<='=53
15'<=>'=51
16'<~>'=54
17'='=64
18'=>'=52
19'?'=61
20'['=50
21']'=30
22'assumption'=39
23'axiom'=35
24'conjecture'=36
25'corollary'=42
26'definition'=38
27'fi_domain'=46
28'fi_functors'=47
29'fi_predicates'=48
30'fof'=31
31'hypothesis'=37
32'include('=27
33'lemma'=40
34'negated_conjecture'=43
35'plain'=44
36'theorem'=41
37'type'=45
38'unknown'=49
39'|'=58
40'~&'=56
41'~'=62
42'~|'=55
43RULE_ALPHA_NUMERIC=15
44RULE_ANY_OTHER=21
45RULE_DOLLAR_ID=9
46RULE_DOUBLE_DOLLAR_ID=10
47RULE_DOUBLE_QUOTE=14
48RULE_ID=22
49RULE_INT=17
50RULE_LITERAL=6
51RULE_LOWER_WORD_ID=5
52RULE_ML_COMMENT=24
53RULE_SIGN=16
54RULE_SIGNED_LITERAL=7
55RULE_SIGNED_RAT_ID=13
56RULE_SIGNED_REAL_ID=12
57RULE_SINGLE_COMMENT=8
58RULE_SINGLE_QUOTE=4
59RULE_SL_COMMENT=25
60RULE_STRING=23
61RULE_UNSIGNED_RAT_ID=20
62RULE_UNSIGNED_REAL_EXP_ID=19
63RULE_UNSIGNED_REAL_FRAC_ID=18
64RULE_UPPER_WORD_ID=11
65RULE_WS=26
66T__27=27
67T__28=28
68T__29=29
69T__30=30
70T__31=31
71T__32=32
72T__33=33
73T__34=34
74T__35=35
75T__36=36
76T__37=37
77T__38=38
78T__39=39
79T__40=40
80T__41=41
81T__42=42
82T__43=43
83T__44=44
84T__45=45
85T__46=46
86T__47=47
87T__48=48
88T__49=49
89T__50=50
90T__51=51
91T__52=52
92T__53=53
93T__54=54
94T__55=55
95T__56=56
96T__57=57
97T__58=58
98T__59=59
99T__60=60
100T__61=61
101T__62=62
102T__63=63
103T__64=64
104T__65=65
105T__66=66
106T__67=67
107T__68=68
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageLexer.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageLexer.java
new file mode 100644
index 00000000..ae4174b6
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageLexer.java
@@ -0,0 +1,3100 @@
1package ca.mcgill.ecse.dslreasoner.parser.antlr.internal;
2
3// Hack: Use our own Lexer superclass by means of import.
4// Currently there is no other way to specify the superclass for the lexer.
5import org.eclipse.xtext.parser.antlr.Lexer;
6
7
8import org.antlr.runtime.*;
9import java.util.Stack;
10import java.util.List;
11import java.util.ArrayList;
12
13@SuppressWarnings("all")
14public class InternalVampireLanguageLexer extends Lexer {
15 public static final int RULE_UNSIGNED_RAT_ID=20;
16 public static final int T__50=50;
17 public static final int RULE_SIGN=16;
18 public static final int T__59=59;
19 public static final int RULE_SIGNED_LITERAL=7;
20 public static final int T__55=55;
21 public static final int T__56=56;
22 public static final int T__57=57;
23 public static final int T__58=58;
24 public static final int T__51=51;
25 public static final int RULE_DOUBLE_QUOTE=14;
26 public static final int T__52=52;
27 public static final int RULE_LITERAL=6;
28 public static final int T__53=53;
29 public static final int RULE_UNSIGNED_REAL_FRAC_ID=18;
30 public static final int T__54=54;
31 public static final int T__60=60;
32 public static final int T__61=61;
33 public static final int RULE_ID=22;
34 public static final int RULE_SINGLE_QUOTE=4;
35 public static final int RULE_SINGLE_COMMENT=8;
36 public static final int T__27=27;
37 public static final int T__28=28;
38 public static final int RULE_INT=17;
39 public static final int T__29=29;
40 public static final int T__66=66;
41 public static final int RULE_ML_COMMENT=24;
42 public static final int T__67=67;
43 public static final int RULE_SIGNED_RAT_ID=13;
44 public static final int T__68=68;
45 public static final int T__62=62;
46 public static final int T__63=63;
47 public static final int T__64=64;
48 public static final int T__65=65;
49 public static final int RULE_LOWER_WORD_ID=5;
50 public static final int RULE_STRING=23;
51 public static final int RULE_SL_COMMENT=25;
52 public static final int T__37=37;
53 public static final int T__38=38;
54 public static final int T__39=39;
55 public static final int T__33=33;
56 public static final int T__34=34;
57 public static final int T__35=35;
58 public static final int T__36=36;
59 public static final int EOF=-1;
60 public static final int T__30=30;
61 public static final int RULE_UNSIGNED_REAL_EXP_ID=19;
62 public static final int T__31=31;
63 public static final int T__32=32;
64 public static final int RULE_UPPER_WORD_ID=11;
65 public static final int RULE_WS=26;
66 public static final int RULE_DOLLAR_ID=9;
67 public static final int RULE_ALPHA_NUMERIC=15;
68 public static final int RULE_ANY_OTHER=21;
69 public static final int RULE_DOUBLE_DOLLAR_ID=10;
70 public static final int T__48=48;
71 public static final int T__49=49;
72 public static final int T__44=44;
73 public static final int T__45=45;
74 public static final int RULE_SIGNED_REAL_ID=12;
75 public static final int T__46=46;
76 public static final int T__47=47;
77 public static final int T__40=40;
78 public static final int T__41=41;
79 public static final int T__42=42;
80 public static final int T__43=43;
81
82 // delegates
83 // delegators
84
85 public InternalVampireLanguageLexer() {;}
86 public InternalVampireLanguageLexer(CharStream input) {
87 this(input, new RecognizerSharedState());
88 }
89 public InternalVampireLanguageLexer(CharStream input, RecognizerSharedState state) {
90 super(input,state);
91
92 }
93 public String getGrammarFileName() { return "InternalVampireLanguage.g"; }
94
95 // $ANTLR start "T__27"
96 public final void mT__27() throws RecognitionException {
97 try {
98 int _type = T__27;
99 int _channel = DEFAULT_TOKEN_CHANNEL;
100 // InternalVampireLanguage.g:11:7: ( 'include(' )
101 // InternalVampireLanguage.g:11:9: 'include('
102 {
103 match("include(");
104
105
106 }
107
108 state.type = _type;
109 state.channel = _channel;
110 }
111 finally {
112 }
113 }
114 // $ANTLR end "T__27"
115
116 // $ANTLR start "T__28"
117 public final void mT__28() throws RecognitionException {
118 try {
119 int _type = T__28;
120 int _channel = DEFAULT_TOKEN_CHANNEL;
121 // InternalVampireLanguage.g:12:7: ( ',[' )
122 // InternalVampireLanguage.g:12:9: ',['
123 {
124 match(",[");
125
126
127 }
128
129 state.type = _type;
130 state.channel = _channel;
131 }
132 finally {
133 }
134 }
135 // $ANTLR end "T__28"
136
137 // $ANTLR start "T__29"
138 public final void mT__29() throws RecognitionException {
139 try {
140 int _type = T__29;
141 int _channel = DEFAULT_TOKEN_CHANNEL;
142 // InternalVampireLanguage.g:13:7: ( ',' )
143 // InternalVampireLanguage.g:13:9: ','
144 {
145 match(',');
146
147 }
148
149 state.type = _type;
150 state.channel = _channel;
151 }
152 finally {
153 }
154 }
155 // $ANTLR end "T__29"
156
157 // $ANTLR start "T__30"
158 public final void mT__30() throws RecognitionException {
159 try {
160 int _type = T__30;
161 int _channel = DEFAULT_TOKEN_CHANNEL;
162 // InternalVampireLanguage.g:14:7: ( ']' )
163 // InternalVampireLanguage.g:14:9: ']'
164 {
165 match(']');
166
167 }
168
169 state.type = _type;
170 state.channel = _channel;
171 }
172 finally {
173 }
174 }
175 // $ANTLR end "T__30"
176
177 // $ANTLR start "T__31"
178 public final void mT__31() throws RecognitionException {
179 try {
180 int _type = T__31;
181 int _channel = DEFAULT_TOKEN_CHANNEL;
182 // InternalVampireLanguage.g:15:7: ( 'fof' )
183 // InternalVampireLanguage.g:15:9: 'fof'
184 {
185 match("fof");
186
187
188 }
189
190 state.type = _type;
191 state.channel = _channel;
192 }
193 finally {
194 }
195 }
196 // $ANTLR end "T__31"
197
198 // $ANTLR start "T__32"
199 public final void mT__32() throws RecognitionException {
200 try {
201 int _type = T__32;
202 int _channel = DEFAULT_TOKEN_CHANNEL;
203 // InternalVampireLanguage.g:16:7: ( '(' )
204 // InternalVampireLanguage.g:16:9: '('
205 {
206 match('(');
207
208 }
209
210 state.type = _type;
211 state.channel = _channel;
212 }
213 finally {
214 }
215 }
216 // $ANTLR end "T__32"
217
218 // $ANTLR start "T__33"
219 public final void mT__33() throws RecognitionException {
220 try {
221 int _type = T__33;
222 int _channel = DEFAULT_TOKEN_CHANNEL;
223 // InternalVampireLanguage.g:17:7: ( ')' )
224 // InternalVampireLanguage.g:17:9: ')'
225 {
226 match(')');
227
228 }
229
230 state.type = _type;
231 state.channel = _channel;
232 }
233 finally {
234 }
235 }
236 // $ANTLR end "T__33"
237
238 // $ANTLR start "T__34"
239 public final void mT__34() throws RecognitionException {
240 try {
241 int _type = T__34;
242 int _channel = DEFAULT_TOKEN_CHANNEL;
243 // InternalVampireLanguage.g:18:7: ( '.' )
244 // InternalVampireLanguage.g:18:9: '.'
245 {
246 match('.');
247
248 }
249
250 state.type = _type;
251 state.channel = _channel;
252 }
253 finally {
254 }
255 }
256 // $ANTLR end "T__34"
257
258 // $ANTLR start "T__35"
259 public final void mT__35() throws RecognitionException {
260 try {
261 int _type = T__35;
262 int _channel = DEFAULT_TOKEN_CHANNEL;
263 // InternalVampireLanguage.g:19:7: ( 'axiom' )
264 // InternalVampireLanguage.g:19:9: 'axiom'
265 {
266 match("axiom");
267
268
269 }
270
271 state.type = _type;
272 state.channel = _channel;
273 }
274 finally {
275 }
276 }
277 // $ANTLR end "T__35"
278
279 // $ANTLR start "T__36"
280 public final void mT__36() throws RecognitionException {
281 try {
282 int _type = T__36;
283 int _channel = DEFAULT_TOKEN_CHANNEL;
284 // InternalVampireLanguage.g:20:7: ( 'conjecture' )
285 // InternalVampireLanguage.g:20:9: 'conjecture'
286 {
287 match("conjecture");
288
289
290 }
291
292 state.type = _type;
293 state.channel = _channel;
294 }
295 finally {
296 }
297 }
298 // $ANTLR end "T__36"
299
300 // $ANTLR start "T__37"
301 public final void mT__37() throws RecognitionException {
302 try {
303 int _type = T__37;
304 int _channel = DEFAULT_TOKEN_CHANNEL;
305 // InternalVampireLanguage.g:21:7: ( 'hypothesis' )
306 // InternalVampireLanguage.g:21:9: 'hypothesis'
307 {
308 match("hypothesis");
309
310
311 }
312
313 state.type = _type;
314 state.channel = _channel;
315 }
316 finally {
317 }
318 }
319 // $ANTLR end "T__37"
320
321 // $ANTLR start "T__38"
322 public final void mT__38() throws RecognitionException {
323 try {
324 int _type = T__38;
325 int _channel = DEFAULT_TOKEN_CHANNEL;
326 // InternalVampireLanguage.g:22:7: ( 'definition' )
327 // InternalVampireLanguage.g:22:9: 'definition'
328 {
329 match("definition");
330
331
332 }
333
334 state.type = _type;
335 state.channel = _channel;
336 }
337 finally {
338 }
339 }
340 // $ANTLR end "T__38"
341
342 // $ANTLR start "T__39"
343 public final void mT__39() throws RecognitionException {
344 try {
345 int _type = T__39;
346 int _channel = DEFAULT_TOKEN_CHANNEL;
347 // InternalVampireLanguage.g:23:7: ( 'assumption' )
348 // InternalVampireLanguage.g:23:9: 'assumption'
349 {
350 match("assumption");
351
352
353 }
354
355 state.type = _type;
356 state.channel = _channel;
357 }
358 finally {
359 }
360 }
361 // $ANTLR end "T__39"
362
363 // $ANTLR start "T__40"
364 public final void mT__40() throws RecognitionException {
365 try {
366 int _type = T__40;
367 int _channel = DEFAULT_TOKEN_CHANNEL;
368 // InternalVampireLanguage.g:24:7: ( 'lemma' )
369 // InternalVampireLanguage.g:24:9: 'lemma'
370 {
371 match("lemma");
372
373
374 }
375
376 state.type = _type;
377 state.channel = _channel;
378 }
379 finally {
380 }
381 }
382 // $ANTLR end "T__40"
383
384 // $ANTLR start "T__41"
385 public final void mT__41() throws RecognitionException {
386 try {
387 int _type = T__41;
388 int _channel = DEFAULT_TOKEN_CHANNEL;
389 // InternalVampireLanguage.g:25:7: ( 'theorem' )
390 // InternalVampireLanguage.g:25:9: 'theorem'
391 {
392 match("theorem");
393
394
395 }
396
397 state.type = _type;
398 state.channel = _channel;
399 }
400 finally {
401 }
402 }
403 // $ANTLR end "T__41"
404
405 // $ANTLR start "T__42"
406 public final void mT__42() throws RecognitionException {
407 try {
408 int _type = T__42;
409 int _channel = DEFAULT_TOKEN_CHANNEL;
410 // InternalVampireLanguage.g:26:7: ( 'corollary' )
411 // InternalVampireLanguage.g:26:9: 'corollary'
412 {
413 match("corollary");
414
415
416 }
417
418 state.type = _type;
419 state.channel = _channel;
420 }
421 finally {
422 }
423 }
424 // $ANTLR end "T__42"
425
426 // $ANTLR start "T__43"
427 public final void mT__43() throws RecognitionException {
428 try {
429 int _type = T__43;
430 int _channel = DEFAULT_TOKEN_CHANNEL;
431 // InternalVampireLanguage.g:27:7: ( 'negated_conjecture' )
432 // InternalVampireLanguage.g:27:9: 'negated_conjecture'
433 {
434 match("negated_conjecture");
435
436
437 }
438
439 state.type = _type;
440 state.channel = _channel;
441 }
442 finally {
443 }
444 }
445 // $ANTLR end "T__43"
446
447 // $ANTLR start "T__44"
448 public final void mT__44() throws RecognitionException {
449 try {
450 int _type = T__44;
451 int _channel = DEFAULT_TOKEN_CHANNEL;
452 // InternalVampireLanguage.g:28:7: ( 'plain' )
453 // InternalVampireLanguage.g:28:9: 'plain'
454 {
455 match("plain");
456
457
458 }
459
460 state.type = _type;
461 state.channel = _channel;
462 }
463 finally {
464 }
465 }
466 // $ANTLR end "T__44"
467
468 // $ANTLR start "T__45"
469 public final void mT__45() throws RecognitionException {
470 try {
471 int _type = T__45;
472 int _channel = DEFAULT_TOKEN_CHANNEL;
473 // InternalVampireLanguage.g:29:7: ( 'type' )
474 // InternalVampireLanguage.g:29:9: 'type'
475 {
476 match("type");
477
478
479 }
480
481 state.type = _type;
482 state.channel = _channel;
483 }
484 finally {
485 }
486 }
487 // $ANTLR end "T__45"
488
489 // $ANTLR start "T__46"
490 public final void mT__46() throws RecognitionException {
491 try {
492 int _type = T__46;
493 int _channel = DEFAULT_TOKEN_CHANNEL;
494 // InternalVampireLanguage.g:30:7: ( 'fi_domain' )
495 // InternalVampireLanguage.g:30:9: 'fi_domain'
496 {
497 match("fi_domain");
498
499
500 }
501
502 state.type = _type;
503 state.channel = _channel;
504 }
505 finally {
506 }
507 }
508 // $ANTLR end "T__46"
509
510 // $ANTLR start "T__47"
511 public final void mT__47() throws RecognitionException {
512 try {
513 int _type = T__47;
514 int _channel = DEFAULT_TOKEN_CHANNEL;
515 // InternalVampireLanguage.g:31:7: ( 'fi_functors' )
516 // InternalVampireLanguage.g:31:9: 'fi_functors'
517 {
518 match("fi_functors");
519
520
521 }
522
523 state.type = _type;
524 state.channel = _channel;
525 }
526 finally {
527 }
528 }
529 // $ANTLR end "T__47"
530
531 // $ANTLR start "T__48"
532 public final void mT__48() throws RecognitionException {
533 try {
534 int _type = T__48;
535 int _channel = DEFAULT_TOKEN_CHANNEL;
536 // InternalVampireLanguage.g:32:7: ( 'fi_predicates' )
537 // InternalVampireLanguage.g:32:9: 'fi_predicates'
538 {
539 match("fi_predicates");
540
541
542 }
543
544 state.type = _type;
545 state.channel = _channel;
546 }
547 finally {
548 }
549 }
550 // $ANTLR end "T__48"
551
552 // $ANTLR start "T__49"
553 public final void mT__49() throws RecognitionException {
554 try {
555 int _type = T__49;
556 int _channel = DEFAULT_TOKEN_CHANNEL;
557 // InternalVampireLanguage.g:33:7: ( 'unknown' )
558 // InternalVampireLanguage.g:33:9: 'unknown'
559 {
560 match("unknown");
561
562
563 }
564
565 state.type = _type;
566 state.channel = _channel;
567 }
568 finally {
569 }
570 }
571 // $ANTLR end "T__49"
572
573 // $ANTLR start "T__50"
574 public final void mT__50() throws RecognitionException {
575 try {
576 int _type = T__50;
577 int _channel = DEFAULT_TOKEN_CHANNEL;
578 // InternalVampireLanguage.g:34:7: ( '[' )
579 // InternalVampireLanguage.g:34:9: '['
580 {
581 match('[');
582
583 }
584
585 state.type = _type;
586 state.channel = _channel;
587 }
588 finally {
589 }
590 }
591 // $ANTLR end "T__50"
592
593 // $ANTLR start "T__51"
594 public final void mT__51() throws RecognitionException {
595 try {
596 int _type = T__51;
597 int _channel = DEFAULT_TOKEN_CHANNEL;
598 // InternalVampireLanguage.g:35:7: ( '<=>' )
599 // InternalVampireLanguage.g:35:9: '<=>'
600 {
601 match("<=>");
602
603
604 }
605
606 state.type = _type;
607 state.channel = _channel;
608 }
609 finally {
610 }
611 }
612 // $ANTLR end "T__51"
613
614 // $ANTLR start "T__52"
615 public final void mT__52() throws RecognitionException {
616 try {
617 int _type = T__52;
618 int _channel = DEFAULT_TOKEN_CHANNEL;
619 // InternalVampireLanguage.g:36:7: ( '=>' )
620 // InternalVampireLanguage.g:36:9: '=>'
621 {
622 match("=>");
623
624
625 }
626
627 state.type = _type;
628 state.channel = _channel;
629 }
630 finally {
631 }
632 }
633 // $ANTLR end "T__52"
634
635 // $ANTLR start "T__53"
636 public final void mT__53() throws RecognitionException {
637 try {
638 int _type = T__53;
639 int _channel = DEFAULT_TOKEN_CHANNEL;
640 // InternalVampireLanguage.g:37:7: ( '<=' )
641 // InternalVampireLanguage.g:37:9: '<='
642 {
643 match("<=");
644
645
646 }
647
648 state.type = _type;
649 state.channel = _channel;
650 }
651 finally {
652 }
653 }
654 // $ANTLR end "T__53"
655
656 // $ANTLR start "T__54"
657 public final void mT__54() throws RecognitionException {
658 try {
659 int _type = T__54;
660 int _channel = DEFAULT_TOKEN_CHANNEL;
661 // InternalVampireLanguage.g:38:7: ( '<~>' )
662 // InternalVampireLanguage.g:38:9: '<~>'
663 {
664 match("<~>");
665
666
667 }
668
669 state.type = _type;
670 state.channel = _channel;
671 }
672 finally {
673 }
674 }
675 // $ANTLR end "T__54"
676
677 // $ANTLR start "T__55"
678 public final void mT__55() throws RecognitionException {
679 try {
680 int _type = T__55;
681 int _channel = DEFAULT_TOKEN_CHANNEL;
682 // InternalVampireLanguage.g:39:7: ( '~|' )
683 // InternalVampireLanguage.g:39:9: '~|'
684 {
685 match("~|");
686
687
688 }
689
690 state.type = _type;
691 state.channel = _channel;
692 }
693 finally {
694 }
695 }
696 // $ANTLR end "T__55"
697
698 // $ANTLR start "T__56"
699 public final void mT__56() throws RecognitionException {
700 try {
701 int _type = T__56;
702 int _channel = DEFAULT_TOKEN_CHANNEL;
703 // InternalVampireLanguage.g:40:7: ( '~&' )
704 // InternalVampireLanguage.g:40:9: '~&'
705 {
706 match("~&");
707
708
709 }
710
711 state.type = _type;
712 state.channel = _channel;
713 }
714 finally {
715 }
716 }
717 // $ANTLR end "T__56"
718
719 // $ANTLR start "T__57"
720 public final void mT__57() throws RecognitionException {
721 try {
722 int _type = T__57;
723 int _channel = DEFAULT_TOKEN_CHANNEL;
724 // InternalVampireLanguage.g:41:7: ( '&' )
725 // InternalVampireLanguage.g:41:9: '&'
726 {
727 match('&');
728
729 }
730
731 state.type = _type;
732 state.channel = _channel;
733 }
734 finally {
735 }
736 }
737 // $ANTLR end "T__57"
738
739 // $ANTLR start "T__58"
740 public final void mT__58() throws RecognitionException {
741 try {
742 int _type = T__58;
743 int _channel = DEFAULT_TOKEN_CHANNEL;
744 // InternalVampireLanguage.g:42:7: ( '|' )
745 // InternalVampireLanguage.g:42:9: '|'
746 {
747 match('|');
748
749 }
750
751 state.type = _type;
752 state.channel = _channel;
753 }
754 finally {
755 }
756 }
757 // $ANTLR end "T__58"
758
759 // $ANTLR start "T__59"
760 public final void mT__59() throws RecognitionException {
761 try {
762 int _type = T__59;
763 int _channel = DEFAULT_TOKEN_CHANNEL;
764 // InternalVampireLanguage.g:43:7: ( '!' )
765 // InternalVampireLanguage.g:43:9: '!'
766 {
767 match('!');
768
769 }
770
771 state.type = _type;
772 state.channel = _channel;
773 }
774 finally {
775 }
776 }
777 // $ANTLR end "T__59"
778
779 // $ANTLR start "T__60"
780 public final void mT__60() throws RecognitionException {
781 try {
782 int _type = T__60;
783 int _channel = DEFAULT_TOKEN_CHANNEL;
784 // InternalVampireLanguage.g:44:7: ( ':' )
785 // InternalVampireLanguage.g:44:9: ':'
786 {
787 match(':');
788
789 }
790
791 state.type = _type;
792 state.channel = _channel;
793 }
794 finally {
795 }
796 }
797 // $ANTLR end "T__60"
798
799 // $ANTLR start "T__61"
800 public final void mT__61() throws RecognitionException {
801 try {
802 int _type = T__61;
803 int _channel = DEFAULT_TOKEN_CHANNEL;
804 // InternalVampireLanguage.g:45:7: ( '?' )
805 // InternalVampireLanguage.g:45:9: '?'
806 {
807 match('?');
808
809 }
810
811 state.type = _type;
812 state.channel = _channel;
813 }
814 finally {
815 }
816 }
817 // $ANTLR end "T__61"
818
819 // $ANTLR start "T__62"
820 public final void mT__62() throws RecognitionException {
821 try {
822 int _type = T__62;
823 int _channel = DEFAULT_TOKEN_CHANNEL;
824 // InternalVampireLanguage.g:46:7: ( '~' )
825 // InternalVampireLanguage.g:46:9: '~'
826 {
827 match('~');
828
829 }
830
831 state.type = _type;
832 state.channel = _channel;
833 }
834 finally {
835 }
836 }
837 // $ANTLR end "T__62"
838
839 // $ANTLR start "T__63"
840 public final void mT__63() throws RecognitionException {
841 try {
842 int _type = T__63;
843 int _channel = DEFAULT_TOKEN_CHANNEL;
844 // InternalVampireLanguage.g:47:7: ( '!=' )
845 // InternalVampireLanguage.g:47:9: '!='
846 {
847 match("!=");
848
849
850 }
851
852 state.type = _type;
853 state.channel = _channel;
854 }
855 finally {
856 }
857 }
858 // $ANTLR end "T__63"
859
860 // $ANTLR start "T__64"
861 public final void mT__64() throws RecognitionException {
862 try {
863 int _type = T__64;
864 int _channel = DEFAULT_TOKEN_CHANNEL;
865 // InternalVampireLanguage.g:48:7: ( '=' )
866 // InternalVampireLanguage.g:48:9: '='
867 {
868 match('=');
869
870 }
871
872 state.type = _type;
873 state.channel = _channel;
874 }
875 finally {
876 }
877 }
878 // $ANTLR end "T__64"
879
880 // $ANTLR start "T__65"
881 public final void mT__65() throws RecognitionException {
882 try {
883 int _type = T__65;
884 int _channel = DEFAULT_TOKEN_CHANNEL;
885 // InternalVampireLanguage.g:49:7: ( ':=' )
886 // InternalVampireLanguage.g:49:9: ':='
887 {
888 match(":=");
889
890
891 }
892
893 state.type = _type;
894 state.channel = _channel;
895 }
896 finally {
897 }
898 }
899 // $ANTLR end "T__65"
900
901 // $ANTLR start "T__66"
902 public final void mT__66() throws RecognitionException {
903 try {
904 int _type = T__66;
905 int _channel = DEFAULT_TOKEN_CHANNEL;
906 // InternalVampireLanguage.g:50:7: ( '$true' )
907 // InternalVampireLanguage.g:50:9: '$true'
908 {
909 match("$true");
910
911
912 }
913
914 state.type = _type;
915 state.channel = _channel;
916 }
917 finally {
918 }
919 }
920 // $ANTLR end "T__66"
921
922 // $ANTLR start "T__67"
923 public final void mT__67() throws RecognitionException {
924 try {
925 int _type = T__67;
926 int _channel = DEFAULT_TOKEN_CHANNEL;
927 // InternalVampireLanguage.g:51:7: ( '$false' )
928 // InternalVampireLanguage.g:51:9: '$false'
929 {
930 match("$false");
931
932
933 }
934
935 state.type = _type;
936 state.channel = _channel;
937 }
938 finally {
939 }
940 }
941 // $ANTLR end "T__67"
942
943 // $ANTLR start "T__68"
944 public final void mT__68() throws RecognitionException {
945 try {
946 int _type = T__68;
947 int _channel = DEFAULT_TOKEN_CHANNEL;
948 // InternalVampireLanguage.g:52:7: ( '$less' )
949 // InternalVampireLanguage.g:52:9: '$less'
950 {
951 match("$less");
952
953
954 }
955
956 state.type = _type;
957 state.channel = _channel;
958 }
959 finally {
960 }
961 }
962 // $ANTLR end "T__68"
963
964 // $ANTLR start "RULE_ALPHA_NUMERIC"
965 public final void mRULE_ALPHA_NUMERIC() throws RecognitionException {
966 try {
967 // InternalVampireLanguage.g:2625:29: ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' ) )
968 // InternalVampireLanguage.g:2625:31: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )
969 {
970 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
971 input.consume();
972
973 }
974 else {
975 MismatchedSetException mse = new MismatchedSetException(null,input);
976 recover(mse);
977 throw mse;}
978
979
980 }
981
982 }
983 finally {
984 }
985 }
986 // $ANTLR end "RULE_ALPHA_NUMERIC"
987
988 // $ANTLR start "RULE_UPPER_WORD_ID"
989 public final void mRULE_UPPER_WORD_ID() throws RecognitionException {
990 try {
991 int _type = RULE_UPPER_WORD_ID;
992 int _channel = DEFAULT_TOKEN_CHANNEL;
993 // InternalVampireLanguage.g:2627:20: ( 'A' .. 'Z' ( RULE_ALPHA_NUMERIC )* )
994 // InternalVampireLanguage.g:2627:22: 'A' .. 'Z' ( RULE_ALPHA_NUMERIC )*
995 {
996 matchRange('A','Z');
997 // InternalVampireLanguage.g:2627:31: ( RULE_ALPHA_NUMERIC )*
998 loop1:
999 do {
1000 int alt1=2;
1001 int LA1_0 = input.LA(1);
1002
1003 if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) {
1004 alt1=1;
1005 }
1006
1007
1008 switch (alt1) {
1009 case 1 :
1010 // InternalVampireLanguage.g:2627:31: RULE_ALPHA_NUMERIC
1011 {
1012 mRULE_ALPHA_NUMERIC();
1013
1014 }
1015 break;
1016
1017 default :
1018 break loop1;
1019 }
1020 } while (true);
1021
1022
1023 }
1024
1025 state.type = _type;
1026 state.channel = _channel;
1027 }
1028 finally {
1029 }
1030 }
1031 // $ANTLR end "RULE_UPPER_WORD_ID"
1032
1033 // $ANTLR start "RULE_LOWER_WORD_ID"
1034 public final void mRULE_LOWER_WORD_ID() throws RecognitionException {
1035 try {
1036 int _type = RULE_LOWER_WORD_ID;
1037 int _channel = DEFAULT_TOKEN_CHANNEL;
1038 // InternalVampireLanguage.g:2629:20: ( 'a' .. 'z' ( RULE_ALPHA_NUMERIC )* )
1039 // InternalVampireLanguage.g:2629:22: 'a' .. 'z' ( RULE_ALPHA_NUMERIC )*
1040 {
1041 matchRange('a','z');
1042 // InternalVampireLanguage.g:2629:31: ( RULE_ALPHA_NUMERIC )*
1043 loop2:
1044 do {
1045 int alt2=2;
1046 int LA2_0 = input.LA(1);
1047
1048 if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
1049 alt2=1;
1050 }
1051
1052
1053 switch (alt2) {
1054 case 1 :
1055 // InternalVampireLanguage.g:2629:31: RULE_ALPHA_NUMERIC
1056 {
1057 mRULE_ALPHA_NUMERIC();
1058
1059 }
1060 break;
1061
1062 default :
1063 break loop2;
1064 }
1065 } while (true);
1066
1067
1068 }
1069
1070 state.type = _type;
1071 state.channel = _channel;
1072 }
1073 finally {
1074 }
1075 }
1076 // $ANTLR end "RULE_LOWER_WORD_ID"
1077
1078 // $ANTLR start "RULE_DOUBLE_QUOTE"
1079 public final void mRULE_DOUBLE_QUOTE() throws RecognitionException {
1080 try {
1081 int _type = RULE_DOUBLE_QUOTE;
1082 int _channel = DEFAULT_TOKEN_CHANNEL;
1083 // InternalVampireLanguage.g:2631:19: ( '\"' ( '\\\\' ( '\"' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
1084 // InternalVampireLanguage.g:2631:21: '\"' ( '\\\\' ( '\"' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1085 {
1086 match('\"');
1087 // InternalVampireLanguage.g:2631:25: ( '\\\\' ( '\"' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
1088 loop3:
1089 do {
1090 int alt3=3;
1091 int LA3_0 = input.LA(1);
1092
1093 if ( (LA3_0=='\\') ) {
1094 alt3=1;
1095 }
1096 else if ( ((LA3_0>='\u0000' && LA3_0<='!')||(LA3_0>='#' && LA3_0<='[')||(LA3_0>=']' && LA3_0<='\uFFFF')) ) {
1097 alt3=2;
1098 }
1099
1100
1101 switch (alt3) {
1102 case 1 :
1103 // InternalVampireLanguage.g:2631:26: '\\\\' ( '\"' | '\\\\' )
1104 {
1105 match('\\');
1106 if ( input.LA(1)=='\"'||input.LA(1)=='\\' ) {
1107 input.consume();
1108
1109 }
1110 else {
1111 MismatchedSetException mse = new MismatchedSetException(null,input);
1112 recover(mse);
1113 throw mse;}
1114
1115
1116 }
1117 break;
1118 case 2 :
1119 // InternalVampireLanguage.g:2631:42: ~ ( ( '\\\\' | '\"' ) )
1120 {
1121 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1122 input.consume();
1123
1124 }
1125 else {
1126 MismatchedSetException mse = new MismatchedSetException(null,input);
1127 recover(mse);
1128 throw mse;}
1129
1130
1131 }
1132 break;
1133
1134 default :
1135 break loop3;
1136 }
1137 } while (true);
1138
1139 match('\"');
1140
1141 }
1142
1143 state.type = _type;
1144 state.channel = _channel;
1145 }
1146 finally {
1147 }
1148 }
1149 // $ANTLR end "RULE_DOUBLE_QUOTE"
1150
1151 // $ANTLR start "RULE_SINGLE_QUOTE"
1152 public final void mRULE_SINGLE_QUOTE() throws RecognitionException {
1153 try {
1154 int _type = RULE_SINGLE_QUOTE;
1155 int _channel = DEFAULT_TOKEN_CHANNEL;
1156 // InternalVampireLanguage.g:2633:19: ( '\\'' ( '\\\\' ( '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )+ '\\'' )
1157 // InternalVampireLanguage.g:2633:21: '\\'' ( '\\\\' ( '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )+ '\\''
1158 {
1159 match('\'');
1160 // InternalVampireLanguage.g:2633:26: ( '\\\\' ( '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )+
1161 int cnt4=0;
1162 loop4:
1163 do {
1164 int alt4=3;
1165 int LA4_0 = input.LA(1);
1166
1167 if ( (LA4_0=='\\') ) {
1168 alt4=1;
1169 }
1170 else if ( ((LA4_0>='\u0000' && LA4_0<='&')||(LA4_0>='(' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
1171 alt4=2;
1172 }
1173
1174
1175 switch (alt4) {
1176 case 1 :
1177 // InternalVampireLanguage.g:2633:27: '\\\\' ( '\\'' | '\\\\' )
1178 {
1179 match('\\');
1180 if ( input.LA(1)=='\''||input.LA(1)=='\\' ) {
1181 input.consume();
1182
1183 }
1184 else {
1185 MismatchedSetException mse = new MismatchedSetException(null,input);
1186 recover(mse);
1187 throw mse;}
1188
1189
1190 }
1191 break;
1192 case 2 :
1193 // InternalVampireLanguage.g:2633:44: ~ ( ( '\\\\' | '\\'' ) )
1194 {
1195 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1196 input.consume();
1197
1198 }
1199 else {
1200 MismatchedSetException mse = new MismatchedSetException(null,input);
1201 recover(mse);
1202 throw mse;}
1203
1204
1205 }
1206 break;
1207
1208 default :
1209 if ( cnt4 >= 1 ) break loop4;
1210 EarlyExitException eee =
1211 new EarlyExitException(4, input);
1212 throw eee;
1213 }
1214 cnt4++;
1215 } while (true);
1216
1217 match('\'');
1218
1219 }
1220
1221 state.type = _type;
1222 state.channel = _channel;
1223 }
1224 finally {
1225 }
1226 }
1227 // $ANTLR end "RULE_SINGLE_QUOTE"
1228
1229 // $ANTLR start "RULE_SIGN"
1230 public final void mRULE_SIGN() throws RecognitionException {
1231 try {
1232 // InternalVampireLanguage.g:2635:20: ( ( '+' | '-' ) )
1233 // InternalVampireLanguage.g:2635:22: ( '+' | '-' )
1234 {
1235 if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
1236 input.consume();
1237
1238 }
1239 else {
1240 MismatchedSetException mse = new MismatchedSetException(null,input);
1241 recover(mse);
1242 throw mse;}
1243
1244
1245 }
1246
1247 }
1248 finally {
1249 }
1250 }
1251 // $ANTLR end "RULE_SIGN"
1252
1253 // $ANTLR start "RULE_DOLLAR_ID"
1254 public final void mRULE_DOLLAR_ID() throws RecognitionException {
1255 try {
1256 int _type = RULE_DOLLAR_ID;
1257 int _channel = DEFAULT_TOKEN_CHANNEL;
1258 // InternalVampireLanguage.g:2637:16: ( '$' RULE_LOWER_WORD_ID )
1259 // InternalVampireLanguage.g:2637:18: '$' RULE_LOWER_WORD_ID
1260 {
1261 match('$');
1262 mRULE_LOWER_WORD_ID();
1263
1264 }
1265
1266 state.type = _type;
1267 state.channel = _channel;
1268 }
1269 finally {
1270 }
1271 }
1272 // $ANTLR end "RULE_DOLLAR_ID"
1273
1274 // $ANTLR start "RULE_DOUBLE_DOLLAR_ID"
1275 public final void mRULE_DOUBLE_DOLLAR_ID() throws RecognitionException {
1276 try {
1277 int _type = RULE_DOUBLE_DOLLAR_ID;
1278 int _channel = DEFAULT_TOKEN_CHANNEL;
1279 // InternalVampireLanguage.g:2639:23: ( '$$' RULE_LOWER_WORD_ID )
1280 // InternalVampireLanguage.g:2639:25: '$$' RULE_LOWER_WORD_ID
1281 {
1282 match("$$");
1283
1284 mRULE_LOWER_WORD_ID();
1285
1286 }
1287
1288 state.type = _type;
1289 state.channel = _channel;
1290 }
1291 finally {
1292 }
1293 }
1294 // $ANTLR end "RULE_DOUBLE_DOLLAR_ID"
1295
1296 // $ANTLR start "RULE_LITERAL"
1297 public final void mRULE_LITERAL() throws RecognitionException {
1298 try {
1299 int _type = RULE_LITERAL;
1300 int _channel = DEFAULT_TOKEN_CHANNEL;
1301 // InternalVampireLanguage.g:2641:14: ( ( '0' | '1' .. '9' ( RULE_INT )? ) )
1302 // InternalVampireLanguage.g:2641:16: ( '0' | '1' .. '9' ( RULE_INT )? )
1303 {
1304 // InternalVampireLanguage.g:2641:16: ( '0' | '1' .. '9' ( RULE_INT )? )
1305 int alt6=2;
1306 int LA6_0 = input.LA(1);
1307
1308 if ( (LA6_0=='0') ) {
1309 alt6=1;
1310 }
1311 else if ( ((LA6_0>='1' && LA6_0<='9')) ) {
1312 alt6=2;
1313 }
1314 else {
1315 NoViableAltException nvae =
1316 new NoViableAltException("", 6, 0, input);
1317
1318 throw nvae;
1319 }
1320 switch (alt6) {
1321 case 1 :
1322 // InternalVampireLanguage.g:2641:17: '0'
1323 {
1324 match('0');
1325
1326 }
1327 break;
1328 case 2 :
1329 // InternalVampireLanguage.g:2641:21: '1' .. '9' ( RULE_INT )?
1330 {
1331 matchRange('1','9');
1332 // InternalVampireLanguage.g:2641:30: ( RULE_INT )?
1333 int alt5=2;
1334 int LA5_0 = input.LA(1);
1335
1336 if ( ((LA5_0>='0' && LA5_0<='9')) ) {
1337 alt5=1;
1338 }
1339 switch (alt5) {
1340 case 1 :
1341 // InternalVampireLanguage.g:2641:30: RULE_INT
1342 {
1343 mRULE_INT();
1344
1345 }
1346 break;
1347
1348 }
1349
1350
1351 }
1352 break;
1353
1354 }
1355
1356
1357 }
1358
1359 state.type = _type;
1360 state.channel = _channel;
1361 }
1362 finally {
1363 }
1364 }
1365 // $ANTLR end "RULE_LITERAL"
1366
1367 // $ANTLR start "RULE_SIGNED_LITERAL"
1368 public final void mRULE_SIGNED_LITERAL() throws RecognitionException {
1369 try {
1370 int _type = RULE_SIGNED_LITERAL;
1371 int _channel = DEFAULT_TOKEN_CHANNEL;
1372 // InternalVampireLanguage.g:2643:21: ( ( RULE_SIGN )* RULE_LITERAL )
1373 // InternalVampireLanguage.g:2643:23: ( RULE_SIGN )* RULE_LITERAL
1374 {
1375 // InternalVampireLanguage.g:2643:23: ( RULE_SIGN )*
1376 loop7:
1377 do {
1378 int alt7=2;
1379 int LA7_0 = input.LA(1);
1380
1381 if ( (LA7_0=='+'||LA7_0=='-') ) {
1382 alt7=1;
1383 }
1384
1385
1386 switch (alt7) {
1387 case 1 :
1388 // InternalVampireLanguage.g:2643:23: RULE_SIGN
1389 {
1390 mRULE_SIGN();
1391
1392 }
1393 break;
1394
1395 default :
1396 break loop7;
1397 }
1398 } while (true);
1399
1400 mRULE_LITERAL();
1401
1402 }
1403
1404 state.type = _type;
1405 state.channel = _channel;
1406 }
1407 finally {
1408 }
1409 }
1410 // $ANTLR end "RULE_SIGNED_LITERAL"
1411
1412 // $ANTLR start "RULE_UNSIGNED_REAL_FRAC_ID"
1413 public final void mRULE_UNSIGNED_REAL_FRAC_ID() throws RecognitionException {
1414 try {
1415 // InternalVampireLanguage.g:2645:37: ( RULE_LITERAL '.' RULE_INT )
1416 // InternalVampireLanguage.g:2645:39: RULE_LITERAL '.' RULE_INT
1417 {
1418 mRULE_LITERAL();
1419 match('.');
1420 mRULE_INT();
1421
1422 }
1423
1424 }
1425 finally {
1426 }
1427 }
1428 // $ANTLR end "RULE_UNSIGNED_REAL_FRAC_ID"
1429
1430 // $ANTLR start "RULE_UNSIGNED_REAL_EXP_ID"
1431 public final void mRULE_UNSIGNED_REAL_EXP_ID() throws RecognitionException {
1432 try {
1433 // InternalVampireLanguage.g:2647:36: ( ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID ) 'Ee' ( RULE_SIGN )* RULE_INT )
1434 // InternalVampireLanguage.g:2647:38: ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID ) 'Ee' ( RULE_SIGN )* RULE_INT
1435 {
1436 // InternalVampireLanguage.g:2647:38: ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID )
1437 int alt8=2;
1438 alt8 = dfa8.predict(input);
1439 switch (alt8) {
1440 case 1 :
1441 // InternalVampireLanguage.g:2647:39: RULE_LITERAL
1442 {
1443 mRULE_LITERAL();
1444
1445 }
1446 break;
1447 case 2 :
1448 // InternalVampireLanguage.g:2647:52: RULE_UNSIGNED_REAL_FRAC_ID
1449 {
1450 mRULE_UNSIGNED_REAL_FRAC_ID();
1451
1452 }
1453 break;
1454
1455 }
1456
1457 match("Ee");
1458
1459 // InternalVampireLanguage.g:2647:85: ( RULE_SIGN )*
1460 loop9:
1461 do {
1462 int alt9=2;
1463 int LA9_0 = input.LA(1);
1464
1465 if ( (LA9_0=='+'||LA9_0=='-') ) {
1466 alt9=1;
1467 }
1468
1469
1470 switch (alt9) {
1471 case 1 :
1472 // InternalVampireLanguage.g:2647:85: RULE_SIGN
1473 {
1474 mRULE_SIGN();
1475
1476 }
1477 break;
1478
1479 default :
1480 break loop9;
1481 }
1482 } while (true);
1483
1484 mRULE_INT();
1485
1486 }
1487
1488 }
1489 finally {
1490 }
1491 }
1492 // $ANTLR end "RULE_UNSIGNED_REAL_EXP_ID"
1493
1494 // $ANTLR start "RULE_SIGNED_REAL_ID"
1495 public final void mRULE_SIGNED_REAL_ID() throws RecognitionException {
1496 try {
1497 int _type = RULE_SIGNED_REAL_ID;
1498 int _channel = DEFAULT_TOKEN_CHANNEL;
1499 // InternalVampireLanguage.g:2649:21: ( ( RULE_SIGN )* ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID ) )
1500 // InternalVampireLanguage.g:2649:23: ( RULE_SIGN )* ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID )
1501 {
1502 // InternalVampireLanguage.g:2649:23: ( RULE_SIGN )*
1503 loop10:
1504 do {
1505 int alt10=2;
1506 int LA10_0 = input.LA(1);
1507
1508 if ( (LA10_0=='+'||LA10_0=='-') ) {
1509 alt10=1;
1510 }
1511
1512
1513 switch (alt10) {
1514 case 1 :
1515 // InternalVampireLanguage.g:2649:23: RULE_SIGN
1516 {
1517 mRULE_SIGN();
1518
1519 }
1520 break;
1521
1522 default :
1523 break loop10;
1524 }
1525 } while (true);
1526
1527 // InternalVampireLanguage.g:2649:34: ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID )
1528 int alt11=2;
1529 alt11 = dfa11.predict(input);
1530 switch (alt11) {
1531 case 1 :
1532 // InternalVampireLanguage.g:2649:35: RULE_UNSIGNED_REAL_FRAC_ID
1533 {
1534 mRULE_UNSIGNED_REAL_FRAC_ID();
1535
1536 }
1537 break;
1538 case 2 :
1539 // InternalVampireLanguage.g:2649:62: RULE_UNSIGNED_REAL_EXP_ID
1540 {
1541 mRULE_UNSIGNED_REAL_EXP_ID();
1542
1543 }
1544 break;
1545
1546 }
1547
1548
1549 }
1550
1551 state.type = _type;
1552 state.channel = _channel;
1553 }
1554 finally {
1555 }
1556 }
1557 // $ANTLR end "RULE_SIGNED_REAL_ID"
1558
1559 // $ANTLR start "RULE_UNSIGNED_RAT_ID"
1560 public final void mRULE_UNSIGNED_RAT_ID() throws RecognitionException {
1561 try {
1562 // InternalVampireLanguage.g:2651:31: ( RULE_LITERAL '/' '1' .. '9' ( RULE_INT )? )
1563 // InternalVampireLanguage.g:2651:33: RULE_LITERAL '/' '1' .. '9' ( RULE_INT )?
1564 {
1565 mRULE_LITERAL();
1566 match('/');
1567 matchRange('1','9');
1568 // InternalVampireLanguage.g:2651:59: ( RULE_INT )?
1569 int alt12=2;
1570 int LA12_0 = input.LA(1);
1571
1572 if ( ((LA12_0>='0' && LA12_0<='9')) ) {
1573 alt12=1;
1574 }
1575 switch (alt12) {
1576 case 1 :
1577 // InternalVampireLanguage.g:2651:59: RULE_INT
1578 {
1579 mRULE_INT();
1580
1581 }
1582 break;
1583
1584 }
1585
1586
1587 }
1588
1589 }
1590 finally {
1591 }
1592 }
1593 // $ANTLR end "RULE_UNSIGNED_RAT_ID"
1594
1595 // $ANTLR start "RULE_SIGNED_RAT_ID"
1596 public final void mRULE_SIGNED_RAT_ID() throws RecognitionException {
1597 try {
1598 int _type = RULE_SIGNED_RAT_ID;
1599 int _channel = DEFAULT_TOKEN_CHANNEL;
1600 // InternalVampireLanguage.g:2653:20: ( ( RULE_SIGN )* RULE_UNSIGNED_RAT_ID )
1601 // InternalVampireLanguage.g:2653:22: ( RULE_SIGN )* RULE_UNSIGNED_RAT_ID
1602 {
1603 // InternalVampireLanguage.g:2653:22: ( RULE_SIGN )*
1604 loop13:
1605 do {
1606 int alt13=2;
1607 int LA13_0 = input.LA(1);
1608
1609 if ( (LA13_0=='+'||LA13_0=='-') ) {
1610 alt13=1;
1611 }
1612
1613
1614 switch (alt13) {
1615 case 1 :
1616 // InternalVampireLanguage.g:2653:22: RULE_SIGN
1617 {
1618 mRULE_SIGN();
1619
1620 }
1621 break;
1622
1623 default :
1624 break loop13;
1625 }
1626 } while (true);
1627
1628 mRULE_UNSIGNED_RAT_ID();
1629
1630 }
1631
1632 state.type = _type;
1633 state.channel = _channel;
1634 }
1635 finally {
1636 }
1637 }
1638 // $ANTLR end "RULE_SIGNED_RAT_ID"
1639
1640 // $ANTLR start "RULE_ANY_OTHER"
1641 public final void mRULE_ANY_OTHER() throws RecognitionException {
1642 try {
1643 // InternalVampireLanguage.g:2655:25: ( '%' (~ ( ( '\\n' | '\\r' ) ) )* '\\r' )
1644 // InternalVampireLanguage.g:2655:27: '%' (~ ( ( '\\n' | '\\r' ) ) )* '\\r'
1645 {
1646 match('%');
1647 // InternalVampireLanguage.g:2655:31: (~ ( ( '\\n' | '\\r' ) ) )*
1648 loop14:
1649 do {
1650 int alt14=2;
1651 int LA14_0 = input.LA(1);
1652
1653 if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFF')) ) {
1654 alt14=1;
1655 }
1656
1657
1658 switch (alt14) {
1659 case 1 :
1660 // InternalVampireLanguage.g:2655:31: ~ ( ( '\\n' | '\\r' ) )
1661 {
1662 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
1663 input.consume();
1664
1665 }
1666 else {
1667 MismatchedSetException mse = new MismatchedSetException(null,input);
1668 recover(mse);
1669 throw mse;}
1670
1671
1672 }
1673 break;
1674
1675 default :
1676 break loop14;
1677 }
1678 } while (true);
1679
1680 match('\r');
1681
1682 }
1683
1684 }
1685 finally {
1686 }
1687 }
1688 // $ANTLR end "RULE_ANY_OTHER"
1689
1690 // $ANTLR start "RULE_SINGLE_COMMENT"
1691 public final void mRULE_SINGLE_COMMENT() throws RecognitionException {
1692 try {
1693 int _type = RULE_SINGLE_COMMENT;
1694 int _channel = DEFAULT_TOKEN_CHANNEL;
1695 // InternalVampireLanguage.g:2657:21: ( RULE_ANY_OTHER )
1696 // InternalVampireLanguage.g:2657:23: RULE_ANY_OTHER
1697 {
1698 mRULE_ANY_OTHER();
1699
1700 }
1701
1702 state.type = _type;
1703 state.channel = _channel;
1704 }
1705 finally {
1706 }
1707 }
1708 // $ANTLR end "RULE_SINGLE_COMMENT"
1709
1710 // $ANTLR start "RULE_ID"
1711 public final void mRULE_ID() throws RecognitionException {
1712 try {
1713 int _type = RULE_ID;
1714 int _channel = DEFAULT_TOKEN_CHANNEL;
1715 // InternalVampireLanguage.g:2659:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
1716 // InternalVampireLanguage.g:2659:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1717 {
1718 // InternalVampireLanguage.g:2659:11: ( '^' )?
1719 int alt15=2;
1720 int LA15_0 = input.LA(1);
1721
1722 if ( (LA15_0=='^') ) {
1723 alt15=1;
1724 }
1725 switch (alt15) {
1726 case 1 :
1727 // InternalVampireLanguage.g:2659:11: '^'
1728 {
1729 match('^');
1730
1731 }
1732 break;
1733
1734 }
1735
1736 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
1737 input.consume();
1738
1739 }
1740 else {
1741 MismatchedSetException mse = new MismatchedSetException(null,input);
1742 recover(mse);
1743 throw mse;}
1744
1745 // InternalVampireLanguage.g:2659:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1746 loop16:
1747 do {
1748 int alt16=2;
1749 int LA16_0 = input.LA(1);
1750
1751 if ( ((LA16_0>='0' && LA16_0<='9')||(LA16_0>='A' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='a' && LA16_0<='z')) ) {
1752 alt16=1;
1753 }
1754
1755
1756 switch (alt16) {
1757 case 1 :
1758 // InternalVampireLanguage.g:
1759 {
1760 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
1761 input.consume();
1762
1763 }
1764 else {
1765 MismatchedSetException mse = new MismatchedSetException(null,input);
1766 recover(mse);
1767 throw mse;}
1768
1769
1770 }
1771 break;
1772
1773 default :
1774 break loop16;
1775 }
1776 } while (true);
1777
1778
1779 }
1780
1781 state.type = _type;
1782 state.channel = _channel;
1783 }
1784 finally {
1785 }
1786 }
1787 // $ANTLR end "RULE_ID"
1788
1789 // $ANTLR start "RULE_INT"
1790 public final void mRULE_INT() throws RecognitionException {
1791 try {
1792 // InternalVampireLanguage.g:2661:19: ( ( '0' .. '9' )+ )
1793 // InternalVampireLanguage.g:2661:21: ( '0' .. '9' )+
1794 {
1795 // InternalVampireLanguage.g:2661:21: ( '0' .. '9' )+
1796 int cnt17=0;
1797 loop17:
1798 do {
1799 int alt17=2;
1800 int LA17_0 = input.LA(1);
1801
1802 if ( ((LA17_0>='0' && LA17_0<='9')) ) {
1803 alt17=1;
1804 }
1805
1806
1807 switch (alt17) {
1808 case 1 :
1809 // InternalVampireLanguage.g:2661:22: '0' .. '9'
1810 {
1811 matchRange('0','9');
1812
1813 }
1814 break;
1815
1816 default :
1817 if ( cnt17 >= 1 ) break loop17;
1818 EarlyExitException eee =
1819 new EarlyExitException(17, input);
1820 throw eee;
1821 }
1822 cnt17++;
1823 } while (true);
1824
1825
1826 }
1827
1828 }
1829 finally {
1830 }
1831 }
1832 // $ANTLR end "RULE_INT"
1833
1834 // $ANTLR start "RULE_STRING"
1835 public final void mRULE_STRING() throws RecognitionException {
1836 try {
1837 int _type = RULE_STRING;
1838 int _channel = DEFAULT_TOKEN_CHANNEL;
1839 // InternalVampireLanguage.g:2663:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
1840 // InternalVampireLanguage.g:2663:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1841 {
1842 // InternalVampireLanguage.g:2663:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1843 int alt20=2;
1844 int LA20_0 = input.LA(1);
1845
1846 if ( (LA20_0=='\"') ) {
1847 alt20=1;
1848 }
1849 else if ( (LA20_0=='\'') ) {
1850 alt20=2;
1851 }
1852 else {
1853 NoViableAltException nvae =
1854 new NoViableAltException("", 20, 0, input);
1855
1856 throw nvae;
1857 }
1858 switch (alt20) {
1859 case 1 :
1860 // InternalVampireLanguage.g:2663:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1861 {
1862 match('\"');
1863 // InternalVampireLanguage.g:2663:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
1864 loop18:
1865 do {
1866 int alt18=3;
1867 int LA18_0 = input.LA(1);
1868
1869 if ( (LA18_0=='\\') ) {
1870 alt18=1;
1871 }
1872 else if ( ((LA18_0>='\u0000' && LA18_0<='!')||(LA18_0>='#' && LA18_0<='[')||(LA18_0>=']' && LA18_0<='\uFFFF')) ) {
1873 alt18=2;
1874 }
1875
1876
1877 switch (alt18) {
1878 case 1 :
1879 // InternalVampireLanguage.g:2663:21: '\\\\' .
1880 {
1881 match('\\');
1882 matchAny();
1883
1884 }
1885 break;
1886 case 2 :
1887 // InternalVampireLanguage.g:2663:28: ~ ( ( '\\\\' | '\"' ) )
1888 {
1889 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1890 input.consume();
1891
1892 }
1893 else {
1894 MismatchedSetException mse = new MismatchedSetException(null,input);
1895 recover(mse);
1896 throw mse;}
1897
1898
1899 }
1900 break;
1901
1902 default :
1903 break loop18;
1904 }
1905 } while (true);
1906
1907 match('\"');
1908
1909 }
1910 break;
1911 case 2 :
1912 // InternalVampireLanguage.g:2663:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
1913 {
1914 match('\'');
1915 // InternalVampireLanguage.g:2663:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
1916 loop19:
1917 do {
1918 int alt19=3;
1919 int LA19_0 = input.LA(1);
1920
1921 if ( (LA19_0=='\\') ) {
1922 alt19=1;
1923 }
1924 else if ( ((LA19_0>='\u0000' && LA19_0<='&')||(LA19_0>='(' && LA19_0<='[')||(LA19_0>=']' && LA19_0<='\uFFFF')) ) {
1925 alt19=2;
1926 }
1927
1928
1929 switch (alt19) {
1930 case 1 :
1931 // InternalVampireLanguage.g:2663:54: '\\\\' .
1932 {
1933 match('\\');
1934 matchAny();
1935
1936 }
1937 break;
1938 case 2 :
1939 // InternalVampireLanguage.g:2663:61: ~ ( ( '\\\\' | '\\'' ) )
1940 {
1941 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1942 input.consume();
1943
1944 }
1945 else {
1946 MismatchedSetException mse = new MismatchedSetException(null,input);
1947 recover(mse);
1948 throw mse;}
1949
1950
1951 }
1952 break;
1953
1954 default :
1955 break loop19;
1956 }
1957 } while (true);
1958
1959 match('\'');
1960
1961 }
1962 break;
1963
1964 }
1965
1966
1967 }
1968
1969 state.type = _type;
1970 state.channel = _channel;
1971 }
1972 finally {
1973 }
1974 }
1975 // $ANTLR end "RULE_STRING"
1976
1977 // $ANTLR start "RULE_ML_COMMENT"
1978 public final void mRULE_ML_COMMENT() throws RecognitionException {
1979 try {
1980 int _type = RULE_ML_COMMENT;
1981 int _channel = DEFAULT_TOKEN_CHANNEL;
1982 // InternalVampireLanguage.g:2665:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
1983 // InternalVampireLanguage.g:2665:19: '/*' ( options {greedy=false; } : . )* '*/'
1984 {
1985 match("/*");
1986
1987 // InternalVampireLanguage.g:2665:24: ( options {greedy=false; } : . )*
1988 loop21:
1989 do {
1990 int alt21=2;
1991 int LA21_0 = input.LA(1);
1992
1993 if ( (LA21_0=='*') ) {
1994 int LA21_1 = input.LA(2);
1995
1996 if ( (LA21_1=='/') ) {
1997 alt21=2;
1998 }
1999 else if ( ((LA21_1>='\u0000' && LA21_1<='.')||(LA21_1>='0' && LA21_1<='\uFFFF')) ) {
2000 alt21=1;
2001 }
2002
2003
2004 }
2005 else if ( ((LA21_0>='\u0000' && LA21_0<=')')||(LA21_0>='+' && LA21_0<='\uFFFF')) ) {
2006 alt21=1;
2007 }
2008
2009
2010 switch (alt21) {
2011 case 1 :
2012 // InternalVampireLanguage.g:2665:52: .
2013 {
2014 matchAny();
2015
2016 }
2017 break;
2018
2019 default :
2020 break loop21;
2021 }
2022 } while (true);
2023
2024 match("*/");
2025
2026
2027 }
2028
2029 state.type = _type;
2030 state.channel = _channel;
2031 }
2032 finally {
2033 }
2034 }
2035 // $ANTLR end "RULE_ML_COMMENT"
2036
2037 // $ANTLR start "RULE_SL_COMMENT"
2038 public final void mRULE_SL_COMMENT() throws RecognitionException {
2039 try {
2040 int _type = RULE_SL_COMMENT;
2041 int _channel = DEFAULT_TOKEN_CHANNEL;
2042 // InternalVampireLanguage.g:2667:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
2043 // InternalVampireLanguage.g:2667:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
2044 {
2045 match("//");
2046
2047 // InternalVampireLanguage.g:2667:24: (~ ( ( '\\n' | '\\r' ) ) )*
2048 loop22:
2049 do {
2050 int alt22=2;
2051 int LA22_0 = input.LA(1);
2052
2053 if ( ((LA22_0>='\u0000' && LA22_0<='\t')||(LA22_0>='\u000B' && LA22_0<='\f')||(LA22_0>='\u000E' && LA22_0<='\uFFFF')) ) {
2054 alt22=1;
2055 }
2056
2057
2058 switch (alt22) {
2059 case 1 :
2060 // InternalVampireLanguage.g:2667:24: ~ ( ( '\\n' | '\\r' ) )
2061 {
2062 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
2063 input.consume();
2064
2065 }
2066 else {
2067 MismatchedSetException mse = new MismatchedSetException(null,input);
2068 recover(mse);
2069 throw mse;}
2070
2071
2072 }
2073 break;
2074
2075 default :
2076 break loop22;
2077 }
2078 } while (true);
2079
2080 // InternalVampireLanguage.g:2667:40: ( ( '\\r' )? '\\n' )?
2081 int alt24=2;
2082 int LA24_0 = input.LA(1);
2083
2084 if ( (LA24_0=='\n'||LA24_0=='\r') ) {
2085 alt24=1;
2086 }
2087 switch (alt24) {
2088 case 1 :
2089 // InternalVampireLanguage.g:2667:41: ( '\\r' )? '\\n'
2090 {
2091 // InternalVampireLanguage.g:2667:41: ( '\\r' )?
2092 int alt23=2;
2093 int LA23_0 = input.LA(1);
2094
2095 if ( (LA23_0=='\r') ) {
2096 alt23=1;
2097 }
2098 switch (alt23) {
2099 case 1 :
2100 // InternalVampireLanguage.g:2667:41: '\\r'
2101 {
2102 match('\r');
2103
2104 }
2105 break;
2106
2107 }
2108
2109 match('\n');
2110
2111 }
2112 break;
2113
2114 }
2115
2116
2117 }
2118
2119 state.type = _type;
2120 state.channel = _channel;
2121 }
2122 finally {
2123 }
2124 }
2125 // $ANTLR end "RULE_SL_COMMENT"
2126
2127 // $ANTLR start "RULE_WS"
2128 public final void mRULE_WS() throws RecognitionException {
2129 try {
2130 int _type = RULE_WS;
2131 int _channel = DEFAULT_TOKEN_CHANNEL;
2132 // InternalVampireLanguage.g:2669:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
2133 // InternalVampireLanguage.g:2669:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2134 {
2135 // InternalVampireLanguage.g:2669:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2136 int cnt25=0;
2137 loop25:
2138 do {
2139 int alt25=2;
2140 int LA25_0 = input.LA(1);
2141
2142 if ( ((LA25_0>='\t' && LA25_0<='\n')||LA25_0=='\r'||LA25_0==' ') ) {
2143 alt25=1;
2144 }
2145
2146
2147 switch (alt25) {
2148 case 1 :
2149 // InternalVampireLanguage.g:
2150 {
2151 if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
2152 input.consume();
2153
2154 }
2155 else {
2156 MismatchedSetException mse = new MismatchedSetException(null,input);
2157 recover(mse);
2158 throw mse;}
2159
2160
2161 }
2162 break;
2163
2164 default :
2165 if ( cnt25 >= 1 ) break loop25;
2166 EarlyExitException eee =
2167 new EarlyExitException(25, input);
2168 throw eee;
2169 }
2170 cnt25++;
2171 } while (true);
2172
2173
2174 }
2175
2176 state.type = _type;
2177 state.channel = _channel;
2178 }
2179 finally {
2180 }
2181 }
2182 // $ANTLR end "RULE_WS"
2183
2184 public void mTokens() throws RecognitionException {
2185 // InternalVampireLanguage.g:1:8: ( T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_UPPER_WORD_ID | RULE_LOWER_WORD_ID | RULE_DOUBLE_QUOTE | RULE_SINGLE_QUOTE | RULE_DOLLAR_ID | RULE_DOUBLE_DOLLAR_ID | RULE_LITERAL | RULE_SIGNED_LITERAL | RULE_SIGNED_REAL_ID | RULE_SIGNED_RAT_ID | RULE_SINGLE_COMMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS )
2186 int alt26=58;
2187 alt26 = dfa26.predict(input);
2188 switch (alt26) {
2189 case 1 :
2190 // InternalVampireLanguage.g:1:10: T__27
2191 {
2192 mT__27();
2193
2194 }
2195 break;
2196 case 2 :
2197 // InternalVampireLanguage.g:1:16: T__28
2198 {
2199 mT__28();
2200
2201 }
2202 break;
2203 case 3 :
2204 // InternalVampireLanguage.g:1:22: T__29
2205 {
2206 mT__29();
2207
2208 }
2209 break;
2210 case 4 :
2211 // InternalVampireLanguage.g:1:28: T__30
2212 {
2213 mT__30();
2214
2215 }
2216 break;
2217 case 5 :
2218 // InternalVampireLanguage.g:1:34: T__31
2219 {
2220 mT__31();
2221
2222 }
2223 break;
2224 case 6 :
2225 // InternalVampireLanguage.g:1:40: T__32
2226 {
2227 mT__32();
2228
2229 }
2230 break;
2231 case 7 :
2232 // InternalVampireLanguage.g:1:46: T__33
2233 {
2234 mT__33();
2235
2236 }
2237 break;
2238 case 8 :
2239 // InternalVampireLanguage.g:1:52: T__34
2240 {
2241 mT__34();
2242
2243 }
2244 break;
2245 case 9 :
2246 // InternalVampireLanguage.g:1:58: T__35
2247 {
2248 mT__35();
2249
2250 }
2251 break;
2252 case 10 :
2253 // InternalVampireLanguage.g:1:64: T__36
2254 {
2255 mT__36();
2256
2257 }
2258 break;
2259 case 11 :
2260 // InternalVampireLanguage.g:1:70: T__37
2261 {
2262 mT__37();
2263
2264 }
2265 break;
2266 case 12 :
2267 // InternalVampireLanguage.g:1:76: T__38
2268 {
2269 mT__38();
2270
2271 }
2272 break;
2273 case 13 :
2274 // InternalVampireLanguage.g:1:82: T__39
2275 {
2276 mT__39();
2277
2278 }
2279 break;
2280 case 14 :
2281 // InternalVampireLanguage.g:1:88: T__40
2282 {
2283 mT__40();
2284
2285 }
2286 break;
2287 case 15 :
2288 // InternalVampireLanguage.g:1:94: T__41
2289 {
2290 mT__41();
2291
2292 }
2293 break;
2294 case 16 :
2295 // InternalVampireLanguage.g:1:100: T__42
2296 {
2297 mT__42();
2298
2299 }
2300 break;
2301 case 17 :
2302 // InternalVampireLanguage.g:1:106: T__43
2303 {
2304 mT__43();
2305
2306 }
2307 break;
2308 case 18 :
2309 // InternalVampireLanguage.g:1:112: T__44
2310 {
2311 mT__44();
2312
2313 }
2314 break;
2315 case 19 :
2316 // InternalVampireLanguage.g:1:118: T__45
2317 {
2318 mT__45();
2319
2320 }
2321 break;
2322 case 20 :
2323 // InternalVampireLanguage.g:1:124: T__46
2324 {
2325 mT__46();
2326
2327 }
2328 break;
2329 case 21 :
2330 // InternalVampireLanguage.g:1:130: T__47
2331 {
2332 mT__47();
2333
2334 }
2335 break;
2336 case 22 :
2337 // InternalVampireLanguage.g:1:136: T__48
2338 {
2339 mT__48();
2340
2341 }
2342 break;
2343 case 23 :
2344 // InternalVampireLanguage.g:1:142: T__49
2345 {
2346 mT__49();
2347
2348 }
2349 break;
2350 case 24 :
2351 // InternalVampireLanguage.g:1:148: T__50
2352 {
2353 mT__50();
2354
2355 }
2356 break;
2357 case 25 :
2358 // InternalVampireLanguage.g:1:154: T__51
2359 {
2360 mT__51();
2361
2362 }
2363 break;
2364 case 26 :
2365 // InternalVampireLanguage.g:1:160: T__52
2366 {
2367 mT__52();
2368
2369 }
2370 break;
2371 case 27 :
2372 // InternalVampireLanguage.g:1:166: T__53
2373 {
2374 mT__53();
2375
2376 }
2377 break;
2378 case 28 :
2379 // InternalVampireLanguage.g:1:172: T__54
2380 {
2381 mT__54();
2382
2383 }
2384 break;
2385 case 29 :
2386 // InternalVampireLanguage.g:1:178: T__55
2387 {
2388 mT__55();
2389
2390 }
2391 break;
2392 case 30 :
2393 // InternalVampireLanguage.g:1:184: T__56
2394 {
2395 mT__56();
2396
2397 }
2398 break;
2399 case 31 :
2400 // InternalVampireLanguage.g:1:190: T__57
2401 {
2402 mT__57();
2403
2404 }
2405 break;
2406 case 32 :
2407 // InternalVampireLanguage.g:1:196: T__58
2408 {
2409 mT__58();
2410
2411 }
2412 break;
2413 case 33 :
2414 // InternalVampireLanguage.g:1:202: T__59
2415 {
2416 mT__59();
2417
2418 }
2419 break;
2420 case 34 :
2421 // InternalVampireLanguage.g:1:208: T__60
2422 {
2423 mT__60();
2424
2425 }
2426 break;
2427 case 35 :
2428 // InternalVampireLanguage.g:1:214: T__61
2429 {
2430 mT__61();
2431
2432 }
2433 break;
2434 case 36 :
2435 // InternalVampireLanguage.g:1:220: T__62
2436 {
2437 mT__62();
2438
2439 }
2440 break;
2441 case 37 :
2442 // InternalVampireLanguage.g:1:226: T__63
2443 {
2444 mT__63();
2445
2446 }
2447 break;
2448 case 38 :
2449 // InternalVampireLanguage.g:1:232: T__64
2450 {
2451 mT__64();
2452
2453 }
2454 break;
2455 case 39 :
2456 // InternalVampireLanguage.g:1:238: T__65
2457 {
2458 mT__65();
2459
2460 }
2461 break;
2462 case 40 :
2463 // InternalVampireLanguage.g:1:244: T__66
2464 {
2465 mT__66();
2466
2467 }
2468 break;
2469 case 41 :
2470 // InternalVampireLanguage.g:1:250: T__67
2471 {
2472 mT__67();
2473
2474 }
2475 break;
2476 case 42 :
2477 // InternalVampireLanguage.g:1:256: T__68
2478 {
2479 mT__68();
2480
2481 }
2482 break;
2483 case 43 :
2484 // InternalVampireLanguage.g:1:262: RULE_UPPER_WORD_ID
2485 {
2486 mRULE_UPPER_WORD_ID();
2487
2488 }
2489 break;
2490 case 44 :
2491 // InternalVampireLanguage.g:1:281: RULE_LOWER_WORD_ID
2492 {
2493 mRULE_LOWER_WORD_ID();
2494
2495 }
2496 break;
2497 case 45 :
2498 // InternalVampireLanguage.g:1:300: RULE_DOUBLE_QUOTE
2499 {
2500 mRULE_DOUBLE_QUOTE();
2501
2502 }
2503 break;
2504 case 46 :
2505 // InternalVampireLanguage.g:1:318: RULE_SINGLE_QUOTE
2506 {
2507 mRULE_SINGLE_QUOTE();
2508
2509 }
2510 break;
2511 case 47 :
2512 // InternalVampireLanguage.g:1:336: RULE_DOLLAR_ID
2513 {
2514 mRULE_DOLLAR_ID();
2515
2516 }
2517 break;
2518 case 48 :
2519 // InternalVampireLanguage.g:1:351: RULE_DOUBLE_DOLLAR_ID
2520 {
2521 mRULE_DOUBLE_DOLLAR_ID();
2522
2523 }
2524 break;
2525 case 49 :
2526 // InternalVampireLanguage.g:1:373: RULE_LITERAL
2527 {
2528 mRULE_LITERAL();
2529
2530 }
2531 break;
2532 case 50 :
2533 // InternalVampireLanguage.g:1:386: RULE_SIGNED_LITERAL
2534 {
2535 mRULE_SIGNED_LITERAL();
2536
2537 }
2538 break;
2539 case 51 :
2540 // InternalVampireLanguage.g:1:406: RULE_SIGNED_REAL_ID
2541 {
2542 mRULE_SIGNED_REAL_ID();
2543
2544 }
2545 break;
2546 case 52 :
2547 // InternalVampireLanguage.g:1:426: RULE_SIGNED_RAT_ID
2548 {
2549 mRULE_SIGNED_RAT_ID();
2550
2551 }
2552 break;
2553 case 53 :
2554 // InternalVampireLanguage.g:1:445: RULE_SINGLE_COMMENT
2555 {
2556 mRULE_SINGLE_COMMENT();
2557
2558 }
2559 break;
2560 case 54 :
2561 // InternalVampireLanguage.g:1:465: RULE_ID
2562 {
2563 mRULE_ID();
2564
2565 }
2566 break;
2567 case 55 :
2568 // InternalVampireLanguage.g:1:473: RULE_STRING
2569 {
2570 mRULE_STRING();
2571
2572 }
2573 break;
2574 case 56 :
2575 // InternalVampireLanguage.g:1:485: RULE_ML_COMMENT
2576 {
2577 mRULE_ML_COMMENT();
2578
2579 }
2580 break;
2581 case 57 :
2582 // InternalVampireLanguage.g:1:501: RULE_SL_COMMENT
2583 {
2584 mRULE_SL_COMMENT();
2585
2586 }
2587 break;
2588 case 58 :
2589 // InternalVampireLanguage.g:1:517: RULE_WS
2590 {
2591 mRULE_WS();
2592
2593 }
2594 break;
2595
2596 }
2597
2598 }
2599
2600
2601 protected DFA8 dfa8 = new DFA8(this);
2602 protected DFA11 dfa11 = new DFA11(this);
2603 protected DFA26 dfa26 = new DFA26(this);
2604 static final String DFA8_eotS =
2605 "\6\uffff";
2606 static final String DFA8_eofS =
2607 "\6\uffff";
2608 static final String DFA8_minS =
2609 "\1\60\2\56\2\uffff\1\56";
2610 static final String DFA8_maxS =
2611 "\1\71\2\105\2\uffff\1\105";
2612 static final String DFA8_acceptS =
2613 "\3\uffff\1\2\1\1\1\uffff";
2614 static final String DFA8_specialS =
2615 "\6\uffff}>";
2616 static final String[] DFA8_transitionS = {
2617 "\1\1\11\2",
2618 "\1\3\26\uffff\1\4",
2619 "\1\3\1\uffff\12\5\13\uffff\1\4",
2620 "",
2621 "",
2622 "\1\3\1\uffff\12\5\13\uffff\1\4"
2623 };
2624
2625 static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
2626 static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);
2627 static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS);
2628 static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS);
2629 static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS);
2630 static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS);
2631 static final short[][] DFA8_transition;
2632
2633 static {
2634 int numStates = DFA8_transitionS.length;
2635 DFA8_transition = new short[numStates][];
2636 for (int i=0; i<numStates; i++) {
2637 DFA8_transition[i] = DFA.unpackEncodedString(DFA8_transitionS[i]);
2638 }
2639 }
2640
2641 class DFA8 extends DFA {
2642
2643 public DFA8(BaseRecognizer recognizer) {
2644 this.recognizer = recognizer;
2645 this.decisionNumber = 8;
2646 this.eot = DFA8_eot;
2647 this.eof = DFA8_eof;
2648 this.min = DFA8_min;
2649 this.max = DFA8_max;
2650 this.accept = DFA8_accept;
2651 this.special = DFA8_special;
2652 this.transition = DFA8_transition;
2653 }
2654 public String getDescription() {
2655 return "2647:38: ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID )";
2656 }
2657 }
2658 static final String DFA11_eotS =
2659 "\6\uffff\1\7\1\uffff";
2660 static final String DFA11_eofS =
2661 "\10\uffff";
2662 static final String DFA11_minS =
2663 "\1\60\2\56\1\60\1\uffff\1\56\1\60\1\uffff";
2664 static final String DFA11_maxS =
2665 "\1\71\2\105\1\71\1\uffff\2\105\1\uffff";
2666 static final String DFA11_acceptS =
2667 "\4\uffff\1\2\2\uffff\1\1";
2668 static final String DFA11_specialS =
2669 "\10\uffff}>";
2670 static final String[] DFA11_transitionS = {
2671 "\1\1\11\2",
2672 "\1\3\26\uffff\1\4",
2673 "\1\3\1\uffff\12\5\13\uffff\1\4",
2674 "\12\6",
2675 "",
2676 "\1\3\1\uffff\12\5\13\uffff\1\4",
2677 "\12\6\13\uffff\1\4",
2678 ""
2679 };
2680
2681 static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
2682 static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
2683 static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
2684 static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
2685 static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
2686 static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
2687 static final short[][] DFA11_transition;
2688
2689 static {
2690 int numStates = DFA11_transitionS.length;
2691 DFA11_transition = new short[numStates][];
2692 for (int i=0; i<numStates; i++) {
2693 DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
2694 }
2695 }
2696
2697 class DFA11 extends DFA {
2698
2699 public DFA11(BaseRecognizer recognizer) {
2700 this.recognizer = recognizer;
2701 this.decisionNumber = 11;
2702 this.eot = DFA11_eot;
2703 this.eof = DFA11_eof;
2704 this.min = DFA11_min;
2705 this.max = DFA11_max;
2706 this.accept = DFA11_accept;
2707 this.special = DFA11_special;
2708 this.transition = DFA11_transition;
2709 }
2710 public String getDescription() {
2711 return "2649:34: ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID )";
2712 }
2713 }
2714 static final String DFA26_eotS =
2715 "\1\uffff\1\50\1\52\1\uffff\1\50\3\uffff\11\50\2\uffff\1\73\1\76\2\uffff\1\100\1\102\2\uffff\1\111\1\50\2\uffff\2\120\5\uffff\2\50\3\uffff\15\50\1\150\12\uffff\3\107\2\uffff\1\111\12\uffff\1\120\2\160\2\uffff\1\50\1\163\15\50\2\uffff\3\107\5\uffff\1\160\1\50\1\uffff\13\50\1\u0093\3\50\3\107\1\uffff\4\50\1\u009e\5\50\1\u00a4\1\50\1\uffff\1\50\1\u00a7\1\50\1\u00a9\1\107\1\u00ab\4\50\1\uffff\5\50\1\uffff\2\50\1\uffff\1\50\1\uffff\1\u00b8\1\uffff\11\50\1\u00c2\1\50\1\u00c4\2\uffff\10\50\1\uffff\1\50\1\uffff\1\u00ce\4\50\1\u00d3\3\50\1\uffff\2\50\1\u00d9\1\u00da\1\uffff\1\u00db\1\u00dc\1\50\1\u00de\1\50\4\uffff\1\50\1\uffff\2\50\1\u00e3\1\50\1\uffff\4\50\1\u00e9\1\uffff";
2716 static final String DFA26_eofS =
2717 "\u00ea\uffff";
2718 static final String DFA26_minS =
2719 "\1\11\1\60\1\133\1\uffff\1\60\3\uffff\11\60\1\uffff\1\75\1\76\1\46\2\uffff\2\75\1\uffff\1\44\2\60\2\0\2\56\1\53\2\uffff\1\52\1\uffff\2\60\3\uffff\15\60\1\76\12\uffff\1\162\1\141\1\145\2\uffff\1\60\1\uffff\2\0\1\uffff\2\0\4\uffff\3\56\2\uffff\17\60\2\uffff\1\165\1\154\1\163\1\0\1\uffff\1\0\2\uffff\1\56\1\60\1\uffff\17\60\1\145\2\163\1\uffff\14\60\1\uffff\4\60\1\145\5\60\1\uffff\5\60\1\uffff\2\60\1\uffff\1\60\1\uffff\1\60\1\uffff\1\50\13\60\2\uffff\10\60\1\uffff\1\60\1\uffff\11\60\1\uffff\4\60\1\uffff\5\60\4\uffff\1\60\1\uffff\4\60\1\uffff\5\60\1\uffff";
2720 static final String DFA26_maxS =
2721 "\1\176\1\172\1\133\1\uffff\1\172\3\uffff\11\172\1\uffff\1\176\1\76\1\174\2\uffff\2\75\1\uffff\3\172\2\uffff\2\105\1\71\2\uffff\1\57\1\uffff\2\172\3\uffff\15\172\1\76\12\uffff\1\162\1\141\1\145\2\uffff\1\172\1\uffff\2\uffff\1\uffff\2\uffff\4\uffff\3\105\2\uffff\17\172\2\uffff\1\165\1\154\1\163\1\uffff\1\uffff\1\uffff\2\uffff\1\105\1\172\1\uffff\17\172\1\145\2\163\1\uffff\14\172\1\uffff\4\172\1\145\5\172\1\uffff\5\172\1\uffff\2\172\1\uffff\1\172\1\uffff\1\172\1\uffff\14\172\2\uffff\10\172\1\uffff\1\172\1\uffff\11\172\1\uffff\4\172\1\uffff\5\172\4\uffff\1\172\1\uffff\4\172\1\uffff\5\172\1\uffff";
2722 static final String DFA26_acceptS =
2723 "\3\uffff\1\4\1\uffff\1\6\1\7\1\10\11\uffff\1\30\3\uffff\1\37\1\40\2\uffff\1\43\10\uffff\1\65\1\66\1\uffff\1\72\2\uffff\1\54\1\2\1\3\16\uffff\1\34\1\32\1\46\1\35\1\36\1\44\1\45\1\41\1\47\1\42\3\uffff\1\60\1\57\1\uffff\1\53\2\uffff\1\55\2\uffff\1\67\1\61\1\63\1\64\3\uffff\1\70\1\71\17\uffff\1\31\1\33\4\uffff\1\55\1\uffff\1\56\1\62\2\uffff\1\5\22\uffff\1\56\14\uffff\1\23\12\uffff\1\11\5\uffff\1\16\2\uffff\1\22\1\uffff\1\50\1\uffff\1\52\14\uffff\1\51\1\1\10\uffff\1\17\1\uffff\1\27\11\uffff\1\24\4\uffff\1\20\5\uffff\1\15\1\12\1\13\1\14\1\uffff\1\25\4\uffff\1\26\5\uffff\1\21";
2724 static final String DFA26_specialS =
2725 "\35\uffff\1\0\1\5\53\uffff\1\1\1\7\1\uffff\1\2\1\4\35\uffff\1\6\1\uffff\1\3\173\uffff}>";
2726 static final String[] DFA26_transitionS = {
2727 "\2\45\2\uffff\1\45\22\uffff\1\45\1\27\1\35\1\uffff\1\32\1\42\1\25\1\36\1\5\1\6\1\uffff\1\41\1\2\1\41\1\7\1\44\1\37\11\40\1\30\1\uffff\1\22\1\23\1\uffff\1\31\1\uffff\32\33\1\21\1\uffff\1\3\2\43\1\uffff\1\10\1\34\1\11\1\13\1\34\1\4\1\34\1\12\1\1\2\34\1\14\1\34\1\16\1\34\1\17\3\34\1\15\1\20\5\34\1\uffff\1\26\1\uffff\1\24",
2728 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\46\14\47",
2729 "\1\51",
2730 "",
2731 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\54\5\47\1\53\13\47",
2732 "",
2733 "",
2734 "",
2735 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\56\4\47\1\55\2\47",
2736 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\57\13\47",
2737 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\30\47\1\60\1\47",
2738 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\61\25\47",
2739 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\62\25\47",
2740 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\7\47\1\63\20\47\1\64\1\47",
2741 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\65\25\47",
2742 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\13\47\1\66\16\47",
2743 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\67\14\47",
2744 "",
2745 "\1\70\100\uffff\1\71",
2746 "\1\72",
2747 "\1\75\125\uffff\1\74",
2748 "",
2749 "",
2750 "\1\77",
2751 "\1\101",
2752 "",
2753 "\1\106\74\uffff\5\107\1\104\5\107\1\105\7\107\1\103\6\107",
2754 "\12\110\7\uffff\32\110\4\uffff\1\110\1\uffff\32\110",
2755 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2756 "\42\113\1\114\71\113\1\112\uffa3\113",
2757 "\47\116\1\117\64\116\1\115\uffa3\116",
2758 "\1\121\1\122\25\uffff\1\121",
2759 "\1\121\1\122\12\123\13\uffff\1\121",
2760 "\1\41\1\uffff\1\41\2\uffff\1\124\11\125",
2761 "",
2762 "",
2763 "\1\126\4\uffff\1\127",
2764 "",
2765 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\130\27\47",
2766 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2767 "",
2768 "",
2769 "",
2770 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\5\47\1\131\24\47",
2771 "\12\47\7\uffff\32\47\4\uffff\1\132\1\uffff\32\47",
2772 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\133\21\47",
2773 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\134\7\47",
2774 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\135\3\47\1\136\10\47",
2775 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\17\47\1\137\12\47",
2776 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\5\47\1\140\24\47",
2777 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\141\15\47",
2778 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\142\25\47",
2779 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\17\47\1\143\12\47",
2780 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\6\47\1\144\23\47",
2781 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\145\31\47",
2782 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\12\47\1\146\17\47",
2783 "\1\147",
2784 "",
2785 "",
2786 "",
2787 "",
2788 "",
2789 "",
2790 "",
2791 "",
2792 "",
2793 "",
2794 "\1\151",
2795 "\1\152",
2796 "\1\153",
2797 "",
2798 "",
2799 "\12\110\7\uffff\32\110\4\uffff\1\110\1\uffff\32\110",
2800 "",
2801 "\42\117\1\154\71\117\1\154\uffa3\117",
2802 "\42\113\1\114\71\113\1\112\uffa3\113",
2803 "",
2804 "\47\117\1\156\64\117\1\156\uffa3\117",
2805 "\47\116\1\157\64\116\1\115\uffa3\116",
2806 "",
2807 "",
2808 "",
2809 "",
2810 "\1\121\1\122\12\123\13\uffff\1\121",
2811 "\1\121\1\122\25\uffff\1\121",
2812 "\1\121\1\122\12\161\13\uffff\1\121",
2813 "",
2814 "",
2815 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\13\47\1\162\16\47",
2816 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2817 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\3\47\1\164\1\47\1\165\11\47\1\166\12\47",
2818 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\167\13\47",
2819 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\24\47\1\170\5\47",
2820 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\11\47\1\171\20\47",
2821 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\172\13\47",
2822 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\173\13\47",
2823 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\174\21\47",
2824 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\175\15\47",
2825 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\176\13\47",
2826 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\177\25\47",
2827 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\u0080\31\47",
2828 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u0081\21\47",
2829 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u0082\14\47",
2830 "",
2831 "",
2832 "\1\u0083",
2833 "\1\u0084",
2834 "\1\u0085",
2835 "\42\113\1\114\71\113\1\112\uffa3\113",
2836 "",
2837 "\47\116\1\157\64\116\1\115\uffa3\116",
2838 "",
2839 "",
2840 "\1\121\1\122\12\161\13\uffff\1\121",
2841 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\24\47\1\u0087\5\47",
2842 "",
2843 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u0088\13\47",
2844 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\24\47\1\u0089\5\47",
2845 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u008a\10\47",
2846 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\u008b\15\47",
2847 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\u008c\15\47",
2848 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u008d\25\47",
2849 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\13\47\1\u008e\16\47",
2850 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u008f\6\47",
2851 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u0090\14\47",
2852 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\u0091\31\47",
2853 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u0092\10\47",
2854 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2855 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u0094\6\47",
2856 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u0095\14\47",
2857 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u0096\13\47",
2858 "\1\u0097",
2859 "\1\u0098",
2860 "\1\u0099",
2861 "",
2862 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\3\47\1\u009a\26\47",
2863 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\u009b\15\47",
2864 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u009c\14\47",
2865 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u009d\25\47",
2866 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2867 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\17\47\1\u009f\12\47",
2868 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\u00a0\27\47",
2869 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\13\47\1\u00a1\16\47",
2870 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\7\47\1\u00a2\22\47",
2871 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00a3\21\47",
2872 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2873 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00a5\25\47",
2874 "",
2875 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00a6\25\47",
2876 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2877 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\26\47\1\u00a8\3\47",
2878 "\12\107\7\uffff\32\107\4\uffff\1\107\1\uffff\32\107",
2879 "\1\u00aa",
2880 "\12\107\7\uffff\32\107\4\uffff\1\107\1\uffff\32\107",
2881 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00ac\25\47",
2882 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\u00ad\31\47",
2883 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\u00ae\27\47",
2884 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\3\47\1\u00af\26\47",
2885 "",
2886 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00b0\6\47",
2887 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00b1\6\47",
2888 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\u00b2\31\47",
2889 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00b3\25\47",
2890 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00b4\6\47",
2891 "",
2892 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\u00b5\15\47",
2893 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\3\47\1\u00b6\26\47",
2894 "",
2895 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u00b7\14\47",
2896 "",
2897 "\12\107\7\uffff\32\107\4\uffff\1\107\1\uffff\32\107",
2898 "",
2899 "\1\u00b9\7\uffff\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2900 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00ba\21\47",
2901 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00bb\6\47",
2902 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00bc\21\47",
2903 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00bd\21\47",
2904 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\24\47\1\u00be\5\47",
2905 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u00bf\10\47",
2906 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u00c0\7\47",
2907 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00c1\21\47",
2908 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2909 "\12\47\7\uffff\32\47\4\uffff\1\u00c3\1\uffff\32\47",
2910 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2911 "",
2912 "",
2913 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u00c5\14\47",
2914 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u00c6\13\47",
2915 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\u00c7\27\47",
2916 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u00c8\13\47",
2917 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u00c9\10\47",
2918 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\30\47\1\u00ca\1\47",
2919 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00cb\21\47",
2920 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u00cc\13\47",
2921 "",
2922 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\u00cd\27\47",
2923 "",
2924 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2925 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u00cf\10\47",
2926 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\u00d0\31\47",
2927 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u00d1\14\47",
2928 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00d2\25\47",
2929 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2930 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u00d4\7\47",
2931 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u00d5\14\47",
2932 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u00d6\13\47",
2933 "",
2934 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u00d7\7\47",
2935 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00d8\6\47",
2936 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2937 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2938 "",
2939 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2940 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2941 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u00dd\14\47",
2942 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2943 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00df\25\47",
2944 "",
2945 "",
2946 "",
2947 "",
2948 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\11\47\1\u00e0\20\47",
2949 "",
2950 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u00e1\7\47",
2951 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00e2\25\47",
2952 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2953 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\u00e4\27\47",
2954 "",
2955 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00e5\6\47",
2956 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\24\47\1\u00e6\5\47",
2957 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u00e7\10\47",
2958 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00e8\25\47",
2959 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2960 ""
2961 };
2962
2963 static final short[] DFA26_eot = DFA.unpackEncodedString(DFA26_eotS);
2964 static final short[] DFA26_eof = DFA.unpackEncodedString(DFA26_eofS);
2965 static final char[] DFA26_min = DFA.unpackEncodedStringToUnsignedChars(DFA26_minS);
2966 static final char[] DFA26_max = DFA.unpackEncodedStringToUnsignedChars(DFA26_maxS);
2967 static final short[] DFA26_accept = DFA.unpackEncodedString(DFA26_acceptS);
2968 static final short[] DFA26_special = DFA.unpackEncodedString(DFA26_specialS);
2969 static final short[][] DFA26_transition;
2970
2971 static {
2972 int numStates = DFA26_transitionS.length;
2973 DFA26_transition = new short[numStates][];
2974 for (int i=0; i<numStates; i++) {
2975 DFA26_transition[i] = DFA.unpackEncodedString(DFA26_transitionS[i]);
2976 }
2977 }
2978
2979 class DFA26 extends DFA {
2980
2981 public DFA26(BaseRecognizer recognizer) {
2982 this.recognizer = recognizer;
2983 this.decisionNumber = 26;
2984 this.eot = DFA26_eot;
2985 this.eof = DFA26_eof;
2986 this.min = DFA26_min;
2987 this.max = DFA26_max;
2988 this.accept = DFA26_accept;
2989 this.special = DFA26_special;
2990 this.transition = DFA26_transition;
2991 }
2992 public String getDescription() {
2993 return "1:1: Tokens : ( T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_UPPER_WORD_ID | RULE_LOWER_WORD_ID | RULE_DOUBLE_QUOTE | RULE_SINGLE_QUOTE | RULE_DOLLAR_ID | RULE_DOUBLE_DOLLAR_ID | RULE_LITERAL | RULE_SIGNED_LITERAL | RULE_SIGNED_REAL_ID | RULE_SIGNED_RAT_ID | RULE_SINGLE_COMMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS );";
2994 }
2995 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
2996 IntStream input = _input;
2997 int _s = s;
2998 switch ( s ) {
2999 case 0 :
3000 int LA26_29 = input.LA(1);
3001
3002 s = -1;
3003 if ( (LA26_29=='\\') ) {s = 74;}
3004
3005 else if ( ((LA26_29>='\u0000' && LA26_29<='!')||(LA26_29>='#' && LA26_29<='[')||(LA26_29>=']' && LA26_29<='\uFFFF')) ) {s = 75;}
3006
3007 else if ( (LA26_29=='\"') ) {s = 76;}
3008
3009 if ( s>=0 ) return s;
3010 break;
3011 case 1 :
3012 int LA26_74 = input.LA(1);
3013
3014 s = -1;
3015 if ( (LA26_74=='\"'||LA26_74=='\\') ) {s = 108;}
3016
3017 else if ( ((LA26_74>='\u0000' && LA26_74<='!')||(LA26_74>='#' && LA26_74<='[')||(LA26_74>=']' && LA26_74<='\uFFFF')) ) {s = 79;}
3018
3019 if ( s>=0 ) return s;
3020 break;
3021 case 2 :
3022 int LA26_77 = input.LA(1);
3023
3024 s = -1;
3025 if ( (LA26_77=='\''||LA26_77=='\\') ) {s = 110;}
3026
3027 else if ( ((LA26_77>='\u0000' && LA26_77<='&')||(LA26_77>='(' && LA26_77<='[')||(LA26_77>=']' && LA26_77<='\uFFFF')) ) {s = 79;}
3028
3029 if ( s>=0 ) return s;
3030 break;
3031 case 3 :
3032 int LA26_110 = input.LA(1);
3033
3034 s = -1;
3035 if ( (LA26_110=='\'') ) {s = 111;}
3036
3037 else if ( (LA26_110=='\\') ) {s = 77;}
3038
3039 else if ( ((LA26_110>='\u0000' && LA26_110<='&')||(LA26_110>='(' && LA26_110<='[')||(LA26_110>=']' && LA26_110<='\uFFFF')) ) {s = 78;}
3040
3041 if ( s>=0 ) return s;
3042 break;
3043 case 4 :
3044 int LA26_78 = input.LA(1);
3045
3046 s = -1;
3047 if ( (LA26_78=='\'') ) {s = 111;}
3048
3049 else if ( (LA26_78=='\\') ) {s = 77;}
3050
3051 else if ( ((LA26_78>='\u0000' && LA26_78<='&')||(LA26_78>='(' && LA26_78<='[')||(LA26_78>=']' && LA26_78<='\uFFFF')) ) {s = 78;}
3052
3053 if ( s>=0 ) return s;
3054 break;
3055 case 5 :
3056 int LA26_30 = input.LA(1);
3057
3058 s = -1;
3059 if ( (LA26_30=='\\') ) {s = 77;}
3060
3061 else if ( ((LA26_30>='\u0000' && LA26_30<='&')||(LA26_30>='(' && LA26_30<='[')||(LA26_30>=']' && LA26_30<='\uFFFF')) ) {s = 78;}
3062
3063 else if ( (LA26_30=='\'') ) {s = 79;}
3064
3065 if ( s>=0 ) return s;
3066 break;
3067 case 6 :
3068 int LA26_108 = input.LA(1);
3069
3070 s = -1;
3071 if ( (LA26_108=='\"') ) {s = 76;}
3072
3073 else if ( (LA26_108=='\\') ) {s = 74;}
3074
3075 else if ( ((LA26_108>='\u0000' && LA26_108<='!')||(LA26_108>='#' && LA26_108<='[')||(LA26_108>=']' && LA26_108<='\uFFFF')) ) {s = 75;}
3076
3077 if ( s>=0 ) return s;
3078 break;
3079 case 7 :
3080 int LA26_75 = input.LA(1);
3081
3082 s = -1;
3083 if ( (LA26_75=='\"') ) {s = 76;}
3084
3085 else if ( (LA26_75=='\\') ) {s = 74;}
3086
3087 else if ( ((LA26_75>='\u0000' && LA26_75<='!')||(LA26_75>='#' && LA26_75<='[')||(LA26_75>=']' && LA26_75<='\uFFFF')) ) {s = 75;}
3088
3089 if ( s>=0 ) return s;
3090 break;
3091 }
3092 NoViableAltException nvae =
3093 new NoViableAltException(getDescription(), 26, _s, input);
3094 error(nvae);
3095 throw nvae;
3096 }
3097 }
3098
3099
3100} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java
new file mode 100644
index 00000000..4388b674
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java
@@ -0,0 +1,7031 @@
1package ca.mcgill.ecse.dslreasoner.parser.antlr.internal;
2
3import org.eclipse.xtext.*;
4import org.eclipse.xtext.parser.*;
5import org.eclipse.xtext.parser.impl.*;
6import org.eclipse.emf.ecore.util.EcoreUtil;
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
9import org.eclipse.xtext.parser.antlr.XtextTokenStream;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
11import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
12import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
13
14
15
16import org.antlr.runtime.*;
17import java.util.Stack;
18import java.util.List;
19import java.util.ArrayList;
20
21@SuppressWarnings("all")
22public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
23 public static final String[] tokenNames = new String[] {
24 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_SINGLE_QUOTE", "RULE_LOWER_WORD_ID", "RULE_LITERAL", "RULE_SIGNED_LITERAL", "RULE_SINGLE_COMMENT", "RULE_DOLLAR_ID", "RULE_DOUBLE_DOLLAR_ID", "RULE_UPPER_WORD_ID", "RULE_SIGNED_REAL_ID", "RULE_SIGNED_RAT_ID", "RULE_DOUBLE_QUOTE", "RULE_ALPHA_NUMERIC", "RULE_SIGN", "RULE_INT", "RULE_UNSIGNED_REAL_FRAC_ID", "RULE_UNSIGNED_REAL_EXP_ID", "RULE_UNSIGNED_RAT_ID", "RULE_ANY_OTHER", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "'include('", "',['", "','", "']'", "'fof'", "'('", "')'", "'.'", "'axiom'", "'conjecture'", "'hypothesis'", "'definition'", "'assumption'", "'lemma'", "'theorem'", "'corollary'", "'negated_conjecture'", "'plain'", "'type'", "'fi_domain'", "'fi_functors'", "'fi_predicates'", "'unknown'", "'['", "'<=>'", "'=>'", "'<='", "'<~>'", "'~|'", "'~&'", "'&'", "'|'", "'!'", "':'", "'?'", "'~'", "'!='", "'='", "':='", "'$true'", "'$false'", "'$less'"
25 };
26 public static final int RULE_UNSIGNED_RAT_ID=20;
27 public static final int T__50=50;
28 public static final int RULE_SIGN=16;
29 public static final int T__59=59;
30 public static final int RULE_SIGNED_LITERAL=7;
31 public static final int T__55=55;
32 public static final int T__56=56;
33 public static final int T__57=57;
34 public static final int T__58=58;
35 public static final int T__51=51;
36 public static final int RULE_DOUBLE_QUOTE=14;
37 public static final int T__52=52;
38 public static final int RULE_LITERAL=6;
39 public static final int T__53=53;
40 public static final int RULE_UNSIGNED_REAL_FRAC_ID=18;
41 public static final int T__54=54;
42 public static final int T__60=60;
43 public static final int T__61=61;
44 public static final int RULE_ID=22;
45 public static final int RULE_SINGLE_QUOTE=4;
46 public static final int RULE_SINGLE_COMMENT=8;
47 public static final int T__27=27;
48 public static final int T__28=28;
49 public static final int RULE_INT=17;
50 public static final int T__29=29;
51 public static final int T__66=66;
52 public static final int RULE_ML_COMMENT=24;
53 public static final int T__67=67;
54 public static final int RULE_SIGNED_RAT_ID=13;
55 public static final int T__68=68;
56 public static final int T__62=62;
57 public static final int T__63=63;
58 public static final int T__64=64;
59 public static final int T__65=65;
60 public static final int RULE_LOWER_WORD_ID=5;
61 public static final int RULE_STRING=23;
62 public static final int RULE_SL_COMMENT=25;
63 public static final int T__37=37;
64 public static final int T__38=38;
65 public static final int T__39=39;
66 public static final int T__33=33;
67 public static final int T__34=34;
68 public static final int T__35=35;
69 public static final int T__36=36;
70 public static final int EOF=-1;
71 public static final int T__30=30;
72 public static final int RULE_UNSIGNED_REAL_EXP_ID=19;
73 public static final int T__31=31;
74 public static final int T__32=32;
75 public static final int RULE_UPPER_WORD_ID=11;
76 public static final int RULE_WS=26;
77 public static final int RULE_DOLLAR_ID=9;
78 public static final int RULE_ALPHA_NUMERIC=15;
79 public static final int RULE_ANY_OTHER=21;
80 public static final int RULE_DOUBLE_DOLLAR_ID=10;
81 public static final int T__48=48;
82 public static final int T__49=49;
83 public static final int T__44=44;
84 public static final int T__45=45;
85 public static final int RULE_SIGNED_REAL_ID=12;
86 public static final int T__46=46;
87 public static final int T__47=47;
88 public static final int T__40=40;
89 public static final int T__41=41;
90 public static final int T__42=42;
91 public static final int T__43=43;
92
93 // delegates
94 // delegators
95
96
97 public InternalVampireLanguageParser(TokenStream input) {
98 this(input, new RecognizerSharedState());
99 }
100 public InternalVampireLanguageParser(TokenStream input, RecognizerSharedState state) {
101 super(input, state);
102
103 }
104
105
106 public String[] getTokenNames() { return InternalVampireLanguageParser.tokenNames; }
107 public String getGrammarFileName() { return "InternalVampireLanguage.g"; }
108
109
110
111 private VampireLanguageGrammarAccess grammarAccess;
112
113 public InternalVampireLanguageParser(TokenStream input, VampireLanguageGrammarAccess grammarAccess) {
114 this(input);
115 this.grammarAccess = grammarAccess;
116 registerRules(grammarAccess.getGrammar());
117 }
118
119 @Override
120 protected String getFirstRuleName() {
121 return "VampireModel";
122 }
123
124 @Override
125 protected VampireLanguageGrammarAccess getGrammarAccess() {
126 return grammarAccess;
127 }
128
129
130
131
132 // $ANTLR start "entryRuleVampireModel"
133 // InternalVampireLanguage.g:64:1: entryRuleVampireModel returns [EObject current=null] : iv_ruleVampireModel= ruleVampireModel EOF ;
134 public final EObject entryRuleVampireModel() throws RecognitionException {
135 EObject current = null;
136
137 EObject iv_ruleVampireModel = null;
138
139
140 try {
141 // InternalVampireLanguage.g:64:53: (iv_ruleVampireModel= ruleVampireModel EOF )
142 // InternalVampireLanguage.g:65:2: iv_ruleVampireModel= ruleVampireModel EOF
143 {
144 newCompositeNode(grammarAccess.getVampireModelRule());
145 pushFollow(FOLLOW_1);
146 iv_ruleVampireModel=ruleVampireModel();
147
148 state._fsp--;
149
150 current =iv_ruleVampireModel;
151 match(input,EOF,FOLLOW_2);
152
153 }
154
155 }
156
157 catch (RecognitionException re) {
158 recover(input,re);
159 appendSkippedTokens();
160 }
161 finally {
162 }
163 return current;
164 }
165 // $ANTLR end "entryRuleVampireModel"
166
167
168 // $ANTLR start "ruleVampireModel"
169 // InternalVampireLanguage.g:71:1: ruleVampireModel returns [EObject current=null] : ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) )* ;
170 public final EObject ruleVampireModel() throws RecognitionException {
171 EObject current = null;
172
173 EObject lv_includes_0_0 = null;
174
175 EObject lv_comments_1_0 = null;
176
177 EObject lv_formulas_2_0 = null;
178
179
180
181 enterRule();
182
183 try {
184 // InternalVampireLanguage.g:77:2: ( ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) )* )
185 // InternalVampireLanguage.g:78:2: ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) )*
186 {
187 // InternalVampireLanguage.g:78:2: ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) )*
188 loop1:
189 do {
190 int alt1=4;
191 switch ( input.LA(1) ) {
192 case 27:
193 {
194 alt1=1;
195 }
196 break;
197 case RULE_SINGLE_COMMENT:
198 {
199 alt1=2;
200 }
201 break;
202 case 31:
203 {
204 alt1=3;
205 }
206 break;
207
208 }
209
210 switch (alt1) {
211 case 1 :
212 // InternalVampireLanguage.g:79:3: ( (lv_includes_0_0= ruleVLSInclude ) )
213 {
214 // InternalVampireLanguage.g:79:3: ( (lv_includes_0_0= ruleVLSInclude ) )
215 // InternalVampireLanguage.g:80:4: (lv_includes_0_0= ruleVLSInclude )
216 {
217 // InternalVampireLanguage.g:80:4: (lv_includes_0_0= ruleVLSInclude )
218 // InternalVampireLanguage.g:81:5: lv_includes_0_0= ruleVLSInclude
219 {
220
221 newCompositeNode(grammarAccess.getVampireModelAccess().getIncludesVLSIncludeParserRuleCall_0_0());
222
223 pushFollow(FOLLOW_3);
224 lv_includes_0_0=ruleVLSInclude();
225
226 state._fsp--;
227
228
229 if (current==null) {
230 current = createModelElementForParent(grammarAccess.getVampireModelRule());
231 }
232 add(
233 current,
234 "includes",
235 lv_includes_0_0,
236 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSInclude");
237 afterParserOrEnumRuleCall();
238
239
240 }
241
242
243 }
244
245
246 }
247 break;
248 case 2 :
249 // InternalVampireLanguage.g:99:3: ( (lv_comments_1_0= ruleVLSComment ) )
250 {
251 // InternalVampireLanguage.g:99:3: ( (lv_comments_1_0= ruleVLSComment ) )
252 // InternalVampireLanguage.g:100:4: (lv_comments_1_0= ruleVLSComment )
253 {
254 // InternalVampireLanguage.g:100:4: (lv_comments_1_0= ruleVLSComment )
255 // InternalVampireLanguage.g:101:5: lv_comments_1_0= ruleVLSComment
256 {
257
258 newCompositeNode(grammarAccess.getVampireModelAccess().getCommentsVLSCommentParserRuleCall_1_0());
259
260 pushFollow(FOLLOW_3);
261 lv_comments_1_0=ruleVLSComment();
262
263 state._fsp--;
264
265
266 if (current==null) {
267 current = createModelElementForParent(grammarAccess.getVampireModelRule());
268 }
269 add(
270 current,
271 "comments",
272 lv_comments_1_0,
273 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSComment");
274 afterParserOrEnumRuleCall();
275
276
277 }
278
279
280 }
281
282
283 }
284 break;
285 case 3 :
286 // InternalVampireLanguage.g:119:3: ( (lv_formulas_2_0= ruleVLSFofFormula ) )
287 {
288 // InternalVampireLanguage.g:119:3: ( (lv_formulas_2_0= ruleVLSFofFormula ) )
289 // InternalVampireLanguage.g:120:4: (lv_formulas_2_0= ruleVLSFofFormula )
290 {
291 // InternalVampireLanguage.g:120:4: (lv_formulas_2_0= ruleVLSFofFormula )
292 // InternalVampireLanguage.g:121:5: lv_formulas_2_0= ruleVLSFofFormula
293 {
294
295 newCompositeNode(grammarAccess.getVampireModelAccess().getFormulasVLSFofFormulaParserRuleCall_2_0());
296
297 pushFollow(FOLLOW_3);
298 lv_formulas_2_0=ruleVLSFofFormula();
299
300 state._fsp--;
301
302
303 if (current==null) {
304 current = createModelElementForParent(grammarAccess.getVampireModelRule());
305 }
306 add(
307 current,
308 "formulas",
309 lv_formulas_2_0,
310 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofFormula");
311 afterParserOrEnumRuleCall();
312
313
314 }
315
316
317 }
318
319
320 }
321 break;
322
323 default :
324 break loop1;
325 }
326 } while (true);
327
328
329 }
330
331
332 leaveRule();
333
334 }
335
336 catch (RecognitionException re) {
337 recover(input,re);
338 appendSkippedTokens();
339 }
340 finally {
341 }
342 return current;
343 }
344 // $ANTLR end "ruleVampireModel"
345
346
347 // $ANTLR start "entryRuleVLSInclude"
348 // InternalVampireLanguage.g:142:1: entryRuleVLSInclude returns [EObject current=null] : iv_ruleVLSInclude= ruleVLSInclude EOF ;
349 public final EObject entryRuleVLSInclude() throws RecognitionException {
350 EObject current = null;
351
352 EObject iv_ruleVLSInclude = null;
353
354
355 try {
356 // InternalVampireLanguage.g:142:51: (iv_ruleVLSInclude= ruleVLSInclude EOF )
357 // InternalVampireLanguage.g:143:2: iv_ruleVLSInclude= ruleVLSInclude EOF
358 {
359 newCompositeNode(grammarAccess.getVLSIncludeRule());
360 pushFollow(FOLLOW_1);
361 iv_ruleVLSInclude=ruleVLSInclude();
362
363 state._fsp--;
364
365 current =iv_ruleVLSInclude;
366 match(input,EOF,FOLLOW_2);
367
368 }
369
370 }
371
372 catch (RecognitionException re) {
373 recover(input,re);
374 appendSkippedTokens();
375 }
376 finally {
377 }
378 return current;
379 }
380 // $ANTLR end "entryRuleVLSInclude"
381
382
383 // $ANTLR start "ruleVLSInclude"
384 // InternalVampireLanguage.g:149:1: ruleVLSInclude returns [EObject current=null] : (otherlv_0= 'include(' ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) ) (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )? ) ;
385 public final EObject ruleVLSInclude() throws RecognitionException {
386 EObject current = null;
387
388 Token otherlv_0=null;
389 Token lv_fileName_1_0=null;
390 Token otherlv_2=null;
391 Token otherlv_4=null;
392 Token otherlv_6=null;
393 EObject lv_names_3_0 = null;
394
395 EObject lv_names_5_0 = null;
396
397
398
399 enterRule();
400
401 try {
402 // InternalVampireLanguage.g:155:2: ( (otherlv_0= 'include(' ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) ) (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )? ) )
403 // InternalVampireLanguage.g:156:2: (otherlv_0= 'include(' ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) ) (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )? )
404 {
405 // InternalVampireLanguage.g:156:2: (otherlv_0= 'include(' ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) ) (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )? )
406 // InternalVampireLanguage.g:157:3: otherlv_0= 'include(' ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) ) (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )?
407 {
408 otherlv_0=(Token)match(input,27,FOLLOW_4);
409
410 newLeafNode(otherlv_0, grammarAccess.getVLSIncludeAccess().getIncludeKeyword_0());
411
412 // InternalVampireLanguage.g:161:3: ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) )
413 // InternalVampireLanguage.g:162:4: (lv_fileName_1_0= RULE_SINGLE_QUOTE )
414 {
415 // InternalVampireLanguage.g:162:4: (lv_fileName_1_0= RULE_SINGLE_QUOTE )
416 // InternalVampireLanguage.g:163:5: lv_fileName_1_0= RULE_SINGLE_QUOTE
417 {
418 lv_fileName_1_0=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_5);
419
420 newLeafNode(lv_fileName_1_0, grammarAccess.getVLSIncludeAccess().getFileNameSINGLE_QUOTETerminalRuleCall_1_0());
421
422
423 if (current==null) {
424 current = createModelElement(grammarAccess.getVLSIncludeRule());
425 }
426 setWithLastConsumed(
427 current,
428 "fileName",
429 lv_fileName_1_0,
430 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
431
432
433 }
434
435
436 }
437
438 // InternalVampireLanguage.g:179:3: (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )?
439 int alt3=2;
440 int LA3_0 = input.LA(1);
441
442 if ( (LA3_0==28) ) {
443 alt3=1;
444 }
445 switch (alt3) {
446 case 1 :
447 // InternalVampireLanguage.g:180:4: otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']'
448 {
449 otherlv_2=(Token)match(input,28,FOLLOW_6);
450
451 newLeafNode(otherlv_2, grammarAccess.getVLSIncludeAccess().getCommaLeftSquareBracketKeyword_2_0());
452
453 // InternalVampireLanguage.g:184:4: ( (lv_names_3_0= ruleVLSName ) )
454 // InternalVampireLanguage.g:185:5: (lv_names_3_0= ruleVLSName )
455 {
456 // InternalVampireLanguage.g:185:5: (lv_names_3_0= ruleVLSName )
457 // InternalVampireLanguage.g:186:6: lv_names_3_0= ruleVLSName
458 {
459
460 newCompositeNode(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_1_0());
461
462 pushFollow(FOLLOW_7);
463 lv_names_3_0=ruleVLSName();
464
465 state._fsp--;
466
467
468 if (current==null) {
469 current = createModelElementForParent(grammarAccess.getVLSIncludeRule());
470 }
471 add(
472 current,
473 "names",
474 lv_names_3_0,
475 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
476 afterParserOrEnumRuleCall();
477
478
479 }
480
481
482 }
483
484 // InternalVampireLanguage.g:203:4: (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )*
485 loop2:
486 do {
487 int alt2=2;
488 int LA2_0 = input.LA(1);
489
490 if ( (LA2_0==29) ) {
491 alt2=1;
492 }
493
494
495 switch (alt2) {
496 case 1 :
497 // InternalVampireLanguage.g:204:5: otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) )
498 {
499 otherlv_4=(Token)match(input,29,FOLLOW_6);
500
501 newLeafNode(otherlv_4, grammarAccess.getVLSIncludeAccess().getCommaKeyword_2_2_0());
502
503 // InternalVampireLanguage.g:208:5: ( (lv_names_5_0= ruleVLSName ) )
504 // InternalVampireLanguage.g:209:6: (lv_names_5_0= ruleVLSName )
505 {
506 // InternalVampireLanguage.g:209:6: (lv_names_5_0= ruleVLSName )
507 // InternalVampireLanguage.g:210:7: lv_names_5_0= ruleVLSName
508 {
509
510 newCompositeNode(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_2_1_0());
511
512 pushFollow(FOLLOW_7);
513 lv_names_5_0=ruleVLSName();
514
515 state._fsp--;
516
517
518 if (current==null) {
519 current = createModelElementForParent(grammarAccess.getVLSIncludeRule());
520 }
521 add(
522 current,
523 "names",
524 lv_names_5_0,
525 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
526 afterParserOrEnumRuleCall();
527
528
529 }
530
531
532 }
533
534
535 }
536 break;
537
538 default :
539 break loop2;
540 }
541 } while (true);
542
543 otherlv_6=(Token)match(input,30,FOLLOW_2);
544
545 newLeafNode(otherlv_6, grammarAccess.getVLSIncludeAccess().getRightSquareBracketKeyword_2_3());
546
547
548 }
549 break;
550
551 }
552
553
554 }
555
556
557 }
558
559
560 leaveRule();
561
562 }
563
564 catch (RecognitionException re) {
565 recover(input,re);
566 appendSkippedTokens();
567 }
568 finally {
569 }
570 return current;
571 }
572 // $ANTLR end "ruleVLSInclude"
573
574
575 // $ANTLR start "entryRuleVLSName"
576 // InternalVampireLanguage.g:237:1: entryRuleVLSName returns [EObject current=null] : iv_ruleVLSName= ruleVLSName EOF ;
577 public final EObject entryRuleVLSName() throws RecognitionException {
578 EObject current = null;
579
580 EObject iv_ruleVLSName = null;
581
582
583 try {
584 // InternalVampireLanguage.g:237:48: (iv_ruleVLSName= ruleVLSName EOF )
585 // InternalVampireLanguage.g:238:2: iv_ruleVLSName= ruleVLSName EOF
586 {
587 newCompositeNode(grammarAccess.getVLSNameRule());
588 pushFollow(FOLLOW_1);
589 iv_ruleVLSName=ruleVLSName();
590
591 state._fsp--;
592
593 current =iv_ruleVLSName;
594 match(input,EOF,FOLLOW_2);
595
596 }
597
598 }
599
600 catch (RecognitionException re) {
601 recover(input,re);
602 appendSkippedTokens();
603 }
604 finally {
605 }
606 return current;
607 }
608 // $ANTLR end "entryRuleVLSName"
609
610
611 // $ANTLR start "ruleVLSName"
612 // InternalVampireLanguage.g:244:1: ruleVLSName returns [EObject current=null] : ( ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) ) ) ;
613 public final EObject ruleVLSName() throws RecognitionException {
614 EObject current = null;
615
616 Token lv_name_0_1=null;
617 Token lv_name_0_2=null;
618 Token lv_name_0_3=null;
619 Token lv_name_0_4=null;
620
621
622 enterRule();
623
624 try {
625 // InternalVampireLanguage.g:250:2: ( ( ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) ) ) )
626 // InternalVampireLanguage.g:251:2: ( ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) ) )
627 {
628 // InternalVampireLanguage.g:251:2: ( ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) ) )
629 // InternalVampireLanguage.g:252:3: ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) )
630 {
631 // InternalVampireLanguage.g:252:3: ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) )
632 // InternalVampireLanguage.g:253:4: (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL )
633 {
634 // InternalVampireLanguage.g:253:4: (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL )
635 int alt4=4;
636 switch ( input.LA(1) ) {
637 case RULE_LOWER_WORD_ID:
638 {
639 alt4=1;
640 }
641 break;
642 case RULE_SINGLE_QUOTE:
643 {
644 alt4=2;
645 }
646 break;
647 case RULE_LITERAL:
648 {
649 alt4=3;
650 }
651 break;
652 case RULE_SIGNED_LITERAL:
653 {
654 alt4=4;
655 }
656 break;
657 default:
658 NoViableAltException nvae =
659 new NoViableAltException("", 4, 0, input);
660
661 throw nvae;
662 }
663
664 switch (alt4) {
665 case 1 :
666 // InternalVampireLanguage.g:254:5: lv_name_0_1= RULE_LOWER_WORD_ID
667 {
668 lv_name_0_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
669
670 newLeafNode(lv_name_0_1, grammarAccess.getVLSNameAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_0());
671
672
673 if (current==null) {
674 current = createModelElement(grammarAccess.getVLSNameRule());
675 }
676 setWithLastConsumed(
677 current,
678 "name",
679 lv_name_0_1,
680 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
681
682
683 }
684 break;
685 case 2 :
686 // InternalVampireLanguage.g:269:5: lv_name_0_2= RULE_SINGLE_QUOTE
687 {
688 lv_name_0_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
689
690 newLeafNode(lv_name_0_2, grammarAccess.getVLSNameAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1());
691
692
693 if (current==null) {
694 current = createModelElement(grammarAccess.getVLSNameRule());
695 }
696 setWithLastConsumed(
697 current,
698 "name",
699 lv_name_0_2,
700 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
701
702
703 }
704 break;
705 case 3 :
706 // InternalVampireLanguage.g:284:5: lv_name_0_3= RULE_LITERAL
707 {
708 lv_name_0_3=(Token)match(input,RULE_LITERAL,FOLLOW_2);
709
710 newLeafNode(lv_name_0_3, grammarAccess.getVLSNameAccess().getNameLITERALTerminalRuleCall_0_2());
711
712
713 if (current==null) {
714 current = createModelElement(grammarAccess.getVLSNameRule());
715 }
716 setWithLastConsumed(
717 current,
718 "name",
719 lv_name_0_3,
720 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LITERAL");
721
722
723 }
724 break;
725 case 4 :
726 // InternalVampireLanguage.g:299:5: lv_name_0_4= RULE_SIGNED_LITERAL
727 {
728 lv_name_0_4=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_2);
729
730 newLeafNode(lv_name_0_4, grammarAccess.getVLSNameAccess().getNameSIGNED_LITERALTerminalRuleCall_0_3());
731
732
733 if (current==null) {
734 current = createModelElement(grammarAccess.getVLSNameRule());
735 }
736 setWithLastConsumed(
737 current,
738 "name",
739 lv_name_0_4,
740 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
741
742
743 }
744 break;
745
746 }
747
748
749 }
750
751
752 }
753
754
755 }
756
757
758 leaveRule();
759
760 }
761
762 catch (RecognitionException re) {
763 recover(input,re);
764 appendSkippedTokens();
765 }
766 finally {
767 }
768 return current;
769 }
770 // $ANTLR end "ruleVLSName"
771
772
773 // $ANTLR start "entryRuleVLSComment"
774 // InternalVampireLanguage.g:319:1: entryRuleVLSComment returns [EObject current=null] : iv_ruleVLSComment= ruleVLSComment EOF ;
775 public final EObject entryRuleVLSComment() throws RecognitionException {
776 EObject current = null;
777
778 EObject iv_ruleVLSComment = null;
779
780
781 try {
782 // InternalVampireLanguage.g:319:51: (iv_ruleVLSComment= ruleVLSComment EOF )
783 // InternalVampireLanguage.g:320:2: iv_ruleVLSComment= ruleVLSComment EOF
784 {
785 newCompositeNode(grammarAccess.getVLSCommentRule());
786 pushFollow(FOLLOW_1);
787 iv_ruleVLSComment=ruleVLSComment();
788
789 state._fsp--;
790
791 current =iv_ruleVLSComment;
792 match(input,EOF,FOLLOW_2);
793
794 }
795
796 }
797
798 catch (RecognitionException re) {
799 recover(input,re);
800 appendSkippedTokens();
801 }
802 finally {
803 }
804 return current;
805 }
806 // $ANTLR end "entryRuleVLSComment"
807
808
809 // $ANTLR start "ruleVLSComment"
810 // InternalVampireLanguage.g:326:1: ruleVLSComment returns [EObject current=null] : ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) ) ;
811 public final EObject ruleVLSComment() throws RecognitionException {
812 EObject current = null;
813
814 Token lv_comment_0_0=null;
815
816
817 enterRule();
818
819 try {
820 // InternalVampireLanguage.g:332:2: ( ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) ) )
821 // InternalVampireLanguage.g:333:2: ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) )
822 {
823 // InternalVampireLanguage.g:333:2: ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) )
824 // InternalVampireLanguage.g:334:3: (lv_comment_0_0= RULE_SINGLE_COMMENT )
825 {
826 // InternalVampireLanguage.g:334:3: (lv_comment_0_0= RULE_SINGLE_COMMENT )
827 // InternalVampireLanguage.g:335:4: lv_comment_0_0= RULE_SINGLE_COMMENT
828 {
829 lv_comment_0_0=(Token)match(input,RULE_SINGLE_COMMENT,FOLLOW_2);
830
831 newLeafNode(lv_comment_0_0, grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_0());
832
833
834 if (current==null) {
835 current = createModelElement(grammarAccess.getVLSCommentRule());
836 }
837 setWithLastConsumed(
838 current,
839 "comment",
840 lv_comment_0_0,
841 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_COMMENT");
842
843
844 }
845
846
847 }
848
849
850 }
851
852
853 leaveRule();
854
855 }
856
857 catch (RecognitionException re) {
858 recover(input,re);
859 appendSkippedTokens();
860 }
861 finally {
862 }
863 return current;
864 }
865 // $ANTLR end "ruleVLSComment"
866
867
868 // $ANTLR start "entryRuleVLSFofFormula"
869 // InternalVampireLanguage.g:354:1: entryRuleVLSFofFormula returns [EObject current=null] : iv_ruleVLSFofFormula= ruleVLSFofFormula EOF ;
870 public final EObject entryRuleVLSFofFormula() throws RecognitionException {
871 EObject current = null;
872
873 EObject iv_ruleVLSFofFormula = null;
874
875
876 try {
877 // InternalVampireLanguage.g:354:54: (iv_ruleVLSFofFormula= ruleVLSFofFormula EOF )
878 // InternalVampireLanguage.g:355:2: iv_ruleVLSFofFormula= ruleVLSFofFormula EOF
879 {
880 newCompositeNode(grammarAccess.getVLSFofFormulaRule());
881 pushFollow(FOLLOW_1);
882 iv_ruleVLSFofFormula=ruleVLSFofFormula();
883
884 state._fsp--;
885
886 current =iv_ruleVLSFofFormula;
887 match(input,EOF,FOLLOW_2);
888
889 }
890
891 }
892
893 catch (RecognitionException re) {
894 recover(input,re);
895 appendSkippedTokens();
896 }
897 finally {
898 }
899 return current;
900 }
901 // $ANTLR end "entryRuleVLSFofFormula"
902
903
904 // $ANTLR start "ruleVLSFofFormula"
905 // InternalVampireLanguage.g:361:1: ruleVLSFofFormula returns [EObject current=null] : (otherlv_0= 'fof' otherlv_1= '(' ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) otherlv_3= ',' ( (lv_fofRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' ) ;
906 public final EObject ruleVLSFofFormula() throws RecognitionException {
907 EObject current = null;
908
909 Token otherlv_0=null;
910 Token otherlv_1=null;
911 Token lv_name_2_1=null;
912 Token lv_name_2_2=null;
913 Token lv_name_2_3=null;
914 Token otherlv_3=null;
915 Token otherlv_5=null;
916 Token otherlv_7=null;
917 Token otherlv_9=null;
918 Token otherlv_10=null;
919 AntlrDatatypeRuleToken lv_fofRole_4_0 = null;
920
921 EObject lv_fofFormula_6_0 = null;
922
923 EObject lv_annotations_8_0 = null;
924
925
926
927 enterRule();
928
929 try {
930 // InternalVampireLanguage.g:367:2: ( (otherlv_0= 'fof' otherlv_1= '(' ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) otherlv_3= ',' ( (lv_fofRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' ) )
931 // InternalVampireLanguage.g:368:2: (otherlv_0= 'fof' otherlv_1= '(' ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) otherlv_3= ',' ( (lv_fofRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' )
932 {
933 // InternalVampireLanguage.g:368:2: (otherlv_0= 'fof' otherlv_1= '(' ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) otherlv_3= ',' ( (lv_fofRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' )
934 // InternalVampireLanguage.g:369:3: otherlv_0= 'fof' otherlv_1= '(' ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) otherlv_3= ',' ( (lv_fofRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.'
935 {
936 otherlv_0=(Token)match(input,31,FOLLOW_8);
937
938 newLeafNode(otherlv_0, grammarAccess.getVLSFofFormulaAccess().getFofKeyword_0());
939
940 otherlv_1=(Token)match(input,32,FOLLOW_9);
941
942 newLeafNode(otherlv_1, grammarAccess.getVLSFofFormulaAccess().getLeftParenthesisKeyword_1());
943
944 // InternalVampireLanguage.g:377:3: ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) )
945 // InternalVampireLanguage.g:378:4: ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) )
946 {
947 // InternalVampireLanguage.g:378:4: ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) )
948 // InternalVampireLanguage.g:379:5: (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE )
949 {
950 // InternalVampireLanguage.g:379:5: (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE )
951 int alt5=3;
952 switch ( input.LA(1) ) {
953 case RULE_LOWER_WORD_ID:
954 {
955 alt5=1;
956 }
957 break;
958 case RULE_SIGNED_LITERAL:
959 {
960 alt5=2;
961 }
962 break;
963 case RULE_SINGLE_QUOTE:
964 {
965 alt5=3;
966 }
967 break;
968 default:
969 NoViableAltException nvae =
970 new NoViableAltException("", 5, 0, input);
971
972 throw nvae;
973 }
974
975 switch (alt5) {
976 case 1 :
977 // InternalVampireLanguage.g:380:6: lv_name_2_1= RULE_LOWER_WORD_ID
978 {
979 lv_name_2_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_10);
980
981 newLeafNode(lv_name_2_1, grammarAccess.getVLSFofFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0());
982
983
984 if (current==null) {
985 current = createModelElement(grammarAccess.getVLSFofFormulaRule());
986 }
987 setWithLastConsumed(
988 current,
989 "name",
990 lv_name_2_1,
991 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
992
993
994 }
995 break;
996 case 2 :
997 // InternalVampireLanguage.g:395:6: lv_name_2_2= RULE_SIGNED_LITERAL
998 {
999 lv_name_2_2=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_10);
1000
1001 newLeafNode(lv_name_2_2, grammarAccess.getVLSFofFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1());
1002
1003
1004 if (current==null) {
1005 current = createModelElement(grammarAccess.getVLSFofFormulaRule());
1006 }
1007 setWithLastConsumed(
1008 current,
1009 "name",
1010 lv_name_2_2,
1011 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
1012
1013
1014 }
1015 break;
1016 case 3 :
1017 // InternalVampireLanguage.g:410:6: lv_name_2_3= RULE_SINGLE_QUOTE
1018 {
1019 lv_name_2_3=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_10);
1020
1021 newLeafNode(lv_name_2_3, grammarAccess.getVLSFofFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2());
1022
1023
1024 if (current==null) {
1025 current = createModelElement(grammarAccess.getVLSFofFormulaRule());
1026 }
1027 setWithLastConsumed(
1028 current,
1029 "name",
1030 lv_name_2_3,
1031 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
1032
1033
1034 }
1035 break;
1036
1037 }
1038
1039
1040 }
1041
1042
1043 }
1044
1045 otherlv_3=(Token)match(input,29,FOLLOW_11);
1046
1047 newLeafNode(otherlv_3, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_3());
1048
1049 // InternalVampireLanguage.g:431:3: ( (lv_fofRole_4_0= ruleVLSRole ) )
1050 // InternalVampireLanguage.g:432:4: (lv_fofRole_4_0= ruleVLSRole )
1051 {
1052 // InternalVampireLanguage.g:432:4: (lv_fofRole_4_0= ruleVLSRole )
1053 // InternalVampireLanguage.g:433:5: lv_fofRole_4_0= ruleVLSRole
1054 {
1055
1056 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0());
1057
1058 pushFollow(FOLLOW_10);
1059 lv_fofRole_4_0=ruleVLSRole();
1060
1061 state._fsp--;
1062
1063
1064 if (current==null) {
1065 current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
1066 }
1067 set(
1068 current,
1069 "fofRole",
1070 lv_fofRole_4_0,
1071 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
1072 afterParserOrEnumRuleCall();
1073
1074
1075 }
1076
1077
1078 }
1079
1080 otherlv_5=(Token)match(input,29,FOLLOW_12);
1081
1082 newLeafNode(otherlv_5, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_5());
1083
1084 // InternalVampireLanguage.g:454:3: ( (lv_fofFormula_6_0= ruleVLSTerm ) )
1085 // InternalVampireLanguage.g:455:4: (lv_fofFormula_6_0= ruleVLSTerm )
1086 {
1087 // InternalVampireLanguage.g:455:4: (lv_fofFormula_6_0= ruleVLSTerm )
1088 // InternalVampireLanguage.g:456:5: lv_fofFormula_6_0= ruleVLSTerm
1089 {
1090
1091 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0());
1092
1093 pushFollow(FOLLOW_13);
1094 lv_fofFormula_6_0=ruleVLSTerm();
1095
1096 state._fsp--;
1097
1098
1099 if (current==null) {
1100 current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
1101 }
1102 set(
1103 current,
1104 "fofFormula",
1105 lv_fofFormula_6_0,
1106 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTerm");
1107 afterParserOrEnumRuleCall();
1108
1109
1110 }
1111
1112
1113 }
1114
1115 // InternalVampireLanguage.g:473:3: (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )?
1116 int alt6=2;
1117 int LA6_0 = input.LA(1);
1118
1119 if ( (LA6_0==29) ) {
1120 alt6=1;
1121 }
1122 switch (alt6) {
1123 case 1 :
1124 // InternalVampireLanguage.g:474:4: otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) )
1125 {
1126 otherlv_7=(Token)match(input,29,FOLLOW_14);
1127
1128 newLeafNode(otherlv_7, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_7_0());
1129
1130 // InternalVampireLanguage.g:478:4: ( (lv_annotations_8_0= ruleVLSAnnotation ) )
1131 // InternalVampireLanguage.g:479:5: (lv_annotations_8_0= ruleVLSAnnotation )
1132 {
1133 // InternalVampireLanguage.g:479:5: (lv_annotations_8_0= ruleVLSAnnotation )
1134 // InternalVampireLanguage.g:480:6: lv_annotations_8_0= ruleVLSAnnotation
1135 {
1136
1137 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0());
1138
1139 pushFollow(FOLLOW_15);
1140 lv_annotations_8_0=ruleVLSAnnotation();
1141
1142 state._fsp--;
1143
1144
1145 if (current==null) {
1146 current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
1147 }
1148 set(
1149 current,
1150 "annotations",
1151 lv_annotations_8_0,
1152 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
1153 afterParserOrEnumRuleCall();
1154
1155
1156 }
1157
1158
1159 }
1160
1161
1162 }
1163 break;
1164
1165 }
1166
1167 otherlv_9=(Token)match(input,33,FOLLOW_16);
1168
1169 newLeafNode(otherlv_9, grammarAccess.getVLSFofFormulaAccess().getRightParenthesisKeyword_8());
1170
1171 otherlv_10=(Token)match(input,34,FOLLOW_2);
1172
1173 newLeafNode(otherlv_10, grammarAccess.getVLSFofFormulaAccess().getFullStopKeyword_9());
1174
1175
1176 }
1177
1178
1179 }
1180
1181
1182 leaveRule();
1183
1184 }
1185
1186 catch (RecognitionException re) {
1187 recover(input,re);
1188 appendSkippedTokens();
1189 }
1190 finally {
1191 }
1192 return current;
1193 }
1194 // $ANTLR end "ruleVLSFofFormula"
1195
1196
1197 // $ANTLR start "entryRuleVLSRole"
1198 // InternalVampireLanguage.g:510:1: entryRuleVLSRole returns [String current=null] : iv_ruleVLSRole= ruleVLSRole EOF ;
1199 public final String entryRuleVLSRole() throws RecognitionException {
1200 String current = null;
1201
1202 AntlrDatatypeRuleToken iv_ruleVLSRole = null;
1203
1204
1205 try {
1206 // InternalVampireLanguage.g:510:47: (iv_ruleVLSRole= ruleVLSRole EOF )
1207 // InternalVampireLanguage.g:511:2: iv_ruleVLSRole= ruleVLSRole EOF
1208 {
1209 newCompositeNode(grammarAccess.getVLSRoleRule());
1210 pushFollow(FOLLOW_1);
1211 iv_ruleVLSRole=ruleVLSRole();
1212
1213 state._fsp--;
1214
1215 current =iv_ruleVLSRole.getText();
1216 match(input,EOF,FOLLOW_2);
1217
1218 }
1219
1220 }
1221
1222 catch (RecognitionException re) {
1223 recover(input,re);
1224 appendSkippedTokens();
1225 }
1226 finally {
1227 }
1228 return current;
1229 }
1230 // $ANTLR end "entryRuleVLSRole"
1231
1232
1233 // $ANTLR start "ruleVLSRole"
1234 // InternalVampireLanguage.g:517:1: ruleVLSRole returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_VLSAxiom_0= ruleVLSAxiom | this_VLSConjecture_1= ruleVLSConjecture | this_VLSHypothesis_2= ruleVLSHypothesis | this_VLSDefinition_3= ruleVLSDefinition | this_VLSAssumption_4= ruleVLSAssumption | this_VLSLemma_5= ruleVLSLemma | this_VLSTheorem_6= ruleVLSTheorem | this_VLSCorollary_7= ruleVLSCorollary | this_VLSNegated_Conjecture_8= ruleVLSNegated_Conjecture | this_VLSPlain_9= ruleVLSPlain | this_VLSType_10= ruleVLSType | this_VLSFi_Domain_11= ruleVLSFi_Domain | this_VLSFi_Functors_12= ruleVLSFi_Functors | this_VLSFi_Predicates_13= ruleVLSFi_Predicates | this_VLSUnknown_14= ruleVLSUnknown ) ;
1235 public final AntlrDatatypeRuleToken ruleVLSRole() throws RecognitionException {
1236 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1237
1238 AntlrDatatypeRuleToken this_VLSAxiom_0 = null;
1239
1240 AntlrDatatypeRuleToken this_VLSConjecture_1 = null;
1241
1242 AntlrDatatypeRuleToken this_VLSHypothesis_2 = null;
1243
1244 AntlrDatatypeRuleToken this_VLSDefinition_3 = null;
1245
1246 AntlrDatatypeRuleToken this_VLSAssumption_4 = null;
1247
1248 AntlrDatatypeRuleToken this_VLSLemma_5 = null;
1249
1250 AntlrDatatypeRuleToken this_VLSTheorem_6 = null;
1251
1252 AntlrDatatypeRuleToken this_VLSCorollary_7 = null;
1253
1254 AntlrDatatypeRuleToken this_VLSNegated_Conjecture_8 = null;
1255
1256 AntlrDatatypeRuleToken this_VLSPlain_9 = null;
1257
1258 AntlrDatatypeRuleToken this_VLSType_10 = null;
1259
1260 AntlrDatatypeRuleToken this_VLSFi_Domain_11 = null;
1261
1262 AntlrDatatypeRuleToken this_VLSFi_Functors_12 = null;
1263
1264 AntlrDatatypeRuleToken this_VLSFi_Predicates_13 = null;
1265
1266 AntlrDatatypeRuleToken this_VLSUnknown_14 = null;
1267
1268
1269
1270 enterRule();
1271
1272 try {
1273 // InternalVampireLanguage.g:523:2: ( (this_VLSAxiom_0= ruleVLSAxiom | this_VLSConjecture_1= ruleVLSConjecture | this_VLSHypothesis_2= ruleVLSHypothesis | this_VLSDefinition_3= ruleVLSDefinition | this_VLSAssumption_4= ruleVLSAssumption | this_VLSLemma_5= ruleVLSLemma | this_VLSTheorem_6= ruleVLSTheorem | this_VLSCorollary_7= ruleVLSCorollary | this_VLSNegated_Conjecture_8= ruleVLSNegated_Conjecture | this_VLSPlain_9= ruleVLSPlain | this_VLSType_10= ruleVLSType | this_VLSFi_Domain_11= ruleVLSFi_Domain | this_VLSFi_Functors_12= ruleVLSFi_Functors | this_VLSFi_Predicates_13= ruleVLSFi_Predicates | this_VLSUnknown_14= ruleVLSUnknown ) )
1274 // InternalVampireLanguage.g:524:2: (this_VLSAxiom_0= ruleVLSAxiom | this_VLSConjecture_1= ruleVLSConjecture | this_VLSHypothesis_2= ruleVLSHypothesis | this_VLSDefinition_3= ruleVLSDefinition | this_VLSAssumption_4= ruleVLSAssumption | this_VLSLemma_5= ruleVLSLemma | this_VLSTheorem_6= ruleVLSTheorem | this_VLSCorollary_7= ruleVLSCorollary | this_VLSNegated_Conjecture_8= ruleVLSNegated_Conjecture | this_VLSPlain_9= ruleVLSPlain | this_VLSType_10= ruleVLSType | this_VLSFi_Domain_11= ruleVLSFi_Domain | this_VLSFi_Functors_12= ruleVLSFi_Functors | this_VLSFi_Predicates_13= ruleVLSFi_Predicates | this_VLSUnknown_14= ruleVLSUnknown )
1275 {
1276 // InternalVampireLanguage.g:524:2: (this_VLSAxiom_0= ruleVLSAxiom | this_VLSConjecture_1= ruleVLSConjecture | this_VLSHypothesis_2= ruleVLSHypothesis | this_VLSDefinition_3= ruleVLSDefinition | this_VLSAssumption_4= ruleVLSAssumption | this_VLSLemma_5= ruleVLSLemma | this_VLSTheorem_6= ruleVLSTheorem | this_VLSCorollary_7= ruleVLSCorollary | this_VLSNegated_Conjecture_8= ruleVLSNegated_Conjecture | this_VLSPlain_9= ruleVLSPlain | this_VLSType_10= ruleVLSType | this_VLSFi_Domain_11= ruleVLSFi_Domain | this_VLSFi_Functors_12= ruleVLSFi_Functors | this_VLSFi_Predicates_13= ruleVLSFi_Predicates | this_VLSUnknown_14= ruleVLSUnknown )
1277 int alt7=15;
1278 switch ( input.LA(1) ) {
1279 case 35:
1280 {
1281 alt7=1;
1282 }
1283 break;
1284 case 36:
1285 {
1286 alt7=2;
1287 }
1288 break;
1289 case 37:
1290 {
1291 alt7=3;
1292 }
1293 break;
1294 case 38:
1295 {
1296 alt7=4;
1297 }
1298 break;
1299 case 39:
1300 {
1301 alt7=5;
1302 }
1303 break;
1304 case 40:
1305 {
1306 alt7=6;
1307 }
1308 break;
1309 case 41:
1310 {
1311 alt7=7;
1312 }
1313 break;
1314 case 42:
1315 {
1316 alt7=8;
1317 }
1318 break;
1319 case 43:
1320 {
1321 alt7=9;
1322 }
1323 break;
1324 case 44:
1325 {
1326 alt7=10;
1327 }
1328 break;
1329 case 45:
1330 {
1331 alt7=11;
1332 }
1333 break;
1334 case 46:
1335 {
1336 alt7=12;
1337 }
1338 break;
1339 case 47:
1340 {
1341 alt7=13;
1342 }
1343 break;
1344 case 48:
1345 {
1346 alt7=14;
1347 }
1348 break;
1349 case 49:
1350 {
1351 alt7=15;
1352 }
1353 break;
1354 default:
1355 NoViableAltException nvae =
1356 new NoViableAltException("", 7, 0, input);
1357
1358 throw nvae;
1359 }
1360
1361 switch (alt7) {
1362 case 1 :
1363 // InternalVampireLanguage.g:525:3: this_VLSAxiom_0= ruleVLSAxiom
1364 {
1365
1366 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSAxiomParserRuleCall_0());
1367
1368 pushFollow(FOLLOW_2);
1369 this_VLSAxiom_0=ruleVLSAxiom();
1370
1371 state._fsp--;
1372
1373
1374 current.merge(this_VLSAxiom_0);
1375
1376
1377 afterParserOrEnumRuleCall();
1378
1379
1380 }
1381 break;
1382 case 2 :
1383 // InternalVampireLanguage.g:536:3: this_VLSConjecture_1= ruleVLSConjecture
1384 {
1385
1386 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSConjectureParserRuleCall_1());
1387
1388 pushFollow(FOLLOW_2);
1389 this_VLSConjecture_1=ruleVLSConjecture();
1390
1391 state._fsp--;
1392
1393
1394 current.merge(this_VLSConjecture_1);
1395
1396
1397 afterParserOrEnumRuleCall();
1398
1399
1400 }
1401 break;
1402 case 3 :
1403 // InternalVampireLanguage.g:547:3: this_VLSHypothesis_2= ruleVLSHypothesis
1404 {
1405
1406 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSHypothesisParserRuleCall_2());
1407
1408 pushFollow(FOLLOW_2);
1409 this_VLSHypothesis_2=ruleVLSHypothesis();
1410
1411 state._fsp--;
1412
1413
1414 current.merge(this_VLSHypothesis_2);
1415
1416
1417 afterParserOrEnumRuleCall();
1418
1419
1420 }
1421 break;
1422 case 4 :
1423 // InternalVampireLanguage.g:558:3: this_VLSDefinition_3= ruleVLSDefinition
1424 {
1425
1426 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSDefinitionParserRuleCall_3());
1427
1428 pushFollow(FOLLOW_2);
1429 this_VLSDefinition_3=ruleVLSDefinition();
1430
1431 state._fsp--;
1432
1433
1434 current.merge(this_VLSDefinition_3);
1435
1436
1437 afterParserOrEnumRuleCall();
1438
1439
1440 }
1441 break;
1442 case 5 :
1443 // InternalVampireLanguage.g:569:3: this_VLSAssumption_4= ruleVLSAssumption
1444 {
1445
1446 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSAssumptionParserRuleCall_4());
1447
1448 pushFollow(FOLLOW_2);
1449 this_VLSAssumption_4=ruleVLSAssumption();
1450
1451 state._fsp--;
1452
1453
1454 current.merge(this_VLSAssumption_4);
1455
1456
1457 afterParserOrEnumRuleCall();
1458
1459
1460 }
1461 break;
1462 case 6 :
1463 // InternalVampireLanguage.g:580:3: this_VLSLemma_5= ruleVLSLemma
1464 {
1465
1466 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSLemmaParserRuleCall_5());
1467
1468 pushFollow(FOLLOW_2);
1469 this_VLSLemma_5=ruleVLSLemma();
1470
1471 state._fsp--;
1472
1473
1474 current.merge(this_VLSLemma_5);
1475
1476
1477 afterParserOrEnumRuleCall();
1478
1479
1480 }
1481 break;
1482 case 7 :
1483 // InternalVampireLanguage.g:591:3: this_VLSTheorem_6= ruleVLSTheorem
1484 {
1485
1486 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSTheoremParserRuleCall_6());
1487
1488 pushFollow(FOLLOW_2);
1489 this_VLSTheorem_6=ruleVLSTheorem();
1490
1491 state._fsp--;
1492
1493
1494 current.merge(this_VLSTheorem_6);
1495
1496
1497 afterParserOrEnumRuleCall();
1498
1499
1500 }
1501 break;
1502 case 8 :
1503 // InternalVampireLanguage.g:602:3: this_VLSCorollary_7= ruleVLSCorollary
1504 {
1505
1506 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSCorollaryParserRuleCall_7());
1507
1508 pushFollow(FOLLOW_2);
1509 this_VLSCorollary_7=ruleVLSCorollary();
1510
1511 state._fsp--;
1512
1513
1514 current.merge(this_VLSCorollary_7);
1515
1516
1517 afterParserOrEnumRuleCall();
1518
1519
1520 }
1521 break;
1522 case 9 :
1523 // InternalVampireLanguage.g:613:3: this_VLSNegated_Conjecture_8= ruleVLSNegated_Conjecture
1524 {
1525
1526 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSNegated_ConjectureParserRuleCall_8());
1527
1528 pushFollow(FOLLOW_2);
1529 this_VLSNegated_Conjecture_8=ruleVLSNegated_Conjecture();
1530
1531 state._fsp--;
1532
1533
1534 current.merge(this_VLSNegated_Conjecture_8);
1535
1536
1537 afterParserOrEnumRuleCall();
1538
1539
1540 }
1541 break;
1542 case 10 :
1543 // InternalVampireLanguage.g:624:3: this_VLSPlain_9= ruleVLSPlain
1544 {
1545
1546 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSPlainParserRuleCall_9());
1547
1548 pushFollow(FOLLOW_2);
1549 this_VLSPlain_9=ruleVLSPlain();
1550
1551 state._fsp--;
1552
1553
1554 current.merge(this_VLSPlain_9);
1555
1556
1557 afterParserOrEnumRuleCall();
1558
1559
1560 }
1561 break;
1562 case 11 :
1563 // InternalVampireLanguage.g:635:3: this_VLSType_10= ruleVLSType
1564 {
1565
1566 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSTypeParserRuleCall_10());
1567
1568 pushFollow(FOLLOW_2);
1569 this_VLSType_10=ruleVLSType();
1570
1571 state._fsp--;
1572
1573
1574 current.merge(this_VLSType_10);
1575
1576
1577 afterParserOrEnumRuleCall();
1578
1579
1580 }
1581 break;
1582 case 12 :
1583 // InternalVampireLanguage.g:646:3: this_VLSFi_Domain_11= ruleVLSFi_Domain
1584 {
1585
1586 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_DomainParserRuleCall_11());
1587
1588 pushFollow(FOLLOW_2);
1589 this_VLSFi_Domain_11=ruleVLSFi_Domain();
1590
1591 state._fsp--;
1592
1593
1594 current.merge(this_VLSFi_Domain_11);
1595
1596
1597 afterParserOrEnumRuleCall();
1598
1599
1600 }
1601 break;
1602 case 13 :
1603 // InternalVampireLanguage.g:657:3: this_VLSFi_Functors_12= ruleVLSFi_Functors
1604 {
1605
1606 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_FunctorsParserRuleCall_12());
1607
1608 pushFollow(FOLLOW_2);
1609 this_VLSFi_Functors_12=ruleVLSFi_Functors();
1610
1611 state._fsp--;
1612
1613
1614 current.merge(this_VLSFi_Functors_12);
1615
1616
1617 afterParserOrEnumRuleCall();
1618
1619
1620 }
1621 break;
1622 case 14 :
1623 // InternalVampireLanguage.g:668:3: this_VLSFi_Predicates_13= ruleVLSFi_Predicates
1624 {
1625
1626 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_PredicatesParserRuleCall_13());
1627
1628 pushFollow(FOLLOW_2);
1629 this_VLSFi_Predicates_13=ruleVLSFi_Predicates();
1630
1631 state._fsp--;
1632
1633
1634 current.merge(this_VLSFi_Predicates_13);
1635
1636
1637 afterParserOrEnumRuleCall();
1638
1639
1640 }
1641 break;
1642 case 15 :
1643 // InternalVampireLanguage.g:679:3: this_VLSUnknown_14= ruleVLSUnknown
1644 {
1645
1646 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSUnknownParserRuleCall_14());
1647
1648 pushFollow(FOLLOW_2);
1649 this_VLSUnknown_14=ruleVLSUnknown();
1650
1651 state._fsp--;
1652
1653
1654 current.merge(this_VLSUnknown_14);
1655
1656
1657 afterParserOrEnumRuleCall();
1658
1659
1660 }
1661 break;
1662
1663 }
1664
1665
1666 }
1667
1668
1669 leaveRule();
1670
1671 }
1672
1673 catch (RecognitionException re) {
1674 recover(input,re);
1675 appendSkippedTokens();
1676 }
1677 finally {
1678 }
1679 return current;
1680 }
1681 // $ANTLR end "ruleVLSRole"
1682
1683
1684 // $ANTLR start "entryRuleVLSAxiom"
1685 // InternalVampireLanguage.g:693:1: entryRuleVLSAxiom returns [String current=null] : iv_ruleVLSAxiom= ruleVLSAxiom EOF ;
1686 public final String entryRuleVLSAxiom() throws RecognitionException {
1687 String current = null;
1688
1689 AntlrDatatypeRuleToken iv_ruleVLSAxiom = null;
1690
1691
1692 try {
1693 // InternalVampireLanguage.g:693:48: (iv_ruleVLSAxiom= ruleVLSAxiom EOF )
1694 // InternalVampireLanguage.g:694:2: iv_ruleVLSAxiom= ruleVLSAxiom EOF
1695 {
1696 newCompositeNode(grammarAccess.getVLSAxiomRule());
1697 pushFollow(FOLLOW_1);
1698 iv_ruleVLSAxiom=ruleVLSAxiom();
1699
1700 state._fsp--;
1701
1702 current =iv_ruleVLSAxiom.getText();
1703 match(input,EOF,FOLLOW_2);
1704
1705 }
1706
1707 }
1708
1709 catch (RecognitionException re) {
1710 recover(input,re);
1711 appendSkippedTokens();
1712 }
1713 finally {
1714 }
1715 return current;
1716 }
1717 // $ANTLR end "entryRuleVLSAxiom"
1718
1719
1720 // $ANTLR start "ruleVLSAxiom"
1721 // InternalVampireLanguage.g:700:1: ruleVLSAxiom returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'axiom' ;
1722 public final AntlrDatatypeRuleToken ruleVLSAxiom() throws RecognitionException {
1723 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1724
1725 Token kw=null;
1726
1727
1728 enterRule();
1729
1730 try {
1731 // InternalVampireLanguage.g:706:2: (kw= 'axiom' )
1732 // InternalVampireLanguage.g:707:2: kw= 'axiom'
1733 {
1734 kw=(Token)match(input,35,FOLLOW_2);
1735
1736 current.merge(kw);
1737 newLeafNode(kw, grammarAccess.getVLSAxiomAccess().getAxiomKeyword());
1738
1739
1740 }
1741
1742
1743 leaveRule();
1744
1745 }
1746
1747 catch (RecognitionException re) {
1748 recover(input,re);
1749 appendSkippedTokens();
1750 }
1751 finally {
1752 }
1753 return current;
1754 }
1755 // $ANTLR end "ruleVLSAxiom"
1756
1757
1758 // $ANTLR start "entryRuleVLSConjecture"
1759 // InternalVampireLanguage.g:715:1: entryRuleVLSConjecture returns [String current=null] : iv_ruleVLSConjecture= ruleVLSConjecture EOF ;
1760 public final String entryRuleVLSConjecture() throws RecognitionException {
1761 String current = null;
1762
1763 AntlrDatatypeRuleToken iv_ruleVLSConjecture = null;
1764
1765
1766 try {
1767 // InternalVampireLanguage.g:715:53: (iv_ruleVLSConjecture= ruleVLSConjecture EOF )
1768 // InternalVampireLanguage.g:716:2: iv_ruleVLSConjecture= ruleVLSConjecture EOF
1769 {
1770 newCompositeNode(grammarAccess.getVLSConjectureRule());
1771 pushFollow(FOLLOW_1);
1772 iv_ruleVLSConjecture=ruleVLSConjecture();
1773
1774 state._fsp--;
1775
1776 current =iv_ruleVLSConjecture.getText();
1777 match(input,EOF,FOLLOW_2);
1778
1779 }
1780
1781 }
1782
1783 catch (RecognitionException re) {
1784 recover(input,re);
1785 appendSkippedTokens();
1786 }
1787 finally {
1788 }
1789 return current;
1790 }
1791 // $ANTLR end "entryRuleVLSConjecture"
1792
1793
1794 // $ANTLR start "ruleVLSConjecture"
1795 // InternalVampireLanguage.g:722:1: ruleVLSConjecture returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'conjecture' ;
1796 public final AntlrDatatypeRuleToken ruleVLSConjecture() throws RecognitionException {
1797 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1798
1799 Token kw=null;
1800
1801
1802 enterRule();
1803
1804 try {
1805 // InternalVampireLanguage.g:728:2: (kw= 'conjecture' )
1806 // InternalVampireLanguage.g:729:2: kw= 'conjecture'
1807 {
1808 kw=(Token)match(input,36,FOLLOW_2);
1809
1810 current.merge(kw);
1811 newLeafNode(kw, grammarAccess.getVLSConjectureAccess().getConjectureKeyword());
1812
1813
1814 }
1815
1816
1817 leaveRule();
1818
1819 }
1820
1821 catch (RecognitionException re) {
1822 recover(input,re);
1823 appendSkippedTokens();
1824 }
1825 finally {
1826 }
1827 return current;
1828 }
1829 // $ANTLR end "ruleVLSConjecture"
1830
1831
1832 // $ANTLR start "entryRuleVLSHypothesis"
1833 // InternalVampireLanguage.g:737:1: entryRuleVLSHypothesis returns [String current=null] : iv_ruleVLSHypothesis= ruleVLSHypothesis EOF ;
1834 public final String entryRuleVLSHypothesis() throws RecognitionException {
1835 String current = null;
1836
1837 AntlrDatatypeRuleToken iv_ruleVLSHypothesis = null;
1838
1839
1840 try {
1841 // InternalVampireLanguage.g:737:53: (iv_ruleVLSHypothesis= ruleVLSHypothesis EOF )
1842 // InternalVampireLanguage.g:738:2: iv_ruleVLSHypothesis= ruleVLSHypothesis EOF
1843 {
1844 newCompositeNode(grammarAccess.getVLSHypothesisRule());
1845 pushFollow(FOLLOW_1);
1846 iv_ruleVLSHypothesis=ruleVLSHypothesis();
1847
1848 state._fsp--;
1849
1850 current =iv_ruleVLSHypothesis.getText();
1851 match(input,EOF,FOLLOW_2);
1852
1853 }
1854
1855 }
1856
1857 catch (RecognitionException re) {
1858 recover(input,re);
1859 appendSkippedTokens();
1860 }
1861 finally {
1862 }
1863 return current;
1864 }
1865 // $ANTLR end "entryRuleVLSHypothesis"
1866
1867
1868 // $ANTLR start "ruleVLSHypothesis"
1869 // InternalVampireLanguage.g:744:1: ruleVLSHypothesis returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'hypothesis' ;
1870 public final AntlrDatatypeRuleToken ruleVLSHypothesis() throws RecognitionException {
1871 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1872
1873 Token kw=null;
1874
1875
1876 enterRule();
1877
1878 try {
1879 // InternalVampireLanguage.g:750:2: (kw= 'hypothesis' )
1880 // InternalVampireLanguage.g:751:2: kw= 'hypothesis'
1881 {
1882 kw=(Token)match(input,37,FOLLOW_2);
1883
1884 current.merge(kw);
1885 newLeafNode(kw, grammarAccess.getVLSHypothesisAccess().getHypothesisKeyword());
1886
1887
1888 }
1889
1890
1891 leaveRule();
1892
1893 }
1894
1895 catch (RecognitionException re) {
1896 recover(input,re);
1897 appendSkippedTokens();
1898 }
1899 finally {
1900 }
1901 return current;
1902 }
1903 // $ANTLR end "ruleVLSHypothesis"
1904
1905
1906 // $ANTLR start "entryRuleVLSDefinition"
1907 // InternalVampireLanguage.g:759:1: entryRuleVLSDefinition returns [String current=null] : iv_ruleVLSDefinition= ruleVLSDefinition EOF ;
1908 public final String entryRuleVLSDefinition() throws RecognitionException {
1909 String current = null;
1910
1911 AntlrDatatypeRuleToken iv_ruleVLSDefinition = null;
1912
1913
1914 try {
1915 // InternalVampireLanguage.g:759:53: (iv_ruleVLSDefinition= ruleVLSDefinition EOF )
1916 // InternalVampireLanguage.g:760:2: iv_ruleVLSDefinition= ruleVLSDefinition EOF
1917 {
1918 newCompositeNode(grammarAccess.getVLSDefinitionRule());
1919 pushFollow(FOLLOW_1);
1920 iv_ruleVLSDefinition=ruleVLSDefinition();
1921
1922 state._fsp--;
1923
1924 current =iv_ruleVLSDefinition.getText();
1925 match(input,EOF,FOLLOW_2);
1926
1927 }
1928
1929 }
1930
1931 catch (RecognitionException re) {
1932 recover(input,re);
1933 appendSkippedTokens();
1934 }
1935 finally {
1936 }
1937 return current;
1938 }
1939 // $ANTLR end "entryRuleVLSDefinition"
1940
1941
1942 // $ANTLR start "ruleVLSDefinition"
1943 // InternalVampireLanguage.g:766:1: ruleVLSDefinition returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'definition' ;
1944 public final AntlrDatatypeRuleToken ruleVLSDefinition() throws RecognitionException {
1945 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1946
1947 Token kw=null;
1948
1949
1950 enterRule();
1951
1952 try {
1953 // InternalVampireLanguage.g:772:2: (kw= 'definition' )
1954 // InternalVampireLanguage.g:773:2: kw= 'definition'
1955 {
1956 kw=(Token)match(input,38,FOLLOW_2);
1957
1958 current.merge(kw);
1959 newLeafNode(kw, grammarAccess.getVLSDefinitionAccess().getDefinitionKeyword());
1960
1961
1962 }
1963
1964
1965 leaveRule();
1966
1967 }
1968
1969 catch (RecognitionException re) {
1970 recover(input,re);
1971 appendSkippedTokens();
1972 }
1973 finally {
1974 }
1975 return current;
1976 }
1977 // $ANTLR end "ruleVLSDefinition"
1978
1979
1980 // $ANTLR start "entryRuleVLSAssumption"
1981 // InternalVampireLanguage.g:781:1: entryRuleVLSAssumption returns [String current=null] : iv_ruleVLSAssumption= ruleVLSAssumption EOF ;
1982 public final String entryRuleVLSAssumption() throws RecognitionException {
1983 String current = null;
1984
1985 AntlrDatatypeRuleToken iv_ruleVLSAssumption = null;
1986
1987
1988 try {
1989 // InternalVampireLanguage.g:781:53: (iv_ruleVLSAssumption= ruleVLSAssumption EOF )
1990 // InternalVampireLanguage.g:782:2: iv_ruleVLSAssumption= ruleVLSAssumption EOF
1991 {
1992 newCompositeNode(grammarAccess.getVLSAssumptionRule());
1993 pushFollow(FOLLOW_1);
1994 iv_ruleVLSAssumption=ruleVLSAssumption();
1995
1996 state._fsp--;
1997
1998 current =iv_ruleVLSAssumption.getText();
1999 match(input,EOF,FOLLOW_2);
2000
2001 }
2002
2003 }
2004
2005 catch (RecognitionException re) {
2006 recover(input,re);
2007 appendSkippedTokens();
2008 }
2009 finally {
2010 }
2011 return current;
2012 }
2013 // $ANTLR end "entryRuleVLSAssumption"
2014
2015
2016 // $ANTLR start "ruleVLSAssumption"
2017 // InternalVampireLanguage.g:788:1: ruleVLSAssumption returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'assumption' ;
2018 public final AntlrDatatypeRuleToken ruleVLSAssumption() throws RecognitionException {
2019 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2020
2021 Token kw=null;
2022
2023
2024 enterRule();
2025
2026 try {
2027 // InternalVampireLanguage.g:794:2: (kw= 'assumption' )
2028 // InternalVampireLanguage.g:795:2: kw= 'assumption'
2029 {
2030 kw=(Token)match(input,39,FOLLOW_2);
2031
2032 current.merge(kw);
2033 newLeafNode(kw, grammarAccess.getVLSAssumptionAccess().getAssumptionKeyword());
2034
2035
2036 }
2037
2038
2039 leaveRule();
2040
2041 }
2042
2043 catch (RecognitionException re) {
2044 recover(input,re);
2045 appendSkippedTokens();
2046 }
2047 finally {
2048 }
2049 return current;
2050 }
2051 // $ANTLR end "ruleVLSAssumption"
2052
2053
2054 // $ANTLR start "entryRuleVLSLemma"
2055 // InternalVampireLanguage.g:803:1: entryRuleVLSLemma returns [String current=null] : iv_ruleVLSLemma= ruleVLSLemma EOF ;
2056 public final String entryRuleVLSLemma() throws RecognitionException {
2057 String current = null;
2058
2059 AntlrDatatypeRuleToken iv_ruleVLSLemma = null;
2060
2061
2062 try {
2063 // InternalVampireLanguage.g:803:48: (iv_ruleVLSLemma= ruleVLSLemma EOF )
2064 // InternalVampireLanguage.g:804:2: iv_ruleVLSLemma= ruleVLSLemma EOF
2065 {
2066 newCompositeNode(grammarAccess.getVLSLemmaRule());
2067 pushFollow(FOLLOW_1);
2068 iv_ruleVLSLemma=ruleVLSLemma();
2069
2070 state._fsp--;
2071
2072 current =iv_ruleVLSLemma.getText();
2073 match(input,EOF,FOLLOW_2);
2074
2075 }
2076
2077 }
2078
2079 catch (RecognitionException re) {
2080 recover(input,re);
2081 appendSkippedTokens();
2082 }
2083 finally {
2084 }
2085 return current;
2086 }
2087 // $ANTLR end "entryRuleVLSLemma"
2088
2089
2090 // $ANTLR start "ruleVLSLemma"
2091 // InternalVampireLanguage.g:810:1: ruleVLSLemma returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'lemma' ;
2092 public final AntlrDatatypeRuleToken ruleVLSLemma() throws RecognitionException {
2093 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2094
2095 Token kw=null;
2096
2097
2098 enterRule();
2099
2100 try {
2101 // InternalVampireLanguage.g:816:2: (kw= 'lemma' )
2102 // InternalVampireLanguage.g:817:2: kw= 'lemma'
2103 {
2104 kw=(Token)match(input,40,FOLLOW_2);
2105
2106 current.merge(kw);
2107 newLeafNode(kw, grammarAccess.getVLSLemmaAccess().getLemmaKeyword());
2108
2109
2110 }
2111
2112
2113 leaveRule();
2114
2115 }
2116
2117 catch (RecognitionException re) {
2118 recover(input,re);
2119 appendSkippedTokens();
2120 }
2121 finally {
2122 }
2123 return current;
2124 }
2125 // $ANTLR end "ruleVLSLemma"
2126
2127
2128 // $ANTLR start "entryRuleVLSTheorem"
2129 // InternalVampireLanguage.g:825:1: entryRuleVLSTheorem returns [String current=null] : iv_ruleVLSTheorem= ruleVLSTheorem EOF ;
2130 public final String entryRuleVLSTheorem() throws RecognitionException {
2131 String current = null;
2132
2133 AntlrDatatypeRuleToken iv_ruleVLSTheorem = null;
2134
2135
2136 try {
2137 // InternalVampireLanguage.g:825:50: (iv_ruleVLSTheorem= ruleVLSTheorem EOF )
2138 // InternalVampireLanguage.g:826:2: iv_ruleVLSTheorem= ruleVLSTheorem EOF
2139 {
2140 newCompositeNode(grammarAccess.getVLSTheoremRule());
2141 pushFollow(FOLLOW_1);
2142 iv_ruleVLSTheorem=ruleVLSTheorem();
2143
2144 state._fsp--;
2145
2146 current =iv_ruleVLSTheorem.getText();
2147 match(input,EOF,FOLLOW_2);
2148
2149 }
2150
2151 }
2152
2153 catch (RecognitionException re) {
2154 recover(input,re);
2155 appendSkippedTokens();
2156 }
2157 finally {
2158 }
2159 return current;
2160 }
2161 // $ANTLR end "entryRuleVLSTheorem"
2162
2163
2164 // $ANTLR start "ruleVLSTheorem"
2165 // InternalVampireLanguage.g:832:1: ruleVLSTheorem returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'theorem' ;
2166 public final AntlrDatatypeRuleToken ruleVLSTheorem() throws RecognitionException {
2167 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2168
2169 Token kw=null;
2170
2171
2172 enterRule();
2173
2174 try {
2175 // InternalVampireLanguage.g:838:2: (kw= 'theorem' )
2176 // InternalVampireLanguage.g:839:2: kw= 'theorem'
2177 {
2178 kw=(Token)match(input,41,FOLLOW_2);
2179
2180 current.merge(kw);
2181 newLeafNode(kw, grammarAccess.getVLSTheoremAccess().getTheoremKeyword());
2182
2183
2184 }
2185
2186
2187 leaveRule();
2188
2189 }
2190
2191 catch (RecognitionException re) {
2192 recover(input,re);
2193 appendSkippedTokens();
2194 }
2195 finally {
2196 }
2197 return current;
2198 }
2199 // $ANTLR end "ruleVLSTheorem"
2200
2201
2202 // $ANTLR start "entryRuleVLSCorollary"
2203 // InternalVampireLanguage.g:847:1: entryRuleVLSCorollary returns [String current=null] : iv_ruleVLSCorollary= ruleVLSCorollary EOF ;
2204 public final String entryRuleVLSCorollary() throws RecognitionException {
2205 String current = null;
2206
2207 AntlrDatatypeRuleToken iv_ruleVLSCorollary = null;
2208
2209
2210 try {
2211 // InternalVampireLanguage.g:847:52: (iv_ruleVLSCorollary= ruleVLSCorollary EOF )
2212 // InternalVampireLanguage.g:848:2: iv_ruleVLSCorollary= ruleVLSCorollary EOF
2213 {
2214 newCompositeNode(grammarAccess.getVLSCorollaryRule());
2215 pushFollow(FOLLOW_1);
2216 iv_ruleVLSCorollary=ruleVLSCorollary();
2217
2218 state._fsp--;
2219
2220 current =iv_ruleVLSCorollary.getText();
2221 match(input,EOF,FOLLOW_2);
2222
2223 }
2224
2225 }
2226
2227 catch (RecognitionException re) {
2228 recover(input,re);
2229 appendSkippedTokens();
2230 }
2231 finally {
2232 }
2233 return current;
2234 }
2235 // $ANTLR end "entryRuleVLSCorollary"
2236
2237
2238 // $ANTLR start "ruleVLSCorollary"
2239 // InternalVampireLanguage.g:854:1: ruleVLSCorollary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'corollary' ;
2240 public final AntlrDatatypeRuleToken ruleVLSCorollary() throws RecognitionException {
2241 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2242
2243 Token kw=null;
2244
2245
2246 enterRule();
2247
2248 try {
2249 // InternalVampireLanguage.g:860:2: (kw= 'corollary' )
2250 // InternalVampireLanguage.g:861:2: kw= 'corollary'
2251 {
2252 kw=(Token)match(input,42,FOLLOW_2);
2253
2254 current.merge(kw);
2255 newLeafNode(kw, grammarAccess.getVLSCorollaryAccess().getCorollaryKeyword());
2256
2257
2258 }
2259
2260
2261 leaveRule();
2262
2263 }
2264
2265 catch (RecognitionException re) {
2266 recover(input,re);
2267 appendSkippedTokens();
2268 }
2269 finally {
2270 }
2271 return current;
2272 }
2273 // $ANTLR end "ruleVLSCorollary"
2274
2275
2276 // $ANTLR start "entryRuleVLSNegated_Conjecture"
2277 // InternalVampireLanguage.g:869:1: entryRuleVLSNegated_Conjecture returns [String current=null] : iv_ruleVLSNegated_Conjecture= ruleVLSNegated_Conjecture EOF ;
2278 public final String entryRuleVLSNegated_Conjecture() throws RecognitionException {
2279 String current = null;
2280
2281 AntlrDatatypeRuleToken iv_ruleVLSNegated_Conjecture = null;
2282
2283
2284 try {
2285 // InternalVampireLanguage.g:869:61: (iv_ruleVLSNegated_Conjecture= ruleVLSNegated_Conjecture EOF )
2286 // InternalVampireLanguage.g:870:2: iv_ruleVLSNegated_Conjecture= ruleVLSNegated_Conjecture EOF
2287 {
2288 newCompositeNode(grammarAccess.getVLSNegated_ConjectureRule());
2289 pushFollow(FOLLOW_1);
2290 iv_ruleVLSNegated_Conjecture=ruleVLSNegated_Conjecture();
2291
2292 state._fsp--;
2293
2294 current =iv_ruleVLSNegated_Conjecture.getText();
2295 match(input,EOF,FOLLOW_2);
2296
2297 }
2298
2299 }
2300
2301 catch (RecognitionException re) {
2302 recover(input,re);
2303 appendSkippedTokens();
2304 }
2305 finally {
2306 }
2307 return current;
2308 }
2309 // $ANTLR end "entryRuleVLSNegated_Conjecture"
2310
2311
2312 // $ANTLR start "ruleVLSNegated_Conjecture"
2313 // InternalVampireLanguage.g:876:1: ruleVLSNegated_Conjecture returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'negated_conjecture' ;
2314 public final AntlrDatatypeRuleToken ruleVLSNegated_Conjecture() throws RecognitionException {
2315 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2316
2317 Token kw=null;
2318
2319
2320 enterRule();
2321
2322 try {
2323 // InternalVampireLanguage.g:882:2: (kw= 'negated_conjecture' )
2324 // InternalVampireLanguage.g:883:2: kw= 'negated_conjecture'
2325 {
2326 kw=(Token)match(input,43,FOLLOW_2);
2327
2328 current.merge(kw);
2329 newLeafNode(kw, grammarAccess.getVLSNegated_ConjectureAccess().getNegated_conjectureKeyword());
2330
2331
2332 }
2333
2334
2335 leaveRule();
2336
2337 }
2338
2339 catch (RecognitionException re) {
2340 recover(input,re);
2341 appendSkippedTokens();
2342 }
2343 finally {
2344 }
2345 return current;
2346 }
2347 // $ANTLR end "ruleVLSNegated_Conjecture"
2348
2349
2350 // $ANTLR start "entryRuleVLSPlain"
2351 // InternalVampireLanguage.g:891:1: entryRuleVLSPlain returns [String current=null] : iv_ruleVLSPlain= ruleVLSPlain EOF ;
2352 public final String entryRuleVLSPlain() throws RecognitionException {
2353 String current = null;
2354
2355 AntlrDatatypeRuleToken iv_ruleVLSPlain = null;
2356
2357
2358 try {
2359 // InternalVampireLanguage.g:891:48: (iv_ruleVLSPlain= ruleVLSPlain EOF )
2360 // InternalVampireLanguage.g:892:2: iv_ruleVLSPlain= ruleVLSPlain EOF
2361 {
2362 newCompositeNode(grammarAccess.getVLSPlainRule());
2363 pushFollow(FOLLOW_1);
2364 iv_ruleVLSPlain=ruleVLSPlain();
2365
2366 state._fsp--;
2367
2368 current =iv_ruleVLSPlain.getText();
2369 match(input,EOF,FOLLOW_2);
2370
2371 }
2372
2373 }
2374
2375 catch (RecognitionException re) {
2376 recover(input,re);
2377 appendSkippedTokens();
2378 }
2379 finally {
2380 }
2381 return current;
2382 }
2383 // $ANTLR end "entryRuleVLSPlain"
2384
2385
2386 // $ANTLR start "ruleVLSPlain"
2387 // InternalVampireLanguage.g:898:1: ruleVLSPlain returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'plain' ;
2388 public final AntlrDatatypeRuleToken ruleVLSPlain() throws RecognitionException {
2389 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2390
2391 Token kw=null;
2392
2393
2394 enterRule();
2395
2396 try {
2397 // InternalVampireLanguage.g:904:2: (kw= 'plain' )
2398 // InternalVampireLanguage.g:905:2: kw= 'plain'
2399 {
2400 kw=(Token)match(input,44,FOLLOW_2);
2401
2402 current.merge(kw);
2403 newLeafNode(kw, grammarAccess.getVLSPlainAccess().getPlainKeyword());
2404
2405
2406 }
2407
2408
2409 leaveRule();
2410
2411 }
2412
2413 catch (RecognitionException re) {
2414 recover(input,re);
2415 appendSkippedTokens();
2416 }
2417 finally {
2418 }
2419 return current;
2420 }
2421 // $ANTLR end "ruleVLSPlain"
2422
2423
2424 // $ANTLR start "entryRuleVLSType"
2425 // InternalVampireLanguage.g:913:1: entryRuleVLSType returns [String current=null] : iv_ruleVLSType= ruleVLSType EOF ;
2426 public final String entryRuleVLSType() throws RecognitionException {
2427 String current = null;
2428
2429 AntlrDatatypeRuleToken iv_ruleVLSType = null;
2430
2431
2432 try {
2433 // InternalVampireLanguage.g:913:47: (iv_ruleVLSType= ruleVLSType EOF )
2434 // InternalVampireLanguage.g:914:2: iv_ruleVLSType= ruleVLSType EOF
2435 {
2436 newCompositeNode(grammarAccess.getVLSTypeRule());
2437 pushFollow(FOLLOW_1);
2438 iv_ruleVLSType=ruleVLSType();
2439
2440 state._fsp--;
2441
2442 current =iv_ruleVLSType.getText();
2443 match(input,EOF,FOLLOW_2);
2444
2445 }
2446
2447 }
2448
2449 catch (RecognitionException re) {
2450 recover(input,re);
2451 appendSkippedTokens();
2452 }
2453 finally {
2454 }
2455 return current;
2456 }
2457 // $ANTLR end "entryRuleVLSType"
2458
2459
2460 // $ANTLR start "ruleVLSType"
2461 // InternalVampireLanguage.g:920:1: ruleVLSType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'type' ;
2462 public final AntlrDatatypeRuleToken ruleVLSType() throws RecognitionException {
2463 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2464
2465 Token kw=null;
2466
2467
2468 enterRule();
2469
2470 try {
2471 // InternalVampireLanguage.g:926:2: (kw= 'type' )
2472 // InternalVampireLanguage.g:927:2: kw= 'type'
2473 {
2474 kw=(Token)match(input,45,FOLLOW_2);
2475
2476 current.merge(kw);
2477 newLeafNode(kw, grammarAccess.getVLSTypeAccess().getTypeKeyword());
2478
2479
2480 }
2481
2482
2483 leaveRule();
2484
2485 }
2486
2487 catch (RecognitionException re) {
2488 recover(input,re);
2489 appendSkippedTokens();
2490 }
2491 finally {
2492 }
2493 return current;
2494 }
2495 // $ANTLR end "ruleVLSType"
2496
2497
2498 // $ANTLR start "entryRuleVLSFi_Domain"
2499 // InternalVampireLanguage.g:935:1: entryRuleVLSFi_Domain returns [String current=null] : iv_ruleVLSFi_Domain= ruleVLSFi_Domain EOF ;
2500 public final String entryRuleVLSFi_Domain() throws RecognitionException {
2501 String current = null;
2502
2503 AntlrDatatypeRuleToken iv_ruleVLSFi_Domain = null;
2504
2505
2506 try {
2507 // InternalVampireLanguage.g:935:52: (iv_ruleVLSFi_Domain= ruleVLSFi_Domain EOF )
2508 // InternalVampireLanguage.g:936:2: iv_ruleVLSFi_Domain= ruleVLSFi_Domain EOF
2509 {
2510 newCompositeNode(grammarAccess.getVLSFi_DomainRule());
2511 pushFollow(FOLLOW_1);
2512 iv_ruleVLSFi_Domain=ruleVLSFi_Domain();
2513
2514 state._fsp--;
2515
2516 current =iv_ruleVLSFi_Domain.getText();
2517 match(input,EOF,FOLLOW_2);
2518
2519 }
2520
2521 }
2522
2523 catch (RecognitionException re) {
2524 recover(input,re);
2525 appendSkippedTokens();
2526 }
2527 finally {
2528 }
2529 return current;
2530 }
2531 // $ANTLR end "entryRuleVLSFi_Domain"
2532
2533
2534 // $ANTLR start "ruleVLSFi_Domain"
2535 // InternalVampireLanguage.g:942:1: ruleVLSFi_Domain returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'fi_domain' ;
2536 public final AntlrDatatypeRuleToken ruleVLSFi_Domain() throws RecognitionException {
2537 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2538
2539 Token kw=null;
2540
2541
2542 enterRule();
2543
2544 try {
2545 // InternalVampireLanguage.g:948:2: (kw= 'fi_domain' )
2546 // InternalVampireLanguage.g:949:2: kw= 'fi_domain'
2547 {
2548 kw=(Token)match(input,46,FOLLOW_2);
2549
2550 current.merge(kw);
2551 newLeafNode(kw, grammarAccess.getVLSFi_DomainAccess().getFi_domainKeyword());
2552
2553
2554 }
2555
2556
2557 leaveRule();
2558
2559 }
2560
2561 catch (RecognitionException re) {
2562 recover(input,re);
2563 appendSkippedTokens();
2564 }
2565 finally {
2566 }
2567 return current;
2568 }
2569 // $ANTLR end "ruleVLSFi_Domain"
2570
2571
2572 // $ANTLR start "entryRuleVLSFi_Functors"
2573 // InternalVampireLanguage.g:957:1: entryRuleVLSFi_Functors returns [String current=null] : iv_ruleVLSFi_Functors= ruleVLSFi_Functors EOF ;
2574 public final String entryRuleVLSFi_Functors() throws RecognitionException {
2575 String current = null;
2576
2577 AntlrDatatypeRuleToken iv_ruleVLSFi_Functors = null;
2578
2579
2580 try {
2581 // InternalVampireLanguage.g:957:54: (iv_ruleVLSFi_Functors= ruleVLSFi_Functors EOF )
2582 // InternalVampireLanguage.g:958:2: iv_ruleVLSFi_Functors= ruleVLSFi_Functors EOF
2583 {
2584 newCompositeNode(grammarAccess.getVLSFi_FunctorsRule());
2585 pushFollow(FOLLOW_1);
2586 iv_ruleVLSFi_Functors=ruleVLSFi_Functors();
2587
2588 state._fsp--;
2589
2590 current =iv_ruleVLSFi_Functors.getText();
2591 match(input,EOF,FOLLOW_2);
2592
2593 }
2594
2595 }
2596
2597 catch (RecognitionException re) {
2598 recover(input,re);
2599 appendSkippedTokens();
2600 }
2601 finally {
2602 }
2603 return current;
2604 }
2605 // $ANTLR end "entryRuleVLSFi_Functors"
2606
2607
2608 // $ANTLR start "ruleVLSFi_Functors"
2609 // InternalVampireLanguage.g:964:1: ruleVLSFi_Functors returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'fi_functors' ;
2610 public final AntlrDatatypeRuleToken ruleVLSFi_Functors() throws RecognitionException {
2611 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2612
2613 Token kw=null;
2614
2615
2616 enterRule();
2617
2618 try {
2619 // InternalVampireLanguage.g:970:2: (kw= 'fi_functors' )
2620 // InternalVampireLanguage.g:971:2: kw= 'fi_functors'
2621 {
2622 kw=(Token)match(input,47,FOLLOW_2);
2623
2624 current.merge(kw);
2625 newLeafNode(kw, grammarAccess.getVLSFi_FunctorsAccess().getFi_functorsKeyword());
2626
2627
2628 }
2629
2630
2631 leaveRule();
2632
2633 }
2634
2635 catch (RecognitionException re) {
2636 recover(input,re);
2637 appendSkippedTokens();
2638 }
2639 finally {
2640 }
2641 return current;
2642 }
2643 // $ANTLR end "ruleVLSFi_Functors"
2644
2645
2646 // $ANTLR start "entryRuleVLSFi_Predicates"
2647 // InternalVampireLanguage.g:979:1: entryRuleVLSFi_Predicates returns [String current=null] : iv_ruleVLSFi_Predicates= ruleVLSFi_Predicates EOF ;
2648 public final String entryRuleVLSFi_Predicates() throws RecognitionException {
2649 String current = null;
2650
2651 AntlrDatatypeRuleToken iv_ruleVLSFi_Predicates = null;
2652
2653
2654 try {
2655 // InternalVampireLanguage.g:979:56: (iv_ruleVLSFi_Predicates= ruleVLSFi_Predicates EOF )
2656 // InternalVampireLanguage.g:980:2: iv_ruleVLSFi_Predicates= ruleVLSFi_Predicates EOF
2657 {
2658 newCompositeNode(grammarAccess.getVLSFi_PredicatesRule());
2659 pushFollow(FOLLOW_1);
2660 iv_ruleVLSFi_Predicates=ruleVLSFi_Predicates();
2661
2662 state._fsp--;
2663
2664 current =iv_ruleVLSFi_Predicates.getText();
2665 match(input,EOF,FOLLOW_2);
2666
2667 }
2668
2669 }
2670
2671 catch (RecognitionException re) {
2672 recover(input,re);
2673 appendSkippedTokens();
2674 }
2675 finally {
2676 }
2677 return current;
2678 }
2679 // $ANTLR end "entryRuleVLSFi_Predicates"
2680
2681
2682 // $ANTLR start "ruleVLSFi_Predicates"
2683 // InternalVampireLanguage.g:986:1: ruleVLSFi_Predicates returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'fi_predicates' ;
2684 public final AntlrDatatypeRuleToken ruleVLSFi_Predicates() throws RecognitionException {
2685 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2686
2687 Token kw=null;
2688
2689
2690 enterRule();
2691
2692 try {
2693 // InternalVampireLanguage.g:992:2: (kw= 'fi_predicates' )
2694 // InternalVampireLanguage.g:993:2: kw= 'fi_predicates'
2695 {
2696 kw=(Token)match(input,48,FOLLOW_2);
2697
2698 current.merge(kw);
2699 newLeafNode(kw, grammarAccess.getVLSFi_PredicatesAccess().getFi_predicatesKeyword());
2700
2701
2702 }
2703
2704
2705 leaveRule();
2706
2707 }
2708
2709 catch (RecognitionException re) {
2710 recover(input,re);
2711 appendSkippedTokens();
2712 }
2713 finally {
2714 }
2715 return current;
2716 }
2717 // $ANTLR end "ruleVLSFi_Predicates"
2718
2719
2720 // $ANTLR start "entryRuleVLSUnknown"
2721 // InternalVampireLanguage.g:1001:1: entryRuleVLSUnknown returns [String current=null] : iv_ruleVLSUnknown= ruleVLSUnknown EOF ;
2722 public final String entryRuleVLSUnknown() throws RecognitionException {
2723 String current = null;
2724
2725 AntlrDatatypeRuleToken iv_ruleVLSUnknown = null;
2726
2727
2728 try {
2729 // InternalVampireLanguage.g:1001:50: (iv_ruleVLSUnknown= ruleVLSUnknown EOF )
2730 // InternalVampireLanguage.g:1002:2: iv_ruleVLSUnknown= ruleVLSUnknown EOF
2731 {
2732 newCompositeNode(grammarAccess.getVLSUnknownRule());
2733 pushFollow(FOLLOW_1);
2734 iv_ruleVLSUnknown=ruleVLSUnknown();
2735
2736 state._fsp--;
2737
2738 current =iv_ruleVLSUnknown.getText();
2739 match(input,EOF,FOLLOW_2);
2740
2741 }
2742
2743 }
2744
2745 catch (RecognitionException re) {
2746 recover(input,re);
2747 appendSkippedTokens();
2748 }
2749 finally {
2750 }
2751 return current;
2752 }
2753 // $ANTLR end "entryRuleVLSUnknown"
2754
2755
2756 // $ANTLR start "ruleVLSUnknown"
2757 // InternalVampireLanguage.g:1008:1: ruleVLSUnknown returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'unknown' ;
2758 public final AntlrDatatypeRuleToken ruleVLSUnknown() throws RecognitionException {
2759 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2760
2761 Token kw=null;
2762
2763
2764 enterRule();
2765
2766 try {
2767 // InternalVampireLanguage.g:1014:2: (kw= 'unknown' )
2768 // InternalVampireLanguage.g:1015:2: kw= 'unknown'
2769 {
2770 kw=(Token)match(input,49,FOLLOW_2);
2771
2772 current.merge(kw);
2773 newLeafNode(kw, grammarAccess.getVLSUnknownAccess().getUnknownKeyword());
2774
2775
2776 }
2777
2778
2779 leaveRule();
2780
2781 }
2782
2783 catch (RecognitionException re) {
2784 recover(input,re);
2785 appendSkippedTokens();
2786 }
2787 finally {
2788 }
2789 return current;
2790 }
2791 // $ANTLR end "ruleVLSUnknown"
2792
2793
2794 // $ANTLR start "entryRuleVLSAnnotation"
2795 // InternalVampireLanguage.g:1023:1: entryRuleVLSAnnotation returns [EObject current=null] : iv_ruleVLSAnnotation= ruleVLSAnnotation EOF ;
2796 public final EObject entryRuleVLSAnnotation() throws RecognitionException {
2797 EObject current = null;
2798
2799 EObject iv_ruleVLSAnnotation = null;
2800
2801
2802 try {
2803 // InternalVampireLanguage.g:1023:54: (iv_ruleVLSAnnotation= ruleVLSAnnotation EOF )
2804 // InternalVampireLanguage.g:1024:2: iv_ruleVLSAnnotation= ruleVLSAnnotation EOF
2805 {
2806 newCompositeNode(grammarAccess.getVLSAnnotationRule());
2807 pushFollow(FOLLOW_1);
2808 iv_ruleVLSAnnotation=ruleVLSAnnotation();
2809
2810 state._fsp--;
2811
2812 current =iv_ruleVLSAnnotation;
2813 match(input,EOF,FOLLOW_2);
2814
2815 }
2816
2817 }
2818
2819 catch (RecognitionException re) {
2820 recover(input,re);
2821 appendSkippedTokens();
2822 }
2823 finally {
2824 }
2825 return current;
2826 }
2827 // $ANTLR end "entryRuleVLSAnnotation"
2828
2829
2830 // $ANTLR start "ruleVLSAnnotation"
2831 // InternalVampireLanguage.g:1030:1: ruleVLSAnnotation returns [EObject current=null] : ( (otherlv_0= '[' )? ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? (otherlv_5= ']' )? ) ;
2832 public final EObject ruleVLSAnnotation() throws RecognitionException {
2833 EObject current = null;
2834
2835 Token otherlv_0=null;
2836 Token lv_name_1_1=null;
2837 Token lv_name_1_2=null;
2838 Token otherlv_2=null;
2839 Token otherlv_4=null;
2840 Token otherlv_5=null;
2841 AntlrDatatypeRuleToken lv_name_1_3 = null;
2842
2843 EObject lv_followup_3_0 = null;
2844
2845
2846
2847 enterRule();
2848
2849 try {
2850 // InternalVampireLanguage.g:1036:2: ( ( (otherlv_0= '[' )? ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? (otherlv_5= ']' )? ) )
2851 // InternalVampireLanguage.g:1037:2: ( (otherlv_0= '[' )? ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? (otherlv_5= ']' )? )
2852 {
2853 // InternalVampireLanguage.g:1037:2: ( (otherlv_0= '[' )? ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? (otherlv_5= ']' )? )
2854 // InternalVampireLanguage.g:1038:3: (otherlv_0= '[' )? ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? (otherlv_5= ']' )?
2855 {
2856 // InternalVampireLanguage.g:1038:3: (otherlv_0= '[' )?
2857 int alt8=2;
2858 int LA8_0 = input.LA(1);
2859
2860 if ( (LA8_0==50) ) {
2861 alt8=1;
2862 }
2863 switch (alt8) {
2864 case 1 :
2865 // InternalVampireLanguage.g:1039:4: otherlv_0= '['
2866 {
2867 otherlv_0=(Token)match(input,50,FOLLOW_17);
2868
2869 newLeafNode(otherlv_0, grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0());
2870
2871
2872 }
2873 break;
2874
2875 }
2876
2877 // InternalVampireLanguage.g:1044:3: ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )?
2878 int alt10=2;
2879 int LA10_0 = input.LA(1);
2880
2881 if ( ((LA10_0>=RULE_SINGLE_QUOTE && LA10_0<=RULE_LOWER_WORD_ID)||(LA10_0>=35 && LA10_0<=49)) ) {
2882 alt10=1;
2883 }
2884 switch (alt10) {
2885 case 1 :
2886 // InternalVampireLanguage.g:1045:4: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) )
2887 {
2888 // InternalVampireLanguage.g:1045:4: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) )
2889 // InternalVampireLanguage.g:1046:5: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole )
2890 {
2891 // InternalVampireLanguage.g:1046:5: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole )
2892 int alt9=3;
2893 switch ( input.LA(1) ) {
2894 case RULE_LOWER_WORD_ID:
2895 {
2896 alt9=1;
2897 }
2898 break;
2899 case RULE_SINGLE_QUOTE:
2900 {
2901 alt9=2;
2902 }
2903 break;
2904 case 35:
2905 case 36:
2906 case 37:
2907 case 38:
2908 case 39:
2909 case 40:
2910 case 41:
2911 case 42:
2912 case 43:
2913 case 44:
2914 case 45:
2915 case 46:
2916 case 47:
2917 case 48:
2918 case 49:
2919 {
2920 alt9=3;
2921 }
2922 break;
2923 default:
2924 NoViableAltException nvae =
2925 new NoViableAltException("", 9, 0, input);
2926
2927 throw nvae;
2928 }
2929
2930 switch (alt9) {
2931 case 1 :
2932 // InternalVampireLanguage.g:1047:6: lv_name_1_1= RULE_LOWER_WORD_ID
2933 {
2934 lv_name_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_18);
2935
2936 newLeafNode(lv_name_1_1, grammarAccess.getVLSAnnotationAccess().getNameLOWER_WORD_IDTerminalRuleCall_1_0_0());
2937
2938
2939 if (current==null) {
2940 current = createModelElement(grammarAccess.getVLSAnnotationRule());
2941 }
2942 setWithLastConsumed(
2943 current,
2944 "name",
2945 lv_name_1_1,
2946 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
2947
2948
2949 }
2950 break;
2951 case 2 :
2952 // InternalVampireLanguage.g:1062:6: lv_name_1_2= RULE_SINGLE_QUOTE
2953 {
2954 lv_name_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_18);
2955
2956 newLeafNode(lv_name_1_2, grammarAccess.getVLSAnnotationAccess().getNameSINGLE_QUOTETerminalRuleCall_1_0_1());
2957
2958
2959 if (current==null) {
2960 current = createModelElement(grammarAccess.getVLSAnnotationRule());
2961 }
2962 setWithLastConsumed(
2963 current,
2964 "name",
2965 lv_name_1_2,
2966 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
2967
2968
2969 }
2970 break;
2971 case 3 :
2972 // InternalVampireLanguage.g:1077:6: lv_name_1_3= ruleVLSRole
2973 {
2974
2975 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getNameVLSRoleParserRuleCall_1_0_2());
2976
2977 pushFollow(FOLLOW_18);
2978 lv_name_1_3=ruleVLSRole();
2979
2980 state._fsp--;
2981
2982
2983 if (current==null) {
2984 current = createModelElementForParent(grammarAccess.getVLSAnnotationRule());
2985 }
2986 set(
2987 current,
2988 "name",
2989 lv_name_1_3,
2990 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
2991 afterParserOrEnumRuleCall();
2992
2993
2994 }
2995 break;
2996
2997 }
2998
2999
3000 }
3001
3002
3003 }
3004 break;
3005
3006 }
3007
3008 // InternalVampireLanguage.g:1095:3: (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )?
3009 int alt11=2;
3010 int LA11_0 = input.LA(1);
3011
3012 if ( (LA11_0==32) ) {
3013 alt11=1;
3014 }
3015 switch (alt11) {
3016 case 1 :
3017 // InternalVampireLanguage.g:1096:4: otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')'
3018 {
3019 otherlv_2=(Token)match(input,32,FOLLOW_19);
3020
3021 newLeafNode(otherlv_2, grammarAccess.getVLSAnnotationAccess().getLeftParenthesisKeyword_2_0());
3022
3023 // InternalVampireLanguage.g:1100:4: ( (lv_followup_3_0= ruleVLSAnnotationTerms ) )
3024 // InternalVampireLanguage.g:1101:5: (lv_followup_3_0= ruleVLSAnnotationTerms )
3025 {
3026 // InternalVampireLanguage.g:1101:5: (lv_followup_3_0= ruleVLSAnnotationTerms )
3027 // InternalVampireLanguage.g:1102:6: lv_followup_3_0= ruleVLSAnnotationTerms
3028 {
3029
3030 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getFollowupVLSAnnotationTermsParserRuleCall_2_1_0());
3031
3032 pushFollow(FOLLOW_15);
3033 lv_followup_3_0=ruleVLSAnnotationTerms();
3034
3035 state._fsp--;
3036
3037
3038 if (current==null) {
3039 current = createModelElementForParent(grammarAccess.getVLSAnnotationRule());
3040 }
3041 set(
3042 current,
3043 "followup",
3044 lv_followup_3_0,
3045 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotationTerms");
3046 afterParserOrEnumRuleCall();
3047
3048
3049 }
3050
3051
3052 }
3053
3054 otherlv_4=(Token)match(input,33,FOLLOW_20);
3055
3056 newLeafNode(otherlv_4, grammarAccess.getVLSAnnotationAccess().getRightParenthesisKeyword_2_2());
3057
3058
3059 }
3060 break;
3061
3062 }
3063
3064 // InternalVampireLanguage.g:1124:3: (otherlv_5= ']' )?
3065 int alt12=2;
3066 int LA12_0 = input.LA(1);
3067
3068 if ( (LA12_0==30) ) {
3069 alt12=1;
3070 }
3071 switch (alt12) {
3072 case 1 :
3073 // InternalVampireLanguage.g:1125:4: otherlv_5= ']'
3074 {
3075 otherlv_5=(Token)match(input,30,FOLLOW_2);
3076
3077 newLeafNode(otherlv_5, grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3());
3078
3079
3080 }
3081 break;
3082
3083 }
3084
3085
3086 }
3087
3088
3089 }
3090
3091
3092 leaveRule();
3093
3094 }
3095
3096 catch (RecognitionException re) {
3097 recover(input,re);
3098 appendSkippedTokens();
3099 }
3100 finally {
3101 }
3102 return current;
3103 }
3104 // $ANTLR end "ruleVLSAnnotation"
3105
3106
3107 // $ANTLR start "entryRuleVLSAnnotationTerms"
3108 // InternalVampireLanguage.g:1134:1: entryRuleVLSAnnotationTerms returns [EObject current=null] : iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF ;
3109 public final EObject entryRuleVLSAnnotationTerms() throws RecognitionException {
3110 EObject current = null;
3111
3112 EObject iv_ruleVLSAnnotationTerms = null;
3113
3114
3115 try {
3116 // InternalVampireLanguage.g:1134:59: (iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF )
3117 // InternalVampireLanguage.g:1135:2: iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF
3118 {
3119 newCompositeNode(grammarAccess.getVLSAnnotationTermsRule());
3120 pushFollow(FOLLOW_1);
3121 iv_ruleVLSAnnotationTerms=ruleVLSAnnotationTerms();
3122
3123 state._fsp--;
3124
3125 current =iv_ruleVLSAnnotationTerms;
3126 match(input,EOF,FOLLOW_2);
3127
3128 }
3129
3130 }
3131
3132 catch (RecognitionException re) {
3133 recover(input,re);
3134 appendSkippedTokens();
3135 }
3136 finally {
3137 }
3138 return current;
3139 }
3140 // $ANTLR end "entryRuleVLSAnnotationTerms"
3141
3142
3143 // $ANTLR start "ruleVLSAnnotationTerms"
3144 // InternalVampireLanguage.g:1141:1: ruleVLSAnnotationTerms returns [EObject current=null] : ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* ) ;
3145 public final EObject ruleVLSAnnotationTerms() throws RecognitionException {
3146 EObject current = null;
3147
3148 Token otherlv_1=null;
3149 EObject lv_terms_0_0 = null;
3150
3151 EObject lv_terms_2_0 = null;
3152
3153
3154
3155 enterRule();
3156
3157 try {
3158 // InternalVampireLanguage.g:1147:2: ( ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* ) )
3159 // InternalVampireLanguage.g:1148:2: ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* )
3160 {
3161 // InternalVampireLanguage.g:1148:2: ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* )
3162 // InternalVampireLanguage.g:1149:3: ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )*
3163 {
3164 // InternalVampireLanguage.g:1149:3: ( (lv_terms_0_0= ruleVLSAnnotation ) )
3165 // InternalVampireLanguage.g:1150:4: (lv_terms_0_0= ruleVLSAnnotation )
3166 {
3167 // InternalVampireLanguage.g:1150:4: (lv_terms_0_0= ruleVLSAnnotation )
3168 // InternalVampireLanguage.g:1151:5: lv_terms_0_0= ruleVLSAnnotation
3169 {
3170
3171 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_0_0());
3172
3173 pushFollow(FOLLOW_21);
3174 lv_terms_0_0=ruleVLSAnnotation();
3175
3176 state._fsp--;
3177
3178
3179 if (current==null) {
3180 current = createModelElementForParent(grammarAccess.getVLSAnnotationTermsRule());
3181 }
3182 add(
3183 current,
3184 "terms",
3185 lv_terms_0_0,
3186 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
3187 afterParserOrEnumRuleCall();
3188
3189
3190 }
3191
3192
3193 }
3194
3195 // InternalVampireLanguage.g:1168:3: (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )*
3196 loop13:
3197 do {
3198 int alt13=2;
3199 int LA13_0 = input.LA(1);
3200
3201 if ( (LA13_0==29) ) {
3202 alt13=1;
3203 }
3204
3205
3206 switch (alt13) {
3207 case 1 :
3208 // InternalVampireLanguage.g:1169:4: otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) )
3209 {
3210 otherlv_1=(Token)match(input,29,FOLLOW_19);
3211
3212 newLeafNode(otherlv_1, grammarAccess.getVLSAnnotationTermsAccess().getCommaKeyword_1_0());
3213
3214 // InternalVampireLanguage.g:1173:4: ( (lv_terms_2_0= ruleVLSAnnotation ) )
3215 // InternalVampireLanguage.g:1174:5: (lv_terms_2_0= ruleVLSAnnotation )
3216 {
3217 // InternalVampireLanguage.g:1174:5: (lv_terms_2_0= ruleVLSAnnotation )
3218 // InternalVampireLanguage.g:1175:6: lv_terms_2_0= ruleVLSAnnotation
3219 {
3220
3221 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_1_1_0());
3222
3223 pushFollow(FOLLOW_21);
3224 lv_terms_2_0=ruleVLSAnnotation();
3225
3226 state._fsp--;
3227
3228
3229 if (current==null) {
3230 current = createModelElementForParent(grammarAccess.getVLSAnnotationTermsRule());
3231 }
3232 add(
3233 current,
3234 "terms",
3235 lv_terms_2_0,
3236 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
3237 afterParserOrEnumRuleCall();
3238
3239
3240 }
3241
3242
3243 }
3244
3245
3246 }
3247 break;
3248
3249 default :
3250 break loop13;
3251 }
3252 } while (true);
3253
3254
3255 }
3256
3257
3258 }
3259
3260
3261 leaveRule();
3262
3263 }
3264
3265 catch (RecognitionException re) {
3266 recover(input,re);
3267 appendSkippedTokens();
3268 }
3269 finally {
3270 }
3271 return current;
3272 }
3273 // $ANTLR end "ruleVLSAnnotationTerms"
3274
3275
3276 // $ANTLR start "entryRuleVLSTerm"
3277 // InternalVampireLanguage.g:1197:1: entryRuleVLSTerm returns [EObject current=null] : iv_ruleVLSTerm= ruleVLSTerm EOF ;
3278 public final EObject entryRuleVLSTerm() throws RecognitionException {
3279 EObject current = null;
3280
3281 EObject iv_ruleVLSTerm = null;
3282
3283
3284 try {
3285 // InternalVampireLanguage.g:1197:48: (iv_ruleVLSTerm= ruleVLSTerm EOF )
3286 // InternalVampireLanguage.g:1198:2: iv_ruleVLSTerm= ruleVLSTerm EOF
3287 {
3288 newCompositeNode(grammarAccess.getVLSTermRule());
3289 pushFollow(FOLLOW_1);
3290 iv_ruleVLSTerm=ruleVLSTerm();
3291
3292 state._fsp--;
3293
3294 current =iv_ruleVLSTerm;
3295 match(input,EOF,FOLLOW_2);
3296
3297 }
3298
3299 }
3300
3301 catch (RecognitionException re) {
3302 recover(input,re);
3303 appendSkippedTokens();
3304 }
3305 finally {
3306 }
3307 return current;
3308 }
3309 // $ANTLR end "entryRuleVLSTerm"
3310
3311
3312 // $ANTLR start "ruleVLSTerm"
3313 // InternalVampireLanguage.g:1204:1: ruleVLSTerm returns [EObject current=null] : this_VLSBinary_0= ruleVLSBinary ;
3314 public final EObject ruleVLSTerm() throws RecognitionException {
3315 EObject current = null;
3316
3317 EObject this_VLSBinary_0 = null;
3318
3319
3320
3321 enterRule();
3322
3323 try {
3324 // InternalVampireLanguage.g:1210:2: (this_VLSBinary_0= ruleVLSBinary )
3325 // InternalVampireLanguage.g:1211:2: this_VLSBinary_0= ruleVLSBinary
3326 {
3327
3328 newCompositeNode(grammarAccess.getVLSTermAccess().getVLSBinaryParserRuleCall());
3329
3330 pushFollow(FOLLOW_2);
3331 this_VLSBinary_0=ruleVLSBinary();
3332
3333 state._fsp--;
3334
3335
3336 current = this_VLSBinary_0;
3337 afterParserOrEnumRuleCall();
3338
3339
3340 }
3341
3342
3343 leaveRule();
3344
3345 }
3346
3347 catch (RecognitionException re) {
3348 recover(input,re);
3349 appendSkippedTokens();
3350 }
3351 finally {
3352 }
3353 return current;
3354 }
3355 // $ANTLR end "ruleVLSTerm"
3356
3357
3358 // $ANTLR start "entryRuleVLSBinary"
3359 // InternalVampireLanguage.g:1222:1: entryRuleVLSBinary returns [EObject current=null] : iv_ruleVLSBinary= ruleVLSBinary EOF ;
3360 public final EObject entryRuleVLSBinary() throws RecognitionException {
3361 EObject current = null;
3362
3363 EObject iv_ruleVLSBinary = null;
3364
3365
3366 try {
3367 // InternalVampireLanguage.g:1222:50: (iv_ruleVLSBinary= ruleVLSBinary EOF )
3368 // InternalVampireLanguage.g:1223:2: iv_ruleVLSBinary= ruleVLSBinary EOF
3369 {
3370 newCompositeNode(grammarAccess.getVLSBinaryRule());
3371 pushFollow(FOLLOW_1);
3372 iv_ruleVLSBinary=ruleVLSBinary();
3373
3374 state._fsp--;
3375
3376 current =iv_ruleVLSBinary;
3377 match(input,EOF,FOLLOW_2);
3378
3379 }
3380
3381 }
3382
3383 catch (RecognitionException re) {
3384 recover(input,re);
3385 appendSkippedTokens();
3386 }
3387 finally {
3388 }
3389 return current;
3390 }
3391 // $ANTLR end "entryRuleVLSBinary"
3392
3393
3394 // $ANTLR start "ruleVLSBinary"
3395 // InternalVampireLanguage.g:1229:1: ruleVLSBinary returns [EObject current=null] : (this_VLSUnitaryFormula_0= ruleVLSUnitaryFormula ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )? ) ;
3396 public final EObject ruleVLSBinary() throws RecognitionException {
3397 EObject current = null;
3398
3399 Token otherlv_2=null;
3400 Token otherlv_4=null;
3401 Token otherlv_6=null;
3402 Token otherlv_8=null;
3403 Token otherlv_10=null;
3404 Token otherlv_12=null;
3405 Token otherlv_15=null;
3406 Token otherlv_18=null;
3407 EObject this_VLSUnitaryFormula_0 = null;
3408
3409 EObject lv_right_13_0 = null;
3410
3411 EObject lv_right_16_0 = null;
3412
3413 EObject lv_right_19_0 = null;
3414
3415
3416
3417 enterRule();
3418
3419 try {
3420 // InternalVampireLanguage.g:1235:2: ( (this_VLSUnitaryFormula_0= ruleVLSUnitaryFormula ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )? ) )
3421 // InternalVampireLanguage.g:1236:2: (this_VLSUnitaryFormula_0= ruleVLSUnitaryFormula ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )? )
3422 {
3423 // InternalVampireLanguage.g:1236:2: (this_VLSUnitaryFormula_0= ruleVLSUnitaryFormula ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )? )
3424 // InternalVampireLanguage.g:1237:3: this_VLSUnitaryFormula_0= ruleVLSUnitaryFormula ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )?
3425 {
3426
3427 newCompositeNode(grammarAccess.getVLSBinaryAccess().getVLSUnitaryFormulaParserRuleCall_0());
3428
3429 pushFollow(FOLLOW_22);
3430 this_VLSUnitaryFormula_0=ruleVLSUnitaryFormula();
3431
3432 state._fsp--;
3433
3434
3435 current = this_VLSUnitaryFormula_0;
3436 afterParserOrEnumRuleCall();
3437
3438 // InternalVampireLanguage.g:1245:3: ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )?
3439 int alt17=4;
3440 switch ( input.LA(1) ) {
3441 case 51:
3442 case 52:
3443 case 53:
3444 case 54:
3445 case 55:
3446 case 56:
3447 {
3448 alt17=1;
3449 }
3450 break;
3451 case 57:
3452 {
3453 alt17=2;
3454 }
3455 break;
3456 case 58:
3457 {
3458 alt17=3;
3459 }
3460 break;
3461 }
3462
3463 switch (alt17) {
3464 case 1 :
3465 // InternalVampireLanguage.g:1246:4: ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) )
3466 {
3467 // InternalVampireLanguage.g:1246:4: ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) )
3468 // InternalVampireLanguage.g:1247:5: ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) )
3469 {
3470 // InternalVampireLanguage.g:1247:5: ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) )
3471 int alt14=6;
3472 switch ( input.LA(1) ) {
3473 case 51:
3474 {
3475 alt14=1;
3476 }
3477 break;
3478 case 52:
3479 {
3480 alt14=2;
3481 }
3482 break;
3483 case 53:
3484 {
3485 alt14=3;
3486 }
3487 break;
3488 case 54:
3489 {
3490 alt14=4;
3491 }
3492 break;
3493 case 55:
3494 {
3495 alt14=5;
3496 }
3497 break;
3498 case 56:
3499 {
3500 alt14=6;
3501 }
3502 break;
3503 default:
3504 NoViableAltException nvae =
3505 new NoViableAltException("", 14, 0, input);
3506
3507 throw nvae;
3508 }
3509
3510 switch (alt14) {
3511 case 1 :
3512 // InternalVampireLanguage.g:1248:6: ( () otherlv_2= '<=>' )
3513 {
3514 // InternalVampireLanguage.g:1248:6: ( () otherlv_2= '<=>' )
3515 // InternalVampireLanguage.g:1249:7: () otherlv_2= '<=>'
3516 {
3517 // InternalVampireLanguage.g:1249:7: ()
3518 // InternalVampireLanguage.g:1250:8:
3519 {
3520
3521 current = forceCreateModelElementAndSet(
3522 grammarAccess.getVLSBinaryAccess().getVLSEquivalentLeftAction_1_0_0_0_0(),
3523 current);
3524
3525
3526 }
3527
3528 otherlv_2=(Token)match(input,51,FOLLOW_12);
3529
3530 newLeafNode(otherlv_2, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1());
3531
3532
3533 }
3534
3535
3536 }
3537 break;
3538 case 2 :
3539 // InternalVampireLanguage.g:1262:6: ( () otherlv_4= '=>' )
3540 {
3541 // InternalVampireLanguage.g:1262:6: ( () otherlv_4= '=>' )
3542 // InternalVampireLanguage.g:1263:7: () otherlv_4= '=>'
3543 {
3544 // InternalVampireLanguage.g:1263:7: ()
3545 // InternalVampireLanguage.g:1264:8:
3546 {
3547
3548 current = forceCreateModelElementAndSet(
3549 grammarAccess.getVLSBinaryAccess().getVLSImpliesLeftAction_1_0_0_1_0(),
3550 current);
3551
3552
3553 }
3554
3555 otherlv_4=(Token)match(input,52,FOLLOW_12);
3556
3557 newLeafNode(otherlv_4, grammarAccess.getVLSBinaryAccess().getEqualsSignGreaterThanSignKeyword_1_0_0_1_1());
3558
3559
3560 }
3561
3562
3563 }
3564 break;
3565 case 3 :
3566 // InternalVampireLanguage.g:1276:6: ( () otherlv_6= '<=' )
3567 {
3568 // InternalVampireLanguage.g:1276:6: ( () otherlv_6= '<=' )
3569 // InternalVampireLanguage.g:1277:7: () otherlv_6= '<='
3570 {
3571 // InternalVampireLanguage.g:1277:7: ()
3572 // InternalVampireLanguage.g:1278:8:
3573 {
3574
3575 current = forceCreateModelElementAndSet(
3576 grammarAccess.getVLSBinaryAccess().getVLSRevImpliesLeftAction_1_0_0_2_0(),
3577 current);
3578
3579
3580 }
3581
3582 otherlv_6=(Token)match(input,53,FOLLOW_12);
3583
3584 newLeafNode(otherlv_6, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignKeyword_1_0_0_2_1());
3585
3586
3587 }
3588
3589
3590 }
3591 break;
3592 case 4 :
3593 // InternalVampireLanguage.g:1290:6: ( () otherlv_8= '<~>' )
3594 {
3595 // InternalVampireLanguage.g:1290:6: ( () otherlv_8= '<~>' )
3596 // InternalVampireLanguage.g:1291:7: () otherlv_8= '<~>'
3597 {
3598 // InternalVampireLanguage.g:1291:7: ()
3599 // InternalVampireLanguage.g:1292:8:
3600 {
3601
3602 current = forceCreateModelElementAndSet(
3603 grammarAccess.getVLSBinaryAccess().getVLSXnorLeftAction_1_0_0_3_0(),
3604 current);
3605
3606
3607 }
3608
3609 otherlv_8=(Token)match(input,54,FOLLOW_12);
3610
3611 newLeafNode(otherlv_8, grammarAccess.getVLSBinaryAccess().getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1());
3612
3613
3614 }
3615
3616
3617 }
3618 break;
3619 case 5 :
3620 // InternalVampireLanguage.g:1304:6: ( () otherlv_10= '~|' )
3621 {
3622 // InternalVampireLanguage.g:1304:6: ( () otherlv_10= '~|' )
3623 // InternalVampireLanguage.g:1305:7: () otherlv_10= '~|'
3624 {
3625 // InternalVampireLanguage.g:1305:7: ()
3626 // InternalVampireLanguage.g:1306:8:
3627 {
3628
3629 current = forceCreateModelElementAndSet(
3630 grammarAccess.getVLSBinaryAccess().getVLSNorLeftAction_1_0_0_4_0(),
3631 current);
3632
3633
3634 }
3635
3636 otherlv_10=(Token)match(input,55,FOLLOW_12);
3637
3638 newLeafNode(otherlv_10, grammarAccess.getVLSBinaryAccess().getTildeVerticalLineKeyword_1_0_0_4_1());
3639
3640
3641 }
3642
3643
3644 }
3645 break;
3646 case 6 :
3647 // InternalVampireLanguage.g:1318:6: ( () otherlv_12= '~&' )
3648 {
3649 // InternalVampireLanguage.g:1318:6: ( () otherlv_12= '~&' )
3650 // InternalVampireLanguage.g:1319:7: () otherlv_12= '~&'
3651 {
3652 // InternalVampireLanguage.g:1319:7: ()
3653 // InternalVampireLanguage.g:1320:8:
3654 {
3655
3656 current = forceCreateModelElementAndSet(
3657 grammarAccess.getVLSBinaryAccess().getVLSNandLeftAction_1_0_0_5_0(),
3658 current);
3659
3660
3661 }
3662
3663 otherlv_12=(Token)match(input,56,FOLLOW_12);
3664
3665 newLeafNode(otherlv_12, grammarAccess.getVLSBinaryAccess().getTildeAmpersandKeyword_1_0_0_5_1());
3666
3667
3668 }
3669
3670
3671 }
3672 break;
3673
3674 }
3675
3676 // InternalVampireLanguage.g:1332:5: ( (lv_right_13_0= ruleVLSUnitaryFormula ) )
3677 // InternalVampireLanguage.g:1333:6: (lv_right_13_0= ruleVLSUnitaryFormula )
3678 {
3679 // InternalVampireLanguage.g:1333:6: (lv_right_13_0= ruleVLSUnitaryFormula )
3680 // InternalVampireLanguage.g:1334:7: lv_right_13_0= ruleVLSUnitaryFormula
3681 {
3682
3683 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0());
3684
3685 pushFollow(FOLLOW_2);
3686 lv_right_13_0=ruleVLSUnitaryFormula();
3687
3688 state._fsp--;
3689
3690
3691 if (current==null) {
3692 current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
3693 }
3694 set(
3695 current,
3696 "right",
3697 lv_right_13_0,
3698 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
3699 afterParserOrEnumRuleCall();
3700
3701
3702 }
3703
3704
3705 }
3706
3707
3708 }
3709
3710
3711 }
3712 break;
3713 case 2 :
3714 // InternalVampireLanguage.g:1353:4: ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+
3715 {
3716 // InternalVampireLanguage.g:1353:4: ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+
3717 int cnt15=0;
3718 loop15:
3719 do {
3720 int alt15=2;
3721 int LA15_0 = input.LA(1);
3722
3723 if ( (LA15_0==57) ) {
3724 alt15=1;
3725 }
3726
3727
3728 switch (alt15) {
3729 case 1 :
3730 // InternalVampireLanguage.g:1354:5: () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) )
3731 {
3732 // InternalVampireLanguage.g:1354:5: ()
3733 // InternalVampireLanguage.g:1355:6:
3734 {
3735
3736 current = forceCreateModelElementAndSet(
3737 grammarAccess.getVLSBinaryAccess().getVLSAndLeftAction_1_1_0(),
3738 current);
3739
3740
3741 }
3742
3743 otherlv_15=(Token)match(input,57,FOLLOW_12);
3744
3745 newLeafNode(otherlv_15, grammarAccess.getVLSBinaryAccess().getAmpersandKeyword_1_1_1());
3746
3747 // InternalVampireLanguage.g:1365:5: ( (lv_right_16_0= ruleVLSUnitaryFormula ) )
3748 // InternalVampireLanguage.g:1366:6: (lv_right_16_0= ruleVLSUnitaryFormula )
3749 {
3750 // InternalVampireLanguage.g:1366:6: (lv_right_16_0= ruleVLSUnitaryFormula )
3751 // InternalVampireLanguage.g:1367:7: lv_right_16_0= ruleVLSUnitaryFormula
3752 {
3753
3754 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0());
3755
3756 pushFollow(FOLLOW_23);
3757 lv_right_16_0=ruleVLSUnitaryFormula();
3758
3759 state._fsp--;
3760
3761
3762 if (current==null) {
3763 current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
3764 }
3765 set(
3766 current,
3767 "right",
3768 lv_right_16_0,
3769 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
3770 afterParserOrEnumRuleCall();
3771
3772
3773 }
3774
3775
3776 }
3777
3778
3779 }
3780 break;
3781
3782 default :
3783 if ( cnt15 >= 1 ) break loop15;
3784 EarlyExitException eee =
3785 new EarlyExitException(15, input);
3786 throw eee;
3787 }
3788 cnt15++;
3789 } while (true);
3790
3791
3792 }
3793 break;
3794 case 3 :
3795 // InternalVampireLanguage.g:1386:4: ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+
3796 {
3797 // InternalVampireLanguage.g:1386:4: ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+
3798 int cnt16=0;
3799 loop16:
3800 do {
3801 int alt16=2;
3802 int LA16_0 = input.LA(1);
3803
3804 if ( (LA16_0==58) ) {
3805 alt16=1;
3806 }
3807
3808
3809 switch (alt16) {
3810 case 1 :
3811 // InternalVampireLanguage.g:1387:5: () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) )
3812 {
3813 // InternalVampireLanguage.g:1387:5: ()
3814 // InternalVampireLanguage.g:1388:6:
3815 {
3816
3817 current = forceCreateModelElementAndSet(
3818 grammarAccess.getVLSBinaryAccess().getVLSOrLeftAction_1_2_0(),
3819 current);
3820
3821
3822 }
3823
3824 otherlv_18=(Token)match(input,58,FOLLOW_12);
3825
3826 newLeafNode(otherlv_18, grammarAccess.getVLSBinaryAccess().getVerticalLineKeyword_1_2_1());
3827
3828 // InternalVampireLanguage.g:1398:5: ( (lv_right_19_0= ruleVLSUnitaryFormula ) )
3829 // InternalVampireLanguage.g:1399:6: (lv_right_19_0= ruleVLSUnitaryFormula )
3830 {
3831 // InternalVampireLanguage.g:1399:6: (lv_right_19_0= ruleVLSUnitaryFormula )
3832 // InternalVampireLanguage.g:1400:7: lv_right_19_0= ruleVLSUnitaryFormula
3833 {
3834
3835 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0());
3836
3837 pushFollow(FOLLOW_24);
3838 lv_right_19_0=ruleVLSUnitaryFormula();
3839
3840 state._fsp--;
3841
3842
3843 if (current==null) {
3844 current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
3845 }
3846 set(
3847 current,
3848 "right",
3849 lv_right_19_0,
3850 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
3851 afterParserOrEnumRuleCall();
3852
3853
3854 }
3855
3856
3857 }
3858
3859
3860 }
3861 break;
3862
3863 default :
3864 if ( cnt16 >= 1 ) break loop16;
3865 EarlyExitException eee =
3866 new EarlyExitException(16, input);
3867 throw eee;
3868 }
3869 cnt16++;
3870 } while (true);
3871
3872
3873 }
3874 break;
3875
3876 }
3877
3878
3879 }
3880
3881
3882 }
3883
3884
3885 leaveRule();
3886
3887 }
3888
3889 catch (RecognitionException re) {
3890 recover(input,re);
3891 appendSkippedTokens();
3892 }
3893 finally {
3894 }
3895 return current;
3896 }
3897 // $ANTLR end "ruleVLSBinary"
3898
3899
3900 // $ANTLR start "entryRuleVLSUnitaryFormula"
3901 // InternalVampireLanguage.g:1423:1: entryRuleVLSUnitaryFormula returns [EObject current=null] : iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF ;
3902 public final EObject entryRuleVLSUnitaryFormula() throws RecognitionException {
3903 EObject current = null;
3904
3905 EObject iv_ruleVLSUnitaryFormula = null;
3906
3907
3908 try {
3909 // InternalVampireLanguage.g:1423:58: (iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF )
3910 // InternalVampireLanguage.g:1424:2: iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF
3911 {
3912 newCompositeNode(grammarAccess.getVLSUnitaryFormulaRule());
3913 pushFollow(FOLLOW_1);
3914 iv_ruleVLSUnitaryFormula=ruleVLSUnitaryFormula();
3915
3916 state._fsp--;
3917
3918 current =iv_ruleVLSUnitaryFormula;
3919 match(input,EOF,FOLLOW_2);
3920
3921 }
3922
3923 }
3924
3925 catch (RecognitionException re) {
3926 recover(input,re);
3927 appendSkippedTokens();
3928 }
3929 finally {
3930 }
3931 return current;
3932 }
3933 // $ANTLR end "entryRuleVLSUnitaryFormula"
3934
3935
3936 // $ANTLR start "ruleVLSUnitaryFormula"
3937 // InternalVampireLanguage.g:1430:1: ruleVLSUnitaryFormula returns [EObject current=null] : (this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier | this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier | this_VLSUnaryNegation_2= ruleVLSUnaryNegation | this_VLSUnaryInfix_3= ruleVLSUnaryInfix | (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' ) ) ;
3938 public final EObject ruleVLSUnitaryFormula() throws RecognitionException {
3939 EObject current = null;
3940
3941 Token otherlv_4=null;
3942 Token otherlv_6=null;
3943 EObject this_VLSUniversalQuantifier_0 = null;
3944
3945 EObject this_VLSExistentialQuantifier_1 = null;
3946
3947 EObject this_VLSUnaryNegation_2 = null;
3948
3949 EObject this_VLSUnaryInfix_3 = null;
3950
3951 EObject this_VLSTerm_5 = null;
3952
3953
3954
3955 enterRule();
3956
3957 try {
3958 // InternalVampireLanguage.g:1436:2: ( (this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier | this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier | this_VLSUnaryNegation_2= ruleVLSUnaryNegation | this_VLSUnaryInfix_3= ruleVLSUnaryInfix | (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' ) ) )
3959 // InternalVampireLanguage.g:1437:2: (this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier | this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier | this_VLSUnaryNegation_2= ruleVLSUnaryNegation | this_VLSUnaryInfix_3= ruleVLSUnaryInfix | (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' ) )
3960 {
3961 // InternalVampireLanguage.g:1437:2: (this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier | this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier | this_VLSUnaryNegation_2= ruleVLSUnaryNegation | this_VLSUnaryInfix_3= ruleVLSUnaryInfix | (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' ) )
3962 int alt18=5;
3963 switch ( input.LA(1) ) {
3964 case 59:
3965 {
3966 alt18=1;
3967 }
3968 break;
3969 case 61:
3970 {
3971 alt18=2;
3972 }
3973 break;
3974 case 62:
3975 {
3976 alt18=3;
3977 }
3978 break;
3979 case RULE_SINGLE_QUOTE:
3980 case RULE_LOWER_WORD_ID:
3981 case RULE_SIGNED_LITERAL:
3982 case RULE_DOLLAR_ID:
3983 case RULE_DOUBLE_DOLLAR_ID:
3984 case RULE_UPPER_WORD_ID:
3985 case RULE_SIGNED_REAL_ID:
3986 case RULE_SIGNED_RAT_ID:
3987 case RULE_DOUBLE_QUOTE:
3988 case 35:
3989 case 36:
3990 case 37:
3991 case 38:
3992 case 39:
3993 case 40:
3994 case 41:
3995 case 42:
3996 case 43:
3997 case 44:
3998 case 45:
3999 case 46:
4000 case 47:
4001 case 48:
4002 case 49:
4003 case 66:
4004 case 67:
4005 case 68:
4006 {
4007 alt18=4;
4008 }
4009 break;
4010 case 32:
4011 {
4012 alt18=5;
4013 }
4014 break;
4015 default:
4016 NoViableAltException nvae =
4017 new NoViableAltException("", 18, 0, input);
4018
4019 throw nvae;
4020 }
4021
4022 switch (alt18) {
4023 case 1 :
4024 // InternalVampireLanguage.g:1438:3: this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier
4025 {
4026
4027 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUniversalQuantifierParserRuleCall_0());
4028
4029 pushFollow(FOLLOW_2);
4030 this_VLSUniversalQuantifier_0=ruleVLSUniversalQuantifier();
4031
4032 state._fsp--;
4033
4034
4035 current = this_VLSUniversalQuantifier_0;
4036 afterParserOrEnumRuleCall();
4037
4038
4039 }
4040 break;
4041 case 2 :
4042 // InternalVampireLanguage.g:1447:3: this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier
4043 {
4044
4045 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSExistentialQuantifierParserRuleCall_1());
4046
4047 pushFollow(FOLLOW_2);
4048 this_VLSExistentialQuantifier_1=ruleVLSExistentialQuantifier();
4049
4050 state._fsp--;
4051
4052
4053 current = this_VLSExistentialQuantifier_1;
4054 afterParserOrEnumRuleCall();
4055
4056
4057 }
4058 break;
4059 case 3 :
4060 // InternalVampireLanguage.g:1456:3: this_VLSUnaryNegation_2= ruleVLSUnaryNegation
4061 {
4062
4063 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryNegationParserRuleCall_2());
4064
4065 pushFollow(FOLLOW_2);
4066 this_VLSUnaryNegation_2=ruleVLSUnaryNegation();
4067
4068 state._fsp--;
4069
4070
4071 current = this_VLSUnaryNegation_2;
4072 afterParserOrEnumRuleCall();
4073
4074
4075 }
4076 break;
4077 case 4 :
4078 // InternalVampireLanguage.g:1465:3: this_VLSUnaryInfix_3= ruleVLSUnaryInfix
4079 {
4080
4081 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryInfixParserRuleCall_3());
4082
4083 pushFollow(FOLLOW_2);
4084 this_VLSUnaryInfix_3=ruleVLSUnaryInfix();
4085
4086 state._fsp--;
4087
4088
4089 current = this_VLSUnaryInfix_3;
4090 afterParserOrEnumRuleCall();
4091
4092
4093 }
4094 break;
4095 case 5 :
4096 // InternalVampireLanguage.g:1474:3: (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' )
4097 {
4098 // InternalVampireLanguage.g:1474:3: (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' )
4099 // InternalVampireLanguage.g:1475:4: otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')'
4100 {
4101 otherlv_4=(Token)match(input,32,FOLLOW_12);
4102
4103 newLeafNode(otherlv_4, grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0());
4104
4105
4106 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSTermParserRuleCall_4_1());
4107
4108 pushFollow(FOLLOW_15);
4109 this_VLSTerm_5=ruleVLSTerm();
4110
4111 state._fsp--;
4112
4113
4114 current = this_VLSTerm_5;
4115 afterParserOrEnumRuleCall();
4116
4117 otherlv_6=(Token)match(input,33,FOLLOW_2);
4118
4119 newLeafNode(otherlv_6, grammarAccess.getVLSUnitaryFormulaAccess().getRightParenthesisKeyword_4_2());
4120
4121
4122 }
4123
4124
4125 }
4126 break;
4127
4128 }
4129
4130
4131 }
4132
4133
4134 leaveRule();
4135
4136 }
4137
4138 catch (RecognitionException re) {
4139 recover(input,re);
4140 appendSkippedTokens();
4141 }
4142 finally {
4143 }
4144 return current;
4145 }
4146 // $ANTLR end "ruleVLSUnitaryFormula"
4147
4148
4149 // $ANTLR start "entryRuleVLSUniversalQuantifier"
4150 // InternalVampireLanguage.g:1496:1: entryRuleVLSUniversalQuantifier returns [EObject current=null] : iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF ;
4151 public final EObject entryRuleVLSUniversalQuantifier() throws RecognitionException {
4152 EObject current = null;
4153
4154 EObject iv_ruleVLSUniversalQuantifier = null;
4155
4156
4157 try {
4158 // InternalVampireLanguage.g:1496:63: (iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF )
4159 // InternalVampireLanguage.g:1497:2: iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF
4160 {
4161 newCompositeNode(grammarAccess.getVLSUniversalQuantifierRule());
4162 pushFollow(FOLLOW_1);
4163 iv_ruleVLSUniversalQuantifier=ruleVLSUniversalQuantifier();
4164
4165 state._fsp--;
4166
4167 current =iv_ruleVLSUniversalQuantifier;
4168 match(input,EOF,FOLLOW_2);
4169
4170 }
4171
4172 }
4173
4174 catch (RecognitionException re) {
4175 recover(input,re);
4176 appendSkippedTokens();
4177 }
4178 finally {
4179 }
4180 return current;
4181 }
4182 // $ANTLR end "entryRuleVLSUniversalQuantifier"
4183
4184
4185 // $ANTLR start "ruleVLSUniversalQuantifier"
4186 // InternalVampireLanguage.g:1503:1: ruleVLSUniversalQuantifier returns [EObject current=null] : ( () (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) ;
4187 public final EObject ruleVLSUniversalQuantifier() throws RecognitionException {
4188 EObject current = null;
4189
4190 Token otherlv_1=null;
4191 Token otherlv_2=null;
4192 Token otherlv_4=null;
4193 Token otherlv_6=null;
4194 Token otherlv_7=null;
4195 EObject lv_variables_3_0 = null;
4196
4197 EObject lv_variables_5_0 = null;
4198
4199 EObject lv_operand_8_0 = null;
4200
4201
4202
4203 enterRule();
4204
4205 try {
4206 // InternalVampireLanguage.g:1509:2: ( ( () (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) )
4207 // InternalVampireLanguage.g:1510:2: ( () (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
4208 {
4209 // InternalVampireLanguage.g:1510:2: ( () (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
4210 // InternalVampireLanguage.g:1511:3: () (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
4211 {
4212 // InternalVampireLanguage.g:1511:3: ()
4213 // InternalVampireLanguage.g:1512:4:
4214 {
4215
4216 current = forceCreateModelElement(
4217 grammarAccess.getVLSUniversalQuantifierAccess().getVLSUniversalQuantifierAction_0(),
4218 current);
4219
4220
4221 }
4222
4223 // InternalVampireLanguage.g:1518:3: (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' )
4224 // InternalVampireLanguage.g:1519:4: otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':'
4225 {
4226 otherlv_1=(Token)match(input,59,FOLLOW_25);
4227
4228 newLeafNode(otherlv_1, grammarAccess.getVLSUniversalQuantifierAccess().getExclamationMarkKeyword_1_0());
4229
4230 otherlv_2=(Token)match(input,50,FOLLOW_26);
4231
4232 newLeafNode(otherlv_2, grammarAccess.getVLSUniversalQuantifierAccess().getLeftSquareBracketKeyword_1_1());
4233
4234 // InternalVampireLanguage.g:1527:4: ( (lv_variables_3_0= ruleVLSVariable ) )
4235 // InternalVampireLanguage.g:1528:5: (lv_variables_3_0= ruleVLSVariable )
4236 {
4237 // InternalVampireLanguage.g:1528:5: (lv_variables_3_0= ruleVLSVariable )
4238 // InternalVampireLanguage.g:1529:6: lv_variables_3_0= ruleVLSVariable
4239 {
4240
4241 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
4242
4243 pushFollow(FOLLOW_7);
4244 lv_variables_3_0=ruleVLSVariable();
4245
4246 state._fsp--;
4247
4248
4249 if (current==null) {
4250 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
4251 }
4252 add(
4253 current,
4254 "variables",
4255 lv_variables_3_0,
4256 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4257 afterParserOrEnumRuleCall();
4258
4259
4260 }
4261
4262
4263 }
4264
4265 // InternalVampireLanguage.g:1546:4: (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )*
4266 loop19:
4267 do {
4268 int alt19=2;
4269 int LA19_0 = input.LA(1);
4270
4271 if ( (LA19_0==29) ) {
4272 alt19=1;
4273 }
4274
4275
4276 switch (alt19) {
4277 case 1 :
4278 // InternalVampireLanguage.g:1547:5: otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) )
4279 {
4280 otherlv_4=(Token)match(input,29,FOLLOW_26);
4281
4282 newLeafNode(otherlv_4, grammarAccess.getVLSUniversalQuantifierAccess().getCommaKeyword_1_3_0());
4283
4284 // InternalVampireLanguage.g:1551:5: ( (lv_variables_5_0= ruleVLSVariable ) )
4285 // InternalVampireLanguage.g:1552:6: (lv_variables_5_0= ruleVLSVariable )
4286 {
4287 // InternalVampireLanguage.g:1552:6: (lv_variables_5_0= ruleVLSVariable )
4288 // InternalVampireLanguage.g:1553:7: lv_variables_5_0= ruleVLSVariable
4289 {
4290
4291 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
4292
4293 pushFollow(FOLLOW_7);
4294 lv_variables_5_0=ruleVLSVariable();
4295
4296 state._fsp--;
4297
4298
4299 if (current==null) {
4300 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
4301 }
4302 add(
4303 current,
4304 "variables",
4305 lv_variables_5_0,
4306 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4307 afterParserOrEnumRuleCall();
4308
4309
4310 }
4311
4312
4313 }
4314
4315
4316 }
4317 break;
4318
4319 default :
4320 break loop19;
4321 }
4322 } while (true);
4323
4324 otherlv_6=(Token)match(input,30,FOLLOW_27);
4325
4326 newLeafNode(otherlv_6, grammarAccess.getVLSUniversalQuantifierAccess().getRightSquareBracketKeyword_1_4());
4327
4328 otherlv_7=(Token)match(input,60,FOLLOW_12);
4329
4330 newLeafNode(otherlv_7, grammarAccess.getVLSUniversalQuantifierAccess().getColonKeyword_1_5());
4331
4332
4333 }
4334
4335 // InternalVampireLanguage.g:1580:3: ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
4336 // InternalVampireLanguage.g:1581:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
4337 {
4338 // InternalVampireLanguage.g:1581:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
4339 // InternalVampireLanguage.g:1582:5: lv_operand_8_0= ruleVLSUnitaryFormula
4340 {
4341
4342 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
4343
4344 pushFollow(FOLLOW_2);
4345 lv_operand_8_0=ruleVLSUnitaryFormula();
4346
4347 state._fsp--;
4348
4349
4350 if (current==null) {
4351 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
4352 }
4353 set(
4354 current,
4355 "operand",
4356 lv_operand_8_0,
4357 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
4358 afterParserOrEnumRuleCall();
4359
4360
4361 }
4362
4363
4364 }
4365
4366
4367 }
4368
4369
4370 }
4371
4372
4373 leaveRule();
4374
4375 }
4376
4377 catch (RecognitionException re) {
4378 recover(input,re);
4379 appendSkippedTokens();
4380 }
4381 finally {
4382 }
4383 return current;
4384 }
4385 // $ANTLR end "ruleVLSUniversalQuantifier"
4386
4387
4388 // $ANTLR start "entryRuleVLSExistentialQuantifier"
4389 // InternalVampireLanguage.g:1603:1: entryRuleVLSExistentialQuantifier returns [EObject current=null] : iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF ;
4390 public final EObject entryRuleVLSExistentialQuantifier() throws RecognitionException {
4391 EObject current = null;
4392
4393 EObject iv_ruleVLSExistentialQuantifier = null;
4394
4395
4396 try {
4397 // InternalVampireLanguage.g:1603:65: (iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF )
4398 // InternalVampireLanguage.g:1604:2: iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF
4399 {
4400 newCompositeNode(grammarAccess.getVLSExistentialQuantifierRule());
4401 pushFollow(FOLLOW_1);
4402 iv_ruleVLSExistentialQuantifier=ruleVLSExistentialQuantifier();
4403
4404 state._fsp--;
4405
4406 current =iv_ruleVLSExistentialQuantifier;
4407 match(input,EOF,FOLLOW_2);
4408
4409 }
4410
4411 }
4412
4413 catch (RecognitionException re) {
4414 recover(input,re);
4415 appendSkippedTokens();
4416 }
4417 finally {
4418 }
4419 return current;
4420 }
4421 // $ANTLR end "entryRuleVLSExistentialQuantifier"
4422
4423
4424 // $ANTLR start "ruleVLSExistentialQuantifier"
4425 // InternalVampireLanguage.g:1610:1: ruleVLSExistentialQuantifier returns [EObject current=null] : ( () (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) ;
4426 public final EObject ruleVLSExistentialQuantifier() throws RecognitionException {
4427 EObject current = null;
4428
4429 Token otherlv_1=null;
4430 Token otherlv_2=null;
4431 Token otherlv_4=null;
4432 Token otherlv_6=null;
4433 Token otherlv_7=null;
4434 EObject lv_variables_3_0 = null;
4435
4436 EObject lv_variables_5_0 = null;
4437
4438 EObject lv_operand_8_0 = null;
4439
4440
4441
4442 enterRule();
4443
4444 try {
4445 // InternalVampireLanguage.g:1616:2: ( ( () (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) )
4446 // InternalVampireLanguage.g:1617:2: ( () (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
4447 {
4448 // InternalVampireLanguage.g:1617:2: ( () (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
4449 // InternalVampireLanguage.g:1618:3: () (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
4450 {
4451 // InternalVampireLanguage.g:1618:3: ()
4452 // InternalVampireLanguage.g:1619:4:
4453 {
4454
4455 current = forceCreateModelElement(
4456 grammarAccess.getVLSExistentialQuantifierAccess().getVLSExistentialQuantifierAction_0(),
4457 current);
4458
4459
4460 }
4461
4462 // InternalVampireLanguage.g:1625:3: (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' )
4463 // InternalVampireLanguage.g:1626:4: otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':'
4464 {
4465 otherlv_1=(Token)match(input,61,FOLLOW_25);
4466
4467 newLeafNode(otherlv_1, grammarAccess.getVLSExistentialQuantifierAccess().getQuestionMarkKeyword_1_0());
4468
4469 otherlv_2=(Token)match(input,50,FOLLOW_26);
4470
4471 newLeafNode(otherlv_2, grammarAccess.getVLSExistentialQuantifierAccess().getLeftSquareBracketKeyword_1_1());
4472
4473 // InternalVampireLanguage.g:1634:4: ( (lv_variables_3_0= ruleVLSVariable ) )
4474 // InternalVampireLanguage.g:1635:5: (lv_variables_3_0= ruleVLSVariable )
4475 {
4476 // InternalVampireLanguage.g:1635:5: (lv_variables_3_0= ruleVLSVariable )
4477 // InternalVampireLanguage.g:1636:6: lv_variables_3_0= ruleVLSVariable
4478 {
4479
4480 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
4481
4482 pushFollow(FOLLOW_7);
4483 lv_variables_3_0=ruleVLSVariable();
4484
4485 state._fsp--;
4486
4487
4488 if (current==null) {
4489 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
4490 }
4491 add(
4492 current,
4493 "variables",
4494 lv_variables_3_0,
4495 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4496 afterParserOrEnumRuleCall();
4497
4498
4499 }
4500
4501
4502 }
4503
4504 // InternalVampireLanguage.g:1653:4: (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )*
4505 loop20:
4506 do {
4507 int alt20=2;
4508 int LA20_0 = input.LA(1);
4509
4510 if ( (LA20_0==29) ) {
4511 alt20=1;
4512 }
4513
4514
4515 switch (alt20) {
4516 case 1 :
4517 // InternalVampireLanguage.g:1654:5: otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) )
4518 {
4519 otherlv_4=(Token)match(input,29,FOLLOW_26);
4520
4521 newLeafNode(otherlv_4, grammarAccess.getVLSExistentialQuantifierAccess().getCommaKeyword_1_3_0());
4522
4523 // InternalVampireLanguage.g:1658:5: ( (lv_variables_5_0= ruleVLSVariable ) )
4524 // InternalVampireLanguage.g:1659:6: (lv_variables_5_0= ruleVLSVariable )
4525 {
4526 // InternalVampireLanguage.g:1659:6: (lv_variables_5_0= ruleVLSVariable )
4527 // InternalVampireLanguage.g:1660:7: lv_variables_5_0= ruleVLSVariable
4528 {
4529
4530 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
4531
4532 pushFollow(FOLLOW_7);
4533 lv_variables_5_0=ruleVLSVariable();
4534
4535 state._fsp--;
4536
4537
4538 if (current==null) {
4539 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
4540 }
4541 add(
4542 current,
4543 "variables",
4544 lv_variables_5_0,
4545 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4546 afterParserOrEnumRuleCall();
4547
4548
4549 }
4550
4551
4552 }
4553
4554
4555 }
4556 break;
4557
4558 default :
4559 break loop20;
4560 }
4561 } while (true);
4562
4563 otherlv_6=(Token)match(input,30,FOLLOW_27);
4564
4565 newLeafNode(otherlv_6, grammarAccess.getVLSExistentialQuantifierAccess().getRightSquareBracketKeyword_1_4());
4566
4567 otherlv_7=(Token)match(input,60,FOLLOW_12);
4568
4569 newLeafNode(otherlv_7, grammarAccess.getVLSExistentialQuantifierAccess().getColonKeyword_1_5());
4570
4571
4572 }
4573
4574 // InternalVampireLanguage.g:1687:3: ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
4575 // InternalVampireLanguage.g:1688:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
4576 {
4577 // InternalVampireLanguage.g:1688:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
4578 // InternalVampireLanguage.g:1689:5: lv_operand_8_0= ruleVLSUnitaryFormula
4579 {
4580
4581 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
4582
4583 pushFollow(FOLLOW_2);
4584 lv_operand_8_0=ruleVLSUnitaryFormula();
4585
4586 state._fsp--;
4587
4588
4589 if (current==null) {
4590 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
4591 }
4592 set(
4593 current,
4594 "operand",
4595 lv_operand_8_0,
4596 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
4597 afterParserOrEnumRuleCall();
4598
4599
4600 }
4601
4602
4603 }
4604
4605
4606 }
4607
4608
4609 }
4610
4611
4612 leaveRule();
4613
4614 }
4615
4616 catch (RecognitionException re) {
4617 recover(input,re);
4618 appendSkippedTokens();
4619 }
4620 finally {
4621 }
4622 return current;
4623 }
4624 // $ANTLR end "ruleVLSExistentialQuantifier"
4625
4626
4627 // $ANTLR start "entryRuleVLSUnaryNegation"
4628 // InternalVampireLanguage.g:1710:1: entryRuleVLSUnaryNegation returns [EObject current=null] : iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF ;
4629 public final EObject entryRuleVLSUnaryNegation() throws RecognitionException {
4630 EObject current = null;
4631
4632 EObject iv_ruleVLSUnaryNegation = null;
4633
4634
4635 try {
4636 // InternalVampireLanguage.g:1710:57: (iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF )
4637 // InternalVampireLanguage.g:1711:2: iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF
4638 {
4639 newCompositeNode(grammarAccess.getVLSUnaryNegationRule());
4640 pushFollow(FOLLOW_1);
4641 iv_ruleVLSUnaryNegation=ruleVLSUnaryNegation();
4642
4643 state._fsp--;
4644
4645 current =iv_ruleVLSUnaryNegation;
4646 match(input,EOF,FOLLOW_2);
4647
4648 }
4649
4650 }
4651
4652 catch (RecognitionException re) {
4653 recover(input,re);
4654 appendSkippedTokens();
4655 }
4656 finally {
4657 }
4658 return current;
4659 }
4660 // $ANTLR end "entryRuleVLSUnaryNegation"
4661
4662
4663 // $ANTLR start "ruleVLSUnaryNegation"
4664 // InternalVampireLanguage.g:1717:1: ruleVLSUnaryNegation returns [EObject current=null] : ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) ) ;
4665 public final EObject ruleVLSUnaryNegation() throws RecognitionException {
4666 EObject current = null;
4667
4668 Token otherlv_1=null;
4669 EObject lv_operand_2_0 = null;
4670
4671
4672
4673 enterRule();
4674
4675 try {
4676 // InternalVampireLanguage.g:1723:2: ( ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) ) )
4677 // InternalVampireLanguage.g:1724:2: ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) )
4678 {
4679 // InternalVampireLanguage.g:1724:2: ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) )
4680 // InternalVampireLanguage.g:1725:3: () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) )
4681 {
4682 // InternalVampireLanguage.g:1725:3: ()
4683 // InternalVampireLanguage.g:1726:4:
4684 {
4685
4686 current = forceCreateModelElement(
4687 grammarAccess.getVLSUnaryNegationAccess().getVLSUnaryNegationAction_0(),
4688 current);
4689
4690
4691 }
4692
4693 otherlv_1=(Token)match(input,62,FOLLOW_12);
4694
4695 newLeafNode(otherlv_1, grammarAccess.getVLSUnaryNegationAccess().getTildeKeyword_1());
4696
4697 // InternalVampireLanguage.g:1736:3: ( (lv_operand_2_0= ruleVLSUnitaryFormula ) )
4698 // InternalVampireLanguage.g:1737:4: (lv_operand_2_0= ruleVLSUnitaryFormula )
4699 {
4700 // InternalVampireLanguage.g:1737:4: (lv_operand_2_0= ruleVLSUnitaryFormula )
4701 // InternalVampireLanguage.g:1738:5: lv_operand_2_0= ruleVLSUnitaryFormula
4702 {
4703
4704 newCompositeNode(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
4705
4706 pushFollow(FOLLOW_2);
4707 lv_operand_2_0=ruleVLSUnitaryFormula();
4708
4709 state._fsp--;
4710
4711
4712 if (current==null) {
4713 current = createModelElementForParent(grammarAccess.getVLSUnaryNegationRule());
4714 }
4715 set(
4716 current,
4717 "operand",
4718 lv_operand_2_0,
4719 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
4720 afterParserOrEnumRuleCall();
4721
4722
4723 }
4724
4725
4726 }
4727
4728
4729 }
4730
4731
4732 }
4733
4734
4735 leaveRule();
4736
4737 }
4738
4739 catch (RecognitionException re) {
4740 recover(input,re);
4741 appendSkippedTokens();
4742 }
4743 finally {
4744 }
4745 return current;
4746 }
4747 // $ANTLR end "ruleVLSUnaryNegation"
4748
4749
4750 // $ANTLR start "entryRuleVLSUnaryInfix"
4751 // InternalVampireLanguage.g:1759:1: entryRuleVLSUnaryInfix returns [EObject current=null] : iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF ;
4752 public final EObject entryRuleVLSUnaryInfix() throws RecognitionException {
4753 EObject current = null;
4754
4755 EObject iv_ruleVLSUnaryInfix = null;
4756
4757
4758 try {
4759 // InternalVampireLanguage.g:1759:54: (iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF )
4760 // InternalVampireLanguage.g:1760:2: iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF
4761 {
4762 newCompositeNode(grammarAccess.getVLSUnaryInfixRule());
4763 pushFollow(FOLLOW_1);
4764 iv_ruleVLSUnaryInfix=ruleVLSUnaryInfix();
4765
4766 state._fsp--;
4767
4768 current =iv_ruleVLSUnaryInfix;
4769 match(input,EOF,FOLLOW_2);
4770
4771 }
4772
4773 }
4774
4775 catch (RecognitionException re) {
4776 recover(input,re);
4777 appendSkippedTokens();
4778 }
4779 finally {
4780 }
4781 return current;
4782 }
4783 // $ANTLR end "entryRuleVLSUnaryInfix"
4784
4785
4786 // $ANTLR start "ruleVLSUnaryInfix"
4787 // InternalVampireLanguage.g:1766:1: ruleVLSUnaryInfix returns [EObject current=null] : (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? ) ;
4788 public final EObject ruleVLSUnaryInfix() throws RecognitionException {
4789 EObject current = null;
4790
4791 Token otherlv_2=null;
4792 Token otherlv_4=null;
4793 Token otherlv_6=null;
4794 EObject this_VLSAtomic_0 = null;
4795
4796 EObject lv_right_7_0 = null;
4797
4798
4799
4800 enterRule();
4801
4802 try {
4803 // InternalVampireLanguage.g:1772:2: ( (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? ) )
4804 // InternalVampireLanguage.g:1773:2: (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? )
4805 {
4806 // InternalVampireLanguage.g:1773:2: (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? )
4807 // InternalVampireLanguage.g:1774:3: this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )?
4808 {
4809
4810 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getVLSAtomicParserRuleCall_0());
4811
4812 pushFollow(FOLLOW_28);
4813 this_VLSAtomic_0=ruleVLSAtomic();
4814
4815 state._fsp--;
4816
4817
4818 current = this_VLSAtomic_0;
4819 afterParserOrEnumRuleCall();
4820
4821 // InternalVampireLanguage.g:1782:3: ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )?
4822 int alt22=2;
4823 int LA22_0 = input.LA(1);
4824
4825 if ( ((LA22_0>=63 && LA22_0<=65)) ) {
4826 alt22=1;
4827 }
4828 switch (alt22) {
4829 case 1 :
4830 // InternalVampireLanguage.g:1783:4: ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) )
4831 {
4832 // InternalVampireLanguage.g:1783:4: ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) )
4833 int alt21=3;
4834 switch ( input.LA(1) ) {
4835 case 63:
4836 {
4837 alt21=1;
4838 }
4839 break;
4840 case 64:
4841 {
4842 alt21=2;
4843 }
4844 break;
4845 case 65:
4846 {
4847 alt21=3;
4848 }
4849 break;
4850 default:
4851 NoViableAltException nvae =
4852 new NoViableAltException("", 21, 0, input);
4853
4854 throw nvae;
4855 }
4856
4857 switch (alt21) {
4858 case 1 :
4859 // InternalVampireLanguage.g:1784:5: ( () otherlv_2= '!=' )
4860 {
4861 // InternalVampireLanguage.g:1784:5: ( () otherlv_2= '!=' )
4862 // InternalVampireLanguage.g:1785:6: () otherlv_2= '!='
4863 {
4864 // InternalVampireLanguage.g:1785:6: ()
4865 // InternalVampireLanguage.g:1786:7:
4866 {
4867
4868 current = forceCreateModelElementAndSet(
4869 grammarAccess.getVLSUnaryInfixAccess().getVLSInequalityLeftAction_1_0_0_0(),
4870 current);
4871
4872
4873 }
4874
4875 otherlv_2=(Token)match(input,63,FOLLOW_29);
4876
4877 newLeafNode(otherlv_2, grammarAccess.getVLSUnaryInfixAccess().getExclamationMarkEqualsSignKeyword_1_0_0_1());
4878
4879
4880 }
4881
4882
4883 }
4884 break;
4885 case 2 :
4886 // InternalVampireLanguage.g:1798:5: ( () otherlv_4= '=' )
4887 {
4888 // InternalVampireLanguage.g:1798:5: ( () otherlv_4= '=' )
4889 // InternalVampireLanguage.g:1799:6: () otherlv_4= '='
4890 {
4891 // InternalVampireLanguage.g:1799:6: ()
4892 // InternalVampireLanguage.g:1800:7:
4893 {
4894
4895 current = forceCreateModelElementAndSet(
4896 grammarAccess.getVLSUnaryInfixAccess().getVLSEqualityLeftAction_1_0_1_0(),
4897 current);
4898
4899
4900 }
4901
4902 otherlv_4=(Token)match(input,64,FOLLOW_29);
4903
4904 newLeafNode(otherlv_4, grammarAccess.getVLSUnaryInfixAccess().getEqualsSignKeyword_1_0_1_1());
4905
4906
4907 }
4908
4909
4910 }
4911 break;
4912 case 3 :
4913 // InternalVampireLanguage.g:1812:5: ( () otherlv_6= ':=' )
4914 {
4915 // InternalVampireLanguage.g:1812:5: ( () otherlv_6= ':=' )
4916 // InternalVampireLanguage.g:1813:6: () otherlv_6= ':='
4917 {
4918 // InternalVampireLanguage.g:1813:6: ()
4919 // InternalVampireLanguage.g:1814:7:
4920 {
4921
4922 current = forceCreateModelElementAndSet(
4923 grammarAccess.getVLSUnaryInfixAccess().getVLSAssignmentLeftAction_1_0_2_0(),
4924 current);
4925
4926
4927 }
4928
4929 otherlv_6=(Token)match(input,65,FOLLOW_29);
4930
4931 newLeafNode(otherlv_6, grammarAccess.getVLSUnaryInfixAccess().getColonEqualsSignKeyword_1_0_2_1());
4932
4933
4934 }
4935
4936
4937 }
4938 break;
4939
4940 }
4941
4942 // InternalVampireLanguage.g:1826:4: ( (lv_right_7_0= ruleVLSAtomic ) )
4943 // InternalVampireLanguage.g:1827:5: (lv_right_7_0= ruleVLSAtomic )
4944 {
4945 // InternalVampireLanguage.g:1827:5: (lv_right_7_0= ruleVLSAtomic )
4946 // InternalVampireLanguage.g:1828:6: lv_right_7_0= ruleVLSAtomic
4947 {
4948
4949 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0());
4950
4951 pushFollow(FOLLOW_2);
4952 lv_right_7_0=ruleVLSAtomic();
4953
4954 state._fsp--;
4955
4956
4957 if (current==null) {
4958 current = createModelElementForParent(grammarAccess.getVLSUnaryInfixRule());
4959 }
4960 set(
4961 current,
4962 "right",
4963 lv_right_7_0,
4964 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAtomic");
4965 afterParserOrEnumRuleCall();
4966
4967
4968 }
4969
4970
4971 }
4972
4973
4974 }
4975 break;
4976
4977 }
4978
4979
4980 }
4981
4982
4983 }
4984
4985
4986 leaveRule();
4987
4988 }
4989
4990 catch (RecognitionException re) {
4991 recover(input,re);
4992 appendSkippedTokens();
4993 }
4994 finally {
4995 }
4996 return current;
4997 }
4998 // $ANTLR end "ruleVLSUnaryInfix"
4999
5000
5001 // $ANTLR start "entryRuleVLSAtomic"
5002 // InternalVampireLanguage.g:1850:1: entryRuleVLSAtomic returns [EObject current=null] : iv_ruleVLSAtomic= ruleVLSAtomic EOF ;
5003 public final EObject entryRuleVLSAtomic() throws RecognitionException {
5004 EObject current = null;
5005
5006 EObject iv_ruleVLSAtomic = null;
5007
5008
5009 try {
5010 // InternalVampireLanguage.g:1850:50: (iv_ruleVLSAtomic= ruleVLSAtomic EOF )
5011 // InternalVampireLanguage.g:1851:2: iv_ruleVLSAtomic= ruleVLSAtomic EOF
5012 {
5013 newCompositeNode(grammarAccess.getVLSAtomicRule());
5014 pushFollow(FOLLOW_1);
5015 iv_ruleVLSAtomic=ruleVLSAtomic();
5016
5017 state._fsp--;
5018
5019 current =iv_ruleVLSAtomic;
5020 match(input,EOF,FOLLOW_2);
5021
5022 }
5023
5024 }
5025
5026 catch (RecognitionException re) {
5027 recover(input,re);
5028 appendSkippedTokens();
5029 }
5030 finally {
5031 }
5032 return current;
5033 }
5034 // $ANTLR end "entryRuleVLSAtomic"
5035
5036
5037 // $ANTLR start "ruleVLSAtomic"
5038 // InternalVampireLanguage.g:1857:1: ruleVLSAtomic returns [EObject current=null] : (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm ) ;
5039 public final EObject ruleVLSAtomic() throws RecognitionException {
5040 EObject current = null;
5041
5042 EObject this_VLSAtomicConstant_0 = null;
5043
5044 EObject this_VLSAtomicFunction_1 = null;
5045
5046 EObject this_VLSVariable_2 = null;
5047
5048 EObject this_VLSDefinedTerm_3 = null;
5049
5050
5051
5052 enterRule();
5053
5054 try {
5055 // InternalVampireLanguage.g:1863:2: ( (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm ) )
5056 // InternalVampireLanguage.g:1864:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm )
5057 {
5058 // InternalVampireLanguage.g:1864:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm )
5059 int alt23=4;
5060 alt23 = dfa23.predict(input);
5061 switch (alt23) {
5062 case 1 :
5063 // InternalVampireLanguage.g:1865:3: this_VLSAtomicConstant_0= ruleVLSAtomicConstant
5064 {
5065
5066 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicConstantParserRuleCall_0());
5067
5068 pushFollow(FOLLOW_2);
5069 this_VLSAtomicConstant_0=ruleVLSAtomicConstant();
5070
5071 state._fsp--;
5072
5073
5074 current = this_VLSAtomicConstant_0;
5075 afterParserOrEnumRuleCall();
5076
5077
5078 }
5079 break;
5080 case 2 :
5081 // InternalVampireLanguage.g:1874:3: this_VLSAtomicFunction_1= ruleVLSAtomicFunction
5082 {
5083
5084 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicFunctionParserRuleCall_1());
5085
5086 pushFollow(FOLLOW_2);
5087 this_VLSAtomicFunction_1=ruleVLSAtomicFunction();
5088
5089 state._fsp--;
5090
5091
5092 current = this_VLSAtomicFunction_1;
5093 afterParserOrEnumRuleCall();
5094
5095
5096 }
5097 break;
5098 case 3 :
5099 // InternalVampireLanguage.g:1883:3: this_VLSVariable_2= ruleVLSVariable
5100 {
5101
5102 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSVariableParserRuleCall_2());
5103
5104 pushFollow(FOLLOW_2);
5105 this_VLSVariable_2=ruleVLSVariable();
5106
5107 state._fsp--;
5108
5109
5110 current = this_VLSVariable_2;
5111 afterParserOrEnumRuleCall();
5112
5113
5114 }
5115 break;
5116 case 4 :
5117 // InternalVampireLanguage.g:1892:3: this_VLSDefinedTerm_3= ruleVLSDefinedTerm
5118 {
5119
5120 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSDefinedTermParserRuleCall_3());
5121
5122 pushFollow(FOLLOW_2);
5123 this_VLSDefinedTerm_3=ruleVLSDefinedTerm();
5124
5125 state._fsp--;
5126
5127
5128 current = this_VLSDefinedTerm_3;
5129 afterParserOrEnumRuleCall();
5130
5131
5132 }
5133 break;
5134
5135 }
5136
5137
5138 }
5139
5140
5141 leaveRule();
5142
5143 }
5144
5145 catch (RecognitionException re) {
5146 recover(input,re);
5147 appendSkippedTokens();
5148 }
5149 finally {
5150 }
5151 return current;
5152 }
5153 // $ANTLR end "ruleVLSAtomic"
5154
5155
5156 // $ANTLR start "entryRuleVLSAtomicConstant"
5157 // InternalVampireLanguage.g:1904:1: entryRuleVLSAtomicConstant returns [EObject current=null] : iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF ;
5158 public final EObject entryRuleVLSAtomicConstant() throws RecognitionException {
5159 EObject current = null;
5160
5161 EObject iv_ruleVLSAtomicConstant = null;
5162
5163
5164 try {
5165 // InternalVampireLanguage.g:1904:58: (iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF )
5166 // InternalVampireLanguage.g:1905:2: iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF
5167 {
5168 newCompositeNode(grammarAccess.getVLSAtomicConstantRule());
5169 pushFollow(FOLLOW_1);
5170 iv_ruleVLSAtomicConstant=ruleVLSAtomicConstant();
5171
5172 state._fsp--;
5173
5174 current =iv_ruleVLSAtomicConstant;
5175 match(input,EOF,FOLLOW_2);
5176
5177 }
5178
5179 }
5180
5181 catch (RecognitionException re) {
5182 recover(input,re);
5183 appendSkippedTokens();
5184 }
5185 finally {
5186 }
5187 return current;
5188 }
5189 // $ANTLR end "entryRuleVLSAtomicConstant"
5190
5191
5192 // $ANTLR start "ruleVLSAtomicConstant"
5193 // InternalVampireLanguage.g:1911:1: ruleVLSAtomicConstant returns [EObject current=null] : ( ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) ) | ( () otherlv_3= '$true' ) | ( () otherlv_5= '$false' ) ) ;
5194 public final EObject ruleVLSAtomicConstant() throws RecognitionException {
5195 EObject current = null;
5196
5197 Token lv_name_1_1=null;
5198 Token lv_name_1_2=null;
5199 Token lv_name_1_3=null;
5200 Token lv_name_1_4=null;
5201 Token otherlv_3=null;
5202 Token otherlv_5=null;
5203 AntlrDatatypeRuleToken lv_name_1_5 = null;
5204
5205
5206
5207 enterRule();
5208
5209 try {
5210 // InternalVampireLanguage.g:1917:2: ( ( ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) ) | ( () otherlv_3= '$true' ) | ( () otherlv_5= '$false' ) ) )
5211 // InternalVampireLanguage.g:1918:2: ( ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) ) | ( () otherlv_3= '$true' ) | ( () otherlv_5= '$false' ) )
5212 {
5213 // InternalVampireLanguage.g:1918:2: ( ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) ) | ( () otherlv_3= '$true' ) | ( () otherlv_5= '$false' ) )
5214 int alt25=3;
5215 switch ( input.LA(1) ) {
5216 case RULE_SINGLE_QUOTE:
5217 case RULE_LOWER_WORD_ID:
5218 case RULE_DOLLAR_ID:
5219 case RULE_DOUBLE_DOLLAR_ID:
5220 case 35:
5221 case 36:
5222 case 37:
5223 case 38:
5224 case 39:
5225 case 40:
5226 case 41:
5227 case 42:
5228 case 43:
5229 case 44:
5230 case 45:
5231 case 46:
5232 case 47:
5233 case 48:
5234 case 49:
5235 {
5236 alt25=1;
5237 }
5238 break;
5239 case 66:
5240 {
5241 alt25=2;
5242 }
5243 break;
5244 case 67:
5245 {
5246 alt25=3;
5247 }
5248 break;
5249 default:
5250 NoViableAltException nvae =
5251 new NoViableAltException("", 25, 0, input);
5252
5253 throw nvae;
5254 }
5255
5256 switch (alt25) {
5257 case 1 :
5258 // InternalVampireLanguage.g:1919:3: ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) )
5259 {
5260 // InternalVampireLanguage.g:1919:3: ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) )
5261 // InternalVampireLanguage.g:1920:4: () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) )
5262 {
5263 // InternalVampireLanguage.g:1920:4: ()
5264 // InternalVampireLanguage.g:1921:5:
5265 {
5266
5267 current = forceCreateModelElement(
5268 grammarAccess.getVLSAtomicConstantAccess().getVLSConstantAction_0_0(),
5269 current);
5270
5271
5272 }
5273
5274 // InternalVampireLanguage.g:1927:4: ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) )
5275 // InternalVampireLanguage.g:1928:5: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) )
5276 {
5277 // InternalVampireLanguage.g:1928:5: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) )
5278 // InternalVampireLanguage.g:1929:6: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole )
5279 {
5280 // InternalVampireLanguage.g:1929:6: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole )
5281 int alt24=5;
5282 switch ( input.LA(1) ) {
5283 case RULE_LOWER_WORD_ID:
5284 {
5285 alt24=1;
5286 }
5287 break;
5288 case RULE_SINGLE_QUOTE:
5289 {
5290 alt24=2;
5291 }
5292 break;
5293 case RULE_DOLLAR_ID:
5294 {
5295 alt24=3;
5296 }
5297 break;
5298 case RULE_DOUBLE_DOLLAR_ID:
5299 {
5300 alt24=4;
5301 }
5302 break;
5303 case 35:
5304 case 36:
5305 case 37:
5306 case 38:
5307 case 39:
5308 case 40:
5309 case 41:
5310 case 42:
5311 case 43:
5312 case 44:
5313 case 45:
5314 case 46:
5315 case 47:
5316 case 48:
5317 case 49:
5318 {
5319 alt24=5;
5320 }
5321 break;
5322 default:
5323 NoViableAltException nvae =
5324 new NoViableAltException("", 24, 0, input);
5325
5326 throw nvae;
5327 }
5328
5329 switch (alt24) {
5330 case 1 :
5331 // InternalVampireLanguage.g:1930:7: lv_name_1_1= RULE_LOWER_WORD_ID
5332 {
5333 lv_name_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
5334
5335 newLeafNode(lv_name_1_1, grammarAccess.getVLSAtomicConstantAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
5336
5337
5338 if (current==null) {
5339 current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
5340 }
5341 setWithLastConsumed(
5342 current,
5343 "name",
5344 lv_name_1_1,
5345 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
5346
5347
5348 }
5349 break;
5350 case 2 :
5351 // InternalVampireLanguage.g:1945:7: lv_name_1_2= RULE_SINGLE_QUOTE
5352 {
5353 lv_name_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
5354
5355 newLeafNode(lv_name_1_2, grammarAccess.getVLSAtomicConstantAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1_0_1());
5356
5357
5358 if (current==null) {
5359 current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
5360 }
5361 setWithLastConsumed(
5362 current,
5363 "name",
5364 lv_name_1_2,
5365 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
5366
5367
5368 }
5369 break;
5370 case 3 :
5371 // InternalVampireLanguage.g:1960:7: lv_name_1_3= RULE_DOLLAR_ID
5372 {
5373 lv_name_1_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_2);
5374
5375 newLeafNode(lv_name_1_3, grammarAccess.getVLSAtomicConstantAccess().getNameDOLLAR_IDTerminalRuleCall_0_1_0_2());
5376
5377
5378 if (current==null) {
5379 current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
5380 }
5381 setWithLastConsumed(
5382 current,
5383 "name",
5384 lv_name_1_3,
5385 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
5386
5387
5388 }
5389 break;
5390 case 4 :
5391 // InternalVampireLanguage.g:1975:7: lv_name_1_4= RULE_DOUBLE_DOLLAR_ID
5392 {
5393 lv_name_1_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_2);
5394
5395 newLeafNode(lv_name_1_4, grammarAccess.getVLSAtomicConstantAccess().getNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
5396
5397
5398 if (current==null) {
5399 current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
5400 }
5401 setWithLastConsumed(
5402 current,
5403 "name",
5404 lv_name_1_4,
5405 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
5406
5407
5408 }
5409 break;
5410 case 5 :
5411 // InternalVampireLanguage.g:1990:7: lv_name_1_5= ruleVLSRole
5412 {
5413
5414 newCompositeNode(grammarAccess.getVLSAtomicConstantAccess().getNameVLSRoleParserRuleCall_0_1_0_4());
5415
5416 pushFollow(FOLLOW_2);
5417 lv_name_1_5=ruleVLSRole();
5418
5419 state._fsp--;
5420
5421
5422 if (current==null) {
5423 current = createModelElementForParent(grammarAccess.getVLSAtomicConstantRule());
5424 }
5425 set(
5426 current,
5427 "name",
5428 lv_name_1_5,
5429 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
5430 afterParserOrEnumRuleCall();
5431
5432
5433 }
5434 break;
5435
5436 }
5437
5438
5439 }
5440
5441
5442 }
5443
5444
5445 }
5446
5447
5448 }
5449 break;
5450 case 2 :
5451 // InternalVampireLanguage.g:2010:3: ( () otherlv_3= '$true' )
5452 {
5453 // InternalVampireLanguage.g:2010:3: ( () otherlv_3= '$true' )
5454 // InternalVampireLanguage.g:2011:4: () otherlv_3= '$true'
5455 {
5456 // InternalVampireLanguage.g:2011:4: ()
5457 // InternalVampireLanguage.g:2012:5:
5458 {
5459
5460 current = forceCreateModelElement(
5461 grammarAccess.getVLSAtomicConstantAccess().getVLSTrueAction_1_0(),
5462 current);
5463
5464
5465 }
5466
5467 otherlv_3=(Token)match(input,66,FOLLOW_2);
5468
5469 newLeafNode(otherlv_3, grammarAccess.getVLSAtomicConstantAccess().getTrueKeyword_1_1());
5470
5471
5472 }
5473
5474
5475 }
5476 break;
5477 case 3 :
5478 // InternalVampireLanguage.g:2024:3: ( () otherlv_5= '$false' )
5479 {
5480 // InternalVampireLanguage.g:2024:3: ( () otherlv_5= '$false' )
5481 // InternalVampireLanguage.g:2025:4: () otherlv_5= '$false'
5482 {
5483 // InternalVampireLanguage.g:2025:4: ()
5484 // InternalVampireLanguage.g:2026:5:
5485 {
5486
5487 current = forceCreateModelElement(
5488 grammarAccess.getVLSAtomicConstantAccess().getVLSFalseAction_2_0(),
5489 current);
5490
5491
5492 }
5493
5494 otherlv_5=(Token)match(input,67,FOLLOW_2);
5495
5496 newLeafNode(otherlv_5, grammarAccess.getVLSAtomicConstantAccess().getFalseKeyword_2_1());
5497
5498
5499 }
5500
5501
5502 }
5503 break;
5504
5505 }
5506
5507
5508 }
5509
5510
5511 leaveRule();
5512
5513 }
5514
5515 catch (RecognitionException re) {
5516 recover(input,re);
5517 appendSkippedTokens();
5518 }
5519 finally {
5520 }
5521 return current;
5522 }
5523 // $ANTLR end "ruleVLSAtomicConstant"
5524
5525
5526 // $ANTLR start "entryRuleVLSAtomicFunction"
5527 // InternalVampireLanguage.g:2041:1: entryRuleVLSAtomicFunction returns [EObject current=null] : iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF ;
5528 public final EObject entryRuleVLSAtomicFunction() throws RecognitionException {
5529 EObject current = null;
5530
5531 EObject iv_ruleVLSAtomicFunction = null;
5532
5533
5534 try {
5535 // InternalVampireLanguage.g:2041:58: (iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF )
5536 // InternalVampireLanguage.g:2042:2: iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF
5537 {
5538 newCompositeNode(grammarAccess.getVLSAtomicFunctionRule());
5539 pushFollow(FOLLOW_1);
5540 iv_ruleVLSAtomicFunction=ruleVLSAtomicFunction();
5541
5542 state._fsp--;
5543
5544 current =iv_ruleVLSAtomicFunction;
5545 match(input,EOF,FOLLOW_2);
5546
5547 }
5548
5549 }
5550
5551 catch (RecognitionException re) {
5552 recover(input,re);
5553 appendSkippedTokens();
5554 }
5555 finally {
5556 }
5557 return current;
5558 }
5559 // $ANTLR end "entryRuleVLSAtomicFunction"
5560
5561
5562 // $ANTLR start "ruleVLSAtomicFunction"
5563 // InternalVampireLanguage.g:2048:1: ruleVLSAtomicFunction returns [EObject current=null] : ( ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) ) | ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' ) ) ;
5564 public final EObject ruleVLSAtomicFunction() throws RecognitionException {
5565 EObject current = null;
5566
5567 Token lv_constant_1_1=null;
5568 Token lv_constant_1_2=null;
5569 Token lv_constant_1_3=null;
5570 Token lv_constant_1_4=null;
5571 Token otherlv_2=null;
5572 Token otherlv_4=null;
5573 Token otherlv_6=null;
5574 Token lv_name_8_0=null;
5575 Token otherlv_9=null;
5576 Token otherlv_11=null;
5577 Token otherlv_13=null;
5578 AntlrDatatypeRuleToken lv_constant_1_5 = null;
5579
5580 EObject lv_terms_3_0 = null;
5581
5582 EObject lv_terms_5_0 = null;
5583
5584 EObject lv_terms_10_0 = null;
5585
5586 EObject lv_terms_12_0 = null;
5587
5588
5589
5590 enterRule();
5591
5592 try {
5593 // InternalVampireLanguage.g:2054:2: ( ( ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) ) | ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' ) ) )
5594 // InternalVampireLanguage.g:2055:2: ( ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) ) | ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' ) )
5595 {
5596 // InternalVampireLanguage.g:2055:2: ( ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) ) | ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' ) )
5597 int alt28=2;
5598 int LA28_0 = input.LA(1);
5599
5600 if ( ((LA28_0>=RULE_SINGLE_QUOTE && LA28_0<=RULE_LOWER_WORD_ID)||(LA28_0>=RULE_DOLLAR_ID && LA28_0<=RULE_DOUBLE_DOLLAR_ID)||(LA28_0>=35 && LA28_0<=49)) ) {
5601 alt28=1;
5602 }
5603 else if ( (LA28_0==68) ) {
5604 alt28=2;
5605 }
5606 else {
5607 NoViableAltException nvae =
5608 new NoViableAltException("", 28, 0, input);
5609
5610 throw nvae;
5611 }
5612 switch (alt28) {
5613 case 1 :
5614 // InternalVampireLanguage.g:2056:3: ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) )
5615 {
5616 // InternalVampireLanguage.g:2056:3: ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) )
5617 // InternalVampireLanguage.g:2057:4: () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' )
5618 {
5619 // InternalVampireLanguage.g:2057:4: ()
5620 // InternalVampireLanguage.g:2058:5:
5621 {
5622
5623 current = forceCreateModelElement(
5624 grammarAccess.getVLSAtomicFunctionAccess().getVLSFunctionAction_0_0(),
5625 current);
5626
5627
5628 }
5629
5630 // InternalVampireLanguage.g:2064:4: ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) )
5631 // InternalVampireLanguage.g:2065:5: ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) )
5632 {
5633 // InternalVampireLanguage.g:2065:5: ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) )
5634 // InternalVampireLanguage.g:2066:6: (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole )
5635 {
5636 // InternalVampireLanguage.g:2066:6: (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole )
5637 int alt26=5;
5638 switch ( input.LA(1) ) {
5639 case RULE_LOWER_WORD_ID:
5640 {
5641 alt26=1;
5642 }
5643 break;
5644 case RULE_SINGLE_QUOTE:
5645 {
5646 alt26=2;
5647 }
5648 break;
5649 case RULE_DOLLAR_ID:
5650 {
5651 alt26=3;
5652 }
5653 break;
5654 case RULE_DOUBLE_DOLLAR_ID:
5655 {
5656 alt26=4;
5657 }
5658 break;
5659 case 35:
5660 case 36:
5661 case 37:
5662 case 38:
5663 case 39:
5664 case 40:
5665 case 41:
5666 case 42:
5667 case 43:
5668 case 44:
5669 case 45:
5670 case 46:
5671 case 47:
5672 case 48:
5673 case 49:
5674 {
5675 alt26=5;
5676 }
5677 break;
5678 default:
5679 NoViableAltException nvae =
5680 new NoViableAltException("", 26, 0, input);
5681
5682 throw nvae;
5683 }
5684
5685 switch (alt26) {
5686 case 1 :
5687 // InternalVampireLanguage.g:2067:7: lv_constant_1_1= RULE_LOWER_WORD_ID
5688 {
5689 lv_constant_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_8);
5690
5691 newLeafNode(lv_constant_1_1, grammarAccess.getVLSAtomicFunctionAccess().getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
5692
5693
5694 if (current==null) {
5695 current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
5696 }
5697 setWithLastConsumed(
5698 current,
5699 "constant",
5700 lv_constant_1_1,
5701 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
5702
5703
5704 }
5705 break;
5706 case 2 :
5707 // InternalVampireLanguage.g:2082:7: lv_constant_1_2= RULE_SINGLE_QUOTE
5708 {
5709 lv_constant_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_8);
5710
5711 newLeafNode(lv_constant_1_2, grammarAccess.getVLSAtomicFunctionAccess().getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1());
5712
5713
5714 if (current==null) {
5715 current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
5716 }
5717 setWithLastConsumed(
5718 current,
5719 "constant",
5720 lv_constant_1_2,
5721 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
5722
5723
5724 }
5725 break;
5726 case 3 :
5727 // InternalVampireLanguage.g:2097:7: lv_constant_1_3= RULE_DOLLAR_ID
5728 {
5729 lv_constant_1_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_8);
5730
5731 newLeafNode(lv_constant_1_3, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2());
5732
5733
5734 if (current==null) {
5735 current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
5736 }
5737 setWithLastConsumed(
5738 current,
5739 "constant",
5740 lv_constant_1_3,
5741 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
5742
5743
5744 }
5745 break;
5746 case 4 :
5747 // InternalVampireLanguage.g:2112:7: lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID
5748 {
5749 lv_constant_1_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_8);
5750
5751 newLeafNode(lv_constant_1_4, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
5752
5753
5754 if (current==null) {
5755 current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
5756 }
5757 setWithLastConsumed(
5758 current,
5759 "constant",
5760 lv_constant_1_4,
5761 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
5762
5763
5764 }
5765 break;
5766 case 5 :
5767 // InternalVampireLanguage.g:2127:7: lv_constant_1_5= ruleVLSRole
5768 {
5769
5770 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getConstantVLSRoleParserRuleCall_0_1_0_4());
5771
5772 pushFollow(FOLLOW_8);
5773 lv_constant_1_5=ruleVLSRole();
5774
5775 state._fsp--;
5776
5777
5778 if (current==null) {
5779 current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
5780 }
5781 set(
5782 current,
5783 "constant",
5784 lv_constant_1_5,
5785 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
5786 afterParserOrEnumRuleCall();
5787
5788
5789 }
5790 break;
5791
5792 }
5793
5794
5795 }
5796
5797
5798 }
5799
5800 // InternalVampireLanguage.g:2145:4: (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' )
5801 // InternalVampireLanguage.g:2146:5: otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')'
5802 {
5803 otherlv_2=(Token)match(input,32,FOLLOW_29);
5804
5805 newLeafNode(otherlv_2, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_0_2_0());
5806
5807 // InternalVampireLanguage.g:2150:5: ( (lv_terms_3_0= ruleVLSFofTerm ) )
5808 // InternalVampireLanguage.g:2151:6: (lv_terms_3_0= ruleVLSFofTerm )
5809 {
5810 // InternalVampireLanguage.g:2151:6: (lv_terms_3_0= ruleVLSFofTerm )
5811 // InternalVampireLanguage.g:2152:7: lv_terms_3_0= ruleVLSFofTerm
5812 {
5813
5814 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_1_0());
5815
5816 pushFollow(FOLLOW_13);
5817 lv_terms_3_0=ruleVLSFofTerm();
5818
5819 state._fsp--;
5820
5821
5822 if (current==null) {
5823 current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
5824 }
5825 add(
5826 current,
5827 "terms",
5828 lv_terms_3_0,
5829 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
5830 afterParserOrEnumRuleCall();
5831
5832
5833 }
5834
5835
5836 }
5837
5838 // InternalVampireLanguage.g:2169:5: (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )*
5839 loop27:
5840 do {
5841 int alt27=2;
5842 int LA27_0 = input.LA(1);
5843
5844 if ( (LA27_0==29) ) {
5845 alt27=1;
5846 }
5847
5848
5849 switch (alt27) {
5850 case 1 :
5851 // InternalVampireLanguage.g:2170:6: otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) )
5852 {
5853 otherlv_4=(Token)match(input,29,FOLLOW_29);
5854
5855 newLeafNode(otherlv_4, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_0_2_2_0());
5856
5857 // InternalVampireLanguage.g:2174:6: ( (lv_terms_5_0= ruleVLSFofTerm ) )
5858 // InternalVampireLanguage.g:2175:7: (lv_terms_5_0= ruleVLSFofTerm )
5859 {
5860 // InternalVampireLanguage.g:2175:7: (lv_terms_5_0= ruleVLSFofTerm )
5861 // InternalVampireLanguage.g:2176:8: lv_terms_5_0= ruleVLSFofTerm
5862 {
5863
5864 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_2_1_0());
5865
5866 pushFollow(FOLLOW_13);
5867 lv_terms_5_0=ruleVLSFofTerm();
5868
5869 state._fsp--;
5870
5871
5872 if (current==null) {
5873 current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
5874 }
5875 add(
5876 current,
5877 "terms",
5878 lv_terms_5_0,
5879 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
5880 afterParserOrEnumRuleCall();
5881
5882
5883 }
5884
5885
5886 }
5887
5888
5889 }
5890 break;
5891
5892 default :
5893 break loop27;
5894 }
5895 } while (true);
5896
5897 otherlv_6=(Token)match(input,33,FOLLOW_2);
5898
5899 newLeafNode(otherlv_6, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_0_2_3());
5900
5901
5902 }
5903
5904
5905 }
5906
5907
5908 }
5909 break;
5910 case 2 :
5911 // InternalVampireLanguage.g:2201:3: ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' )
5912 {
5913 // InternalVampireLanguage.g:2201:3: ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' )
5914 // InternalVampireLanguage.g:2202:4: () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')'
5915 {
5916 // InternalVampireLanguage.g:2202:4: ()
5917 // InternalVampireLanguage.g:2203:5:
5918 {
5919
5920 current = forceCreateModelElement(
5921 grammarAccess.getVLSAtomicFunctionAccess().getVLSLessAction_1_0(),
5922 current);
5923
5924
5925 }
5926
5927 // InternalVampireLanguage.g:2209:4: ( (lv_name_8_0= '$less' ) )
5928 // InternalVampireLanguage.g:2210:5: (lv_name_8_0= '$less' )
5929 {
5930 // InternalVampireLanguage.g:2210:5: (lv_name_8_0= '$less' )
5931 // InternalVampireLanguage.g:2211:6: lv_name_8_0= '$less'
5932 {
5933 lv_name_8_0=(Token)match(input,68,FOLLOW_8);
5934
5935 newLeafNode(lv_name_8_0, grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0());
5936
5937
5938 if (current==null) {
5939 current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
5940 }
5941 setWithLastConsumed(current, "name", lv_name_8_0, "$less");
5942
5943
5944 }
5945
5946
5947 }
5948
5949 otherlv_9=(Token)match(input,32,FOLLOW_29);
5950
5951 newLeafNode(otherlv_9, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_1_2());
5952
5953 // InternalVampireLanguage.g:2227:4: ( (lv_terms_10_0= ruleVLSFofTerm ) )
5954 // InternalVampireLanguage.g:2228:5: (lv_terms_10_0= ruleVLSFofTerm )
5955 {
5956 // InternalVampireLanguage.g:2228:5: (lv_terms_10_0= ruleVLSFofTerm )
5957 // InternalVampireLanguage.g:2229:6: lv_terms_10_0= ruleVLSFofTerm
5958 {
5959
5960 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_3_0());
5961
5962 pushFollow(FOLLOW_10);
5963 lv_terms_10_0=ruleVLSFofTerm();
5964
5965 state._fsp--;
5966
5967
5968 if (current==null) {
5969 current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
5970 }
5971 add(
5972 current,
5973 "terms",
5974 lv_terms_10_0,
5975 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
5976 afterParserOrEnumRuleCall();
5977
5978
5979 }
5980
5981
5982 }
5983
5984 otherlv_11=(Token)match(input,29,FOLLOW_29);
5985
5986 newLeafNode(otherlv_11, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_1_4());
5987
5988 // InternalVampireLanguage.g:2250:4: ( (lv_terms_12_0= ruleVLSFofTerm ) )
5989 // InternalVampireLanguage.g:2251:5: (lv_terms_12_0= ruleVLSFofTerm )
5990 {
5991 // InternalVampireLanguage.g:2251:5: (lv_terms_12_0= ruleVLSFofTerm )
5992 // InternalVampireLanguage.g:2252:6: lv_terms_12_0= ruleVLSFofTerm
5993 {
5994
5995 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_5_0());
5996
5997 pushFollow(FOLLOW_15);
5998 lv_terms_12_0=ruleVLSFofTerm();
5999
6000 state._fsp--;
6001
6002
6003 if (current==null) {
6004 current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
6005 }
6006 add(
6007 current,
6008 "terms",
6009 lv_terms_12_0,
6010 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
6011 afterParserOrEnumRuleCall();
6012
6013
6014 }
6015
6016
6017 }
6018
6019 otherlv_13=(Token)match(input,33,FOLLOW_2);
6020
6021 newLeafNode(otherlv_13, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_1_6());
6022
6023
6024 }
6025
6026
6027 }
6028 break;
6029
6030 }
6031
6032
6033 }
6034
6035
6036 leaveRule();
6037
6038 }
6039
6040 catch (RecognitionException re) {
6041 recover(input,re);
6042 appendSkippedTokens();
6043 }
6044 finally {
6045 }
6046 return current;
6047 }
6048 // $ANTLR end "ruleVLSAtomicFunction"
6049
6050
6051 // $ANTLR start "entryRuleVLSVariable"
6052 // InternalVampireLanguage.g:2278:1: entryRuleVLSVariable returns [EObject current=null] : iv_ruleVLSVariable= ruleVLSVariable EOF ;
6053 public final EObject entryRuleVLSVariable() throws RecognitionException {
6054 EObject current = null;
6055
6056 EObject iv_ruleVLSVariable = null;
6057
6058
6059 try {
6060 // InternalVampireLanguage.g:2278:52: (iv_ruleVLSVariable= ruleVLSVariable EOF )
6061 // InternalVampireLanguage.g:2279:2: iv_ruleVLSVariable= ruleVLSVariable EOF
6062 {
6063 newCompositeNode(grammarAccess.getVLSVariableRule());
6064 pushFollow(FOLLOW_1);
6065 iv_ruleVLSVariable=ruleVLSVariable();
6066
6067 state._fsp--;
6068
6069 current =iv_ruleVLSVariable;
6070 match(input,EOF,FOLLOW_2);
6071
6072 }
6073
6074 }
6075
6076 catch (RecognitionException re) {
6077 recover(input,re);
6078 appendSkippedTokens();
6079 }
6080 finally {
6081 }
6082 return current;
6083 }
6084 // $ANTLR end "entryRuleVLSVariable"
6085
6086
6087 // $ANTLR start "ruleVLSVariable"
6088 // InternalVampireLanguage.g:2285:1: ruleVLSVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_UPPER_WORD_ID ) ) ;
6089 public final EObject ruleVLSVariable() throws RecognitionException {
6090 EObject current = null;
6091
6092 Token lv_name_0_0=null;
6093
6094
6095 enterRule();
6096
6097 try {
6098 // InternalVampireLanguage.g:2291:2: ( ( (lv_name_0_0= RULE_UPPER_WORD_ID ) ) )
6099 // InternalVampireLanguage.g:2292:2: ( (lv_name_0_0= RULE_UPPER_WORD_ID ) )
6100 {
6101 // InternalVampireLanguage.g:2292:2: ( (lv_name_0_0= RULE_UPPER_WORD_ID ) )
6102 // InternalVampireLanguage.g:2293:3: (lv_name_0_0= RULE_UPPER_WORD_ID )
6103 {
6104 // InternalVampireLanguage.g:2293:3: (lv_name_0_0= RULE_UPPER_WORD_ID )
6105 // InternalVampireLanguage.g:2294:4: lv_name_0_0= RULE_UPPER_WORD_ID
6106 {
6107 lv_name_0_0=(Token)match(input,RULE_UPPER_WORD_ID,FOLLOW_2);
6108
6109 newLeafNode(lv_name_0_0, grammarAccess.getVLSVariableAccess().getNameUPPER_WORD_IDTerminalRuleCall_0());
6110
6111
6112 if (current==null) {
6113 current = createModelElement(grammarAccess.getVLSVariableRule());
6114 }
6115 setWithLastConsumed(
6116 current,
6117 "name",
6118 lv_name_0_0,
6119 "ca.mcgill.ecse.dslreasoner.VampireLanguage.UPPER_WORD_ID");
6120
6121
6122 }
6123
6124
6125 }
6126
6127
6128 }
6129
6130
6131 leaveRule();
6132
6133 }
6134
6135 catch (RecognitionException re) {
6136 recover(input,re);
6137 appendSkippedTokens();
6138 }
6139 finally {
6140 }
6141 return current;
6142 }
6143 // $ANTLR end "ruleVLSVariable"
6144
6145
6146 // $ANTLR start "entryRuleVLSFofTerm"
6147 // InternalVampireLanguage.g:2313:1: entryRuleVLSFofTerm returns [EObject current=null] : iv_ruleVLSFofTerm= ruleVLSFofTerm EOF ;
6148 public final EObject entryRuleVLSFofTerm() throws RecognitionException {
6149 EObject current = null;
6150
6151 EObject iv_ruleVLSFofTerm = null;
6152
6153
6154 try {
6155 // InternalVampireLanguage.g:2313:51: (iv_ruleVLSFofTerm= ruleVLSFofTerm EOF )
6156 // InternalVampireLanguage.g:2314:2: iv_ruleVLSFofTerm= ruleVLSFofTerm EOF
6157 {
6158 newCompositeNode(grammarAccess.getVLSFofTermRule());
6159 pushFollow(FOLLOW_1);
6160 iv_ruleVLSFofTerm=ruleVLSFofTerm();
6161
6162 state._fsp--;
6163
6164 current =iv_ruleVLSFofTerm;
6165 match(input,EOF,FOLLOW_2);
6166
6167 }
6168
6169 }
6170
6171 catch (RecognitionException re) {
6172 recover(input,re);
6173 appendSkippedTokens();
6174 }
6175 finally {
6176 }
6177 return current;
6178 }
6179 // $ANTLR end "entryRuleVLSFofTerm"
6180
6181
6182 // $ANTLR start "ruleVLSFofTerm"
6183 // InternalVampireLanguage.g:2320:1: ruleVLSFofTerm returns [EObject current=null] : (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionFof_1= ruleVLSFunctionFof | this_VLSDefinedTerm_2= ruleVLSDefinedTerm ) ;
6184 public final EObject ruleVLSFofTerm() throws RecognitionException {
6185 EObject current = null;
6186
6187 EObject this_VLSVariable_0 = null;
6188
6189 EObject this_VLSFunctionFof_1 = null;
6190
6191 EObject this_VLSDefinedTerm_2 = null;
6192
6193
6194
6195 enterRule();
6196
6197 try {
6198 // InternalVampireLanguage.g:2326:2: ( (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionFof_1= ruleVLSFunctionFof | this_VLSDefinedTerm_2= ruleVLSDefinedTerm ) )
6199 // InternalVampireLanguage.g:2327:2: (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionFof_1= ruleVLSFunctionFof | this_VLSDefinedTerm_2= ruleVLSDefinedTerm )
6200 {
6201 // InternalVampireLanguage.g:2327:2: (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionFof_1= ruleVLSFunctionFof | this_VLSDefinedTerm_2= ruleVLSDefinedTerm )
6202 int alt29=3;
6203 switch ( input.LA(1) ) {
6204 case RULE_UPPER_WORD_ID:
6205 {
6206 alt29=1;
6207 }
6208 break;
6209 case RULE_SINGLE_QUOTE:
6210 case RULE_LOWER_WORD_ID:
6211 case RULE_DOLLAR_ID:
6212 case RULE_DOUBLE_DOLLAR_ID:
6213 {
6214 alt29=2;
6215 }
6216 break;
6217 case RULE_SIGNED_LITERAL:
6218 case RULE_SIGNED_REAL_ID:
6219 case RULE_SIGNED_RAT_ID:
6220 case RULE_DOUBLE_QUOTE:
6221 {
6222 alt29=3;
6223 }
6224 break;
6225 default:
6226 NoViableAltException nvae =
6227 new NoViableAltException("", 29, 0, input);
6228
6229 throw nvae;
6230 }
6231
6232 switch (alt29) {
6233 case 1 :
6234 // InternalVampireLanguage.g:2328:3: this_VLSVariable_0= ruleVLSVariable
6235 {
6236
6237 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSVariableParserRuleCall_0());
6238
6239 pushFollow(FOLLOW_2);
6240 this_VLSVariable_0=ruleVLSVariable();
6241
6242 state._fsp--;
6243
6244
6245 current = this_VLSVariable_0;
6246 afterParserOrEnumRuleCall();
6247
6248
6249 }
6250 break;
6251 case 2 :
6252 // InternalVampireLanguage.g:2337:3: this_VLSFunctionFof_1= ruleVLSFunctionFof
6253 {
6254
6255 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSFunctionFofParserRuleCall_1());
6256
6257 pushFollow(FOLLOW_2);
6258 this_VLSFunctionFof_1=ruleVLSFunctionFof();
6259
6260 state._fsp--;
6261
6262
6263 current = this_VLSFunctionFof_1;
6264 afterParserOrEnumRuleCall();
6265
6266
6267 }
6268 break;
6269 case 3 :
6270 // InternalVampireLanguage.g:2346:3: this_VLSDefinedTerm_2= ruleVLSDefinedTerm
6271 {
6272
6273 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSDefinedTermParserRuleCall_2());
6274
6275 pushFollow(FOLLOW_2);
6276 this_VLSDefinedTerm_2=ruleVLSDefinedTerm();
6277
6278 state._fsp--;
6279
6280
6281 current = this_VLSDefinedTerm_2;
6282 afterParserOrEnumRuleCall();
6283
6284
6285 }
6286 break;
6287
6288 }
6289
6290
6291 }
6292
6293
6294 leaveRule();
6295
6296 }
6297
6298 catch (RecognitionException re) {
6299 recover(input,re);
6300 appendSkippedTokens();
6301 }
6302 finally {
6303 }
6304 return current;
6305 }
6306 // $ANTLR end "ruleVLSFofTerm"
6307
6308
6309 // $ANTLR start "entryRuleVLSFunctionFof"
6310 // InternalVampireLanguage.g:2358:1: entryRuleVLSFunctionFof returns [EObject current=null] : iv_ruleVLSFunctionFof= ruleVLSFunctionFof EOF ;
6311 public final EObject entryRuleVLSFunctionFof() throws RecognitionException {
6312 EObject current = null;
6313
6314 EObject iv_ruleVLSFunctionFof = null;
6315
6316
6317 try {
6318 // InternalVampireLanguage.g:2358:55: (iv_ruleVLSFunctionFof= ruleVLSFunctionFof EOF )
6319 // InternalVampireLanguage.g:2359:2: iv_ruleVLSFunctionFof= ruleVLSFunctionFof EOF
6320 {
6321 newCompositeNode(grammarAccess.getVLSFunctionFofRule());
6322 pushFollow(FOLLOW_1);
6323 iv_ruleVLSFunctionFof=ruleVLSFunctionFof();
6324
6325 state._fsp--;
6326
6327 current =iv_ruleVLSFunctionFof;
6328 match(input,EOF,FOLLOW_2);
6329
6330 }
6331
6332 }
6333
6334 catch (RecognitionException re) {
6335 recover(input,re);
6336 appendSkippedTokens();
6337 }
6338 finally {
6339 }
6340 return current;
6341 }
6342 // $ANTLR end "entryRuleVLSFunctionFof"
6343
6344
6345 // $ANTLR start "ruleVLSFunctionFof"
6346 // InternalVampireLanguage.g:2365:1: ruleVLSFunctionFof returns [EObject current=null] : ( ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) ) (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )? ) ;
6347 public final EObject ruleVLSFunctionFof() throws RecognitionException {
6348 EObject current = null;
6349
6350 Token lv_functor_0_1=null;
6351 Token lv_functor_0_2=null;
6352 Token lv_functor_0_3=null;
6353 Token lv_functor_0_4=null;
6354 Token otherlv_1=null;
6355 Token otherlv_3=null;
6356 Token otherlv_5=null;
6357 EObject lv_terms_2_0 = null;
6358
6359 EObject lv_terms_4_0 = null;
6360
6361
6362
6363 enterRule();
6364
6365 try {
6366 // InternalVampireLanguage.g:2371:2: ( ( ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) ) (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )? ) )
6367 // InternalVampireLanguage.g:2372:2: ( ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) ) (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )? )
6368 {
6369 // InternalVampireLanguage.g:2372:2: ( ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) ) (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )? )
6370 // InternalVampireLanguage.g:2373:3: ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) ) (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )?
6371 {
6372 // InternalVampireLanguage.g:2373:3: ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) )
6373 // InternalVampireLanguage.g:2374:4: ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) )
6374 {
6375 // InternalVampireLanguage.g:2374:4: ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) )
6376 // InternalVampireLanguage.g:2375:5: (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID )
6377 {
6378 // InternalVampireLanguage.g:2375:5: (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID )
6379 int alt30=4;
6380 switch ( input.LA(1) ) {
6381 case RULE_LOWER_WORD_ID:
6382 {
6383 alt30=1;
6384 }
6385 break;
6386 case RULE_SINGLE_QUOTE:
6387 {
6388 alt30=2;
6389 }
6390 break;
6391 case RULE_DOLLAR_ID:
6392 {
6393 alt30=3;
6394 }
6395 break;
6396 case RULE_DOUBLE_DOLLAR_ID:
6397 {
6398 alt30=4;
6399 }
6400 break;
6401 default:
6402 NoViableAltException nvae =
6403 new NoViableAltException("", 30, 0, input);
6404
6405 throw nvae;
6406 }
6407
6408 switch (alt30) {
6409 case 1 :
6410 // InternalVampireLanguage.g:2376:6: lv_functor_0_1= RULE_LOWER_WORD_ID
6411 {
6412 lv_functor_0_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_30);
6413
6414 newLeafNode(lv_functor_0_1, grammarAccess.getVLSFunctionFofAccess().getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0());
6415
6416
6417 if (current==null) {
6418 current = createModelElement(grammarAccess.getVLSFunctionFofRule());
6419 }
6420 setWithLastConsumed(
6421 current,
6422 "functor",
6423 lv_functor_0_1,
6424 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
6425
6426
6427 }
6428 break;
6429 case 2 :
6430 // InternalVampireLanguage.g:2391:6: lv_functor_0_2= RULE_SINGLE_QUOTE
6431 {
6432 lv_functor_0_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_30);
6433
6434 newLeafNode(lv_functor_0_2, grammarAccess.getVLSFunctionFofAccess().getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1());
6435
6436
6437 if (current==null) {
6438 current = createModelElement(grammarAccess.getVLSFunctionFofRule());
6439 }
6440 setWithLastConsumed(
6441 current,
6442 "functor",
6443 lv_functor_0_2,
6444 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
6445
6446
6447 }
6448 break;
6449 case 3 :
6450 // InternalVampireLanguage.g:2406:6: lv_functor_0_3= RULE_DOLLAR_ID
6451 {
6452 lv_functor_0_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_30);
6453
6454 newLeafNode(lv_functor_0_3, grammarAccess.getVLSFunctionFofAccess().getFunctorDOLLAR_IDTerminalRuleCall_0_0_2());
6455
6456
6457 if (current==null) {
6458 current = createModelElement(grammarAccess.getVLSFunctionFofRule());
6459 }
6460 setWithLastConsumed(
6461 current,
6462 "functor",
6463 lv_functor_0_3,
6464 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
6465
6466
6467 }
6468 break;
6469 case 4 :
6470 // InternalVampireLanguage.g:2421:6: lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID
6471 {
6472 lv_functor_0_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_30);
6473
6474 newLeafNode(lv_functor_0_4, grammarAccess.getVLSFunctionFofAccess().getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3());
6475
6476
6477 if (current==null) {
6478 current = createModelElement(grammarAccess.getVLSFunctionFofRule());
6479 }
6480 setWithLastConsumed(
6481 current,
6482 "functor",
6483 lv_functor_0_4,
6484 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
6485
6486
6487 }
6488 break;
6489
6490 }
6491
6492
6493 }
6494
6495
6496 }
6497
6498 // InternalVampireLanguage.g:2438:3: (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )?
6499 int alt32=2;
6500 int LA32_0 = input.LA(1);
6501
6502 if ( (LA32_0==32) ) {
6503 alt32=1;
6504 }
6505 switch (alt32) {
6506 case 1 :
6507 // InternalVampireLanguage.g:2439:4: otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')'
6508 {
6509 otherlv_1=(Token)match(input,32,FOLLOW_29);
6510
6511 newLeafNode(otherlv_1, grammarAccess.getVLSFunctionFofAccess().getLeftParenthesisKeyword_1_0());
6512
6513 // InternalVampireLanguage.g:2443:4: ( (lv_terms_2_0= ruleVLSFofTerm ) )
6514 // InternalVampireLanguage.g:2444:5: (lv_terms_2_0= ruleVLSFofTerm )
6515 {
6516 // InternalVampireLanguage.g:2444:5: (lv_terms_2_0= ruleVLSFofTerm )
6517 // InternalVampireLanguage.g:2445:6: lv_terms_2_0= ruleVLSFofTerm
6518 {
6519
6520 newCompositeNode(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_1_0());
6521
6522 pushFollow(FOLLOW_13);
6523 lv_terms_2_0=ruleVLSFofTerm();
6524
6525 state._fsp--;
6526
6527
6528 if (current==null) {
6529 current = createModelElementForParent(grammarAccess.getVLSFunctionFofRule());
6530 }
6531 add(
6532 current,
6533 "terms",
6534 lv_terms_2_0,
6535 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
6536 afterParserOrEnumRuleCall();
6537
6538
6539 }
6540
6541
6542 }
6543
6544 // InternalVampireLanguage.g:2462:4: (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )*
6545 loop31:
6546 do {
6547 int alt31=2;
6548 int LA31_0 = input.LA(1);
6549
6550 if ( (LA31_0==29) ) {
6551 alt31=1;
6552 }
6553
6554
6555 switch (alt31) {
6556 case 1 :
6557 // InternalVampireLanguage.g:2463:5: otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) )
6558 {
6559 otherlv_3=(Token)match(input,29,FOLLOW_29);
6560
6561 newLeafNode(otherlv_3, grammarAccess.getVLSFunctionFofAccess().getCommaKeyword_1_2_0());
6562
6563 // InternalVampireLanguage.g:2467:5: ( (lv_terms_4_0= ruleVLSFofTerm ) )
6564 // InternalVampireLanguage.g:2468:6: (lv_terms_4_0= ruleVLSFofTerm )
6565 {
6566 // InternalVampireLanguage.g:2468:6: (lv_terms_4_0= ruleVLSFofTerm )
6567 // InternalVampireLanguage.g:2469:7: lv_terms_4_0= ruleVLSFofTerm
6568 {
6569
6570 newCompositeNode(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_2_1_0());
6571
6572 pushFollow(FOLLOW_13);
6573 lv_terms_4_0=ruleVLSFofTerm();
6574
6575 state._fsp--;
6576
6577
6578 if (current==null) {
6579 current = createModelElementForParent(grammarAccess.getVLSFunctionFofRule());
6580 }
6581 add(
6582 current,
6583 "terms",
6584 lv_terms_4_0,
6585 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
6586 afterParserOrEnumRuleCall();
6587
6588
6589 }
6590
6591
6592 }
6593
6594
6595 }
6596 break;
6597
6598 default :
6599 break loop31;
6600 }
6601 } while (true);
6602
6603 otherlv_5=(Token)match(input,33,FOLLOW_2);
6604
6605 newLeafNode(otherlv_5, grammarAccess.getVLSFunctionFofAccess().getRightParenthesisKeyword_1_3());
6606
6607
6608 }
6609 break;
6610
6611 }
6612
6613
6614 }
6615
6616
6617 }
6618
6619
6620 leaveRule();
6621
6622 }
6623
6624 catch (RecognitionException re) {
6625 recover(input,re);
6626 appendSkippedTokens();
6627 }
6628 finally {
6629 }
6630 return current;
6631 }
6632 // $ANTLR end "ruleVLSFunctionFof"
6633
6634
6635 // $ANTLR start "entryRuleVLSDefinedTerm"
6636 // InternalVampireLanguage.g:2496:1: entryRuleVLSDefinedTerm returns [EObject current=null] : iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF ;
6637 public final EObject entryRuleVLSDefinedTerm() throws RecognitionException {
6638 EObject current = null;
6639
6640 EObject iv_ruleVLSDefinedTerm = null;
6641
6642
6643 try {
6644 // InternalVampireLanguage.g:2496:55: (iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF )
6645 // InternalVampireLanguage.g:2497:2: iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF
6646 {
6647 newCompositeNode(grammarAccess.getVLSDefinedTermRule());
6648 pushFollow(FOLLOW_1);
6649 iv_ruleVLSDefinedTerm=ruleVLSDefinedTerm();
6650
6651 state._fsp--;
6652
6653 current =iv_ruleVLSDefinedTerm;
6654 match(input,EOF,FOLLOW_2);
6655
6656 }
6657
6658 }
6659
6660 catch (RecognitionException re) {
6661 recover(input,re);
6662 appendSkippedTokens();
6663 }
6664 finally {
6665 }
6666 return current;
6667 }
6668 // $ANTLR end "entryRuleVLSDefinedTerm"
6669
6670
6671 // $ANTLR start "ruleVLSDefinedTerm"
6672 // InternalVampireLanguage.g:2503:1: ruleVLSDefinedTerm returns [EObject current=null] : ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) ) | ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) ) | ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) ) ) ;
6673 public final EObject ruleVLSDefinedTerm() throws RecognitionException {
6674 EObject current = null;
6675
6676 Token lv_value_1_0=null;
6677 Token lv_value_3_0=null;
6678 Token lv_value_5_0=null;
6679 Token lv_value_7_0=null;
6680
6681
6682 enterRule();
6683
6684 try {
6685 // InternalVampireLanguage.g:2509:2: ( ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) ) | ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) ) | ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) ) ) )
6686 // InternalVampireLanguage.g:2510:2: ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) ) | ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) ) | ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) ) )
6687 {
6688 // InternalVampireLanguage.g:2510:2: ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) ) | ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) ) | ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) ) )
6689 int alt33=4;
6690 switch ( input.LA(1) ) {
6691 case RULE_SIGNED_LITERAL:
6692 {
6693 alt33=1;
6694 }
6695 break;
6696 case RULE_SIGNED_REAL_ID:
6697 {
6698 alt33=2;
6699 }
6700 break;
6701 case RULE_SIGNED_RAT_ID:
6702 {
6703 alt33=3;
6704 }
6705 break;
6706 case RULE_DOUBLE_QUOTE:
6707 {
6708 alt33=4;
6709 }
6710 break;
6711 default:
6712 NoViableAltException nvae =
6713 new NoViableAltException("", 33, 0, input);
6714
6715 throw nvae;
6716 }
6717
6718 switch (alt33) {
6719 case 1 :
6720 // InternalVampireLanguage.g:2511:3: ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) )
6721 {
6722 // InternalVampireLanguage.g:2511:3: ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) )
6723 // InternalVampireLanguage.g:2512:4: () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) )
6724 {
6725 // InternalVampireLanguage.g:2512:4: ()
6726 // InternalVampireLanguage.g:2513:5:
6727 {
6728
6729 current = forceCreateModelElement(
6730 grammarAccess.getVLSDefinedTermAccess().getVLSIntAction_0_0(),
6731 current);
6732
6733
6734 }
6735
6736 // InternalVampireLanguage.g:2519:4: ( (lv_value_1_0= RULE_SIGNED_LITERAL ) )
6737 // InternalVampireLanguage.g:2520:5: (lv_value_1_0= RULE_SIGNED_LITERAL )
6738 {
6739 // InternalVampireLanguage.g:2520:5: (lv_value_1_0= RULE_SIGNED_LITERAL )
6740 // InternalVampireLanguage.g:2521:6: lv_value_1_0= RULE_SIGNED_LITERAL
6741 {
6742 lv_value_1_0=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_2);
6743
6744 newLeafNode(lv_value_1_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_LITERALTerminalRuleCall_0_1_0());
6745
6746
6747 if (current==null) {
6748 current = createModelElement(grammarAccess.getVLSDefinedTermRule());
6749 }
6750 setWithLastConsumed(
6751 current,
6752 "value",
6753 lv_value_1_0,
6754 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
6755
6756
6757 }
6758
6759
6760 }
6761
6762
6763 }
6764
6765
6766 }
6767 break;
6768 case 2 :
6769 // InternalVampireLanguage.g:2539:3: ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) )
6770 {
6771 // InternalVampireLanguage.g:2539:3: ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) )
6772 // InternalVampireLanguage.g:2540:4: () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) )
6773 {
6774 // InternalVampireLanguage.g:2540:4: ()
6775 // InternalVampireLanguage.g:2541:5:
6776 {
6777
6778 current = forceCreateModelElement(
6779 grammarAccess.getVLSDefinedTermAccess().getVLSRealAction_1_0(),
6780 current);
6781
6782
6783 }
6784
6785 // InternalVampireLanguage.g:2547:4: ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) )
6786 // InternalVampireLanguage.g:2548:5: (lv_value_3_0= RULE_SIGNED_REAL_ID )
6787 {
6788 // InternalVampireLanguage.g:2548:5: (lv_value_3_0= RULE_SIGNED_REAL_ID )
6789 // InternalVampireLanguage.g:2549:6: lv_value_3_0= RULE_SIGNED_REAL_ID
6790 {
6791 lv_value_3_0=(Token)match(input,RULE_SIGNED_REAL_ID,FOLLOW_2);
6792
6793 newLeafNode(lv_value_3_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0());
6794
6795
6796 if (current==null) {
6797 current = createModelElement(grammarAccess.getVLSDefinedTermRule());
6798 }
6799 setWithLastConsumed(
6800 current,
6801 "value",
6802 lv_value_3_0,
6803 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_REAL_ID");
6804
6805
6806 }
6807
6808
6809 }
6810
6811
6812 }
6813
6814
6815 }
6816 break;
6817 case 3 :
6818 // InternalVampireLanguage.g:2567:3: ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) )
6819 {
6820 // InternalVampireLanguage.g:2567:3: ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) )
6821 // InternalVampireLanguage.g:2568:4: () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) )
6822 {
6823 // InternalVampireLanguage.g:2568:4: ()
6824 // InternalVampireLanguage.g:2569:5:
6825 {
6826
6827 current = forceCreateModelElement(
6828 grammarAccess.getVLSDefinedTermAccess().getVLSRationalAction_2_0(),
6829 current);
6830
6831
6832 }
6833
6834 // InternalVampireLanguage.g:2575:4: ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) )
6835 // InternalVampireLanguage.g:2576:5: (lv_value_5_0= RULE_SIGNED_RAT_ID )
6836 {
6837 // InternalVampireLanguage.g:2576:5: (lv_value_5_0= RULE_SIGNED_RAT_ID )
6838 // InternalVampireLanguage.g:2577:6: lv_value_5_0= RULE_SIGNED_RAT_ID
6839 {
6840 lv_value_5_0=(Token)match(input,RULE_SIGNED_RAT_ID,FOLLOW_2);
6841
6842 newLeafNode(lv_value_5_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0());
6843
6844
6845 if (current==null) {
6846 current = createModelElement(grammarAccess.getVLSDefinedTermRule());
6847 }
6848 setWithLastConsumed(
6849 current,
6850 "value",
6851 lv_value_5_0,
6852 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_RAT_ID");
6853
6854
6855 }
6856
6857
6858 }
6859
6860
6861 }
6862
6863
6864 }
6865 break;
6866 case 4 :
6867 // InternalVampireLanguage.g:2595:3: ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) )
6868 {
6869 // InternalVampireLanguage.g:2595:3: ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) )
6870 // InternalVampireLanguage.g:2596:4: () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) )
6871 {
6872 // InternalVampireLanguage.g:2596:4: ()
6873 // InternalVampireLanguage.g:2597:5:
6874 {
6875
6876 current = forceCreateModelElement(
6877 grammarAccess.getVLSDefinedTermAccess().getVLSDoubleQuoteAction_3_0(),
6878 current);
6879
6880
6881 }
6882
6883 // InternalVampireLanguage.g:2603:4: ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) )
6884 // InternalVampireLanguage.g:2604:5: (lv_value_7_0= RULE_DOUBLE_QUOTE )
6885 {
6886 // InternalVampireLanguage.g:2604:5: (lv_value_7_0= RULE_DOUBLE_QUOTE )
6887 // InternalVampireLanguage.g:2605:6: lv_value_7_0= RULE_DOUBLE_QUOTE
6888 {
6889 lv_value_7_0=(Token)match(input,RULE_DOUBLE_QUOTE,FOLLOW_2);
6890
6891 newLeafNode(lv_value_7_0, grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_3_1_0());
6892
6893
6894 if (current==null) {
6895 current = createModelElement(grammarAccess.getVLSDefinedTermRule());
6896 }
6897 setWithLastConsumed(
6898 current,
6899 "value",
6900 lv_value_7_0,
6901 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_QUOTE");
6902
6903
6904 }
6905
6906
6907 }
6908
6909
6910 }
6911
6912
6913 }
6914 break;
6915
6916 }
6917
6918
6919 }
6920
6921
6922 leaveRule();
6923
6924 }
6925
6926 catch (RecognitionException re) {
6927 recover(input,re);
6928 appendSkippedTokens();
6929 }
6930 finally {
6931 }
6932 return current;
6933 }
6934 // $ANTLR end "ruleVLSDefinedTerm"
6935
6936 // Delegated rules
6937
6938
6939 protected DFA23 dfa23 = new DFA23(this);
6940 static final String dfa_1s = "\30\uffff";
6941 static final String dfa_2s = "\1\uffff\23\24\4\uffff";
6942 static final String dfa_3s = "\1\4\23\35\4\uffff";
6943 static final String dfa_4s = "\1\104\23\101\4\uffff";
6944 static final String dfa_5s = "\24\uffff\1\1\1\2\1\3\1\4";
6945 static final String dfa_6s = "\30\uffff}>";
6946 static final String[] dfa_7s = {
6947 "\1\2\1\1\1\uffff\1\27\1\uffff\1\3\1\4\1\26\3\27\24\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\20\uffff\2\24\1\25",
6948 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6949 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6950 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6951 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6952 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6953 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6954 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6955 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6956 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6957 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6958 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6959 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6960 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6961 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6962 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6963 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6964 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6965 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6966 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6967 "",
6968 "",
6969 "",
6970 ""
6971 };
6972
6973 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
6974 static final short[] dfa_2 = DFA.unpackEncodedString(dfa_2s);
6975 static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
6976 static final char[] dfa_4 = DFA.unpackEncodedStringToUnsignedChars(dfa_4s);
6977 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
6978 static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s);
6979 static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s);
6980
6981 class DFA23 extends DFA {
6982
6983 public DFA23(BaseRecognizer recognizer) {
6984 this.recognizer = recognizer;
6985 this.decisionNumber = 23;
6986 this.eot = dfa_1;
6987 this.eof = dfa_2;
6988 this.min = dfa_3;
6989 this.max = dfa_4;
6990 this.accept = dfa_5;
6991 this.special = dfa_6;
6992 this.transition = dfa_7;
6993 }
6994 public String getDescription() {
6995 return "1864:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm )";
6996 }
6997 }
6998
6999
7000 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
7001 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
7002 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000088000102L});
7003 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L});
7004 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000010000002L});
7005 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000000000000F0L});
7006 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000060000000L});
7007 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000100000000L});
7008 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x00000000000000B0L});
7009 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000020000000L});
7010 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0003FFF800000000L});
7011 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x6803FFF900007EB0L,0x000000000000001CL});
7012 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000220000000L});
7013 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0007FFFB40000030L});
7014 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000200000000L});
7015 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000400000000L});
7016 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0003FFF940000032L});
7017 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000140000002L});
7018 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0007FFF960000030L});
7019 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000040000002L});
7020 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000020000002L});
7021 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x07F8000000000002L});
7022 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0200000000000002L});
7023 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0400000000000002L});
7024 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0004000000000000L});
7025 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000800L});
7026 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x1000000000000000L});
7027 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x8000000000000002L,0x0000000000000003L});
7028 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0003FFF800007EB0L,0x000000000000001CL});
7029 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000100000002L});
7030
7031} \ No newline at end of file