aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java7031
1 files changed, 7031 insertions, 0 deletions
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