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.java4734
1 files changed, 2895 insertions, 1839 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
index f44428a0..a644dcef 100644
--- 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
@@ -21,11 +21,10 @@ import java.util.ArrayList;
21@SuppressWarnings("all") 21@SuppressWarnings("all")
22public class InternalVampireLanguageParser extends AbstractInternalAntlrParser { 22public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
23 public static final String[] tokenNames = new String[] { 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_ID", "RULE_ANY_OTHER", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "'include('", "',['", "','", "']'", "'%'", "'Satisfiable!'", "'fof'", "'('", "')'", "'.'", "'tff'", "'axiom'", "'conjecture'", "'hypothesis'", "'definition'", "'assumption'", "'lemma'", "'theorem'", "'corollary'", "'negated_conjecture'", "'plain'", "'type'", "'fi_domain'", "'fi_functors'", "'fi_predicates'", "'unknown'", "'['", "'<=>'", "'=>'", "'<='", "'<~>'", "'~|'", "'~&'", "'&'", "'|'", "'!'", "':'", "'?'", "'~'", "'!='", "'='", "':='", "'$true'", "'$false'", "'$less'" 24 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_SINGLE_COMMENT", "RULE_LITERAL", "RULE_LOWER_WORD_ID", "RULE_SIGNED_LITERAL", "RULE_SINGLE_QUOTE", "RULE_DOLLAR_ID", "RULE_DOUBLE_DOLLAR_ID", "RULE_UPPER_WORD_ID", "RULE_DOUBLE_QUOTE", "RULE_ALPHA_NUMERIC", "RULE_SIGN", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Satisfiable!'", "'WARNING!'", "'Could'", "'not'", "'set'", "'resource'", "'limit:'", "'Virtual'", "'memory.'", "'TRYING'", "'['", "']'", "'Finite'", "'Model'", "'Found!'", "'fof'", "'('", "','", "')'", "'.'", "'tff'", "'distinct_domain'", "'finite_domain'", "'declare_'", "'axiom'", "'conjecture'", "'hypothesis'", "'definition'", "'assumption'", "'lemma'", "'theorem'", "'corollary'", "'negated_conjecture'", "'plain'", "'type'", "'fi_domain'", "'fi_functors'", "'fi_predicates'", "'unknown'", "':'", "'>'", "'*'", "'<=>'", "'=>'", "'<='", "'<~>'", "'~|'", "'~&'", "'&'", "'|'", "'!'", "'?'", "'~'", "'!='", "'='", "':='", "'$true'", "'$false'", "'$less'"
25 }; 25 };
26 public static final int RULE_UNSIGNED_RAT_ID=20;
27 public static final int T__50=50; 26 public static final int T__50=50;
28 public static final int RULE_SIGN=16; 27 public static final int RULE_SIGN=14;
29 public static final int T__59=59; 28 public static final int T__59=59;
30 public static final int RULE_SIGNED_LITERAL=7; 29 public static final int RULE_SIGNED_LITERAL=7;
31 public static final int T__55=55; 30 public static final int T__55=55;
@@ -33,26 +32,29 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
33 public static final int T__57=57; 32 public static final int T__57=57;
34 public static final int T__58=58; 33 public static final int T__58=58;
35 public static final int T__51=51; 34 public static final int T__51=51;
36 public static final int RULE_DOUBLE_QUOTE=14; 35 public static final int RULE_DOUBLE_QUOTE=12;
37 public static final int T__52=52; 36 public static final int T__52=52;
38 public static final int RULE_LITERAL=6; 37 public static final int RULE_LITERAL=5;
39 public static final int T__53=53; 38 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; 39 public static final int T__54=54;
42 public static final int T__60=60; 40 public static final int T__60=60;
43 public static final int T__61=61; 41 public static final int T__61=61;
44 public static final int RULE_ID=21; 42 public static final int RULE_ID=16;
45 public static final int RULE_SINGLE_QUOTE=4; 43 public static final int RULE_SINGLE_QUOTE=8;
46 public static final int RULE_SINGLE_COMMENT=8; 44 public static final int RULE_SINGLE_COMMENT=4;
45 public static final int T__26=26;
47 public static final int T__27=27; 46 public static final int T__27=27;
48 public static final int T__28=28; 47 public static final int T__28=28;
49 public static final int RULE_INT=17; 48 public static final int RULE_INT=15;
50 public static final int T__29=29; 49 public static final int T__29=29;
50 public static final int T__22=22;
51 public static final int T__66=66; 51 public static final int T__66=66;
52 public static final int RULE_ML_COMMENT=24; 52 public static final int RULE_ML_COMMENT=18;
53 public static final int T__23=23;
53 public static final int T__67=67; 54 public static final int T__67=67;
54 public static final int RULE_SIGNED_RAT_ID=13; 55 public static final int T__24=24;
55 public static final int T__68=68; 56 public static final int T__68=68;
57 public static final int T__25=25;
56 public static final int T__69=69; 58 public static final int T__69=69;
57 public static final int T__62=62; 59 public static final int T__62=62;
58 public static final int T__63=63; 60 public static final int T__63=63;
@@ -60,32 +62,39 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
60 public static final int T__65=65; 62 public static final int T__65=65;
61 public static final int T__70=70; 63 public static final int T__70=70;
62 public static final int T__71=71; 64 public static final int T__71=71;
63 public static final int RULE_LOWER_WORD_ID=5; 65 public static final int T__72=72;
64 public static final int RULE_STRING=23; 66 public static final int RULE_LOWER_WORD_ID=6;
65 public static final int RULE_SL_COMMENT=25; 67 public static final int RULE_STRING=17;
68 public static final int RULE_SL_COMMENT=19;
66 public static final int T__37=37; 69 public static final int T__37=37;
67 public static final int T__38=38; 70 public static final int T__38=38;
68 public static final int T__39=39; 71 public static final int T__39=39;
69 public static final int T__33=33; 72 public static final int T__33=33;
73 public static final int T__77=77;
70 public static final int T__34=34; 74 public static final int T__34=34;
75 public static final int T__78=78;
71 public static final int T__35=35; 76 public static final int T__35=35;
77 public static final int T__79=79;
72 public static final int T__36=36; 78 public static final int T__36=36;
79 public static final int T__73=73;
73 public static final int EOF=-1; 80 public static final int EOF=-1;
74 public static final int T__30=30; 81 public static final int T__30=30;
75 public static final int RULE_UNSIGNED_REAL_EXP_ID=19; 82 public static final int T__74=74;
76 public static final int T__31=31; 83 public static final int T__31=31;
84 public static final int T__75=75;
77 public static final int T__32=32; 85 public static final int T__32=32;
86 public static final int T__76=76;
87 public static final int T__80=80;
78 public static final int RULE_UPPER_WORD_ID=11; 88 public static final int RULE_UPPER_WORD_ID=11;
79 public static final int RULE_WS=26; 89 public static final int RULE_WS=20;
80 public static final int RULE_DOLLAR_ID=9; 90 public static final int RULE_DOLLAR_ID=9;
81 public static final int RULE_ALPHA_NUMERIC=15; 91 public static final int RULE_ALPHA_NUMERIC=13;
82 public static final int RULE_ANY_OTHER=22; 92 public static final int RULE_ANY_OTHER=21;
83 public static final int RULE_DOUBLE_DOLLAR_ID=10; 93 public static final int RULE_DOUBLE_DOLLAR_ID=10;
84 public static final int T__48=48; 94 public static final int T__48=48;
85 public static final int T__49=49; 95 public static final int T__49=49;
86 public static final int T__44=44; 96 public static final int T__44=44;
87 public static final int T__45=45; 97 public static final int T__45=45;
88 public static final int RULE_SIGNED_REAL_ID=12;
89 public static final int T__46=46; 98 public static final int T__46=46;
90 public static final int T__47=47; 99 public static final int T__47=47;
91 public static final int T__40=40; 100 public static final int T__40=40;
@@ -169,113 +178,72 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
169 178
170 179
171 // $ANTLR start "ruleVampireModel" 180 // $ANTLR start "ruleVampireModel"
172 // InternalVampireLanguage.g:71:1: ruleVampireModel returns [EObject current=null] : ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_confirmations_2_0= ruleVLSConfirmations ) ) | ( (lv_formulas_3_0= ruleVLSFofFormula ) ) | ( (lv_tfformulas_4_0= ruleVLSTffFormula ) ) )* ; 181 // InternalVampireLanguage.g:71:1: ruleVampireModel returns [EObject current=null] : ( ( (lv_comments_0_0= ruleVLSComment ) ) | ( (lv_confirmations_1_0= ruleVLSConfirmations ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) | ( (lv_tfformulas_3_0= ruleVLSTffFormula ) ) )* ;
173 public final EObject ruleVampireModel() throws RecognitionException { 182 public final EObject ruleVampireModel() throws RecognitionException {
174 EObject current = null; 183 EObject current = null;
175 184
176 EObject lv_includes_0_0 = null; 185 EObject lv_comments_0_0 = null;
177 186
178 EObject lv_comments_1_0 = null; 187 EObject lv_confirmations_1_0 = null;
179 188
180 EObject lv_confirmations_2_0 = null; 189 EObject lv_formulas_2_0 = null;
181 190
182 EObject lv_formulas_3_0 = null; 191 EObject lv_tfformulas_3_0 = null;
183
184 EObject lv_tfformulas_4_0 = null;
185 192
186 193
187 194
188 enterRule(); 195 enterRule();
189 196
190 try { 197 try {
191 // InternalVampireLanguage.g:77:2: ( ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_confirmations_2_0= ruleVLSConfirmations ) ) | ( (lv_formulas_3_0= ruleVLSFofFormula ) ) | ( (lv_tfformulas_4_0= ruleVLSTffFormula ) ) )* ) 198 // InternalVampireLanguage.g:77:2: ( ( ( (lv_comments_0_0= ruleVLSComment ) ) | ( (lv_confirmations_1_0= ruleVLSConfirmations ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) | ( (lv_tfformulas_3_0= ruleVLSTffFormula ) ) )* )
192 // InternalVampireLanguage.g:78:2: ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_confirmations_2_0= ruleVLSConfirmations ) ) | ( (lv_formulas_3_0= ruleVLSFofFormula ) ) | ( (lv_tfformulas_4_0= ruleVLSTffFormula ) ) )* 199 // InternalVampireLanguage.g:78:2: ( ( (lv_comments_0_0= ruleVLSComment ) ) | ( (lv_confirmations_1_0= ruleVLSConfirmations ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) | ( (lv_tfformulas_3_0= ruleVLSTffFormula ) ) )*
193 { 200 {
194 // InternalVampireLanguage.g:78:2: ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_confirmations_2_0= ruleVLSConfirmations ) ) | ( (lv_formulas_3_0= ruleVLSFofFormula ) ) | ( (lv_tfformulas_4_0= ruleVLSTffFormula ) ) )* 201 // InternalVampireLanguage.g:78:2: ( ( (lv_comments_0_0= ruleVLSComment ) ) | ( (lv_confirmations_1_0= ruleVLSConfirmations ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) | ( (lv_tfformulas_3_0= ruleVLSTffFormula ) ) )*
195 loop1: 202 loop1:
196 do { 203 do {
197 int alt1=6; 204 int alt1=5;
198 switch ( input.LA(1) ) { 205 switch ( input.LA(1) ) {
199 case 27: 206 case RULE_SINGLE_COMMENT:
200 { 207 {
201 alt1=1; 208 alt1=1;
202 } 209 }
203 break; 210 break;
211 case 22:
212 case 23:
204 case 31: 213 case 31:
214 case 34:
205 { 215 {
206 alt1=2; 216 alt1=2;
207 } 217 }
208 break; 218 break;
209 case 32: 219 case 37:
210 { 220 {
211 alt1=3; 221 alt1=3;
212 } 222 }
213 break; 223 break;
214 case 33: 224 case 42:
215 { 225 {
216 alt1=4; 226 alt1=4;
217 } 227 }
218 break; 228 break;
219 case 37:
220 {
221 alt1=5;
222 }
223 break;
224 229
225 } 230 }
226 231
227 switch (alt1) { 232 switch (alt1) {
228 case 1 : 233 case 1 :
229 // InternalVampireLanguage.g:79:3: ( (lv_includes_0_0= ruleVLSInclude ) ) 234 // InternalVampireLanguage.g:79:3: ( (lv_comments_0_0= ruleVLSComment ) )
230 { 235 {
231 // InternalVampireLanguage.g:79:3: ( (lv_includes_0_0= ruleVLSInclude ) ) 236 // InternalVampireLanguage.g:79:3: ( (lv_comments_0_0= ruleVLSComment ) )
232 // InternalVampireLanguage.g:80:4: (lv_includes_0_0= ruleVLSInclude ) 237 // InternalVampireLanguage.g:80:4: (lv_comments_0_0= ruleVLSComment )
233 { 238 {
234 // InternalVampireLanguage.g:80:4: (lv_includes_0_0= ruleVLSInclude ) 239 // InternalVampireLanguage.g:80:4: (lv_comments_0_0= ruleVLSComment )
235 // InternalVampireLanguage.g:81:5: lv_includes_0_0= ruleVLSInclude 240 // InternalVampireLanguage.g:81:5: lv_comments_0_0= ruleVLSComment
236 { 241 {
237 242
238 newCompositeNode(grammarAccess.getVampireModelAccess().getIncludesVLSIncludeParserRuleCall_0_0()); 243 newCompositeNode(grammarAccess.getVampireModelAccess().getCommentsVLSCommentParserRuleCall_0_0());
239 244
240 pushFollow(FOLLOW_3); 245 pushFollow(FOLLOW_3);
241 lv_includes_0_0=ruleVLSInclude(); 246 lv_comments_0_0=ruleVLSComment();
242
243 state._fsp--;
244
245
246 if (current==null) {
247 current = createModelElementForParent(grammarAccess.getVampireModelRule());
248 }
249 add(
250 current,
251 "includes",
252 lv_includes_0_0,
253 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSInclude");
254 afterParserOrEnumRuleCall();
255
256
257 }
258
259
260 }
261
262
263 }
264 break;
265 case 2 :
266 // InternalVampireLanguage.g:99:3: ( (lv_comments_1_0= ruleVLSComment ) )
267 {
268 // InternalVampireLanguage.g:99:3: ( (lv_comments_1_0= ruleVLSComment ) )
269 // InternalVampireLanguage.g:100:4: (lv_comments_1_0= ruleVLSComment )
270 {
271 // InternalVampireLanguage.g:100:4: (lv_comments_1_0= ruleVLSComment )
272 // InternalVampireLanguage.g:101:5: lv_comments_1_0= ruleVLSComment
273 {
274
275 newCompositeNode(grammarAccess.getVampireModelAccess().getCommentsVLSCommentParserRuleCall_1_0());
276
277 pushFollow(FOLLOW_3);
278 lv_comments_1_0=ruleVLSComment();
279 247
280 state._fsp--; 248 state._fsp--;
281 249
@@ -286,7 +254,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
286 add( 254 add(
287 current, 255 current,
288 "comments", 256 "comments",
289 lv_comments_1_0, 257 lv_comments_0_0,
290 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSComment"); 258 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSComment");
291 afterParserOrEnumRuleCall(); 259 afterParserOrEnumRuleCall();
292 260
@@ -299,20 +267,20 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
299 267
300 } 268 }
301 break; 269 break;
302 case 3 : 270 case 2 :
303 // InternalVampireLanguage.g:119:3: ( (lv_confirmations_2_0= ruleVLSConfirmations ) ) 271 // InternalVampireLanguage.g:99:3: ( (lv_confirmations_1_0= ruleVLSConfirmations ) )
304 { 272 {
305 // InternalVampireLanguage.g:119:3: ( (lv_confirmations_2_0= ruleVLSConfirmations ) ) 273 // InternalVampireLanguage.g:99:3: ( (lv_confirmations_1_0= ruleVLSConfirmations ) )
306 // InternalVampireLanguage.g:120:4: (lv_confirmations_2_0= ruleVLSConfirmations ) 274 // InternalVampireLanguage.g:100:4: (lv_confirmations_1_0= ruleVLSConfirmations )
307 { 275 {
308 // InternalVampireLanguage.g:120:4: (lv_confirmations_2_0= ruleVLSConfirmations ) 276 // InternalVampireLanguage.g:100:4: (lv_confirmations_1_0= ruleVLSConfirmations )
309 // InternalVampireLanguage.g:121:5: lv_confirmations_2_0= ruleVLSConfirmations 277 // InternalVampireLanguage.g:101:5: lv_confirmations_1_0= ruleVLSConfirmations
310 { 278 {
311 279
312 newCompositeNode(grammarAccess.getVampireModelAccess().getConfirmationsVLSConfirmationsParserRuleCall_2_0()); 280 newCompositeNode(grammarAccess.getVampireModelAccess().getConfirmationsVLSConfirmationsParserRuleCall_1_0());
313 281
314 pushFollow(FOLLOW_3); 282 pushFollow(FOLLOW_3);
315 lv_confirmations_2_0=ruleVLSConfirmations(); 283 lv_confirmations_1_0=ruleVLSConfirmations();
316 284
317 state._fsp--; 285 state._fsp--;
318 286
@@ -323,7 +291,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
323 add( 291 add(
324 current, 292 current,
325 "confirmations", 293 "confirmations",
326 lv_confirmations_2_0, 294 lv_confirmations_1_0,
327 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSConfirmations"); 295 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSConfirmations");
328 afterParserOrEnumRuleCall(); 296 afterParserOrEnumRuleCall();
329 297
@@ -336,20 +304,20 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
336 304
337 } 305 }
338 break; 306 break;
339 case 4 : 307 case 3 :
340 // InternalVampireLanguage.g:139:3: ( (lv_formulas_3_0= ruleVLSFofFormula ) ) 308 // InternalVampireLanguage.g:119:3: ( (lv_formulas_2_0= ruleVLSFofFormula ) )
341 { 309 {
342 // InternalVampireLanguage.g:139:3: ( (lv_formulas_3_0= ruleVLSFofFormula ) ) 310 // InternalVampireLanguage.g:119:3: ( (lv_formulas_2_0= ruleVLSFofFormula ) )
343 // InternalVampireLanguage.g:140:4: (lv_formulas_3_0= ruleVLSFofFormula ) 311 // InternalVampireLanguage.g:120:4: (lv_formulas_2_0= ruleVLSFofFormula )
344 { 312 {
345 // InternalVampireLanguage.g:140:4: (lv_formulas_3_0= ruleVLSFofFormula ) 313 // InternalVampireLanguage.g:120:4: (lv_formulas_2_0= ruleVLSFofFormula )
346 // InternalVampireLanguage.g:141:5: lv_formulas_3_0= ruleVLSFofFormula 314 // InternalVampireLanguage.g:121:5: lv_formulas_2_0= ruleVLSFofFormula
347 { 315 {
348 316
349 newCompositeNode(grammarAccess.getVampireModelAccess().getFormulasVLSFofFormulaParserRuleCall_3_0()); 317 newCompositeNode(grammarAccess.getVampireModelAccess().getFormulasVLSFofFormulaParserRuleCall_2_0());
350 318
351 pushFollow(FOLLOW_3); 319 pushFollow(FOLLOW_3);
352 lv_formulas_3_0=ruleVLSFofFormula(); 320 lv_formulas_2_0=ruleVLSFofFormula();
353 321
354 state._fsp--; 322 state._fsp--;
355 323
@@ -360,7 +328,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
360 add( 328 add(
361 current, 329 current,
362 "formulas", 330 "formulas",
363 lv_formulas_3_0, 331 lv_formulas_2_0,
364 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofFormula"); 332 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofFormula");
365 afterParserOrEnumRuleCall(); 333 afterParserOrEnumRuleCall();
366 334
@@ -373,20 +341,20 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
373 341
374 } 342 }
375 break; 343 break;
376 case 5 : 344 case 4 :
377 // InternalVampireLanguage.g:159:3: ( (lv_tfformulas_4_0= ruleVLSTffFormula ) ) 345 // InternalVampireLanguage.g:139:3: ( (lv_tfformulas_3_0= ruleVLSTffFormula ) )
378 { 346 {
379 // InternalVampireLanguage.g:159:3: ( (lv_tfformulas_4_0= ruleVLSTffFormula ) ) 347 // InternalVampireLanguage.g:139:3: ( (lv_tfformulas_3_0= ruleVLSTffFormula ) )
380 // InternalVampireLanguage.g:160:4: (lv_tfformulas_4_0= ruleVLSTffFormula ) 348 // InternalVampireLanguage.g:140:4: (lv_tfformulas_3_0= ruleVLSTffFormula )
381 { 349 {
382 // InternalVampireLanguage.g:160:4: (lv_tfformulas_4_0= ruleVLSTffFormula ) 350 // InternalVampireLanguage.g:140:4: (lv_tfformulas_3_0= ruleVLSTffFormula )
383 // InternalVampireLanguage.g:161:5: lv_tfformulas_4_0= ruleVLSTffFormula 351 // InternalVampireLanguage.g:141:5: lv_tfformulas_3_0= ruleVLSTffFormula
384 { 352 {
385 353
386 newCompositeNode(grammarAccess.getVampireModelAccess().getTfformulasVLSTffFormulaParserRuleCall_4_0()); 354 newCompositeNode(grammarAccess.getVampireModelAccess().getTfformulasVLSTffFormulaParserRuleCall_3_0());
387 355
388 pushFollow(FOLLOW_3); 356 pushFollow(FOLLOW_3);
389 lv_tfformulas_4_0=ruleVLSTffFormula(); 357 lv_tfformulas_3_0=ruleVLSTffFormula();
390 358
391 state._fsp--; 359 state._fsp--;
392 360
@@ -397,7 +365,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
397 add( 365 add(
398 current, 366 current,
399 "tfformulas", 367 "tfformulas",
400 lv_tfformulas_4_0, 368 lv_tfformulas_3_0,
401 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTffFormula"); 369 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTffFormula");
402 afterParserOrEnumRuleCall(); 370 afterParserOrEnumRuleCall();
403 371
@@ -435,25 +403,25 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
435 // $ANTLR end "ruleVampireModel" 403 // $ANTLR end "ruleVampireModel"
436 404
437 405
438 // $ANTLR start "entryRuleVLSInclude" 406 // $ANTLR start "entryRuleVLSComment"
439 // InternalVampireLanguage.g:182:1: entryRuleVLSInclude returns [EObject current=null] : iv_ruleVLSInclude= ruleVLSInclude EOF ; 407 // InternalVampireLanguage.g:162:1: entryRuleVLSComment returns [EObject current=null] : iv_ruleVLSComment= ruleVLSComment EOF ;
440 public final EObject entryRuleVLSInclude() throws RecognitionException { 408 public final EObject entryRuleVLSComment() throws RecognitionException {
441 EObject current = null; 409 EObject current = null;
442 410
443 EObject iv_ruleVLSInclude = null; 411 EObject iv_ruleVLSComment = null;
444 412
445 413
446 try { 414 try {
447 // InternalVampireLanguage.g:182:51: (iv_ruleVLSInclude= ruleVLSInclude EOF ) 415 // InternalVampireLanguage.g:162:51: (iv_ruleVLSComment= ruleVLSComment EOF )
448 // InternalVampireLanguage.g:183:2: iv_ruleVLSInclude= ruleVLSInclude EOF 416 // InternalVampireLanguage.g:163:2: iv_ruleVLSComment= ruleVLSComment EOF
449 { 417 {
450 newCompositeNode(grammarAccess.getVLSIncludeRule()); 418 newCompositeNode(grammarAccess.getVLSCommentRule());
451 pushFollow(FOLLOW_1); 419 pushFollow(FOLLOW_1);
452 iv_ruleVLSInclude=ruleVLSInclude(); 420 iv_ruleVLSComment=ruleVLSComment();
453 421
454 state._fsp--; 422 state._fsp--;
455 423
456 current =iv_ruleVLSInclude; 424 current =iv_ruleVLSComment;
457 match(input,EOF,FOLLOW_2); 425 match(input,EOF,FOLLOW_2);
458 426
459 } 427 }
@@ -468,176 +436,43 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
468 } 436 }
469 return current; 437 return current;
470 } 438 }
471 // $ANTLR end "entryRuleVLSInclude" 439 // $ANTLR end "entryRuleVLSComment"
472 440
473 441
474 // $ANTLR start "ruleVLSInclude" 442 // $ANTLR start "ruleVLSComment"
475 // InternalVampireLanguage.g:189: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= ']' )? ) ; 443 // InternalVampireLanguage.g:169:1: ruleVLSComment returns [EObject current=null] : ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) ) ;
476 public final EObject ruleVLSInclude() throws RecognitionException { 444 public final EObject ruleVLSComment() throws RecognitionException {
477 EObject current = null; 445 EObject current = null;
478 446
479 Token otherlv_0=null; 447 Token lv_comment_0_0=null;
480 Token lv_fileName_1_0=null;
481 Token otherlv_2=null;
482 Token otherlv_4=null;
483 Token otherlv_6=null;
484 EObject lv_names_3_0 = null;
485
486 EObject lv_names_5_0 = null;
487
488 448
489 449
490 enterRule(); 450 enterRule();
491 451
492 try { 452 try {
493 // InternalVampireLanguage.g:195: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= ']' )? ) ) 453 // InternalVampireLanguage.g:175:2: ( ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) ) )
494 // InternalVampireLanguage.g:196: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= ']' )? ) 454 // InternalVampireLanguage.g:176:2: ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) )
495 { 455 {
496 // InternalVampireLanguage.g:196: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= ']' )? ) 456 // InternalVampireLanguage.g:176:2: ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) )
497 // InternalVampireLanguage.g:197: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= ']' )? 457 // InternalVampireLanguage.g:177:3: (lv_comment_0_0= RULE_SINGLE_COMMENT )
498 { 458 {
499 otherlv_0=(Token)match(input,27,FOLLOW_4); 459 // InternalVampireLanguage.g:177:3: (lv_comment_0_0= RULE_SINGLE_COMMENT )
500 460 // InternalVampireLanguage.g:178:4: lv_comment_0_0= RULE_SINGLE_COMMENT
501 newLeafNode(otherlv_0, grammarAccess.getVLSIncludeAccess().getIncludeKeyword_0());
502
503 // InternalVampireLanguage.g:201:3: ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) )
504 // InternalVampireLanguage.g:202:4: (lv_fileName_1_0= RULE_SINGLE_QUOTE )
505 {
506 // InternalVampireLanguage.g:202:4: (lv_fileName_1_0= RULE_SINGLE_QUOTE )
507 // InternalVampireLanguage.g:203:5: lv_fileName_1_0= RULE_SINGLE_QUOTE
508 { 461 {
509 lv_fileName_1_0=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_5); 462 lv_comment_0_0=(Token)match(input,RULE_SINGLE_COMMENT,FOLLOW_2);
510
511 newLeafNode(lv_fileName_1_0, grammarAccess.getVLSIncludeAccess().getFileNameSINGLE_QUOTETerminalRuleCall_1_0());
512
513
514 if (current==null) {
515 current = createModelElement(grammarAccess.getVLSIncludeRule());
516 }
517 setWithLastConsumed(
518 current,
519 "fileName",
520 lv_fileName_1_0,
521 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
522
523
524 }
525
526
527 }
528
529 // InternalVampireLanguage.g:219:3: (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )?
530 int alt3=2;
531 int LA3_0 = input.LA(1);
532
533 if ( (LA3_0==28) ) {
534 alt3=1;
535 }
536 switch (alt3) {
537 case 1 :
538 // InternalVampireLanguage.g:220:4: otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']'
539 {
540 otherlv_2=(Token)match(input,28,FOLLOW_6);
541
542 newLeafNode(otherlv_2, grammarAccess.getVLSIncludeAccess().getCommaLeftSquareBracketKeyword_2_0());
543
544 // InternalVampireLanguage.g:224:4: ( (lv_names_3_0= ruleVLSName ) )
545 // InternalVampireLanguage.g:225:5: (lv_names_3_0= ruleVLSName )
546 {
547 // InternalVampireLanguage.g:225:5: (lv_names_3_0= ruleVLSName )
548 // InternalVampireLanguage.g:226:6: lv_names_3_0= ruleVLSName
549 {
550
551 newCompositeNode(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_1_0());
552
553 pushFollow(FOLLOW_7);
554 lv_names_3_0=ruleVLSName();
555
556 state._fsp--;
557
558
559 if (current==null) {
560 current = createModelElementForParent(grammarAccess.getVLSIncludeRule());
561 }
562 add(
563 current,
564 "names",
565 lv_names_3_0,
566 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
567 afterParserOrEnumRuleCall();
568
569
570 }
571
572
573 }
574
575 // InternalVampireLanguage.g:243:4: (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )*
576 loop2:
577 do {
578 int alt2=2;
579 int LA2_0 = input.LA(1);
580
581 if ( (LA2_0==29) ) {
582 alt2=1;
583 }
584
585
586 switch (alt2) {
587 case 1 :
588 // InternalVampireLanguage.g:244:5: otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) )
589 {
590 otherlv_4=(Token)match(input,29,FOLLOW_6);
591
592 newLeafNode(otherlv_4, grammarAccess.getVLSIncludeAccess().getCommaKeyword_2_2_0());
593
594 // InternalVampireLanguage.g:248:5: ( (lv_names_5_0= ruleVLSName ) )
595 // InternalVampireLanguage.g:249:6: (lv_names_5_0= ruleVLSName )
596 {
597 // InternalVampireLanguage.g:249:6: (lv_names_5_0= ruleVLSName )
598 // InternalVampireLanguage.g:250:7: lv_names_5_0= ruleVLSName
599 {
600
601 newCompositeNode(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_2_1_0());
602
603 pushFollow(FOLLOW_7);
604 lv_names_5_0=ruleVLSName();
605
606 state._fsp--;
607
608 463
609 if (current==null) { 464 newLeafNode(lv_comment_0_0, grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_0());
610 current = createModelElementForParent(grammarAccess.getVLSIncludeRule()); 465
611 }
612 add(
613 current,
614 "names",
615 lv_names_5_0,
616 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
617 afterParserOrEnumRuleCall();
618
619
620 }
621
622
623 }
624
625
626 }
627 break;
628
629 default :
630 break loop2;
631 }
632 } while (true);
633
634 otherlv_6=(Token)match(input,30,FOLLOW_2);
635
636 newLeafNode(otherlv_6, grammarAccess.getVLSIncludeAccess().getRightSquareBracketKeyword_2_3());
637
638 466
639 } 467 if (current==null) {
640 break; 468 current = createModelElement(grammarAccess.getVLSCommentRule());
469 }
470 setWithLastConsumed(
471 current,
472 "comment",
473 lv_comment_0_0,
474 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_COMMENT");
475
641 476
642 } 477 }
643 478
@@ -660,28 +495,28 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
660 } 495 }
661 return current; 496 return current;
662 } 497 }
663 // $ANTLR end "ruleVLSInclude" 498 // $ANTLR end "ruleVLSComment"
664 499
665 500
666 // $ANTLR start "entryRuleVLSName" 501 // $ANTLR start "entryRuleVLSConfirmations"
667 // InternalVampireLanguage.g:277:1: entryRuleVLSName returns [EObject current=null] : iv_ruleVLSName= ruleVLSName EOF ; 502 // InternalVampireLanguage.g:197:1: entryRuleVLSConfirmations returns [EObject current=null] : iv_ruleVLSConfirmations= ruleVLSConfirmations EOF ;
668 public final EObject entryRuleVLSName() throws RecognitionException { 503 public final EObject entryRuleVLSConfirmations() throws RecognitionException {
669 EObject current = null; 504 EObject current = null;
670 505
671 EObject iv_ruleVLSName = null; 506 EObject iv_ruleVLSConfirmations = null;
672 507
673 508
674 try { 509 try {
675 // InternalVampireLanguage.g:277:48: (iv_ruleVLSName= ruleVLSName EOF ) 510 // InternalVampireLanguage.g:197:57: (iv_ruleVLSConfirmations= ruleVLSConfirmations EOF )
676 // InternalVampireLanguage.g:278:2: iv_ruleVLSName= ruleVLSName EOF 511 // InternalVampireLanguage.g:198:2: iv_ruleVLSConfirmations= ruleVLSConfirmations EOF
677 { 512 {
678 newCompositeNode(grammarAccess.getVLSNameRule()); 513 newCompositeNode(grammarAccess.getVLSConfirmationsRule());
679 pushFollow(FOLLOW_1); 514 pushFollow(FOLLOW_1);
680 iv_ruleVLSName=ruleVLSName(); 515 iv_ruleVLSConfirmations=ruleVLSConfirmations();
681 516
682 state._fsp--; 517 state._fsp--;
683 518
684 current =iv_ruleVLSName; 519 current =iv_ruleVLSConfirmations;
685 match(input,EOF,FOLLOW_2); 520 match(input,EOF,FOLLOW_2);
686 521
687 } 522 }
@@ -696,341 +531,251 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
696 } 531 }
697 return current; 532 return current;
698 } 533 }
699 // $ANTLR end "entryRuleVLSName" 534 // $ANTLR end "entryRuleVLSConfirmations"
700 535
701 536
702 // $ANTLR start "ruleVLSName" 537 // $ANTLR start "ruleVLSConfirmations"
703 // InternalVampireLanguage.g:284: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 ) ) ) ; 538 // InternalVampireLanguage.g:204:1: ruleVLSConfirmations returns [EObject current=null] : ( ( () otherlv_1= 'Satisfiable!' ) | ( () otherlv_3= 'WARNING!' otherlv_4= 'Could' otherlv_5= 'not' otherlv_6= 'set' otherlv_7= 'resource' otherlv_8= 'limit:' otherlv_9= 'Virtual' otherlv_10= 'memory.' ) | ( () otherlv_12= 'TRYING' otherlv_13= '[' ( (lv_name_14_0= RULE_LITERAL ) ) otherlv_15= ']' ) | ( () otherlv_17= 'Finite' otherlv_18= 'Model' otherlv_19= 'Found!' ) ) ;
704 public final EObject ruleVLSName() throws RecognitionException { 539 public final EObject ruleVLSConfirmations() throws RecognitionException {
705 EObject current = null; 540 EObject current = null;
706 541
707 Token lv_name_0_1=null; 542 Token otherlv_1=null;
708 Token lv_name_0_2=null; 543 Token otherlv_3=null;
709 Token lv_name_0_3=null; 544 Token otherlv_4=null;
710 Token lv_name_0_4=null; 545 Token otherlv_5=null;
546 Token otherlv_6=null;
547 Token otherlv_7=null;
548 Token otherlv_8=null;
549 Token otherlv_9=null;
550 Token otherlv_10=null;
551 Token otherlv_12=null;
552 Token otherlv_13=null;
553 Token lv_name_14_0=null;
554 Token otherlv_15=null;
555 Token otherlv_17=null;
556 Token otherlv_18=null;
557 Token otherlv_19=null;
711 558
712 559
713 enterRule(); 560 enterRule();
714 561
715 try { 562 try {
716 // InternalVampireLanguage.g:290: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 ) ) ) ) 563 // InternalVampireLanguage.g:210:2: ( ( ( () otherlv_1= 'Satisfiable!' ) | ( () otherlv_3= 'WARNING!' otherlv_4= 'Could' otherlv_5= 'not' otherlv_6= 'set' otherlv_7= 'resource' otherlv_8= 'limit:' otherlv_9= 'Virtual' otherlv_10= 'memory.' ) | ( () otherlv_12= 'TRYING' otherlv_13= '[' ( (lv_name_14_0= RULE_LITERAL ) ) otherlv_15= ']' ) | ( () otherlv_17= 'Finite' otherlv_18= 'Model' otherlv_19= 'Found!' ) ) )
717 // InternalVampireLanguage.g:291: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 ) ) ) 564 // InternalVampireLanguage.g:211:2: ( ( () otherlv_1= 'Satisfiable!' ) | ( () otherlv_3= 'WARNING!' otherlv_4= 'Could' otherlv_5= 'not' otherlv_6= 'set' otherlv_7= 'resource' otherlv_8= 'limit:' otherlv_9= 'Virtual' otherlv_10= 'memory.' ) | ( () otherlv_12= 'TRYING' otherlv_13= '[' ( (lv_name_14_0= RULE_LITERAL ) ) otherlv_15= ']' ) | ( () otherlv_17= 'Finite' otherlv_18= 'Model' otherlv_19= 'Found!' ) )
718 { 565 {
719 // InternalVampireLanguage.g:291: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 ) ) ) 566 // InternalVampireLanguage.g:211:2: ( ( () otherlv_1= 'Satisfiable!' ) | ( () otherlv_3= 'WARNING!' otherlv_4= 'Could' otherlv_5= 'not' otherlv_6= 'set' otherlv_7= 'resource' otherlv_8= 'limit:' otherlv_9= 'Virtual' otherlv_10= 'memory.' ) | ( () otherlv_12= 'TRYING' otherlv_13= '[' ( (lv_name_14_0= RULE_LITERAL ) ) otherlv_15= ']' ) | ( () otherlv_17= 'Finite' otherlv_18= 'Model' otherlv_19= 'Found!' ) )
720 // InternalVampireLanguage.g:292: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 ) ) 567 int alt2=4;
721 {
722 // InternalVampireLanguage.g:292: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 ) )
723 // InternalVampireLanguage.g:293: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 )
724 {
725 // InternalVampireLanguage.g:293: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 )
726 int alt4=4;
727 switch ( input.LA(1) ) { 568 switch ( input.LA(1) ) {
728 case RULE_LOWER_WORD_ID: 569 case 22:
729 { 570 {
730 alt4=1; 571 alt2=1;
731 } 572 }
732 break; 573 break;
733 case RULE_SINGLE_QUOTE: 574 case 23:
734 { 575 {
735 alt4=2; 576 alt2=2;
736 } 577 }
737 break; 578 break;
738 case RULE_LITERAL: 579 case 31:
739 { 580 {
740 alt4=3; 581 alt2=3;
741 } 582 }
742 break; 583 break;
743 case RULE_SIGNED_LITERAL: 584 case 34:
744 { 585 {
745 alt4=4; 586 alt2=4;
746 } 587 }
747 break; 588 break;
748 default: 589 default:
749 NoViableAltException nvae = 590 NoViableAltException nvae =
750 new NoViableAltException("", 4, 0, input); 591 new NoViableAltException("", 2, 0, input);
751 592
752 throw nvae; 593 throw nvae;
753 } 594 }
754 595
755 switch (alt4) { 596 switch (alt2) {
756 case 1 : 597 case 1 :
757 // InternalVampireLanguage.g:294:5: lv_name_0_1= RULE_LOWER_WORD_ID 598 // InternalVampireLanguage.g:212:3: ( () otherlv_1= 'Satisfiable!' )
599 {
600 // InternalVampireLanguage.g:212:3: ( () otherlv_1= 'Satisfiable!' )
601 // InternalVampireLanguage.g:213:4: () otherlv_1= 'Satisfiable!'
602 {
603 // InternalVampireLanguage.g:213:4: ()
604 // InternalVampireLanguage.g:214:5:
758 { 605 {
759 lv_name_0_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
760
761 newLeafNode(lv_name_0_1, grammarAccess.getVLSNameAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_0());
762
763 606
764 if (current==null) { 607 current = forceCreateModelElement(
765 current = createModelElement(grammarAccess.getVLSNameRule()); 608 grammarAccess.getVLSConfirmationsAccess().getVLSSatisfiableAction_0_0(),
766 } 609 current);
767 setWithLastConsumed(
768 current,
769 "name",
770 lv_name_0_1,
771 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
772 610
773 611
774 } 612 }
775 break;
776 case 2 :
777 // InternalVampireLanguage.g:309:5: lv_name_0_2= RULE_SINGLE_QUOTE
778 {
779 lv_name_0_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
780 613
781 newLeafNode(lv_name_0_2, grammarAccess.getVLSNameAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1()); 614 otherlv_1=(Token)match(input,22,FOLLOW_2);
782
783 615
784 if (current==null) { 616 newLeafNode(otherlv_1, grammarAccess.getVLSConfirmationsAccess().getSatisfiableKeyword_0_1());
785 current = createModelElement(grammarAccess.getVLSNameRule()); 617
786 }
787 setWithLastConsumed(
788 current,
789 "name",
790 lv_name_0_2,
791 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
792
793 618
794 } 619 }
795 break;
796 case 3 :
797 // InternalVampireLanguage.g:324:5: lv_name_0_3= RULE_LITERAL
798 {
799 lv_name_0_3=(Token)match(input,RULE_LITERAL,FOLLOW_2);
800
801 newLeafNode(lv_name_0_3, grammarAccess.getVLSNameAccess().getNameLITERALTerminalRuleCall_0_2());
802
803 620
804 if (current==null) {
805 current = createModelElement(grammarAccess.getVLSNameRule());
806 }
807 setWithLastConsumed(
808 current,
809 "name",
810 lv_name_0_3,
811 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LITERAL");
812
813 621
814 } 622 }
815 break; 623 break;
816 case 4 : 624 case 2 :
817 // InternalVampireLanguage.g:339:5: lv_name_0_4= RULE_SIGNED_LITERAL 625 // InternalVampireLanguage.g:226:3: ( () otherlv_3= 'WARNING!' otherlv_4= 'Could' otherlv_5= 'not' otherlv_6= 'set' otherlv_7= 'resource' otherlv_8= 'limit:' otherlv_9= 'Virtual' otherlv_10= 'memory.' )
626 {
627 // InternalVampireLanguage.g:226:3: ( () otherlv_3= 'WARNING!' otherlv_4= 'Could' otherlv_5= 'not' otherlv_6= 'set' otherlv_7= 'resource' otherlv_8= 'limit:' otherlv_9= 'Virtual' otherlv_10= 'memory.' )
628 // InternalVampireLanguage.g:227:4: () otherlv_3= 'WARNING!' otherlv_4= 'Could' otherlv_5= 'not' otherlv_6= 'set' otherlv_7= 'resource' otherlv_8= 'limit:' otherlv_9= 'Virtual' otherlv_10= 'memory.'
629 {
630 // InternalVampireLanguage.g:227:4: ()
631 // InternalVampireLanguage.g:228:5:
818 { 632 {
819 lv_name_0_4=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_2);
820
821 newLeafNode(lv_name_0_4, grammarAccess.getVLSNameAccess().getNameSIGNED_LITERALTerminalRuleCall_0_3());
822
823 633
824 if (current==null) { 634 current = forceCreateModelElement(
825 current = createModelElement(grammarAccess.getVLSNameRule()); 635 grammarAccess.getVLSConfirmationsAccess().getVLSWarningAction_1_0(),
826 } 636 current);
827 setWithLastConsumed(
828 current,
829 "name",
830 lv_name_0_4,
831 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
832 637
833 638
834 } 639 }
835 break;
836
837 }
838
839
840 }
841
842
843 }
844
845
846 }
847
848
849 leaveRule();
850
851 }
852
853 catch (RecognitionException re) {
854 recover(input,re);
855 appendSkippedTokens();
856 }
857 finally {
858 }
859 return current;
860 }
861 // $ANTLR end "ruleVLSName"
862
863
864 // $ANTLR start "entryRuleVLSComment"
865 // InternalVampireLanguage.g:359:1: entryRuleVLSComment returns [EObject current=null] : iv_ruleVLSComment= ruleVLSComment EOF ;
866 public final EObject entryRuleVLSComment() throws RecognitionException {
867 EObject current = null;
868 640
869 EObject iv_ruleVLSComment = null; 641 otherlv_3=(Token)match(input,23,FOLLOW_4);
870 642
643 newLeafNode(otherlv_3, grammarAccess.getVLSConfirmationsAccess().getWARNINGKeyword_1_1());
644
645 otherlv_4=(Token)match(input,24,FOLLOW_5);
871 646
872 try { 647 newLeafNode(otherlv_4, grammarAccess.getVLSConfirmationsAccess().getCouldKeyword_1_2());
873 // InternalVampireLanguage.g:359:51: (iv_ruleVLSComment= ruleVLSComment EOF ) 648
874 // InternalVampireLanguage.g:360:2: iv_ruleVLSComment= ruleVLSComment EOF 649 otherlv_5=(Token)match(input,25,FOLLOW_6);
875 {
876 newCompositeNode(grammarAccess.getVLSCommentRule());
877 pushFollow(FOLLOW_1);
878 iv_ruleVLSComment=ruleVLSComment();
879 650
880 state._fsp--; 651 newLeafNode(otherlv_5, grammarAccess.getVLSConfirmationsAccess().getNotKeyword_1_3());
652
653 otherlv_6=(Token)match(input,26,FOLLOW_7);
881 654
882 current =iv_ruleVLSComment; 655 newLeafNode(otherlv_6, grammarAccess.getVLSConfirmationsAccess().getSetKeyword_1_4());
883 match(input,EOF,FOLLOW_2); 656
657 otherlv_7=(Token)match(input,27,FOLLOW_8);
884 658
885 } 659 newLeafNode(otherlv_7, grammarAccess.getVLSConfirmationsAccess().getResourceKeyword_1_5());
660
661 otherlv_8=(Token)match(input,28,FOLLOW_9);
886 662
887 } 663 newLeafNode(otherlv_8, grammarAccess.getVLSConfirmationsAccess().getLimitKeyword_1_6());
664
665 otherlv_9=(Token)match(input,29,FOLLOW_10);
888 666
889 catch (RecognitionException re) { 667 newLeafNode(otherlv_9, grammarAccess.getVLSConfirmationsAccess().getVirtualKeyword_1_7());
890 recover(input,re); 668
891 appendSkippedTokens(); 669 otherlv_10=(Token)match(input,30,FOLLOW_2);
892 }
893 finally {
894 }
895 return current;
896 }
897 // $ANTLR end "entryRuleVLSComment"
898 670
671 newLeafNode(otherlv_10, grammarAccess.getVLSConfirmationsAccess().getMemoryKeyword_1_8());
672
899 673
900 // $ANTLR start "ruleVLSComment" 674 }
901 // InternalVampireLanguage.g:366:1: ruleVLSComment returns [EObject current=null] : (otherlv_0= '%' ( (lv_comment_1_0= RULE_SINGLE_COMMENT ) ) ) ;
902 public final EObject ruleVLSComment() throws RecognitionException {
903 EObject current = null;
904 675
905 Token otherlv_0=null;
906 Token lv_comment_1_0=null;
907 676
677 }
678 break;
679 case 3 :
680 // InternalVampireLanguage.g:268:3: ( () otherlv_12= 'TRYING' otherlv_13= '[' ( (lv_name_14_0= RULE_LITERAL ) ) otherlv_15= ']' )
681 {
682 // InternalVampireLanguage.g:268:3: ( () otherlv_12= 'TRYING' otherlv_13= '[' ( (lv_name_14_0= RULE_LITERAL ) ) otherlv_15= ']' )
683 // InternalVampireLanguage.g:269:4: () otherlv_12= 'TRYING' otherlv_13= '[' ( (lv_name_14_0= RULE_LITERAL ) ) otherlv_15= ']'
684 {
685 // InternalVampireLanguage.g:269:4: ()
686 // InternalVampireLanguage.g:270:5:
687 {
908 688
909 enterRule(); 689 current = forceCreateModelElement(
690 grammarAccess.getVLSConfirmationsAccess().getVLSTryingAction_2_0(),
691 current);
692
910 693
911 try { 694 }
912 // InternalVampireLanguage.g:372:2: ( (otherlv_0= '%' ( (lv_comment_1_0= RULE_SINGLE_COMMENT ) ) ) )
913 // InternalVampireLanguage.g:373:2: (otherlv_0= '%' ( (lv_comment_1_0= RULE_SINGLE_COMMENT ) ) )
914 {
915 // InternalVampireLanguage.g:373:2: (otherlv_0= '%' ( (lv_comment_1_0= RULE_SINGLE_COMMENT ) ) )
916 // InternalVampireLanguage.g:374:3: otherlv_0= '%' ( (lv_comment_1_0= RULE_SINGLE_COMMENT ) )
917 {
918 otherlv_0=(Token)match(input,31,FOLLOW_8);
919 695
920 newLeafNode(otherlv_0, grammarAccess.getVLSCommentAccess().getPercentSignKeyword_0()); 696 otherlv_12=(Token)match(input,31,FOLLOW_11);
921
922 // InternalVampireLanguage.g:378:3: ( (lv_comment_1_0= RULE_SINGLE_COMMENT ) )
923 // InternalVampireLanguage.g:379:4: (lv_comment_1_0= RULE_SINGLE_COMMENT )
924 {
925 // InternalVampireLanguage.g:379:4: (lv_comment_1_0= RULE_SINGLE_COMMENT )
926 // InternalVampireLanguage.g:380:5: lv_comment_1_0= RULE_SINGLE_COMMENT
927 {
928 lv_comment_1_0=(Token)match(input,RULE_SINGLE_COMMENT,FOLLOW_2);
929 697
930 newLeafNode(lv_comment_1_0, grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_1_0()); 698 newLeafNode(otherlv_12, grammarAccess.getVLSConfirmationsAccess().getTRYINGKeyword_2_1());
931 699
932 700 otherlv_13=(Token)match(input,32,FOLLOW_12);
933 if (current==null) {
934 current = createModelElement(grammarAccess.getVLSCommentRule());
935 }
936 setWithLastConsumed(
937 current,
938 "comment",
939 lv_comment_1_0,
940 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_COMMENT");
941
942 701
943 } 702 newLeafNode(otherlv_13, grammarAccess.getVLSConfirmationsAccess().getLeftSquareBracketKeyword_2_2());
703
704 // InternalVampireLanguage.g:284:4: ( (lv_name_14_0= RULE_LITERAL ) )
705 // InternalVampireLanguage.g:285:5: (lv_name_14_0= RULE_LITERAL )
706 {
707 // InternalVampireLanguage.g:285:5: (lv_name_14_0= RULE_LITERAL )
708 // InternalVampireLanguage.g:286:6: lv_name_14_0= RULE_LITERAL
709 {
710 lv_name_14_0=(Token)match(input,RULE_LITERAL,FOLLOW_13);
944 711
712 newLeafNode(lv_name_14_0, grammarAccess.getVLSConfirmationsAccess().getNameLITERALTerminalRuleCall_2_3_0());
713
945 714
946 } 715 if (current==null) {
716 current = createModelElement(grammarAccess.getVLSConfirmationsRule());
717 }
718 setWithLastConsumed(
719 current,
720 "name",
721 lv_name_14_0,
722 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LITERAL");
723
947 724
725 }
948 726
949 }
950 727
728 }
951 729
952 } 730 otherlv_15=(Token)match(input,33,FOLLOW_2);
953 731
732 newLeafNode(otherlv_15, grammarAccess.getVLSConfirmationsAccess().getRightSquareBracketKeyword_2_4());
733
954 734
955 leaveRule(); 735 }
956 736
957 }
958 737
959 catch (RecognitionException re) { 738 }
960 recover(input,re); 739 break;
961 appendSkippedTokens(); 740 case 4 :
962 } 741 // InternalVampireLanguage.g:308:3: ( () otherlv_17= 'Finite' otherlv_18= 'Model' otherlv_19= 'Found!' )
963 finally { 742 {
964 } 743 // InternalVampireLanguage.g:308:3: ( () otherlv_17= 'Finite' otherlv_18= 'Model' otherlv_19= 'Found!' )
965 return current; 744 // InternalVampireLanguage.g:309:4: () otherlv_17= 'Finite' otherlv_18= 'Model' otherlv_19= 'Found!'
966 } 745 {
967 // $ANTLR end "ruleVLSComment" 746 // InternalVampireLanguage.g:309:4: ()
747 // InternalVampireLanguage.g:310:5:
748 {
968 749
750 current = forceCreateModelElement(
751 grammarAccess.getVLSConfirmationsAccess().getVLSFiniteModelAction_3_0(),
752 current);
753
969 754
970 // $ANTLR start "entryRuleVLSConfirmations" 755 }
971 // InternalVampireLanguage.g:400:1: entryRuleVLSConfirmations returns [EObject current=null] : iv_ruleVLSConfirmations= ruleVLSConfirmations EOF ;
972 public final EObject entryRuleVLSConfirmations() throws RecognitionException {
973 EObject current = null;
974 756
975 EObject iv_ruleVLSConfirmations = null; 757 otherlv_17=(Token)match(input,34,FOLLOW_14);
976 758
759 newLeafNode(otherlv_17, grammarAccess.getVLSConfirmationsAccess().getFiniteKeyword_3_1());
760
761 otherlv_18=(Token)match(input,35,FOLLOW_15);
977 762
978 try { 763 newLeafNode(otherlv_18, grammarAccess.getVLSConfirmationsAccess().getModelKeyword_3_2());
979 // InternalVampireLanguage.g:400:57: (iv_ruleVLSConfirmations= ruleVLSConfirmations EOF ) 764
980 // InternalVampireLanguage.g:401:2: iv_ruleVLSConfirmations= ruleVLSConfirmations EOF 765 otherlv_19=(Token)match(input,36,FOLLOW_2);
981 {
982 newCompositeNode(grammarAccess.getVLSConfirmationsRule());
983 pushFollow(FOLLOW_1);
984 iv_ruleVLSConfirmations=ruleVLSConfirmations();
985 766
986 state._fsp--; 767 newLeafNode(otherlv_19, grammarAccess.getVLSConfirmationsAccess().getFoundKeyword_3_3());
768
987 769
988 current =iv_ruleVLSConfirmations; 770 }
989 match(input,EOF,FOLLOW_2);
990 771
991 }
992 772
993 } 773 }
774 break;
994 775
995 catch (RecognitionException re) {
996 recover(input,re);
997 appendSkippedTokens();
998 } 776 }
999 finally {
1000 }
1001 return current;
1002 }
1003 // $ANTLR end "entryRuleVLSConfirmations"
1004
1005
1006 // $ANTLR start "ruleVLSConfirmations"
1007 // InternalVampireLanguage.g:407:1: ruleVLSConfirmations returns [EObject current=null] : this_VLSSatisfiable_0= ruleVLSSatisfiable ;
1008 public final EObject ruleVLSConfirmations() throws RecognitionException {
1009 EObject current = null;
1010
1011 EObject this_VLSSatisfiable_0 = null;
1012
1013
1014
1015 enterRule();
1016
1017 try {
1018 // InternalVampireLanguage.g:413:2: (this_VLSSatisfiable_0= ruleVLSSatisfiable )
1019 // InternalVampireLanguage.g:414:2: this_VLSSatisfiable_0= ruleVLSSatisfiable
1020 {
1021
1022 newCompositeNode(grammarAccess.getVLSConfirmationsAccess().getVLSSatisfiableParserRuleCall());
1023
1024 pushFollow(FOLLOW_2);
1025 this_VLSSatisfiable_0=ruleVLSSatisfiable();
1026
1027 state._fsp--;
1028 777
1029 778
1030 current = this_VLSSatisfiable_0;
1031 afterParserOrEnumRuleCall();
1032
1033
1034 } 779 }
1035 780
1036 781
@@ -1049,98 +794,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1049 // $ANTLR end "ruleVLSConfirmations" 794 // $ANTLR end "ruleVLSConfirmations"
1050 795
1051 796
1052 // $ANTLR start "entryRuleVLSSatisfiable"
1053 // InternalVampireLanguage.g:425:1: entryRuleVLSSatisfiable returns [EObject current=null] : iv_ruleVLSSatisfiable= ruleVLSSatisfiable EOF ;
1054 public final EObject entryRuleVLSSatisfiable() throws RecognitionException {
1055 EObject current = null;
1056
1057 EObject iv_ruleVLSSatisfiable = null;
1058
1059
1060 try {
1061 // InternalVampireLanguage.g:425:55: (iv_ruleVLSSatisfiable= ruleVLSSatisfiable EOF )
1062 // InternalVampireLanguage.g:426:2: iv_ruleVLSSatisfiable= ruleVLSSatisfiable EOF
1063 {
1064 newCompositeNode(grammarAccess.getVLSSatisfiableRule());
1065 pushFollow(FOLLOW_1);
1066 iv_ruleVLSSatisfiable=ruleVLSSatisfiable();
1067
1068 state._fsp--;
1069
1070 current =iv_ruleVLSSatisfiable;
1071 match(input,EOF,FOLLOW_2);
1072
1073 }
1074
1075 }
1076
1077 catch (RecognitionException re) {
1078 recover(input,re);
1079 appendSkippedTokens();
1080 }
1081 finally {
1082 }
1083 return current;
1084 }
1085 // $ANTLR end "entryRuleVLSSatisfiable"
1086
1087
1088 // $ANTLR start "ruleVLSSatisfiable"
1089 // InternalVampireLanguage.g:432:1: ruleVLSSatisfiable returns [EObject current=null] : ( () otherlv_1= 'Satisfiable!' ) ;
1090 public final EObject ruleVLSSatisfiable() throws RecognitionException {
1091 EObject current = null;
1092
1093 Token otherlv_1=null;
1094
1095
1096 enterRule();
1097
1098 try {
1099 // InternalVampireLanguage.g:438:2: ( ( () otherlv_1= 'Satisfiable!' ) )
1100 // InternalVampireLanguage.g:439:2: ( () otherlv_1= 'Satisfiable!' )
1101 {
1102 // InternalVampireLanguage.g:439:2: ( () otherlv_1= 'Satisfiable!' )
1103 // InternalVampireLanguage.g:440:3: () otherlv_1= 'Satisfiable!'
1104 {
1105 // InternalVampireLanguage.g:440:3: ()
1106 // InternalVampireLanguage.g:441:4:
1107 {
1108
1109 current = forceCreateModelElement(
1110 grammarAccess.getVLSSatisfiableAccess().getVLSSatisfiableAction_0(),
1111 current);
1112
1113
1114 }
1115
1116 otherlv_1=(Token)match(input,32,FOLLOW_2);
1117
1118 newLeafNode(otherlv_1, grammarAccess.getVLSSatisfiableAccess().getSatisfiableKeyword_1());
1119
1120
1121 }
1122
1123
1124 }
1125
1126
1127 leaveRule();
1128
1129 }
1130
1131 catch (RecognitionException re) {
1132 recover(input,re);
1133 appendSkippedTokens();
1134 }
1135 finally {
1136 }
1137 return current;
1138 }
1139 // $ANTLR end "ruleVLSSatisfiable"
1140
1141
1142 // $ANTLR start "entryRuleVLSFofFormula" 797 // $ANTLR start "entryRuleVLSFofFormula"
1143 // InternalVampireLanguage.g:455:1: entryRuleVLSFofFormula returns [EObject current=null] : iv_ruleVLSFofFormula= ruleVLSFofFormula EOF ; 798 // InternalVampireLanguage.g:333:1: entryRuleVLSFofFormula returns [EObject current=null] : iv_ruleVLSFofFormula= ruleVLSFofFormula EOF ;
1144 public final EObject entryRuleVLSFofFormula() throws RecognitionException { 799 public final EObject entryRuleVLSFofFormula() throws RecognitionException {
1145 EObject current = null; 800 EObject current = null;
1146 801
@@ -1148,8 +803,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1148 803
1149 804
1150 try { 805 try {
1151 // InternalVampireLanguage.g:455:54: (iv_ruleVLSFofFormula= ruleVLSFofFormula EOF ) 806 // InternalVampireLanguage.g:333:54: (iv_ruleVLSFofFormula= ruleVLSFofFormula EOF )
1152 // InternalVampireLanguage.g:456:2: iv_ruleVLSFofFormula= ruleVLSFofFormula EOF 807 // InternalVampireLanguage.g:334:2: iv_ruleVLSFofFormula= ruleVLSFofFormula EOF
1153 { 808 {
1154 newCompositeNode(grammarAccess.getVLSFofFormulaRule()); 809 newCompositeNode(grammarAccess.getVLSFofFormulaRule());
1155 pushFollow(FOLLOW_1); 810 pushFollow(FOLLOW_1);
@@ -1176,7 +831,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1176 831
1177 832
1178 // $ANTLR start "ruleVLSFofFormula" 833 // $ANTLR start "ruleVLSFofFormula"
1179 // InternalVampireLanguage.g:462: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= '.' ) ; 834 // InternalVampireLanguage.g:340: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= '.' ) ;
1180 public final EObject ruleVLSFofFormula() throws RecognitionException { 835 public final EObject ruleVLSFofFormula() throws RecognitionException {
1181 EObject current = null; 836 EObject current = null;
1182 837
@@ -1201,56 +856,56 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1201 enterRule(); 856 enterRule();
1202 857
1203 try { 858 try {
1204 // InternalVampireLanguage.g:468: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= '.' ) ) 859 // InternalVampireLanguage.g:346: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= '.' ) )
1205 // InternalVampireLanguage.g:469: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= '.' ) 860 // InternalVampireLanguage.g:347: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= '.' )
1206 { 861 {
1207 // InternalVampireLanguage.g:469: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= '.' ) 862 // InternalVampireLanguage.g:347: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= '.' )
1208 // InternalVampireLanguage.g:470: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= '.' 863 // InternalVampireLanguage.g:348: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= '.'
1209 { 864 {
1210 otherlv_0=(Token)match(input,33,FOLLOW_9); 865 otherlv_0=(Token)match(input,37,FOLLOW_16);
1211 866
1212 newLeafNode(otherlv_0, grammarAccess.getVLSFofFormulaAccess().getFofKeyword_0()); 867 newLeafNode(otherlv_0, grammarAccess.getVLSFofFormulaAccess().getFofKeyword_0());
1213 868
1214 otherlv_1=(Token)match(input,34,FOLLOW_10); 869 otherlv_1=(Token)match(input,38,FOLLOW_17);
1215 870
1216 newLeafNode(otherlv_1, grammarAccess.getVLSFofFormulaAccess().getLeftParenthesisKeyword_1()); 871 newLeafNode(otherlv_1, grammarAccess.getVLSFofFormulaAccess().getLeftParenthesisKeyword_1());
1217 872
1218 // InternalVampireLanguage.g:478:3: ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) 873 // InternalVampireLanguage.g:356:3: ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) )
1219 // InternalVampireLanguage.g:479:4: ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) 874 // InternalVampireLanguage.g:357:4: ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) )
1220 { 875 {
1221 // InternalVampireLanguage.g:479:4: ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) 876 // InternalVampireLanguage.g:357:4: ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) )
1222 // InternalVampireLanguage.g:480:5: (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) 877 // InternalVampireLanguage.g:358:5: (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE )
1223 { 878 {
1224 // InternalVampireLanguage.g:480:5: (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) 879 // InternalVampireLanguage.g:358:5: (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE )
1225 int alt5=3; 880 int alt3=3;
1226 switch ( input.LA(1) ) { 881 switch ( input.LA(1) ) {
1227 case RULE_LOWER_WORD_ID: 882 case RULE_LOWER_WORD_ID:
1228 { 883 {
1229 alt5=1; 884 alt3=1;
1230 } 885 }
1231 break; 886 break;
1232 case RULE_SIGNED_LITERAL: 887 case RULE_SIGNED_LITERAL:
1233 { 888 {
1234 alt5=2; 889 alt3=2;
1235 } 890 }
1236 break; 891 break;
1237 case RULE_SINGLE_QUOTE: 892 case RULE_SINGLE_QUOTE:
1238 { 893 {
1239 alt5=3; 894 alt3=3;
1240 } 895 }
1241 break; 896 break;
1242 default: 897 default:
1243 NoViableAltException nvae = 898 NoViableAltException nvae =
1244 new NoViableAltException("", 5, 0, input); 899 new NoViableAltException("", 3, 0, input);
1245 900
1246 throw nvae; 901 throw nvae;
1247 } 902 }
1248 903
1249 switch (alt5) { 904 switch (alt3) {
1250 case 1 : 905 case 1 :
1251 // InternalVampireLanguage.g:481:6: lv_name_2_1= RULE_LOWER_WORD_ID 906 // InternalVampireLanguage.g:359:6: lv_name_2_1= RULE_LOWER_WORD_ID
1252 { 907 {
1253 lv_name_2_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_11); 908 lv_name_2_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_18);
1254 909
1255 newLeafNode(lv_name_2_1, grammarAccess.getVLSFofFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0()); 910 newLeafNode(lv_name_2_1, grammarAccess.getVLSFofFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0());
1256 911
@@ -1268,9 +923,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1268 } 923 }
1269 break; 924 break;
1270 case 2 : 925 case 2 :
1271 // InternalVampireLanguage.g:496:6: lv_name_2_2= RULE_SIGNED_LITERAL 926 // InternalVampireLanguage.g:374:6: lv_name_2_2= RULE_SIGNED_LITERAL
1272 { 927 {
1273 lv_name_2_2=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_11); 928 lv_name_2_2=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_18);
1274 929
1275 newLeafNode(lv_name_2_2, grammarAccess.getVLSFofFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1()); 930 newLeafNode(lv_name_2_2, grammarAccess.getVLSFofFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1());
1276 931
@@ -1288,9 +943,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1288 } 943 }
1289 break; 944 break;
1290 case 3 : 945 case 3 :
1291 // InternalVampireLanguage.g:511:6: lv_name_2_3= RULE_SINGLE_QUOTE 946 // InternalVampireLanguage.g:389:6: lv_name_2_3= RULE_SINGLE_QUOTE
1292 { 947 {
1293 lv_name_2_3=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_11); 948 lv_name_2_3=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_18);
1294 949
1295 newLeafNode(lv_name_2_3, grammarAccess.getVLSFofFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2()); 950 newLeafNode(lv_name_2_3, grammarAccess.getVLSFofFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2());
1296 951
@@ -1316,20 +971,20 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1316 971
1317 } 972 }
1318 973
1319 otherlv_3=(Token)match(input,29,FOLLOW_12); 974 otherlv_3=(Token)match(input,39,FOLLOW_19);
1320 975
1321 newLeafNode(otherlv_3, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_3()); 976 newLeafNode(otherlv_3, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_3());
1322 977
1323 // InternalVampireLanguage.g:532:3: ( (lv_fofRole_4_0= ruleVLSRole ) ) 978 // InternalVampireLanguage.g:410:3: ( (lv_fofRole_4_0= ruleVLSRole ) )
1324 // InternalVampireLanguage.g:533:4: (lv_fofRole_4_0= ruleVLSRole ) 979 // InternalVampireLanguage.g:411:4: (lv_fofRole_4_0= ruleVLSRole )
1325 { 980 {
1326 // InternalVampireLanguage.g:533:4: (lv_fofRole_4_0= ruleVLSRole ) 981 // InternalVampireLanguage.g:411:4: (lv_fofRole_4_0= ruleVLSRole )
1327 // InternalVampireLanguage.g:534:5: lv_fofRole_4_0= ruleVLSRole 982 // InternalVampireLanguage.g:412:5: lv_fofRole_4_0= ruleVLSRole
1328 { 983 {
1329 984
1330 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0()); 985 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0());
1331 986
1332 pushFollow(FOLLOW_11); 987 pushFollow(FOLLOW_18);
1333 lv_fofRole_4_0=ruleVLSRole(); 988 lv_fofRole_4_0=ruleVLSRole();
1334 989
1335 state._fsp--; 990 state._fsp--;
@@ -1351,20 +1006,20 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1351 1006
1352 } 1007 }
1353 1008
1354 otherlv_5=(Token)match(input,29,FOLLOW_13); 1009 otherlv_5=(Token)match(input,39,FOLLOW_20);
1355 1010
1356 newLeafNode(otherlv_5, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_5()); 1011 newLeafNode(otherlv_5, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_5());
1357 1012
1358 // InternalVampireLanguage.g:555:3: ( (lv_fofFormula_6_0= ruleVLSTerm ) ) 1013 // InternalVampireLanguage.g:433:3: ( (lv_fofFormula_6_0= ruleVLSTerm ) )
1359 // InternalVampireLanguage.g:556:4: (lv_fofFormula_6_0= ruleVLSTerm ) 1014 // InternalVampireLanguage.g:434:4: (lv_fofFormula_6_0= ruleVLSTerm )
1360 { 1015 {
1361 // InternalVampireLanguage.g:556:4: (lv_fofFormula_6_0= ruleVLSTerm ) 1016 // InternalVampireLanguage.g:434:4: (lv_fofFormula_6_0= ruleVLSTerm )
1362 // InternalVampireLanguage.g:557:5: lv_fofFormula_6_0= ruleVLSTerm 1017 // InternalVampireLanguage.g:435:5: lv_fofFormula_6_0= ruleVLSTerm
1363 { 1018 {
1364 1019
1365 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0()); 1020 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0());
1366 1021
1367 pushFollow(FOLLOW_14); 1022 pushFollow(FOLLOW_21);
1368 lv_fofFormula_6_0=ruleVLSTerm(); 1023 lv_fofFormula_6_0=ruleVLSTerm();
1369 1024
1370 state._fsp--; 1025 state._fsp--;
@@ -1386,31 +1041,31 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1386 1041
1387 } 1042 }
1388 1043
1389 // InternalVampireLanguage.g:574:3: (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? 1044 // InternalVampireLanguage.g:452:3: (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )?
1390 int alt6=2; 1045 int alt4=2;
1391 int LA6_0 = input.LA(1); 1046 int LA4_0 = input.LA(1);
1392 1047
1393 if ( (LA6_0==29) ) { 1048 if ( (LA4_0==39) ) {
1394 alt6=1; 1049 alt4=1;
1395 } 1050 }
1396 switch (alt6) { 1051 switch (alt4) {
1397 case 1 : 1052 case 1 :
1398 // InternalVampireLanguage.g:575:4: otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) 1053 // InternalVampireLanguage.g:453:4: otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) )
1399 { 1054 {
1400 otherlv_7=(Token)match(input,29,FOLLOW_15); 1055 otherlv_7=(Token)match(input,39,FOLLOW_22);
1401 1056
1402 newLeafNode(otherlv_7, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_7_0()); 1057 newLeafNode(otherlv_7, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_7_0());
1403 1058
1404 // InternalVampireLanguage.g:579:4: ( (lv_annotations_8_0= ruleVLSAnnotation ) ) 1059 // InternalVampireLanguage.g:457:4: ( (lv_annotations_8_0= ruleVLSAnnotation ) )
1405 // InternalVampireLanguage.g:580:5: (lv_annotations_8_0= ruleVLSAnnotation ) 1060 // InternalVampireLanguage.g:458:5: (lv_annotations_8_0= ruleVLSAnnotation )
1406 { 1061 {
1407 // InternalVampireLanguage.g:580:5: (lv_annotations_8_0= ruleVLSAnnotation ) 1062 // InternalVampireLanguage.g:458:5: (lv_annotations_8_0= ruleVLSAnnotation )
1408 // InternalVampireLanguage.g:581:6: lv_annotations_8_0= ruleVLSAnnotation 1063 // InternalVampireLanguage.g:459:6: lv_annotations_8_0= ruleVLSAnnotation
1409 { 1064 {
1410 1065
1411 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0()); 1066 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0());
1412 1067
1413 pushFollow(FOLLOW_16); 1068 pushFollow(FOLLOW_23);
1414 lv_annotations_8_0=ruleVLSAnnotation(); 1069 lv_annotations_8_0=ruleVLSAnnotation();
1415 1070
1416 state._fsp--; 1071 state._fsp--;
@@ -1438,11 +1093,11 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1438 1093
1439 } 1094 }
1440 1095
1441 otherlv_9=(Token)match(input,35,FOLLOW_17); 1096 otherlv_9=(Token)match(input,40,FOLLOW_24);
1442 1097
1443 newLeafNode(otherlv_9, grammarAccess.getVLSFofFormulaAccess().getRightParenthesisKeyword_8()); 1098 newLeafNode(otherlv_9, grammarAccess.getVLSFofFormulaAccess().getRightParenthesisKeyword_8());
1444 1099
1445 otherlv_10=(Token)match(input,36,FOLLOW_2); 1100 otherlv_10=(Token)match(input,41,FOLLOW_2);
1446 1101
1447 newLeafNode(otherlv_10, grammarAccess.getVLSFofFormulaAccess().getFullStopKeyword_9()); 1102 newLeafNode(otherlv_10, grammarAccess.getVLSFofFormulaAccess().getFullStopKeyword_9());
1448 1103
@@ -1469,7 +1124,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1469 1124
1470 1125
1471 // $ANTLR start "entryRuleVLSTffFormula" 1126 // $ANTLR start "entryRuleVLSTffFormula"
1472 // InternalVampireLanguage.g:611:1: entryRuleVLSTffFormula returns [EObject current=null] : iv_ruleVLSTffFormula= ruleVLSTffFormula EOF ; 1127 // InternalVampireLanguage.g:489:1: entryRuleVLSTffFormula returns [EObject current=null] : iv_ruleVLSTffFormula= ruleVLSTffFormula EOF ;
1473 public final EObject entryRuleVLSTffFormula() throws RecognitionException { 1128 public final EObject entryRuleVLSTffFormula() throws RecognitionException {
1474 EObject current = null; 1129 EObject current = null;
1475 1130
@@ -1477,8 +1132,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1477 1132
1478 1133
1479 try { 1134 try {
1480 // InternalVampireLanguage.g:611:54: (iv_ruleVLSTffFormula= ruleVLSTffFormula EOF ) 1135 // InternalVampireLanguage.g:489:54: (iv_ruleVLSTffFormula= ruleVLSTffFormula EOF )
1481 // InternalVampireLanguage.g:612:2: iv_ruleVLSTffFormula= ruleVLSTffFormula EOF 1136 // InternalVampireLanguage.g:490:2: iv_ruleVLSTffFormula= ruleVLSTffFormula EOF
1482 { 1137 {
1483 newCompositeNode(grammarAccess.getVLSTffFormulaRule()); 1138 newCompositeNode(grammarAccess.getVLSTffFormulaRule());
1484 pushFollow(FOLLOW_1); 1139 pushFollow(FOLLOW_1);
@@ -1505,21 +1160,20 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1505 1160
1506 1161
1507 // $ANTLR start "ruleVLSTffFormula" 1162 // $ANTLR start "ruleVLSTffFormula"
1508 // InternalVampireLanguage.g:618:1: ruleVLSTffFormula returns [EObject current=null] : (otherlv_0= 'tff' 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= '.' ) ; 1163 // InternalVampireLanguage.g:496:1: ruleVLSTffFormula returns [EObject current=null] : (otherlv_0= 'tff' otherlv_1= '(' ( (lv_name_2_0= ruleVLSTffName ) ) otherlv_3= ',' ( (lv_tffRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTffTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' ) ;
1509 public final EObject ruleVLSTffFormula() throws RecognitionException { 1164 public final EObject ruleVLSTffFormula() throws RecognitionException {
1510 EObject current = null; 1165 EObject current = null;
1511 1166
1512 Token otherlv_0=null; 1167 Token otherlv_0=null;
1513 Token otherlv_1=null; 1168 Token otherlv_1=null;
1514 Token lv_name_2_1=null;
1515 Token lv_name_2_2=null;
1516 Token lv_name_2_3=null;
1517 Token otherlv_3=null; 1169 Token otherlv_3=null;
1518 Token otherlv_5=null; 1170 Token otherlv_5=null;
1519 Token otherlv_7=null; 1171 Token otherlv_7=null;
1520 Token otherlv_9=null; 1172 Token otherlv_9=null;
1521 Token otherlv_10=null; 1173 Token otherlv_10=null;
1522 AntlrDatatypeRuleToken lv_fofRole_4_0 = null; 1174 AntlrDatatypeRuleToken lv_name_2_0 = null;
1175
1176 AntlrDatatypeRuleToken lv_tffRole_4_0 = null;
1523 1177
1524 EObject lv_fofFormula_6_0 = null; 1178 EObject lv_fofFormula_6_0 = null;
1525 1179
@@ -1530,136 +1184,66 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1530 enterRule(); 1184 enterRule();
1531 1185
1532 try { 1186 try {
1533 // InternalVampireLanguage.g:624:2: ( (otherlv_0= 'tff' 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= '.' ) ) 1187 // InternalVampireLanguage.g:502:2: ( (otherlv_0= 'tff' otherlv_1= '(' ( (lv_name_2_0= ruleVLSTffName ) ) otherlv_3= ',' ( (lv_tffRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTffTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' ) )
1534 // InternalVampireLanguage.g:625:2: (otherlv_0= 'tff' 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= '.' ) 1188 // InternalVampireLanguage.g:503:2: (otherlv_0= 'tff' otherlv_1= '(' ( (lv_name_2_0= ruleVLSTffName ) ) otherlv_3= ',' ( (lv_tffRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTffTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' )
1535 { 1189 {
1536 // InternalVampireLanguage.g:625:2: (otherlv_0= 'tff' 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= '.' ) 1190 // InternalVampireLanguage.g:503:2: (otherlv_0= 'tff' otherlv_1= '(' ( (lv_name_2_0= ruleVLSTffName ) ) otherlv_3= ',' ( (lv_tffRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTffTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' )
1537 // InternalVampireLanguage.g:626:3: otherlv_0= 'tff' 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= '.' 1191 // InternalVampireLanguage.g:504:3: otherlv_0= 'tff' otherlv_1= '(' ( (lv_name_2_0= ruleVLSTffName ) ) otherlv_3= ',' ( (lv_tffRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTffTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.'
1538 { 1192 {
1539 otherlv_0=(Token)match(input,37,FOLLOW_9); 1193 otherlv_0=(Token)match(input,42,FOLLOW_16);
1540 1194
1541 newLeafNode(otherlv_0, grammarAccess.getVLSTffFormulaAccess().getTffKeyword_0()); 1195 newLeafNode(otherlv_0, grammarAccess.getVLSTffFormulaAccess().getTffKeyword_0());
1542 1196
1543 otherlv_1=(Token)match(input,34,FOLLOW_10); 1197 otherlv_1=(Token)match(input,38,FOLLOW_25);
1544 1198
1545 newLeafNode(otherlv_1, grammarAccess.getVLSTffFormulaAccess().getLeftParenthesisKeyword_1()); 1199 newLeafNode(otherlv_1, grammarAccess.getVLSTffFormulaAccess().getLeftParenthesisKeyword_1());
1546 1200
1547 // InternalVampireLanguage.g:634:3: ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) 1201 // InternalVampireLanguage.g:512:3: ( (lv_name_2_0= ruleVLSTffName ) )
1548 // InternalVampireLanguage.g:635:4: ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) 1202 // InternalVampireLanguage.g:513:4: (lv_name_2_0= ruleVLSTffName )
1549 { 1203 {
1550 // InternalVampireLanguage.g:635:4: ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) 1204 // InternalVampireLanguage.g:513:4: (lv_name_2_0= ruleVLSTffName )
1551 // InternalVampireLanguage.g:636:5: (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) 1205 // InternalVampireLanguage.g:514:5: lv_name_2_0= ruleVLSTffName
1552 { 1206 {
1553 // InternalVampireLanguage.g:636:5: (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE )
1554 int alt7=3;
1555 switch ( input.LA(1) ) {
1556 case RULE_LOWER_WORD_ID:
1557 {
1558 alt7=1;
1559 }
1560 break;
1561 case RULE_SIGNED_LITERAL:
1562 {
1563 alt7=2;
1564 }
1565 break;
1566 case RULE_SINGLE_QUOTE:
1567 {
1568 alt7=3;
1569 }
1570 break;
1571 default:
1572 NoViableAltException nvae =
1573 new NoViableAltException("", 7, 0, input);
1574 1207
1575 throw nvae; 1208 newCompositeNode(grammarAccess.getVLSTffFormulaAccess().getNameVLSTffNameParserRuleCall_2_0());
1576 } 1209
1577 1210 pushFollow(FOLLOW_18);
1578 switch (alt7) { 1211 lv_name_2_0=ruleVLSTffName();
1579 case 1 :
1580 // InternalVampireLanguage.g:637:6: lv_name_2_1= RULE_LOWER_WORD_ID
1581 {
1582 lv_name_2_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_11);
1583
1584 newLeafNode(lv_name_2_1, grammarAccess.getVLSTffFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0());
1585
1586
1587 if (current==null) {
1588 current = createModelElement(grammarAccess.getVLSTffFormulaRule());
1589 }
1590 setWithLastConsumed(
1591 current,
1592 "name",
1593 lv_name_2_1,
1594 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
1595
1596
1597 }
1598 break;
1599 case 2 :
1600 // InternalVampireLanguage.g:652:6: lv_name_2_2= RULE_SIGNED_LITERAL
1601 {
1602 lv_name_2_2=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_11);
1603
1604 newLeafNode(lv_name_2_2, grammarAccess.getVLSTffFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1());
1605
1606
1607 if (current==null) {
1608 current = createModelElement(grammarAccess.getVLSTffFormulaRule());
1609 }
1610 setWithLastConsumed(
1611 current,
1612 "name",
1613 lv_name_2_2,
1614 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
1615
1616
1617 }
1618 break;
1619 case 3 :
1620 // InternalVampireLanguage.g:667:6: lv_name_2_3= RULE_SINGLE_QUOTE
1621 {
1622 lv_name_2_3=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_11);
1623
1624 newLeafNode(lv_name_2_3, grammarAccess.getVLSTffFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2());
1625
1626
1627 if (current==null) {
1628 current = createModelElement(grammarAccess.getVLSTffFormulaRule());
1629 }
1630 setWithLastConsumed(
1631 current,
1632 "name",
1633 lv_name_2_3,
1634 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
1635
1636 1212
1637 } 1213 state._fsp--;
1638 break;
1639 1214
1640 }
1641 1215
1216 if (current==null) {
1217 current = createModelElementForParent(grammarAccess.getVLSTffFormulaRule());
1218 }
1219 set(
1220 current,
1221 "name",
1222 lv_name_2_0,
1223 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTffName");
1224 afterParserOrEnumRuleCall();
1225
1642 1226
1643 } 1227 }
1644 1228
1645 1229
1646 } 1230 }
1647 1231
1648 otherlv_3=(Token)match(input,29,FOLLOW_12); 1232 otherlv_3=(Token)match(input,39,FOLLOW_19);
1649 1233
1650 newLeafNode(otherlv_3, grammarAccess.getVLSTffFormulaAccess().getCommaKeyword_3()); 1234 newLeafNode(otherlv_3, grammarAccess.getVLSTffFormulaAccess().getCommaKeyword_3());
1651 1235
1652 // InternalVampireLanguage.g:688:3: ( (lv_fofRole_4_0= ruleVLSRole ) ) 1236 // InternalVampireLanguage.g:535:3: ( (lv_tffRole_4_0= ruleVLSRole ) )
1653 // InternalVampireLanguage.g:689:4: (lv_fofRole_4_0= ruleVLSRole ) 1237 // InternalVampireLanguage.g:536:4: (lv_tffRole_4_0= ruleVLSRole )
1654 { 1238 {
1655 // InternalVampireLanguage.g:689:4: (lv_fofRole_4_0= ruleVLSRole ) 1239 // InternalVampireLanguage.g:536:4: (lv_tffRole_4_0= ruleVLSRole )
1656 // InternalVampireLanguage.g:690:5: lv_fofRole_4_0= ruleVLSRole 1240 // InternalVampireLanguage.g:537:5: lv_tffRole_4_0= ruleVLSRole
1657 { 1241 {
1658 1242
1659 newCompositeNode(grammarAccess.getVLSTffFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0()); 1243 newCompositeNode(grammarAccess.getVLSTffFormulaAccess().getTffRoleVLSRoleParserRuleCall_4_0());
1660 1244
1661 pushFollow(FOLLOW_11); 1245 pushFollow(FOLLOW_18);
1662 lv_fofRole_4_0=ruleVLSRole(); 1246 lv_tffRole_4_0=ruleVLSRole();
1663 1247
1664 state._fsp--; 1248 state._fsp--;
1665 1249
@@ -1669,8 +1253,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1669 } 1253 }
1670 set( 1254 set(
1671 current, 1255 current,
1672 "fofRole", 1256 "tffRole",
1673 lv_fofRole_4_0, 1257 lv_tffRole_4_0,
1674 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole"); 1258 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
1675 afterParserOrEnumRuleCall(); 1259 afterParserOrEnumRuleCall();
1676 1260
@@ -1680,21 +1264,21 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1680 1264
1681 } 1265 }
1682 1266
1683 otherlv_5=(Token)match(input,29,FOLLOW_13); 1267 otherlv_5=(Token)match(input,39,FOLLOW_20);
1684 1268
1685 newLeafNode(otherlv_5, grammarAccess.getVLSTffFormulaAccess().getCommaKeyword_5()); 1269 newLeafNode(otherlv_5, grammarAccess.getVLSTffFormulaAccess().getCommaKeyword_5());
1686 1270
1687 // InternalVampireLanguage.g:711:3: ( (lv_fofFormula_6_0= ruleVLSTerm ) ) 1271 // InternalVampireLanguage.g:558:3: ( (lv_fofFormula_6_0= ruleVLSTffTerm ) )
1688 // InternalVampireLanguage.g:712:4: (lv_fofFormula_6_0= ruleVLSTerm ) 1272 // InternalVampireLanguage.g:559:4: (lv_fofFormula_6_0= ruleVLSTffTerm )
1689 { 1273 {
1690 // InternalVampireLanguage.g:712:4: (lv_fofFormula_6_0= ruleVLSTerm ) 1274 // InternalVampireLanguage.g:559:4: (lv_fofFormula_6_0= ruleVLSTffTerm )
1691 // InternalVampireLanguage.g:713:5: lv_fofFormula_6_0= ruleVLSTerm 1275 // InternalVampireLanguage.g:560:5: lv_fofFormula_6_0= ruleVLSTffTerm
1692 { 1276 {
1693 1277
1694 newCompositeNode(grammarAccess.getVLSTffFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0()); 1278 newCompositeNode(grammarAccess.getVLSTffFormulaAccess().getFofFormulaVLSTffTermParserRuleCall_6_0());
1695 1279
1696 pushFollow(FOLLOW_14); 1280 pushFollow(FOLLOW_21);
1697 lv_fofFormula_6_0=ruleVLSTerm(); 1281 lv_fofFormula_6_0=ruleVLSTffTerm();
1698 1282
1699 state._fsp--; 1283 state._fsp--;
1700 1284
@@ -1706,7 +1290,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1706 current, 1290 current,
1707 "fofFormula", 1291 "fofFormula",
1708 lv_fofFormula_6_0, 1292 lv_fofFormula_6_0,
1709 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTerm"); 1293 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTffTerm");
1710 afterParserOrEnumRuleCall(); 1294 afterParserOrEnumRuleCall();
1711 1295
1712 1296
@@ -1715,31 +1299,31 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1715 1299
1716 } 1300 }
1717 1301
1718 // InternalVampireLanguage.g:730:3: (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? 1302 // InternalVampireLanguage.g:577:3: (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )?
1719 int alt8=2; 1303 int alt5=2;
1720 int LA8_0 = input.LA(1); 1304 int LA5_0 = input.LA(1);
1721 1305
1722 if ( (LA8_0==29) ) { 1306 if ( (LA5_0==39) ) {
1723 alt8=1; 1307 alt5=1;
1724 } 1308 }
1725 switch (alt8) { 1309 switch (alt5) {
1726 case 1 : 1310 case 1 :
1727 // InternalVampireLanguage.g:731:4: otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) 1311 // InternalVampireLanguage.g:578:4: otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) )
1728 { 1312 {
1729 otherlv_7=(Token)match(input,29,FOLLOW_15); 1313 otherlv_7=(Token)match(input,39,FOLLOW_22);
1730 1314
1731 newLeafNode(otherlv_7, grammarAccess.getVLSTffFormulaAccess().getCommaKeyword_7_0()); 1315 newLeafNode(otherlv_7, grammarAccess.getVLSTffFormulaAccess().getCommaKeyword_7_0());
1732 1316
1733 // InternalVampireLanguage.g:735:4: ( (lv_annotations_8_0= ruleVLSAnnotation ) ) 1317 // InternalVampireLanguage.g:582:4: ( (lv_annotations_8_0= ruleVLSAnnotation ) )
1734 // InternalVampireLanguage.g:736:5: (lv_annotations_8_0= ruleVLSAnnotation ) 1318 // InternalVampireLanguage.g:583:5: (lv_annotations_8_0= ruleVLSAnnotation )
1735 { 1319 {
1736 // InternalVampireLanguage.g:736:5: (lv_annotations_8_0= ruleVLSAnnotation ) 1320 // InternalVampireLanguage.g:583:5: (lv_annotations_8_0= ruleVLSAnnotation )
1737 // InternalVampireLanguage.g:737:6: lv_annotations_8_0= ruleVLSAnnotation 1321 // InternalVampireLanguage.g:584:6: lv_annotations_8_0= ruleVLSAnnotation
1738 { 1322 {
1739 1323
1740 newCompositeNode(grammarAccess.getVLSTffFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0()); 1324 newCompositeNode(grammarAccess.getVLSTffFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0());
1741 1325
1742 pushFollow(FOLLOW_16); 1326 pushFollow(FOLLOW_23);
1743 lv_annotations_8_0=ruleVLSAnnotation(); 1327 lv_annotations_8_0=ruleVLSAnnotation();
1744 1328
1745 state._fsp--; 1329 state._fsp--;
@@ -1767,11 +1351,11 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1767 1351
1768 } 1352 }
1769 1353
1770 otherlv_9=(Token)match(input,35,FOLLOW_17); 1354 otherlv_9=(Token)match(input,40,FOLLOW_24);
1771 1355
1772 newLeafNode(otherlv_9, grammarAccess.getVLSTffFormulaAccess().getRightParenthesisKeyword_8()); 1356 newLeafNode(otherlv_9, grammarAccess.getVLSTffFormulaAccess().getRightParenthesisKeyword_8());
1773 1357
1774 otherlv_10=(Token)match(input,36,FOLLOW_2); 1358 otherlv_10=(Token)match(input,41,FOLLOW_2);
1775 1359
1776 newLeafNode(otherlv_10, grammarAccess.getVLSTffFormulaAccess().getFullStopKeyword_9()); 1360 newLeafNode(otherlv_10, grammarAccess.getVLSTffFormulaAccess().getFullStopKeyword_9());
1777 1361
@@ -1797,8 +1381,448 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1797 // $ANTLR end "ruleVLSTffFormula" 1381 // $ANTLR end "ruleVLSTffFormula"
1798 1382
1799 1383
1384 // $ANTLR start "entryRuleVLSTffName"
1385 // InternalVampireLanguage.g:614:1: entryRuleVLSTffName returns [String current=null] : iv_ruleVLSTffName= ruleVLSTffName EOF ;
1386 public final String entryRuleVLSTffName() throws RecognitionException {
1387 String current = null;
1388
1389 AntlrDatatypeRuleToken iv_ruleVLSTffName = null;
1390
1391
1392 try {
1393 // InternalVampireLanguage.g:614:50: (iv_ruleVLSTffName= ruleVLSTffName EOF )
1394 // InternalVampireLanguage.g:615:2: iv_ruleVLSTffName= ruleVLSTffName EOF
1395 {
1396 newCompositeNode(grammarAccess.getVLSTffNameRule());
1397 pushFollow(FOLLOW_1);
1398 iv_ruleVLSTffName=ruleVLSTffName();
1399
1400 state._fsp--;
1401
1402 current =iv_ruleVLSTffName.getText();
1403 match(input,EOF,FOLLOW_2);
1404
1405 }
1406
1407 }
1408
1409 catch (RecognitionException re) {
1410 recover(input,re);
1411 appendSkippedTokens();
1412 }
1413 finally {
1414 }
1415 return current;
1416 }
1417 // $ANTLR end "entryRuleVLSTffName"
1418
1419
1420 // $ANTLR start "ruleVLSTffName"
1421 // InternalVampireLanguage.g:621:1: ruleVLSTffName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_VLSTffDeclPred_0= ruleVLSTffDeclPred | this_VLSTffFinite_1= ruleVLSTffFinite | this_VLSTffDistinct_2= ruleVLSTffDistinct ) ;
1422 public final AntlrDatatypeRuleToken ruleVLSTffName() throws RecognitionException {
1423 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1424
1425 AntlrDatatypeRuleToken this_VLSTffDeclPred_0 = null;
1426
1427 AntlrDatatypeRuleToken this_VLSTffFinite_1 = null;
1428
1429 AntlrDatatypeRuleToken this_VLSTffDistinct_2 = null;
1430
1431
1432
1433 enterRule();
1434
1435 try {
1436 // InternalVampireLanguage.g:627:2: ( (this_VLSTffDeclPred_0= ruleVLSTffDeclPred | this_VLSTffFinite_1= ruleVLSTffFinite | this_VLSTffDistinct_2= ruleVLSTffDistinct ) )
1437 // InternalVampireLanguage.g:628:2: (this_VLSTffDeclPred_0= ruleVLSTffDeclPred | this_VLSTffFinite_1= ruleVLSTffFinite | this_VLSTffDistinct_2= ruleVLSTffDistinct )
1438 {
1439 // InternalVampireLanguage.g:628:2: (this_VLSTffDeclPred_0= ruleVLSTffDeclPred | this_VLSTffFinite_1= ruleVLSTffFinite | this_VLSTffDistinct_2= ruleVLSTffDistinct )
1440 int alt6=3;
1441 switch ( input.LA(1) ) {
1442 case RULE_LOWER_WORD_ID:
1443 case 45:
1444 {
1445 alt6=1;
1446 }
1447 break;
1448 case 44:
1449 {
1450 alt6=2;
1451 }
1452 break;
1453 case 43:
1454 {
1455 alt6=3;
1456 }
1457 break;
1458 default:
1459 NoViableAltException nvae =
1460 new NoViableAltException("", 6, 0, input);
1461
1462 throw nvae;
1463 }
1464
1465 switch (alt6) {
1466 case 1 :
1467 // InternalVampireLanguage.g:629:3: this_VLSTffDeclPred_0= ruleVLSTffDeclPred
1468 {
1469
1470 newCompositeNode(grammarAccess.getVLSTffNameAccess().getVLSTffDeclPredParserRuleCall_0());
1471
1472 pushFollow(FOLLOW_2);
1473 this_VLSTffDeclPred_0=ruleVLSTffDeclPred();
1474
1475 state._fsp--;
1476
1477
1478 current.merge(this_VLSTffDeclPred_0);
1479
1480
1481 afterParserOrEnumRuleCall();
1482
1483
1484 }
1485 break;
1486 case 2 :
1487 // InternalVampireLanguage.g:640:3: this_VLSTffFinite_1= ruleVLSTffFinite
1488 {
1489
1490 newCompositeNode(grammarAccess.getVLSTffNameAccess().getVLSTffFiniteParserRuleCall_1());
1491
1492 pushFollow(FOLLOW_2);
1493 this_VLSTffFinite_1=ruleVLSTffFinite();
1494
1495 state._fsp--;
1496
1497
1498 current.merge(this_VLSTffFinite_1);
1499
1500
1501 afterParserOrEnumRuleCall();
1502
1503
1504 }
1505 break;
1506 case 3 :
1507 // InternalVampireLanguage.g:651:3: this_VLSTffDistinct_2= ruleVLSTffDistinct
1508 {
1509
1510 newCompositeNode(grammarAccess.getVLSTffNameAccess().getVLSTffDistinctParserRuleCall_2());
1511
1512 pushFollow(FOLLOW_2);
1513 this_VLSTffDistinct_2=ruleVLSTffDistinct();
1514
1515 state._fsp--;
1516
1517
1518 current.merge(this_VLSTffDistinct_2);
1519
1520
1521 afterParserOrEnumRuleCall();
1522
1523
1524 }
1525 break;
1526
1527 }
1528
1529
1530 }
1531
1532
1533 leaveRule();
1534
1535 }
1536
1537 catch (RecognitionException re) {
1538 recover(input,re);
1539 appendSkippedTokens();
1540 }
1541 finally {
1542 }
1543 return current;
1544 }
1545 // $ANTLR end "ruleVLSTffName"
1546
1547
1548 // $ANTLR start "entryRuleVLSTffDistinct"
1549 // InternalVampireLanguage.g:665:1: entryRuleVLSTffDistinct returns [String current=null] : iv_ruleVLSTffDistinct= ruleVLSTffDistinct EOF ;
1550 public final String entryRuleVLSTffDistinct() throws RecognitionException {
1551 String current = null;
1552
1553 AntlrDatatypeRuleToken iv_ruleVLSTffDistinct = null;
1554
1555
1556 try {
1557 // InternalVampireLanguage.g:665:54: (iv_ruleVLSTffDistinct= ruleVLSTffDistinct EOF )
1558 // InternalVampireLanguage.g:666:2: iv_ruleVLSTffDistinct= ruleVLSTffDistinct EOF
1559 {
1560 newCompositeNode(grammarAccess.getVLSTffDistinctRule());
1561 pushFollow(FOLLOW_1);
1562 iv_ruleVLSTffDistinct=ruleVLSTffDistinct();
1563
1564 state._fsp--;
1565
1566 current =iv_ruleVLSTffDistinct.getText();
1567 match(input,EOF,FOLLOW_2);
1568
1569 }
1570
1571 }
1572
1573 catch (RecognitionException re) {
1574 recover(input,re);
1575 appendSkippedTokens();
1576 }
1577 finally {
1578 }
1579 return current;
1580 }
1581 // $ANTLR end "entryRuleVLSTffDistinct"
1582
1583
1584 // $ANTLR start "ruleVLSTffDistinct"
1585 // InternalVampireLanguage.g:672:1: ruleVLSTffDistinct returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'distinct_domain' ;
1586 public final AntlrDatatypeRuleToken ruleVLSTffDistinct() throws RecognitionException {
1587 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1588
1589 Token kw=null;
1590
1591
1592 enterRule();
1593
1594 try {
1595 // InternalVampireLanguage.g:678:2: (kw= 'distinct_domain' )
1596 // InternalVampireLanguage.g:679:2: kw= 'distinct_domain'
1597 {
1598 kw=(Token)match(input,43,FOLLOW_2);
1599
1600 current.merge(kw);
1601 newLeafNode(kw, grammarAccess.getVLSTffDistinctAccess().getDistinct_domainKeyword());
1602
1603
1604 }
1605
1606
1607 leaveRule();
1608
1609 }
1610
1611 catch (RecognitionException re) {
1612 recover(input,re);
1613 appendSkippedTokens();
1614 }
1615 finally {
1616 }
1617 return current;
1618 }
1619 // $ANTLR end "ruleVLSTffDistinct"
1620
1621
1622 // $ANTLR start "entryRuleVLSTffFinite"
1623 // InternalVampireLanguage.g:687:1: entryRuleVLSTffFinite returns [String current=null] : iv_ruleVLSTffFinite= ruleVLSTffFinite EOF ;
1624 public final String entryRuleVLSTffFinite() throws RecognitionException {
1625 String current = null;
1626
1627 AntlrDatatypeRuleToken iv_ruleVLSTffFinite = null;
1628
1629
1630 try {
1631 // InternalVampireLanguage.g:687:52: (iv_ruleVLSTffFinite= ruleVLSTffFinite EOF )
1632 // InternalVampireLanguage.g:688:2: iv_ruleVLSTffFinite= ruleVLSTffFinite EOF
1633 {
1634 newCompositeNode(grammarAccess.getVLSTffFiniteRule());
1635 pushFollow(FOLLOW_1);
1636 iv_ruleVLSTffFinite=ruleVLSTffFinite();
1637
1638 state._fsp--;
1639
1640 current =iv_ruleVLSTffFinite.getText();
1641 match(input,EOF,FOLLOW_2);
1642
1643 }
1644
1645 }
1646
1647 catch (RecognitionException re) {
1648 recover(input,re);
1649 appendSkippedTokens();
1650 }
1651 finally {
1652 }
1653 return current;
1654 }
1655 // $ANTLR end "entryRuleVLSTffFinite"
1656
1657
1658 // $ANTLR start "ruleVLSTffFinite"
1659 // InternalVampireLanguage.g:694:1: ruleVLSTffFinite returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'finite_domain' ;
1660 public final AntlrDatatypeRuleToken ruleVLSTffFinite() throws RecognitionException {
1661 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1662
1663 Token kw=null;
1664
1665
1666 enterRule();
1667
1668 try {
1669 // InternalVampireLanguage.g:700:2: (kw= 'finite_domain' )
1670 // InternalVampireLanguage.g:701:2: kw= 'finite_domain'
1671 {
1672 kw=(Token)match(input,44,FOLLOW_2);
1673
1674 current.merge(kw);
1675 newLeafNode(kw, grammarAccess.getVLSTffFiniteAccess().getFinite_domainKeyword());
1676
1677
1678 }
1679
1680
1681 leaveRule();
1682
1683 }
1684
1685 catch (RecognitionException re) {
1686 recover(input,re);
1687 appendSkippedTokens();
1688 }
1689 finally {
1690 }
1691 return current;
1692 }
1693 // $ANTLR end "ruleVLSTffFinite"
1694
1695
1696 // $ANTLR start "entryRuleVLSTffDeclPred"
1697 // InternalVampireLanguage.g:709:1: entryRuleVLSTffDeclPred returns [String current=null] : iv_ruleVLSTffDeclPred= ruleVLSTffDeclPred EOF ;
1698 public final String entryRuleVLSTffDeclPred() throws RecognitionException {
1699 String current = null;
1700
1701 AntlrDatatypeRuleToken iv_ruleVLSTffDeclPred = null;
1702
1703
1704 try {
1705 // InternalVampireLanguage.g:709:54: (iv_ruleVLSTffDeclPred= ruleVLSTffDeclPred EOF )
1706 // InternalVampireLanguage.g:710:2: iv_ruleVLSTffDeclPred= ruleVLSTffDeclPred EOF
1707 {
1708 newCompositeNode(grammarAccess.getVLSTffDeclPredRule());
1709 pushFollow(FOLLOW_1);
1710 iv_ruleVLSTffDeclPred=ruleVLSTffDeclPred();
1711
1712 state._fsp--;
1713
1714 current =iv_ruleVLSTffDeclPred.getText();
1715 match(input,EOF,FOLLOW_2);
1716
1717 }
1718
1719 }
1720
1721 catch (RecognitionException re) {
1722 recover(input,re);
1723 appendSkippedTokens();
1724 }
1725 finally {
1726 }
1727 return current;
1728 }
1729 // $ANTLR end "entryRuleVLSTffDeclPred"
1730
1731
1732 // $ANTLR start "ruleVLSTffDeclPred"
1733 // InternalVampireLanguage.g:716:1: ruleVLSTffDeclPred returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= 'declare_' this_DOLLAR_ID_1= RULE_DOLLAR_ID ) | this_LOWER_WORD_ID_2= RULE_LOWER_WORD_ID ) ;
1734 public final AntlrDatatypeRuleToken ruleVLSTffDeclPred() throws RecognitionException {
1735 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1736
1737 Token kw=null;
1738 Token this_DOLLAR_ID_1=null;
1739 Token this_LOWER_WORD_ID_2=null;
1740
1741
1742 enterRule();
1743
1744 try {
1745 // InternalVampireLanguage.g:722:2: ( ( (kw= 'declare_' this_DOLLAR_ID_1= RULE_DOLLAR_ID ) | this_LOWER_WORD_ID_2= RULE_LOWER_WORD_ID ) )
1746 // InternalVampireLanguage.g:723:2: ( (kw= 'declare_' this_DOLLAR_ID_1= RULE_DOLLAR_ID ) | this_LOWER_WORD_ID_2= RULE_LOWER_WORD_ID )
1747 {
1748 // InternalVampireLanguage.g:723:2: ( (kw= 'declare_' this_DOLLAR_ID_1= RULE_DOLLAR_ID ) | this_LOWER_WORD_ID_2= RULE_LOWER_WORD_ID )
1749 int alt7=2;
1750 int LA7_0 = input.LA(1);
1751
1752 if ( (LA7_0==45) ) {
1753 alt7=1;
1754 }
1755 else if ( (LA7_0==RULE_LOWER_WORD_ID) ) {
1756 alt7=2;
1757 }
1758 else {
1759 NoViableAltException nvae =
1760 new NoViableAltException("", 7, 0, input);
1761
1762 throw nvae;
1763 }
1764 switch (alt7) {
1765 case 1 :
1766 // InternalVampireLanguage.g:724:3: (kw= 'declare_' this_DOLLAR_ID_1= RULE_DOLLAR_ID )
1767 {
1768 // InternalVampireLanguage.g:724:3: (kw= 'declare_' this_DOLLAR_ID_1= RULE_DOLLAR_ID )
1769 // InternalVampireLanguage.g:725:4: kw= 'declare_' this_DOLLAR_ID_1= RULE_DOLLAR_ID
1770 {
1771 kw=(Token)match(input,45,FOLLOW_26);
1772
1773 current.merge(kw);
1774 newLeafNode(kw, grammarAccess.getVLSTffDeclPredAccess().getDeclare_Keyword_0_0());
1775
1776 this_DOLLAR_ID_1=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_2);
1777
1778 current.merge(this_DOLLAR_ID_1);
1779
1780
1781 newLeafNode(this_DOLLAR_ID_1, grammarAccess.getVLSTffDeclPredAccess().getDOLLAR_IDTerminalRuleCall_0_1());
1782
1783
1784 }
1785
1786
1787 }
1788 break;
1789 case 2 :
1790 // InternalVampireLanguage.g:739:3: this_LOWER_WORD_ID_2= RULE_LOWER_WORD_ID
1791 {
1792 this_LOWER_WORD_ID_2=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
1793
1794 current.merge(this_LOWER_WORD_ID_2);
1795
1796
1797 newLeafNode(this_LOWER_WORD_ID_2, grammarAccess.getVLSTffDeclPredAccess().getLOWER_WORD_IDTerminalRuleCall_1());
1798
1799
1800 }
1801 break;
1802
1803 }
1804
1805
1806 }
1807
1808
1809 leaveRule();
1810
1811 }
1812
1813 catch (RecognitionException re) {
1814 recover(input,re);
1815 appendSkippedTokens();
1816 }
1817 finally {
1818 }
1819 return current;
1820 }
1821 // $ANTLR end "ruleVLSTffDeclPred"
1822
1823
1800 // $ANTLR start "entryRuleVLSRole" 1824 // $ANTLR start "entryRuleVLSRole"
1801 // InternalVampireLanguage.g:767:1: entryRuleVLSRole returns [String current=null] : iv_ruleVLSRole= ruleVLSRole EOF ; 1825 // InternalVampireLanguage.g:750:1: entryRuleVLSRole returns [String current=null] : iv_ruleVLSRole= ruleVLSRole EOF ;
1802 public final String entryRuleVLSRole() throws RecognitionException { 1826 public final String entryRuleVLSRole() throws RecognitionException {
1803 String current = null; 1827 String current = null;
1804 1828
@@ -1806,8 +1830,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1806 1830
1807 1831
1808 try { 1832 try {
1809 // InternalVampireLanguage.g:767:47: (iv_ruleVLSRole= ruleVLSRole EOF ) 1833 // InternalVampireLanguage.g:750:47: (iv_ruleVLSRole= ruleVLSRole EOF )
1810 // InternalVampireLanguage.g:768:2: iv_ruleVLSRole= ruleVLSRole EOF 1834 // InternalVampireLanguage.g:751:2: iv_ruleVLSRole= ruleVLSRole EOF
1811 { 1835 {
1812 newCompositeNode(grammarAccess.getVLSRoleRule()); 1836 newCompositeNode(grammarAccess.getVLSRoleRule());
1813 pushFollow(FOLLOW_1); 1837 pushFollow(FOLLOW_1);
@@ -1834,7 +1858,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1834 1858
1835 1859
1836 // $ANTLR start "ruleVLSRole" 1860 // $ANTLR start "ruleVLSRole"
1837 // InternalVampireLanguage.g:774:1: ruleVLSRole returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'axiom' | kw= 'conjecture' | kw= 'hypothesis' | kw= 'definition' | kw= 'assumption' | kw= 'lemma' | kw= 'theorem' | kw= 'corollary' | kw= 'negated_conjecture' | kw= 'plain' | kw= 'type' | kw= 'fi_domain' | kw= 'fi_functors' | kw= 'fi_predicates' | kw= 'unknown' ) ; 1861 // InternalVampireLanguage.g:757:1: ruleVLSRole returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'axiom' | kw= 'conjecture' | kw= 'hypothesis' | kw= 'definition' | kw= 'assumption' | kw= 'lemma' | kw= 'theorem' | kw= 'corollary' | kw= 'negated_conjecture' | kw= 'plain' | kw= 'type' | kw= 'fi_domain' | kw= 'fi_functors' | kw= 'fi_predicates' | kw= 'unknown' ) ;
1838 public final AntlrDatatypeRuleToken ruleVLSRole() throws RecognitionException { 1862 public final AntlrDatatypeRuleToken ruleVLSRole() throws RecognitionException {
1839 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); 1863 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1840 1864
@@ -1844,99 +1868,99 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1844 enterRule(); 1868 enterRule();
1845 1869
1846 try { 1870 try {
1847 // InternalVampireLanguage.g:780:2: ( (kw= 'axiom' | kw= 'conjecture' | kw= 'hypothesis' | kw= 'definition' | kw= 'assumption' | kw= 'lemma' | kw= 'theorem' | kw= 'corollary' | kw= 'negated_conjecture' | kw= 'plain' | kw= 'type' | kw= 'fi_domain' | kw= 'fi_functors' | kw= 'fi_predicates' | kw= 'unknown' ) ) 1871 // InternalVampireLanguage.g:763:2: ( (kw= 'axiom' | kw= 'conjecture' | kw= 'hypothesis' | kw= 'definition' | kw= 'assumption' | kw= 'lemma' | kw= 'theorem' | kw= 'corollary' | kw= 'negated_conjecture' | kw= 'plain' | kw= 'type' | kw= 'fi_domain' | kw= 'fi_functors' | kw= 'fi_predicates' | kw= 'unknown' ) )
1848 // InternalVampireLanguage.g:781:2: (kw= 'axiom' | kw= 'conjecture' | kw= 'hypothesis' | kw= 'definition' | kw= 'assumption' | kw= 'lemma' | kw= 'theorem' | kw= 'corollary' | kw= 'negated_conjecture' | kw= 'plain' | kw= 'type' | kw= 'fi_domain' | kw= 'fi_functors' | kw= 'fi_predicates' | kw= 'unknown' ) 1872 // InternalVampireLanguage.g:764:2: (kw= 'axiom' | kw= 'conjecture' | kw= 'hypothesis' | kw= 'definition' | kw= 'assumption' | kw= 'lemma' | kw= 'theorem' | kw= 'corollary' | kw= 'negated_conjecture' | kw= 'plain' | kw= 'type' | kw= 'fi_domain' | kw= 'fi_functors' | kw= 'fi_predicates' | kw= 'unknown' )
1849 { 1873 {
1850 // InternalVampireLanguage.g:781:2: (kw= 'axiom' | kw= 'conjecture' | kw= 'hypothesis' | kw= 'definition' | kw= 'assumption' | kw= 'lemma' | kw= 'theorem' | kw= 'corollary' | kw= 'negated_conjecture' | kw= 'plain' | kw= 'type' | kw= 'fi_domain' | kw= 'fi_functors' | kw= 'fi_predicates' | kw= 'unknown' ) 1874 // InternalVampireLanguage.g:764:2: (kw= 'axiom' | kw= 'conjecture' | kw= 'hypothesis' | kw= 'definition' | kw= 'assumption' | kw= 'lemma' | kw= 'theorem' | kw= 'corollary' | kw= 'negated_conjecture' | kw= 'plain' | kw= 'type' | kw= 'fi_domain' | kw= 'fi_functors' | kw= 'fi_predicates' | kw= 'unknown' )
1851 int alt9=15; 1875 int alt8=15;
1852 switch ( input.LA(1) ) { 1876 switch ( input.LA(1) ) {
1853 case 38: 1877 case 46:
1854 { 1878 {
1855 alt9=1; 1879 alt8=1;
1856 } 1880 }
1857 break; 1881 break;
1858 case 39: 1882 case 47:
1859 { 1883 {
1860 alt9=2; 1884 alt8=2;
1861 } 1885 }
1862 break; 1886 break;
1863 case 40: 1887 case 48:
1864 { 1888 {
1865 alt9=3; 1889 alt8=3;
1866 } 1890 }
1867 break; 1891 break;
1868 case 41: 1892 case 49:
1869 { 1893 {
1870 alt9=4; 1894 alt8=4;
1871 } 1895 }
1872 break; 1896 break;
1873 case 42: 1897 case 50:
1874 { 1898 {
1875 alt9=5; 1899 alt8=5;
1876 } 1900 }
1877 break; 1901 break;
1878 case 43: 1902 case 51:
1879 { 1903 {
1880 alt9=6; 1904 alt8=6;
1881 } 1905 }
1882 break; 1906 break;
1883 case 44: 1907 case 52:
1884 { 1908 {
1885 alt9=7; 1909 alt8=7;
1886 } 1910 }
1887 break; 1911 break;
1888 case 45: 1912 case 53:
1889 { 1913 {
1890 alt9=8; 1914 alt8=8;
1891 } 1915 }
1892 break; 1916 break;
1893 case 46: 1917 case 54:
1894 { 1918 {
1895 alt9=9; 1919 alt8=9;
1896 } 1920 }
1897 break; 1921 break;
1898 case 47: 1922 case 55:
1899 { 1923 {
1900 alt9=10; 1924 alt8=10;
1901 } 1925 }
1902 break; 1926 break;
1903 case 48: 1927 case 56:
1904 { 1928 {
1905 alt9=11; 1929 alt8=11;
1906 } 1930 }
1907 break; 1931 break;
1908 case 49: 1932 case 57:
1909 { 1933 {
1910 alt9=12; 1934 alt8=12;
1911 } 1935 }
1912 break; 1936 break;
1913 case 50: 1937 case 58:
1914 { 1938 {
1915 alt9=13; 1939 alt8=13;
1916 } 1940 }
1917 break; 1941 break;
1918 case 51: 1942 case 59:
1919 { 1943 {
1920 alt9=14; 1944 alt8=14;
1921 } 1945 }
1922 break; 1946 break;
1923 case 52: 1947 case 60:
1924 { 1948 {
1925 alt9=15; 1949 alt8=15;
1926 } 1950 }
1927 break; 1951 break;
1928 default: 1952 default:
1929 NoViableAltException nvae = 1953 NoViableAltException nvae =
1930 new NoViableAltException("", 9, 0, input); 1954 new NoViableAltException("", 8, 0, input);
1931 1955
1932 throw nvae; 1956 throw nvae;
1933 } 1957 }
1934 1958
1935 switch (alt9) { 1959 switch (alt8) {
1936 case 1 : 1960 case 1 :
1937 // InternalVampireLanguage.g:782:3: kw= 'axiom' 1961 // InternalVampireLanguage.g:765:3: kw= 'axiom'
1938 { 1962 {
1939 kw=(Token)match(input,38,FOLLOW_2); 1963 kw=(Token)match(input,46,FOLLOW_2);
1940 1964
1941 current.merge(kw); 1965 current.merge(kw);
1942 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getAxiomKeyword_0()); 1966 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getAxiomKeyword_0());
@@ -1945,9 +1969,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1945 } 1969 }
1946 break; 1970 break;
1947 case 2 : 1971 case 2 :
1948 // InternalVampireLanguage.g:788:3: kw= 'conjecture' 1972 // InternalVampireLanguage.g:771:3: kw= 'conjecture'
1949 { 1973 {
1950 kw=(Token)match(input,39,FOLLOW_2); 1974 kw=(Token)match(input,47,FOLLOW_2);
1951 1975
1952 current.merge(kw); 1976 current.merge(kw);
1953 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getConjectureKeyword_1()); 1977 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getConjectureKeyword_1());
@@ -1956,9 +1980,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1956 } 1980 }
1957 break; 1981 break;
1958 case 3 : 1982 case 3 :
1959 // InternalVampireLanguage.g:794:3: kw= 'hypothesis' 1983 // InternalVampireLanguage.g:777:3: kw= 'hypothesis'
1960 { 1984 {
1961 kw=(Token)match(input,40,FOLLOW_2); 1985 kw=(Token)match(input,48,FOLLOW_2);
1962 1986
1963 current.merge(kw); 1987 current.merge(kw);
1964 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getHypothesisKeyword_2()); 1988 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getHypothesisKeyword_2());
@@ -1967,9 +1991,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1967 } 1991 }
1968 break; 1992 break;
1969 case 4 : 1993 case 4 :
1970 // InternalVampireLanguage.g:800:3: kw= 'definition' 1994 // InternalVampireLanguage.g:783:3: kw= 'definition'
1971 { 1995 {
1972 kw=(Token)match(input,41,FOLLOW_2); 1996 kw=(Token)match(input,49,FOLLOW_2);
1973 1997
1974 current.merge(kw); 1998 current.merge(kw);
1975 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getDefinitionKeyword_3()); 1999 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getDefinitionKeyword_3());
@@ -1978,9 +2002,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1978 } 2002 }
1979 break; 2003 break;
1980 case 5 : 2004 case 5 :
1981 // InternalVampireLanguage.g:806:3: kw= 'assumption' 2005 // InternalVampireLanguage.g:789:3: kw= 'assumption'
1982 { 2006 {
1983 kw=(Token)match(input,42,FOLLOW_2); 2007 kw=(Token)match(input,50,FOLLOW_2);
1984 2008
1985 current.merge(kw); 2009 current.merge(kw);
1986 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getAssumptionKeyword_4()); 2010 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getAssumptionKeyword_4());
@@ -1989,9 +2013,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
1989 } 2013 }
1990 break; 2014 break;
1991 case 6 : 2015 case 6 :
1992 // InternalVampireLanguage.g:812:3: kw= 'lemma' 2016 // InternalVampireLanguage.g:795:3: kw= 'lemma'
1993 { 2017 {
1994 kw=(Token)match(input,43,FOLLOW_2); 2018 kw=(Token)match(input,51,FOLLOW_2);
1995 2019
1996 current.merge(kw); 2020 current.merge(kw);
1997 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getLemmaKeyword_5()); 2021 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getLemmaKeyword_5());
@@ -2000,9 +2024,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2000 } 2024 }
2001 break; 2025 break;
2002 case 7 : 2026 case 7 :
2003 // InternalVampireLanguage.g:818:3: kw= 'theorem' 2027 // InternalVampireLanguage.g:801:3: kw= 'theorem'
2004 { 2028 {
2005 kw=(Token)match(input,44,FOLLOW_2); 2029 kw=(Token)match(input,52,FOLLOW_2);
2006 2030
2007 current.merge(kw); 2031 current.merge(kw);
2008 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getTheoremKeyword_6()); 2032 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getTheoremKeyword_6());
@@ -2011,9 +2035,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2011 } 2035 }
2012 break; 2036 break;
2013 case 8 : 2037 case 8 :
2014 // InternalVampireLanguage.g:824:3: kw= 'corollary' 2038 // InternalVampireLanguage.g:807:3: kw= 'corollary'
2015 { 2039 {
2016 kw=(Token)match(input,45,FOLLOW_2); 2040 kw=(Token)match(input,53,FOLLOW_2);
2017 2041
2018 current.merge(kw); 2042 current.merge(kw);
2019 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getCorollaryKeyword_7()); 2043 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getCorollaryKeyword_7());
@@ -2022,9 +2046,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2022 } 2046 }
2023 break; 2047 break;
2024 case 9 : 2048 case 9 :
2025 // InternalVampireLanguage.g:830:3: kw= 'negated_conjecture' 2049 // InternalVampireLanguage.g:813:3: kw= 'negated_conjecture'
2026 { 2050 {
2027 kw=(Token)match(input,46,FOLLOW_2); 2051 kw=(Token)match(input,54,FOLLOW_2);
2028 2052
2029 current.merge(kw); 2053 current.merge(kw);
2030 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getNegated_conjectureKeyword_8()); 2054 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getNegated_conjectureKeyword_8());
@@ -2033,9 +2057,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2033 } 2057 }
2034 break; 2058 break;
2035 case 10 : 2059 case 10 :
2036 // InternalVampireLanguage.g:836:3: kw= 'plain' 2060 // InternalVampireLanguage.g:819:3: kw= 'plain'
2037 { 2061 {
2038 kw=(Token)match(input,47,FOLLOW_2); 2062 kw=(Token)match(input,55,FOLLOW_2);
2039 2063
2040 current.merge(kw); 2064 current.merge(kw);
2041 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getPlainKeyword_9()); 2065 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getPlainKeyword_9());
@@ -2044,9 +2068,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2044 } 2068 }
2045 break; 2069 break;
2046 case 11 : 2070 case 11 :
2047 // InternalVampireLanguage.g:842:3: kw= 'type' 2071 // InternalVampireLanguage.g:825:3: kw= 'type'
2048 { 2072 {
2049 kw=(Token)match(input,48,FOLLOW_2); 2073 kw=(Token)match(input,56,FOLLOW_2);
2050 2074
2051 current.merge(kw); 2075 current.merge(kw);
2052 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getTypeKeyword_10()); 2076 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getTypeKeyword_10());
@@ -2055,9 +2079,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2055 } 2079 }
2056 break; 2080 break;
2057 case 12 : 2081 case 12 :
2058 // InternalVampireLanguage.g:848:3: kw= 'fi_domain' 2082 // InternalVampireLanguage.g:831:3: kw= 'fi_domain'
2059 { 2083 {
2060 kw=(Token)match(input,49,FOLLOW_2); 2084 kw=(Token)match(input,57,FOLLOW_2);
2061 2085
2062 current.merge(kw); 2086 current.merge(kw);
2063 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getFi_domainKeyword_11()); 2087 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getFi_domainKeyword_11());
@@ -2066,9 +2090,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2066 } 2090 }
2067 break; 2091 break;
2068 case 13 : 2092 case 13 :
2069 // InternalVampireLanguage.g:854:3: kw= 'fi_functors' 2093 // InternalVampireLanguage.g:837:3: kw= 'fi_functors'
2070 { 2094 {
2071 kw=(Token)match(input,50,FOLLOW_2); 2095 kw=(Token)match(input,58,FOLLOW_2);
2072 2096
2073 current.merge(kw); 2097 current.merge(kw);
2074 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getFi_functorsKeyword_12()); 2098 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getFi_functorsKeyword_12());
@@ -2077,9 +2101,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2077 } 2101 }
2078 break; 2102 break;
2079 case 14 : 2103 case 14 :
2080 // InternalVampireLanguage.g:860:3: kw= 'fi_predicates' 2104 // InternalVampireLanguage.g:843:3: kw= 'fi_predicates'
2081 { 2105 {
2082 kw=(Token)match(input,51,FOLLOW_2); 2106 kw=(Token)match(input,59,FOLLOW_2);
2083 2107
2084 current.merge(kw); 2108 current.merge(kw);
2085 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getFi_predicatesKeyword_13()); 2109 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getFi_predicatesKeyword_13());
@@ -2088,9 +2112,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2088 } 2112 }
2089 break; 2113 break;
2090 case 15 : 2114 case 15 :
2091 // InternalVampireLanguage.g:866:3: kw= 'unknown' 2115 // InternalVampireLanguage.g:849:3: kw= 'unknown'
2092 { 2116 {
2093 kw=(Token)match(input,52,FOLLOW_2); 2117 kw=(Token)match(input,60,FOLLOW_2);
2094 2118
2095 current.merge(kw); 2119 current.merge(kw);
2096 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getUnknownKeyword_14()); 2120 newLeafNode(kw, grammarAccess.getVLSRoleAccess().getUnknownKeyword_14());
@@ -2121,7 +2145,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2121 2145
2122 2146
2123 // $ANTLR start "entryRuleVLSAnnotation" 2147 // $ANTLR start "entryRuleVLSAnnotation"
2124 // InternalVampireLanguage.g:875:1: entryRuleVLSAnnotation returns [EObject current=null] : iv_ruleVLSAnnotation= ruleVLSAnnotation EOF ; 2148 // InternalVampireLanguage.g:858:1: entryRuleVLSAnnotation returns [EObject current=null] : iv_ruleVLSAnnotation= ruleVLSAnnotation EOF ;
2125 public final EObject entryRuleVLSAnnotation() throws RecognitionException { 2149 public final EObject entryRuleVLSAnnotation() throws RecognitionException {
2126 EObject current = null; 2150 EObject current = null;
2127 2151
@@ -2129,8 +2153,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2129 2153
2130 2154
2131 try { 2155 try {
2132 // InternalVampireLanguage.g:875:54: (iv_ruleVLSAnnotation= ruleVLSAnnotation EOF ) 2156 // InternalVampireLanguage.g:858:54: (iv_ruleVLSAnnotation= ruleVLSAnnotation EOF )
2133 // InternalVampireLanguage.g:876:2: iv_ruleVLSAnnotation= ruleVLSAnnotation EOF 2157 // InternalVampireLanguage.g:859:2: iv_ruleVLSAnnotation= ruleVLSAnnotation EOF
2134 { 2158 {
2135 newCompositeNode(grammarAccess.getVLSAnnotationRule()); 2159 newCompositeNode(grammarAccess.getVLSAnnotationRule());
2136 pushFollow(FOLLOW_1); 2160 pushFollow(FOLLOW_1);
@@ -2157,7 +2181,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2157 2181
2158 2182
2159 // $ANTLR start "ruleVLSAnnotation" 2183 // $ANTLR start "ruleVLSAnnotation"
2160 // InternalVampireLanguage.g:882: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= ']' )? ) ; 2184 // InternalVampireLanguage.g:865: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= ']' )? ) ;
2161 public final EObject ruleVLSAnnotation() throws RecognitionException { 2185 public final EObject ruleVLSAnnotation() throws RecognitionException {
2162 EObject current = null; 2186 EObject current = null;
2163 2187
@@ -2176,24 +2200,24 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2176 enterRule(); 2200 enterRule();
2177 2201
2178 try { 2202 try {
2179 // InternalVampireLanguage.g:888: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= ']' )? ) ) 2203 // InternalVampireLanguage.g:871: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= ']' )? ) )
2180 // InternalVampireLanguage.g:889: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= ']' )? ) 2204 // InternalVampireLanguage.g:872: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= ']' )? )
2181 { 2205 {
2182 // InternalVampireLanguage.g:889: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= ']' )? ) 2206 // InternalVampireLanguage.g:872: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= ']' )? )
2183 // InternalVampireLanguage.g:890: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= ']' )? 2207 // InternalVampireLanguage.g:873: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= ']' )?
2184 { 2208 {
2185 // InternalVampireLanguage.g:890:3: (otherlv_0= '[' )? 2209 // InternalVampireLanguage.g:873:3: (otherlv_0= '[' )?
2186 int alt10=2; 2210 int alt9=2;
2187 int LA10_0 = input.LA(1); 2211 int LA9_0 = input.LA(1);
2188 2212
2189 if ( (LA10_0==53) ) { 2213 if ( (LA9_0==32) ) {
2190 alt10=1; 2214 alt9=1;
2191 } 2215 }
2192 switch (alt10) { 2216 switch (alt9) {
2193 case 1 : 2217 case 1 :
2194 // InternalVampireLanguage.g:891:4: otherlv_0= '[' 2218 // InternalVampireLanguage.g:874:4: otherlv_0= '['
2195 { 2219 {
2196 otherlv_0=(Token)match(input,53,FOLLOW_18); 2220 otherlv_0=(Token)match(input,32,FOLLOW_27);
2197 2221
2198 newLeafNode(otherlv_0, grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0()); 2222 newLeafNode(otherlv_0, grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0());
2199 2223
@@ -2203,41 +2227,33 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2203 2227
2204 } 2228 }
2205 2229
2206 // InternalVampireLanguage.g:896:3: ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? 2230 // InternalVampireLanguage.g:879:3: ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )?
2207 int alt12=2; 2231 int alt11=2;
2208 int LA12_0 = input.LA(1); 2232 int LA11_0 = input.LA(1);
2209 2233
2210 if ( ((LA12_0>=RULE_SINGLE_QUOTE && LA12_0<=RULE_LOWER_WORD_ID)||(LA12_0>=38 && LA12_0<=52)) ) { 2234 if ( (LA11_0==RULE_LOWER_WORD_ID||LA11_0==RULE_SINGLE_QUOTE||(LA11_0>=46 && LA11_0<=60)) ) {
2211 alt12=1; 2235 alt11=1;
2212 } 2236 }
2213 switch (alt12) { 2237 switch (alt11) {
2214 case 1 : 2238 case 1 :
2215 // InternalVampireLanguage.g:897:4: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) 2239 // InternalVampireLanguage.g:880:4: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) )
2216 { 2240 {
2217 // InternalVampireLanguage.g:897:4: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) 2241 // InternalVampireLanguage.g:880:4: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) )
2218 // InternalVampireLanguage.g:898:5: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) 2242 // InternalVampireLanguage.g:881:5: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole )
2219 { 2243 {
2220 // InternalVampireLanguage.g:898:5: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) 2244 // InternalVampireLanguage.g:881:5: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole )
2221 int alt11=3; 2245 int alt10=3;
2222 switch ( input.LA(1) ) { 2246 switch ( input.LA(1) ) {
2223 case RULE_LOWER_WORD_ID: 2247 case RULE_LOWER_WORD_ID:
2224 { 2248 {
2225 alt11=1; 2249 alt10=1;
2226 } 2250 }
2227 break; 2251 break;
2228 case RULE_SINGLE_QUOTE: 2252 case RULE_SINGLE_QUOTE:
2229 { 2253 {
2230 alt11=2; 2254 alt10=2;
2231 } 2255 }
2232 break; 2256 break;
2233 case 38:
2234 case 39:
2235 case 40:
2236 case 41:
2237 case 42:
2238 case 43:
2239 case 44:
2240 case 45:
2241 case 46: 2257 case 46:
2242 case 47: 2258 case 47:
2243 case 48: 2259 case 48:
@@ -2245,22 +2261,30 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2245 case 50: 2261 case 50:
2246 case 51: 2262 case 51:
2247 case 52: 2263 case 52:
2264 case 53:
2265 case 54:
2266 case 55:
2267 case 56:
2268 case 57:
2269 case 58:
2270 case 59:
2271 case 60:
2248 { 2272 {
2249 alt11=3; 2273 alt10=3;
2250 } 2274 }
2251 break; 2275 break;
2252 default: 2276 default:
2253 NoViableAltException nvae = 2277 NoViableAltException nvae =
2254 new NoViableAltException("", 11, 0, input); 2278 new NoViableAltException("", 10, 0, input);
2255 2279
2256 throw nvae; 2280 throw nvae;
2257 } 2281 }
2258 2282
2259 switch (alt11) { 2283 switch (alt10) {
2260 case 1 : 2284 case 1 :
2261 // InternalVampireLanguage.g:899:6: lv_name_1_1= RULE_LOWER_WORD_ID 2285 // InternalVampireLanguage.g:882:6: lv_name_1_1= RULE_LOWER_WORD_ID
2262 { 2286 {
2263 lv_name_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_19); 2287 lv_name_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_28);
2264 2288
2265 newLeafNode(lv_name_1_1, grammarAccess.getVLSAnnotationAccess().getNameLOWER_WORD_IDTerminalRuleCall_1_0_0()); 2289 newLeafNode(lv_name_1_1, grammarAccess.getVLSAnnotationAccess().getNameLOWER_WORD_IDTerminalRuleCall_1_0_0());
2266 2290
@@ -2278,9 +2302,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2278 } 2302 }
2279 break; 2303 break;
2280 case 2 : 2304 case 2 :
2281 // InternalVampireLanguage.g:914:6: lv_name_1_2= RULE_SINGLE_QUOTE 2305 // InternalVampireLanguage.g:897:6: lv_name_1_2= RULE_SINGLE_QUOTE
2282 { 2306 {
2283 lv_name_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_19); 2307 lv_name_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_28);
2284 2308
2285 newLeafNode(lv_name_1_2, grammarAccess.getVLSAnnotationAccess().getNameSINGLE_QUOTETerminalRuleCall_1_0_1()); 2309 newLeafNode(lv_name_1_2, grammarAccess.getVLSAnnotationAccess().getNameSINGLE_QUOTETerminalRuleCall_1_0_1());
2286 2310
@@ -2298,12 +2322,12 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2298 } 2322 }
2299 break; 2323 break;
2300 case 3 : 2324 case 3 :
2301 // InternalVampireLanguage.g:929:6: lv_name_1_3= ruleVLSRole 2325 // InternalVampireLanguage.g:912:6: lv_name_1_3= ruleVLSRole
2302 { 2326 {
2303 2327
2304 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getNameVLSRoleParserRuleCall_1_0_2()); 2328 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getNameVLSRoleParserRuleCall_1_0_2());
2305 2329
2306 pushFollow(FOLLOW_19); 2330 pushFollow(FOLLOW_28);
2307 lv_name_1_3=ruleVLSRole(); 2331 lv_name_1_3=ruleVLSRole();
2308 2332
2309 state._fsp--; 2333 state._fsp--;
@@ -2334,31 +2358,31 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2334 2358
2335 } 2359 }
2336 2360
2337 // InternalVampireLanguage.g:947:3: (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? 2361 // InternalVampireLanguage.g:930:3: (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )?
2338 int alt13=2; 2362 int alt12=2;
2339 int LA13_0 = input.LA(1); 2363 int LA12_0 = input.LA(1);
2340 2364
2341 if ( (LA13_0==34) ) { 2365 if ( (LA12_0==38) ) {
2342 alt13=1; 2366 alt12=1;
2343 } 2367 }
2344 switch (alt13) { 2368 switch (alt12) {
2345 case 1 : 2369 case 1 :
2346 // InternalVampireLanguage.g:948:4: otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' 2370 // InternalVampireLanguage.g:931:4: otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')'
2347 { 2371 {
2348 otherlv_2=(Token)match(input,34,FOLLOW_20); 2372 otherlv_2=(Token)match(input,38,FOLLOW_29);
2349 2373
2350 newLeafNode(otherlv_2, grammarAccess.getVLSAnnotationAccess().getLeftParenthesisKeyword_2_0()); 2374 newLeafNode(otherlv_2, grammarAccess.getVLSAnnotationAccess().getLeftParenthesisKeyword_2_0());
2351 2375
2352 // InternalVampireLanguage.g:952:4: ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) 2376 // InternalVampireLanguage.g:935:4: ( (lv_followup_3_0= ruleVLSAnnotationTerms ) )
2353 // InternalVampireLanguage.g:953:5: (lv_followup_3_0= ruleVLSAnnotationTerms ) 2377 // InternalVampireLanguage.g:936:5: (lv_followup_3_0= ruleVLSAnnotationTerms )
2354 { 2378 {
2355 // InternalVampireLanguage.g:953:5: (lv_followup_3_0= ruleVLSAnnotationTerms ) 2379 // InternalVampireLanguage.g:936:5: (lv_followup_3_0= ruleVLSAnnotationTerms )
2356 // InternalVampireLanguage.g:954:6: lv_followup_3_0= ruleVLSAnnotationTerms 2380 // InternalVampireLanguage.g:937:6: lv_followup_3_0= ruleVLSAnnotationTerms
2357 { 2381 {
2358 2382
2359 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getFollowupVLSAnnotationTermsParserRuleCall_2_1_0()); 2383 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getFollowupVLSAnnotationTermsParserRuleCall_2_1_0());
2360 2384
2361 pushFollow(FOLLOW_16); 2385 pushFollow(FOLLOW_23);
2362 lv_followup_3_0=ruleVLSAnnotationTerms(); 2386 lv_followup_3_0=ruleVLSAnnotationTerms();
2363 2387
2364 state._fsp--; 2388 state._fsp--;
@@ -2380,7 +2404,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2380 2404
2381 } 2405 }
2382 2406
2383 otherlv_4=(Token)match(input,35,FOLLOW_21); 2407 otherlv_4=(Token)match(input,40,FOLLOW_30);
2384 2408
2385 newLeafNode(otherlv_4, grammarAccess.getVLSAnnotationAccess().getRightParenthesisKeyword_2_2()); 2409 newLeafNode(otherlv_4, grammarAccess.getVLSAnnotationAccess().getRightParenthesisKeyword_2_2());
2386 2410
@@ -2390,18 +2414,18 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2390 2414
2391 } 2415 }
2392 2416
2393 // InternalVampireLanguage.g:976:3: (otherlv_5= ']' )? 2417 // InternalVampireLanguage.g:959:3: (otherlv_5= ']' )?
2394 int alt14=2; 2418 int alt13=2;
2395 int LA14_0 = input.LA(1); 2419 int LA13_0 = input.LA(1);
2396 2420
2397 if ( (LA14_0==30) ) { 2421 if ( (LA13_0==33) ) {
2398 alt14=1; 2422 alt13=1;
2399 } 2423 }
2400 switch (alt14) { 2424 switch (alt13) {
2401 case 1 : 2425 case 1 :
2402 // InternalVampireLanguage.g:977:4: otherlv_5= ']' 2426 // InternalVampireLanguage.g:960:4: otherlv_5= ']'
2403 { 2427 {
2404 otherlv_5=(Token)match(input,30,FOLLOW_2); 2428 otherlv_5=(Token)match(input,33,FOLLOW_2);
2405 2429
2406 newLeafNode(otherlv_5, grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3()); 2430 newLeafNode(otherlv_5, grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3());
2407 2431
@@ -2434,7 +2458,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2434 2458
2435 2459
2436 // $ANTLR start "entryRuleVLSAnnotationTerms" 2460 // $ANTLR start "entryRuleVLSAnnotationTerms"
2437 // InternalVampireLanguage.g:986:1: entryRuleVLSAnnotationTerms returns [EObject current=null] : iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF ; 2461 // InternalVampireLanguage.g:969:1: entryRuleVLSAnnotationTerms returns [EObject current=null] : iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF ;
2438 public final EObject entryRuleVLSAnnotationTerms() throws RecognitionException { 2462 public final EObject entryRuleVLSAnnotationTerms() throws RecognitionException {
2439 EObject current = null; 2463 EObject current = null;
2440 2464
@@ -2442,8 +2466,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2442 2466
2443 2467
2444 try { 2468 try {
2445 // InternalVampireLanguage.g:986:59: (iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF ) 2469 // InternalVampireLanguage.g:969:59: (iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF )
2446 // InternalVampireLanguage.g:987:2: iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF 2470 // InternalVampireLanguage.g:970:2: iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF
2447 { 2471 {
2448 newCompositeNode(grammarAccess.getVLSAnnotationTermsRule()); 2472 newCompositeNode(grammarAccess.getVLSAnnotationTermsRule());
2449 pushFollow(FOLLOW_1); 2473 pushFollow(FOLLOW_1);
@@ -2470,7 +2494,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2470 2494
2471 2495
2472 // $ANTLR start "ruleVLSAnnotationTerms" 2496 // $ANTLR start "ruleVLSAnnotationTerms"
2473 // InternalVampireLanguage.g:993:1: ruleVLSAnnotationTerms returns [EObject current=null] : ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* ) ; 2497 // InternalVampireLanguage.g:976:1: ruleVLSAnnotationTerms returns [EObject current=null] : ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* ) ;
2474 public final EObject ruleVLSAnnotationTerms() throws RecognitionException { 2498 public final EObject ruleVLSAnnotationTerms() throws RecognitionException {
2475 EObject current = null; 2499 EObject current = null;
2476 2500
@@ -2484,22 +2508,22 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2484 enterRule(); 2508 enterRule();
2485 2509
2486 try { 2510 try {
2487 // InternalVampireLanguage.g:999:2: ( ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* ) ) 2511 // InternalVampireLanguage.g:982:2: ( ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* ) )
2488 // InternalVampireLanguage.g:1000:2: ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* ) 2512 // InternalVampireLanguage.g:983:2: ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* )
2489 { 2513 {
2490 // InternalVampireLanguage.g:1000:2: ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* ) 2514 // InternalVampireLanguage.g:983:2: ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* )
2491 // InternalVampireLanguage.g:1001:3: ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* 2515 // InternalVampireLanguage.g:984:3: ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )*
2492 { 2516 {
2493 // InternalVampireLanguage.g:1001:3: ( (lv_terms_0_0= ruleVLSAnnotation ) ) 2517 // InternalVampireLanguage.g:984:3: ( (lv_terms_0_0= ruleVLSAnnotation ) )
2494 // InternalVampireLanguage.g:1002:4: (lv_terms_0_0= ruleVLSAnnotation ) 2518 // InternalVampireLanguage.g:985:4: (lv_terms_0_0= ruleVLSAnnotation )
2495 { 2519 {
2496 // InternalVampireLanguage.g:1002:4: (lv_terms_0_0= ruleVLSAnnotation ) 2520 // InternalVampireLanguage.g:985:4: (lv_terms_0_0= ruleVLSAnnotation )
2497 // InternalVampireLanguage.g:1003:5: lv_terms_0_0= ruleVLSAnnotation 2521 // InternalVampireLanguage.g:986:5: lv_terms_0_0= ruleVLSAnnotation
2498 { 2522 {
2499 2523
2500 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_0_0()); 2524 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_0_0());
2501 2525
2502 pushFollow(FOLLOW_22); 2526 pushFollow(FOLLOW_31);
2503 lv_terms_0_0=ruleVLSAnnotation(); 2527 lv_terms_0_0=ruleVLSAnnotation();
2504 2528
2505 state._fsp--; 2529 state._fsp--;
@@ -2521,35 +2545,35 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2521 2545
2522 } 2546 }
2523 2547
2524 // InternalVampireLanguage.g:1020:3: (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* 2548 // InternalVampireLanguage.g:1003:3: (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )*
2525 loop15: 2549 loop14:
2526 do { 2550 do {
2527 int alt15=2; 2551 int alt14=2;
2528 int LA15_0 = input.LA(1); 2552 int LA14_0 = input.LA(1);
2529 2553
2530 if ( (LA15_0==29) ) { 2554 if ( (LA14_0==39) ) {
2531 alt15=1; 2555 alt14=1;
2532 } 2556 }
2533 2557
2534 2558
2535 switch (alt15) { 2559 switch (alt14) {
2536 case 1 : 2560 case 1 :
2537 // InternalVampireLanguage.g:1021:4: otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) 2561 // InternalVampireLanguage.g:1004:4: otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) )
2538 { 2562 {
2539 otherlv_1=(Token)match(input,29,FOLLOW_20); 2563 otherlv_1=(Token)match(input,39,FOLLOW_29);
2540 2564
2541 newLeafNode(otherlv_1, grammarAccess.getVLSAnnotationTermsAccess().getCommaKeyword_1_0()); 2565 newLeafNode(otherlv_1, grammarAccess.getVLSAnnotationTermsAccess().getCommaKeyword_1_0());
2542 2566
2543 // InternalVampireLanguage.g:1025:4: ( (lv_terms_2_0= ruleVLSAnnotation ) ) 2567 // InternalVampireLanguage.g:1008:4: ( (lv_terms_2_0= ruleVLSAnnotation ) )
2544 // InternalVampireLanguage.g:1026:5: (lv_terms_2_0= ruleVLSAnnotation ) 2568 // InternalVampireLanguage.g:1009:5: (lv_terms_2_0= ruleVLSAnnotation )
2545 { 2569 {
2546 // InternalVampireLanguage.g:1026:5: (lv_terms_2_0= ruleVLSAnnotation ) 2570 // InternalVampireLanguage.g:1009:5: (lv_terms_2_0= ruleVLSAnnotation )
2547 // InternalVampireLanguage.g:1027:6: lv_terms_2_0= ruleVLSAnnotation 2571 // InternalVampireLanguage.g:1010:6: lv_terms_2_0= ruleVLSAnnotation
2548 { 2572 {
2549 2573
2550 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_1_1_0()); 2574 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_1_1_0());
2551 2575
2552 pushFollow(FOLLOW_22); 2576 pushFollow(FOLLOW_31);
2553 lv_terms_2_0=ruleVLSAnnotation(); 2577 lv_terms_2_0=ruleVLSAnnotation();
2554 2578
2555 state._fsp--; 2579 state._fsp--;
@@ -2576,7 +2600,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2576 break; 2600 break;
2577 2601
2578 default : 2602 default :
2579 break loop15; 2603 break loop14;
2580 } 2604 }
2581 } while (true); 2605 } while (true);
2582 2606
@@ -2602,8 +2626,834 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2602 // $ANTLR end "ruleVLSAnnotationTerms" 2626 // $ANTLR end "ruleVLSAnnotationTerms"
2603 2627
2604 2628
2629 // $ANTLR start "entryRuleVLSTffTerm"
2630 // InternalVampireLanguage.g:1032:1: entryRuleVLSTffTerm returns [EObject current=null] : iv_ruleVLSTffTerm= ruleVLSTffTerm EOF ;
2631 public final EObject entryRuleVLSTffTerm() throws RecognitionException {
2632 EObject current = null;
2633
2634 EObject iv_ruleVLSTffTerm = null;
2635
2636
2637 try {
2638 // InternalVampireLanguage.g:1032:51: (iv_ruleVLSTffTerm= ruleVLSTffTerm EOF )
2639 // InternalVampireLanguage.g:1033:2: iv_ruleVLSTffTerm= ruleVLSTffTerm EOF
2640 {
2641 newCompositeNode(grammarAccess.getVLSTffTermRule());
2642 pushFollow(FOLLOW_1);
2643 iv_ruleVLSTffTerm=ruleVLSTffTerm();
2644
2645 state._fsp--;
2646
2647 current =iv_ruleVLSTffTerm;
2648 match(input,EOF,FOLLOW_2);
2649
2650 }
2651
2652 }
2653
2654 catch (RecognitionException re) {
2655 recover(input,re);
2656 appendSkippedTokens();
2657 }
2658 finally {
2659 }
2660 return current;
2661 }
2662 // $ANTLR end "entryRuleVLSTffTerm"
2663
2664
2665 // $ANTLR start "ruleVLSTffTerm"
2666 // InternalVampireLanguage.g:1039:1: ruleVLSTffTerm returns [EObject current=null] : (this_VLSTerm_0= ruleVLSTerm | this_VLSDeclaration_1= ruleVLSDeclaration ) ;
2667 public final EObject ruleVLSTffTerm() throws RecognitionException {
2668 EObject current = null;
2669
2670 EObject this_VLSTerm_0 = null;
2671
2672 EObject this_VLSDeclaration_1 = null;
2673
2674
2675
2676 enterRule();
2677
2678 try {
2679 // InternalVampireLanguage.g:1045:2: ( (this_VLSTerm_0= ruleVLSTerm | this_VLSDeclaration_1= ruleVLSDeclaration ) )
2680 // InternalVampireLanguage.g:1046:2: (this_VLSTerm_0= ruleVLSTerm | this_VLSDeclaration_1= ruleVLSDeclaration )
2681 {
2682 // InternalVampireLanguage.g:1046:2: (this_VLSTerm_0= ruleVLSTerm | this_VLSDeclaration_1= ruleVLSDeclaration )
2683 int alt15=2;
2684 alt15 = dfa15.predict(input);
2685 switch (alt15) {
2686 case 1 :
2687 // InternalVampireLanguage.g:1047:3: this_VLSTerm_0= ruleVLSTerm
2688 {
2689
2690 newCompositeNode(grammarAccess.getVLSTffTermAccess().getVLSTermParserRuleCall_0());
2691
2692 pushFollow(FOLLOW_2);
2693 this_VLSTerm_0=ruleVLSTerm();
2694
2695 state._fsp--;
2696
2697
2698 current = this_VLSTerm_0;
2699 afterParserOrEnumRuleCall();
2700
2701
2702 }
2703 break;
2704 case 2 :
2705 // InternalVampireLanguage.g:1056:3: this_VLSDeclaration_1= ruleVLSDeclaration
2706 {
2707
2708 newCompositeNode(grammarAccess.getVLSTffTermAccess().getVLSDeclarationParserRuleCall_1());
2709
2710 pushFollow(FOLLOW_2);
2711 this_VLSDeclaration_1=ruleVLSDeclaration();
2712
2713 state._fsp--;
2714
2715
2716 current = this_VLSDeclaration_1;
2717 afterParserOrEnumRuleCall();
2718
2719
2720 }
2721 break;
2722
2723 }
2724
2725
2726 }
2727
2728
2729 leaveRule();
2730
2731 }
2732
2733 catch (RecognitionException re) {
2734 recover(input,re);
2735 appendSkippedTokens();
2736 }
2737 finally {
2738 }
2739 return current;
2740 }
2741 // $ANTLR end "ruleVLSTffTerm"
2742
2743
2744 // $ANTLR start "entryRuleVLSDeclaration"
2745 // InternalVampireLanguage.g:1068:1: entryRuleVLSDeclaration returns [EObject current=null] : iv_ruleVLSDeclaration= ruleVLSDeclaration EOF ;
2746 public final EObject entryRuleVLSDeclaration() throws RecognitionException {
2747 EObject current = null;
2748
2749 EObject iv_ruleVLSDeclaration = null;
2750
2751
2752 try {
2753 // InternalVampireLanguage.g:1068:55: (iv_ruleVLSDeclaration= ruleVLSDeclaration EOF )
2754 // InternalVampireLanguage.g:1069:2: iv_ruleVLSDeclaration= ruleVLSDeclaration EOF
2755 {
2756 newCompositeNode(grammarAccess.getVLSDeclarationRule());
2757 pushFollow(FOLLOW_1);
2758 iv_ruleVLSDeclaration=ruleVLSDeclaration();
2759
2760 state._fsp--;
2761
2762 current =iv_ruleVLSDeclaration;
2763 match(input,EOF,FOLLOW_2);
2764
2765 }
2766
2767 }
2768
2769 catch (RecognitionException re) {
2770 recover(input,re);
2771 appendSkippedTokens();
2772 }
2773 finally {
2774 }
2775 return current;
2776 }
2777 // $ANTLR end "entryRuleVLSDeclaration"
2778
2779
2780 // $ANTLR start "ruleVLSDeclaration"
2781 // InternalVampireLanguage.g:1075:1: ruleVLSDeclaration returns [EObject current=null] : (this_VLSVariableDeclaration_0= ruleVLSVariableDeclaration | this_VLSOtherDeclaration_1= ruleVLSOtherDeclaration ) ;
2782 public final EObject ruleVLSDeclaration() throws RecognitionException {
2783 EObject current = null;
2784
2785 EObject this_VLSVariableDeclaration_0 = null;
2786
2787 EObject this_VLSOtherDeclaration_1 = null;
2788
2789
2790
2791 enterRule();
2792
2793 try {
2794 // InternalVampireLanguage.g:1081:2: ( (this_VLSVariableDeclaration_0= ruleVLSVariableDeclaration | this_VLSOtherDeclaration_1= ruleVLSOtherDeclaration ) )
2795 // InternalVampireLanguage.g:1082:2: (this_VLSVariableDeclaration_0= ruleVLSVariableDeclaration | this_VLSOtherDeclaration_1= ruleVLSOtherDeclaration )
2796 {
2797 // InternalVampireLanguage.g:1082:2: (this_VLSVariableDeclaration_0= ruleVLSVariableDeclaration | this_VLSOtherDeclaration_1= ruleVLSOtherDeclaration )
2798 int alt16=2;
2799 int LA16_0 = input.LA(1);
2800
2801 if ( (LA16_0==RULE_UPPER_WORD_ID) ) {
2802 alt16=1;
2803 }
2804 else if ( (LA16_0==RULE_LOWER_WORD_ID||(LA16_0>=RULE_SINGLE_QUOTE && LA16_0<=RULE_DOUBLE_DOLLAR_ID)||(LA16_0>=46 && LA16_0<=60)||(LA16_0>=78 && LA16_0<=79)) ) {
2805 alt16=2;
2806 }
2807 else {
2808 NoViableAltException nvae =
2809 new NoViableAltException("", 16, 0, input);
2810
2811 throw nvae;
2812 }
2813 switch (alt16) {
2814 case 1 :
2815 // InternalVampireLanguage.g:1083:3: this_VLSVariableDeclaration_0= ruleVLSVariableDeclaration
2816 {
2817
2818 newCompositeNode(grammarAccess.getVLSDeclarationAccess().getVLSVariableDeclarationParserRuleCall_0());
2819
2820 pushFollow(FOLLOW_2);
2821 this_VLSVariableDeclaration_0=ruleVLSVariableDeclaration();
2822
2823 state._fsp--;
2824
2825
2826 current = this_VLSVariableDeclaration_0;
2827 afterParserOrEnumRuleCall();
2828
2829
2830 }
2831 break;
2832 case 2 :
2833 // InternalVampireLanguage.g:1092:3: this_VLSOtherDeclaration_1= ruleVLSOtherDeclaration
2834 {
2835
2836 newCompositeNode(grammarAccess.getVLSDeclarationAccess().getVLSOtherDeclarationParserRuleCall_1());
2837
2838 pushFollow(FOLLOW_2);
2839 this_VLSOtherDeclaration_1=ruleVLSOtherDeclaration();
2840
2841 state._fsp--;
2842
2843
2844 current = this_VLSOtherDeclaration_1;
2845 afterParserOrEnumRuleCall();
2846
2847
2848 }
2849 break;
2850
2851 }
2852
2853
2854 }
2855
2856
2857 leaveRule();
2858
2859 }
2860
2861 catch (RecognitionException re) {
2862 recover(input,re);
2863 appendSkippedTokens();
2864 }
2865 finally {
2866 }
2867 return current;
2868 }
2869 // $ANTLR end "ruleVLSDeclaration"
2870
2871
2872 // $ANTLR start "entryRuleVLSOtherDeclaration"
2873 // InternalVampireLanguage.g:1104:1: entryRuleVLSOtherDeclaration returns [EObject current=null] : iv_ruleVLSOtherDeclaration= ruleVLSOtherDeclaration EOF ;
2874 public final EObject entryRuleVLSOtherDeclaration() throws RecognitionException {
2875 EObject current = null;
2876
2877 EObject iv_ruleVLSOtherDeclaration = null;
2878
2879
2880 try {
2881 // InternalVampireLanguage.g:1104:60: (iv_ruleVLSOtherDeclaration= ruleVLSOtherDeclaration EOF )
2882 // InternalVampireLanguage.g:1105:2: iv_ruleVLSOtherDeclaration= ruleVLSOtherDeclaration EOF
2883 {
2884 newCompositeNode(grammarAccess.getVLSOtherDeclarationRule());
2885 pushFollow(FOLLOW_1);
2886 iv_ruleVLSOtherDeclaration=ruleVLSOtherDeclaration();
2887
2888 state._fsp--;
2889
2890 current =iv_ruleVLSOtherDeclaration;
2891 match(input,EOF,FOLLOW_2);
2892
2893 }
2894
2895 }
2896
2897 catch (RecognitionException re) {
2898 recover(input,re);
2899 appendSkippedTokens();
2900 }
2901 finally {
2902 }
2903 return current;
2904 }
2905 // $ANTLR end "entryRuleVLSOtherDeclaration"
2906
2907
2908 // $ANTLR start "ruleVLSOtherDeclaration"
2909 // InternalVampireLanguage.g:1111:1: ruleVLSOtherDeclaration returns [EObject current=null] : (this_VLSAtomicConstant_0= ruleVLSAtomicConstant otherlv_1= ':' ( (lv_type_2_0= ruleVLSTypeDef ) ) ) ;
2910 public final EObject ruleVLSOtherDeclaration() throws RecognitionException {
2911 EObject current = null;
2912
2913 Token otherlv_1=null;
2914 EObject this_VLSAtomicConstant_0 = null;
2915
2916 EObject lv_type_2_0 = null;
2917
2918
2919
2920 enterRule();
2921
2922 try {
2923 // InternalVampireLanguage.g:1117:2: ( (this_VLSAtomicConstant_0= ruleVLSAtomicConstant otherlv_1= ':' ( (lv_type_2_0= ruleVLSTypeDef ) ) ) )
2924 // InternalVampireLanguage.g:1118:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant otherlv_1= ':' ( (lv_type_2_0= ruleVLSTypeDef ) ) )
2925 {
2926 // InternalVampireLanguage.g:1118:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant otherlv_1= ':' ( (lv_type_2_0= ruleVLSTypeDef ) ) )
2927 // InternalVampireLanguage.g:1119:3: this_VLSAtomicConstant_0= ruleVLSAtomicConstant otherlv_1= ':' ( (lv_type_2_0= ruleVLSTypeDef ) )
2928 {
2929
2930 newCompositeNode(grammarAccess.getVLSOtherDeclarationAccess().getVLSAtomicConstantParserRuleCall_0());
2931
2932 pushFollow(FOLLOW_32);
2933 this_VLSAtomicConstant_0=ruleVLSAtomicConstant();
2934
2935 state._fsp--;
2936
2937
2938 current = this_VLSAtomicConstant_0;
2939 afterParserOrEnumRuleCall();
2940
2941 otherlv_1=(Token)match(input,61,FOLLOW_33);
2942
2943 newLeafNode(otherlv_1, grammarAccess.getVLSOtherDeclarationAccess().getColonKeyword_1());
2944
2945 // InternalVampireLanguage.g:1131:3: ( (lv_type_2_0= ruleVLSTypeDef ) )
2946 // InternalVampireLanguage.g:1132:4: (lv_type_2_0= ruleVLSTypeDef )
2947 {
2948 // InternalVampireLanguage.g:1132:4: (lv_type_2_0= ruleVLSTypeDef )
2949 // InternalVampireLanguage.g:1133:5: lv_type_2_0= ruleVLSTypeDef
2950 {
2951
2952 newCompositeNode(grammarAccess.getVLSOtherDeclarationAccess().getTypeVLSTypeDefParserRuleCall_2_0());
2953
2954 pushFollow(FOLLOW_2);
2955 lv_type_2_0=ruleVLSTypeDef();
2956
2957 state._fsp--;
2958
2959
2960 if (current==null) {
2961 current = createModelElementForParent(grammarAccess.getVLSOtherDeclarationRule());
2962 }
2963 set(
2964 current,
2965 "type",
2966 lv_type_2_0,
2967 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTypeDef");
2968 afterParserOrEnumRuleCall();
2969
2970
2971 }
2972
2973
2974 }
2975
2976
2977 }
2978
2979
2980 }
2981
2982
2983 leaveRule();
2984
2985 }
2986
2987 catch (RecognitionException re) {
2988 recover(input,re);
2989 appendSkippedTokens();
2990 }
2991 finally {
2992 }
2993 return current;
2994 }
2995 // $ANTLR end "ruleVLSOtherDeclaration"
2996
2997
2998 // $ANTLR start "entryRuleVLSVariableDeclaration"
2999 // InternalVampireLanguage.g:1154:1: entryRuleVLSVariableDeclaration returns [EObject current=null] : iv_ruleVLSVariableDeclaration= ruleVLSVariableDeclaration EOF ;
3000 public final EObject entryRuleVLSVariableDeclaration() throws RecognitionException {
3001 EObject current = null;
3002
3003 EObject iv_ruleVLSVariableDeclaration = null;
3004
3005
3006 try {
3007 // InternalVampireLanguage.g:1154:63: (iv_ruleVLSVariableDeclaration= ruleVLSVariableDeclaration EOF )
3008 // InternalVampireLanguage.g:1155:2: iv_ruleVLSVariableDeclaration= ruleVLSVariableDeclaration EOF
3009 {
3010 newCompositeNode(grammarAccess.getVLSVariableDeclarationRule());
3011 pushFollow(FOLLOW_1);
3012 iv_ruleVLSVariableDeclaration=ruleVLSVariableDeclaration();
3013
3014 state._fsp--;
3015
3016 current =iv_ruleVLSVariableDeclaration;
3017 match(input,EOF,FOLLOW_2);
3018
3019 }
3020
3021 }
3022
3023 catch (RecognitionException re) {
3024 recover(input,re);
3025 appendSkippedTokens();
3026 }
3027 finally {
3028 }
3029 return current;
3030 }
3031 // $ANTLR end "entryRuleVLSVariableDeclaration"
3032
3033
3034 // $ANTLR start "ruleVLSVariableDeclaration"
3035 // InternalVampireLanguage.g:1161:1: ruleVLSVariableDeclaration returns [EObject current=null] : (this_VLSVariable_0= ruleVLSVariable otherlv_1= ':' ( (lv_type_2_0= ruleVLSTypeDef ) ) ) ;
3036 public final EObject ruleVLSVariableDeclaration() throws RecognitionException {
3037 EObject current = null;
3038
3039 Token otherlv_1=null;
3040 EObject this_VLSVariable_0 = null;
3041
3042 EObject lv_type_2_0 = null;
3043
3044
3045
3046 enterRule();
3047
3048 try {
3049 // InternalVampireLanguage.g:1167:2: ( (this_VLSVariable_0= ruleVLSVariable otherlv_1= ':' ( (lv_type_2_0= ruleVLSTypeDef ) ) ) )
3050 // InternalVampireLanguage.g:1168:2: (this_VLSVariable_0= ruleVLSVariable otherlv_1= ':' ( (lv_type_2_0= ruleVLSTypeDef ) ) )
3051 {
3052 // InternalVampireLanguage.g:1168:2: (this_VLSVariable_0= ruleVLSVariable otherlv_1= ':' ( (lv_type_2_0= ruleVLSTypeDef ) ) )
3053 // InternalVampireLanguage.g:1169:3: this_VLSVariable_0= ruleVLSVariable otherlv_1= ':' ( (lv_type_2_0= ruleVLSTypeDef ) )
3054 {
3055
3056 newCompositeNode(grammarAccess.getVLSVariableDeclarationAccess().getVLSVariableParserRuleCall_0());
3057
3058 pushFollow(FOLLOW_32);
3059 this_VLSVariable_0=ruleVLSVariable();
3060
3061 state._fsp--;
3062
3063
3064 current = this_VLSVariable_0;
3065 afterParserOrEnumRuleCall();
3066
3067 otherlv_1=(Token)match(input,61,FOLLOW_33);
3068
3069 newLeafNode(otherlv_1, grammarAccess.getVLSVariableDeclarationAccess().getColonKeyword_1());
3070
3071 // InternalVampireLanguage.g:1181:3: ( (lv_type_2_0= ruleVLSTypeDef ) )
3072 // InternalVampireLanguage.g:1182:4: (lv_type_2_0= ruleVLSTypeDef )
3073 {
3074 // InternalVampireLanguage.g:1182:4: (lv_type_2_0= ruleVLSTypeDef )
3075 // InternalVampireLanguage.g:1183:5: lv_type_2_0= ruleVLSTypeDef
3076 {
3077
3078 newCompositeNode(grammarAccess.getVLSVariableDeclarationAccess().getTypeVLSTypeDefParserRuleCall_2_0());
3079
3080 pushFollow(FOLLOW_2);
3081 lv_type_2_0=ruleVLSTypeDef();
3082
3083 state._fsp--;
3084
3085
3086 if (current==null) {
3087 current = createModelElementForParent(grammarAccess.getVLSVariableDeclarationRule());
3088 }
3089 set(
3090 current,
3091 "type",
3092 lv_type_2_0,
3093 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTypeDef");
3094 afterParserOrEnumRuleCall();
3095
3096
3097 }
3098
3099
3100 }
3101
3102
3103 }
3104
3105
3106 }
3107
3108
3109 leaveRule();
3110
3111 }
3112
3113 catch (RecognitionException re) {
3114 recover(input,re);
3115 appendSkippedTokens();
3116 }
3117 finally {
3118 }
3119 return current;
3120 }
3121 // $ANTLR end "ruleVLSVariableDeclaration"
3122
3123
3124 // $ANTLR start "entryRuleVLSTypeDef"
3125 // InternalVampireLanguage.g:1204:1: entryRuleVLSTypeDef returns [EObject current=null] : iv_ruleVLSTypeDef= ruleVLSTypeDef EOF ;
3126 public final EObject entryRuleVLSTypeDef() throws RecognitionException {
3127 EObject current = null;
3128
3129 EObject iv_ruleVLSTypeDef = null;
3130
3131
3132 try {
3133 // InternalVampireLanguage.g:1204:51: (iv_ruleVLSTypeDef= ruleVLSTypeDef EOF )
3134 // InternalVampireLanguage.g:1205:2: iv_ruleVLSTypeDef= ruleVLSTypeDef EOF
3135 {
3136 newCompositeNode(grammarAccess.getVLSTypeDefRule());
3137 pushFollow(FOLLOW_1);
3138 iv_ruleVLSTypeDef=ruleVLSTypeDef();
3139
3140 state._fsp--;
3141
3142 current =iv_ruleVLSTypeDef;
3143 match(input,EOF,FOLLOW_2);
3144
3145 }
3146
3147 }
3148
3149 catch (RecognitionException re) {
3150 recover(input,re);
3151 appendSkippedTokens();
3152 }
3153 finally {
3154 }
3155 return current;
3156 }
3157 // $ANTLR end "entryRuleVLSTypeDef"
3158
3159
3160 // $ANTLR start "ruleVLSTypeDef"
3161 // InternalVampireLanguage.g:1211:1: ruleVLSTypeDef returns [EObject current=null] : ( ( (lv_typeSig_0_0= ruleVLSUnitaryTerm ) ) (otherlv_1= '>' ( (lv_mapsTo_2_0= ruleVLSAtomicConstant ) ) )? ) ;
3162 public final EObject ruleVLSTypeDef() throws RecognitionException {
3163 EObject current = null;
3164
3165 Token otherlv_1=null;
3166 EObject lv_typeSig_0_0 = null;
3167
3168 EObject lv_mapsTo_2_0 = null;
3169
3170
3171
3172 enterRule();
3173
3174 try {
3175 // InternalVampireLanguage.g:1217:2: ( ( ( (lv_typeSig_0_0= ruleVLSUnitaryTerm ) ) (otherlv_1= '>' ( (lv_mapsTo_2_0= ruleVLSAtomicConstant ) ) )? ) )
3176 // InternalVampireLanguage.g:1218:2: ( ( (lv_typeSig_0_0= ruleVLSUnitaryTerm ) ) (otherlv_1= '>' ( (lv_mapsTo_2_0= ruleVLSAtomicConstant ) ) )? )
3177 {
3178 // InternalVampireLanguage.g:1218:2: ( ( (lv_typeSig_0_0= ruleVLSUnitaryTerm ) ) (otherlv_1= '>' ( (lv_mapsTo_2_0= ruleVLSAtomicConstant ) ) )? )
3179 // InternalVampireLanguage.g:1219:3: ( (lv_typeSig_0_0= ruleVLSUnitaryTerm ) ) (otherlv_1= '>' ( (lv_mapsTo_2_0= ruleVLSAtomicConstant ) ) )?
3180 {
3181 // InternalVampireLanguage.g:1219:3: ( (lv_typeSig_0_0= ruleVLSUnitaryTerm ) )
3182 // InternalVampireLanguage.g:1220:4: (lv_typeSig_0_0= ruleVLSUnitaryTerm )
3183 {
3184 // InternalVampireLanguage.g:1220:4: (lv_typeSig_0_0= ruleVLSUnitaryTerm )
3185 // InternalVampireLanguage.g:1221:5: lv_typeSig_0_0= ruleVLSUnitaryTerm
3186 {
3187
3188 newCompositeNode(grammarAccess.getVLSTypeDefAccess().getTypeSigVLSUnitaryTermParserRuleCall_0_0());
3189
3190 pushFollow(FOLLOW_34);
3191 lv_typeSig_0_0=ruleVLSUnitaryTerm();
3192
3193 state._fsp--;
3194
3195
3196 if (current==null) {
3197 current = createModelElementForParent(grammarAccess.getVLSTypeDefRule());
3198 }
3199 set(
3200 current,
3201 "typeSig",
3202 lv_typeSig_0_0,
3203 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryTerm");
3204 afterParserOrEnumRuleCall();
3205
3206
3207 }
3208
3209
3210 }
3211
3212 // InternalVampireLanguage.g:1238:3: (otherlv_1= '>' ( (lv_mapsTo_2_0= ruleVLSAtomicConstant ) ) )?
3213 int alt17=2;
3214 int LA17_0 = input.LA(1);
3215
3216 if ( (LA17_0==62) ) {
3217 alt17=1;
3218 }
3219 switch (alt17) {
3220 case 1 :
3221 // InternalVampireLanguage.g:1239:4: otherlv_1= '>' ( (lv_mapsTo_2_0= ruleVLSAtomicConstant ) )
3222 {
3223 otherlv_1=(Token)match(input,62,FOLLOW_35);
3224
3225 newLeafNode(otherlv_1, grammarAccess.getVLSTypeDefAccess().getGreaterThanSignKeyword_1_0());
3226
3227 // InternalVampireLanguage.g:1243:4: ( (lv_mapsTo_2_0= ruleVLSAtomicConstant ) )
3228 // InternalVampireLanguage.g:1244:5: (lv_mapsTo_2_0= ruleVLSAtomicConstant )
3229 {
3230 // InternalVampireLanguage.g:1244:5: (lv_mapsTo_2_0= ruleVLSAtomicConstant )
3231 // InternalVampireLanguage.g:1245:6: lv_mapsTo_2_0= ruleVLSAtomicConstant
3232 {
3233
3234 newCompositeNode(grammarAccess.getVLSTypeDefAccess().getMapsToVLSAtomicConstantParserRuleCall_1_1_0());
3235
3236 pushFollow(FOLLOW_2);
3237 lv_mapsTo_2_0=ruleVLSAtomicConstant();
3238
3239 state._fsp--;
3240
3241
3242 if (current==null) {
3243 current = createModelElementForParent(grammarAccess.getVLSTypeDefRule());
3244 }
3245 set(
3246 current,
3247 "mapsTo",
3248 lv_mapsTo_2_0,
3249 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAtomicConstant");
3250 afterParserOrEnumRuleCall();
3251
3252
3253 }
3254
3255
3256 }
3257
3258
3259 }
3260 break;
3261
3262 }
3263
3264
3265 }
3266
3267
3268 }
3269
3270
3271 leaveRule();
3272
3273 }
3274
3275 catch (RecognitionException re) {
3276 recover(input,re);
3277 appendSkippedTokens();
3278 }
3279 finally {
3280 }
3281 return current;
3282 }
3283 // $ANTLR end "ruleVLSTypeDef"
3284
3285
3286 // $ANTLR start "entryRuleVLSUnitaryTerm"
3287 // InternalVampireLanguage.g:1267:1: entryRuleVLSUnitaryTerm returns [EObject current=null] : iv_ruleVLSUnitaryTerm= ruleVLSUnitaryTerm EOF ;
3288 public final EObject entryRuleVLSUnitaryTerm() throws RecognitionException {
3289 EObject current = null;
3290
3291 EObject iv_ruleVLSUnitaryTerm = null;
3292
3293
3294 try {
3295 // InternalVampireLanguage.g:1267:55: (iv_ruleVLSUnitaryTerm= ruleVLSUnitaryTerm EOF )
3296 // InternalVampireLanguage.g:1268:2: iv_ruleVLSUnitaryTerm= ruleVLSUnitaryTerm EOF
3297 {
3298 newCompositeNode(grammarAccess.getVLSUnitaryTermRule());
3299 pushFollow(FOLLOW_1);
3300 iv_ruleVLSUnitaryTerm=ruleVLSUnitaryTerm();
3301
3302 state._fsp--;
3303
3304 current =iv_ruleVLSUnitaryTerm;
3305 match(input,EOF,FOLLOW_2);
3306
3307 }
3308
3309 }
3310
3311 catch (RecognitionException re) {
3312 recover(input,re);
3313 appendSkippedTokens();
3314 }
3315 finally {
3316 }
3317 return current;
3318 }
3319 // $ANTLR end "entryRuleVLSUnitaryTerm"
3320
3321
3322 // $ANTLR start "ruleVLSUnitaryTerm"
3323 // InternalVampireLanguage.g:1274:1: ruleVLSUnitaryTerm returns [EObject current=null] : ( ( (lv_initType_0_0= ruleVLSAtomic ) ) (otherlv_1= '*' ( (lv_nextType_2_0= ruleVLSAtomicConstant ) ) )* ) ;
3324 public final EObject ruleVLSUnitaryTerm() throws RecognitionException {
3325 EObject current = null;
3326
3327 Token otherlv_1=null;
3328 EObject lv_initType_0_0 = null;
3329
3330 EObject lv_nextType_2_0 = null;
3331
3332
3333
3334 enterRule();
3335
3336 try {
3337 // InternalVampireLanguage.g:1280:2: ( ( ( (lv_initType_0_0= ruleVLSAtomic ) ) (otherlv_1= '*' ( (lv_nextType_2_0= ruleVLSAtomicConstant ) ) )* ) )
3338 // InternalVampireLanguage.g:1281:2: ( ( (lv_initType_0_0= ruleVLSAtomic ) ) (otherlv_1= '*' ( (lv_nextType_2_0= ruleVLSAtomicConstant ) ) )* )
3339 {
3340 // InternalVampireLanguage.g:1281:2: ( ( (lv_initType_0_0= ruleVLSAtomic ) ) (otherlv_1= '*' ( (lv_nextType_2_0= ruleVLSAtomicConstant ) ) )* )
3341 // InternalVampireLanguage.g:1282:3: ( (lv_initType_0_0= ruleVLSAtomic ) ) (otherlv_1= '*' ( (lv_nextType_2_0= ruleVLSAtomicConstant ) ) )*
3342 {
3343 // InternalVampireLanguage.g:1282:3: ( (lv_initType_0_0= ruleVLSAtomic ) )
3344 // InternalVampireLanguage.g:1283:4: (lv_initType_0_0= ruleVLSAtomic )
3345 {
3346 // InternalVampireLanguage.g:1283:4: (lv_initType_0_0= ruleVLSAtomic )
3347 // InternalVampireLanguage.g:1284:5: lv_initType_0_0= ruleVLSAtomic
3348 {
3349
3350 newCompositeNode(grammarAccess.getVLSUnitaryTermAccess().getInitTypeVLSAtomicParserRuleCall_0_0());
3351
3352 pushFollow(FOLLOW_36);
3353 lv_initType_0_0=ruleVLSAtomic();
3354
3355 state._fsp--;
3356
3357
3358 if (current==null) {
3359 current = createModelElementForParent(grammarAccess.getVLSUnitaryTermRule());
3360 }
3361 set(
3362 current,
3363 "initType",
3364 lv_initType_0_0,
3365 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAtomic");
3366 afterParserOrEnumRuleCall();
3367
3368
3369 }
3370
3371
3372 }
3373
3374 // InternalVampireLanguage.g:1301:3: (otherlv_1= '*' ( (lv_nextType_2_0= ruleVLSAtomicConstant ) ) )*
3375 loop18:
3376 do {
3377 int alt18=2;
3378 int LA18_0 = input.LA(1);
3379
3380 if ( (LA18_0==63) ) {
3381 alt18=1;
3382 }
3383
3384
3385 switch (alt18) {
3386 case 1 :
3387 // InternalVampireLanguage.g:1302:4: otherlv_1= '*' ( (lv_nextType_2_0= ruleVLSAtomicConstant ) )
3388 {
3389 otherlv_1=(Token)match(input,63,FOLLOW_35);
3390
3391 newLeafNode(otherlv_1, grammarAccess.getVLSUnitaryTermAccess().getAsteriskKeyword_1_0());
3392
3393 // InternalVampireLanguage.g:1306:4: ( (lv_nextType_2_0= ruleVLSAtomicConstant ) )
3394 // InternalVampireLanguage.g:1307:5: (lv_nextType_2_0= ruleVLSAtomicConstant )
3395 {
3396 // InternalVampireLanguage.g:1307:5: (lv_nextType_2_0= ruleVLSAtomicConstant )
3397 // InternalVampireLanguage.g:1308:6: lv_nextType_2_0= ruleVLSAtomicConstant
3398 {
3399
3400 newCompositeNode(grammarAccess.getVLSUnitaryTermAccess().getNextTypeVLSAtomicConstantParserRuleCall_1_1_0());
3401
3402 pushFollow(FOLLOW_36);
3403 lv_nextType_2_0=ruleVLSAtomicConstant();
3404
3405 state._fsp--;
3406
3407
3408 if (current==null) {
3409 current = createModelElementForParent(grammarAccess.getVLSUnitaryTermRule());
3410 }
3411 set(
3412 current,
3413 "nextType",
3414 lv_nextType_2_0,
3415 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAtomicConstant");
3416 afterParserOrEnumRuleCall();
3417
3418
3419 }
3420
3421
3422 }
3423
3424
3425 }
3426 break;
3427
3428 default :
3429 break loop18;
3430 }
3431 } while (true);
3432
3433
3434 }
3435
3436
3437 }
3438
3439
3440 leaveRule();
3441
3442 }
3443
3444 catch (RecognitionException re) {
3445 recover(input,re);
3446 appendSkippedTokens();
3447 }
3448 finally {
3449 }
3450 return current;
3451 }
3452 // $ANTLR end "ruleVLSUnitaryTerm"
3453
3454
2605 // $ANTLR start "entryRuleVLSTerm" 3455 // $ANTLR start "entryRuleVLSTerm"
2606 // InternalVampireLanguage.g:1049:1: entryRuleVLSTerm returns [EObject current=null] : iv_ruleVLSTerm= ruleVLSTerm EOF ; 3456 // InternalVampireLanguage.g:1330:1: entryRuleVLSTerm returns [EObject current=null] : iv_ruleVLSTerm= ruleVLSTerm EOF ;
2607 public final EObject entryRuleVLSTerm() throws RecognitionException { 3457 public final EObject entryRuleVLSTerm() throws RecognitionException {
2608 EObject current = null; 3458 EObject current = null;
2609 3459
@@ -2611,8 +3461,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2611 3461
2612 3462
2613 try { 3463 try {
2614 // InternalVampireLanguage.g:1049:48: (iv_ruleVLSTerm= ruleVLSTerm EOF ) 3464 // InternalVampireLanguage.g:1330:48: (iv_ruleVLSTerm= ruleVLSTerm EOF )
2615 // InternalVampireLanguage.g:1050:2: iv_ruleVLSTerm= ruleVLSTerm EOF 3465 // InternalVampireLanguage.g:1331:2: iv_ruleVLSTerm= ruleVLSTerm EOF
2616 { 3466 {
2617 newCompositeNode(grammarAccess.getVLSTermRule()); 3467 newCompositeNode(grammarAccess.getVLSTermRule());
2618 pushFollow(FOLLOW_1); 3468 pushFollow(FOLLOW_1);
@@ -2639,7 +3489,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2639 3489
2640 3490
2641 // $ANTLR start "ruleVLSTerm" 3491 // $ANTLR start "ruleVLSTerm"
2642 // InternalVampireLanguage.g:1056:1: ruleVLSTerm returns [EObject current=null] : this_VLSBinary_0= ruleVLSBinary ; 3492 // InternalVampireLanguage.g:1337:1: ruleVLSTerm returns [EObject current=null] : this_VLSBinary_0= ruleVLSBinary ;
2643 public final EObject ruleVLSTerm() throws RecognitionException { 3493 public final EObject ruleVLSTerm() throws RecognitionException {
2644 EObject current = null; 3494 EObject current = null;
2645 3495
@@ -2650,8 +3500,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2650 enterRule(); 3500 enterRule();
2651 3501
2652 try { 3502 try {
2653 // InternalVampireLanguage.g:1062:2: (this_VLSBinary_0= ruleVLSBinary ) 3503 // InternalVampireLanguage.g:1343:2: (this_VLSBinary_0= ruleVLSBinary )
2654 // InternalVampireLanguage.g:1063:2: this_VLSBinary_0= ruleVLSBinary 3504 // InternalVampireLanguage.g:1344:2: this_VLSBinary_0= ruleVLSBinary
2655 { 3505 {
2656 3506
2657 newCompositeNode(grammarAccess.getVLSTermAccess().getVLSBinaryParserRuleCall()); 3507 newCompositeNode(grammarAccess.getVLSTermAccess().getVLSBinaryParserRuleCall());
@@ -2685,7 +3535,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2685 3535
2686 3536
2687 // $ANTLR start "entryRuleVLSBinary" 3537 // $ANTLR start "entryRuleVLSBinary"
2688 // InternalVampireLanguage.g:1074:1: entryRuleVLSBinary returns [EObject current=null] : iv_ruleVLSBinary= ruleVLSBinary EOF ; 3538 // InternalVampireLanguage.g:1355:1: entryRuleVLSBinary returns [EObject current=null] : iv_ruleVLSBinary= ruleVLSBinary EOF ;
2689 public final EObject entryRuleVLSBinary() throws RecognitionException { 3539 public final EObject entryRuleVLSBinary() throws RecognitionException {
2690 EObject current = null; 3540 EObject current = null;
2691 3541
@@ -2693,8 +3543,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2693 3543
2694 3544
2695 try { 3545 try {
2696 // InternalVampireLanguage.g:1074:50: (iv_ruleVLSBinary= ruleVLSBinary EOF ) 3546 // InternalVampireLanguage.g:1355:50: (iv_ruleVLSBinary= ruleVLSBinary EOF )
2697 // InternalVampireLanguage.g:1075:2: iv_ruleVLSBinary= ruleVLSBinary EOF 3547 // InternalVampireLanguage.g:1356:2: iv_ruleVLSBinary= ruleVLSBinary EOF
2698 { 3548 {
2699 newCompositeNode(grammarAccess.getVLSBinaryRule()); 3549 newCompositeNode(grammarAccess.getVLSBinaryRule());
2700 pushFollow(FOLLOW_1); 3550 pushFollow(FOLLOW_1);
@@ -2721,7 +3571,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2721 3571
2722 3572
2723 // $ANTLR start "ruleVLSBinary" 3573 // $ANTLR start "ruleVLSBinary"
2724 // InternalVampireLanguage.g:1081: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 ) ) )+ )? ) ; 3574 // InternalVampireLanguage.g:1362: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 ) ) )+ )? ) ;
2725 public final EObject ruleVLSBinary() throws RecognitionException { 3575 public final EObject ruleVLSBinary() throws RecognitionException {
2726 EObject current = null; 3576 EObject current = null;
2727 3577
@@ -2746,16 +3596,16 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2746 enterRule(); 3596 enterRule();
2747 3597
2748 try { 3598 try {
2749 // InternalVampireLanguage.g:1087: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 ) ) )+ )? ) ) 3599 // InternalVampireLanguage.g:1368: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 ) ) )+ )? ) )
2750 // InternalVampireLanguage.g:1088: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 ) ) )+ )? ) 3600 // InternalVampireLanguage.g:1369: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 ) ) )+ )? )
2751 { 3601 {
2752 // InternalVampireLanguage.g:1088: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 ) ) )+ )? ) 3602 // InternalVampireLanguage.g:1369: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 ) ) )+ )? )
2753 // InternalVampireLanguage.g:1089: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 ) ) )+ )? 3603 // InternalVampireLanguage.g:1370: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 ) ) )+ )?
2754 { 3604 {
2755 3605
2756 newCompositeNode(grammarAccess.getVLSBinaryAccess().getVLSUnitaryFormulaParserRuleCall_0()); 3606 newCompositeNode(grammarAccess.getVLSBinaryAccess().getVLSUnitaryFormulaParserRuleCall_0());
2757 3607
2758 pushFollow(FOLLOW_23); 3608 pushFollow(FOLLOW_37);
2759 this_VLSUnitaryFormula_0=ruleVLSUnitaryFormula(); 3609 this_VLSUnitaryFormula_0=ruleVLSUnitaryFormula();
2760 3610
2761 state._fsp--; 3611 state._fsp--;
@@ -2764,87 +3614,87 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2764 current = this_VLSUnitaryFormula_0; 3614 current = this_VLSUnitaryFormula_0;
2765 afterParserOrEnumRuleCall(); 3615 afterParserOrEnumRuleCall();
2766 3616
2767 // InternalVampireLanguage.g:1097: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 ) ) )+ )? 3617 // InternalVampireLanguage.g:1378: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 ) ) )+ )?
2768 int alt19=4; 3618 int alt22=4;
2769 switch ( input.LA(1) ) { 3619 switch ( input.LA(1) ) {
2770 case 54: 3620 case 64:
2771 case 55: 3621 case 65:
2772 case 56: 3622 case 66:
2773 case 57: 3623 case 67:
2774 case 58: 3624 case 68:
2775 case 59: 3625 case 69:
2776 { 3626 {
2777 alt19=1; 3627 alt22=1;
2778 } 3628 }
2779 break; 3629 break;
2780 case 60: 3630 case 70:
2781 { 3631 {
2782 alt19=2; 3632 alt22=2;
2783 } 3633 }
2784 break; 3634 break;
2785 case 61: 3635 case 71:
2786 { 3636 {
2787 alt19=3; 3637 alt22=3;
2788 } 3638 }
2789 break; 3639 break;
2790 } 3640 }
2791 3641
2792 switch (alt19) { 3642 switch (alt22) {
2793 case 1 : 3643 case 1 :
2794 // InternalVampireLanguage.g:1098:4: ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) 3644 // InternalVampireLanguage.g:1379:4: ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) )
2795 { 3645 {
2796 // InternalVampireLanguage.g:1098:4: ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) 3646 // InternalVampireLanguage.g:1379:4: ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) )
2797 // InternalVampireLanguage.g:1099:5: ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) 3647 // InternalVampireLanguage.g:1380:5: ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) )
2798 { 3648 {
2799 // InternalVampireLanguage.g:1099:5: ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) 3649 // InternalVampireLanguage.g:1380:5: ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) )
2800 int alt16=6; 3650 int alt19=6;
2801 switch ( input.LA(1) ) { 3651 switch ( input.LA(1) ) {
2802 case 54: 3652 case 64:
2803 { 3653 {
2804 alt16=1; 3654 alt19=1;
2805 } 3655 }
2806 break; 3656 break;
2807 case 55: 3657 case 65:
2808 { 3658 {
2809 alt16=2; 3659 alt19=2;
2810 } 3660 }
2811 break; 3661 break;
2812 case 56: 3662 case 66:
2813 { 3663 {
2814 alt16=3; 3664 alt19=3;
2815 } 3665 }
2816 break; 3666 break;
2817 case 57: 3667 case 67:
2818 { 3668 {
2819 alt16=4; 3669 alt19=4;
2820 } 3670 }
2821 break; 3671 break;
2822 case 58: 3672 case 68:
2823 { 3673 {
2824 alt16=5; 3674 alt19=5;
2825 } 3675 }
2826 break; 3676 break;
2827 case 59: 3677 case 69:
2828 { 3678 {
2829 alt16=6; 3679 alt19=6;
2830 } 3680 }
2831 break; 3681 break;
2832 default: 3682 default:
2833 NoViableAltException nvae = 3683 NoViableAltException nvae =
2834 new NoViableAltException("", 16, 0, input); 3684 new NoViableAltException("", 19, 0, input);
2835 3685
2836 throw nvae; 3686 throw nvae;
2837 } 3687 }
2838 3688
2839 switch (alt16) { 3689 switch (alt19) {
2840 case 1 : 3690 case 1 :
2841 // InternalVampireLanguage.g:1100:6: ( () otherlv_2= '<=>' ) 3691 // InternalVampireLanguage.g:1381:6: ( () otherlv_2= '<=>' )
2842 { 3692 {
2843 // InternalVampireLanguage.g:1100:6: ( () otherlv_2= '<=>' ) 3693 // InternalVampireLanguage.g:1381:6: ( () otherlv_2= '<=>' )
2844 // InternalVampireLanguage.g:1101:7: () otherlv_2= '<=>' 3694 // InternalVampireLanguage.g:1382:7: () otherlv_2= '<=>'
2845 { 3695 {
2846 // InternalVampireLanguage.g:1101:7: () 3696 // InternalVampireLanguage.g:1382:7: ()
2847 // InternalVampireLanguage.g:1102:8: 3697 // InternalVampireLanguage.g:1383:8:
2848 { 3698 {
2849 3699
2850 current = forceCreateModelElementAndSet( 3700 current = forceCreateModelElementAndSet(
@@ -2854,7 +3704,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2854 3704
2855 } 3705 }
2856 3706
2857 otherlv_2=(Token)match(input,54,FOLLOW_13); 3707 otherlv_2=(Token)match(input,64,FOLLOW_20);
2858 3708
2859 newLeafNode(otherlv_2, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1()); 3709 newLeafNode(otherlv_2, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1());
2860 3710
@@ -2865,13 +3715,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2865 } 3715 }
2866 break; 3716 break;
2867 case 2 : 3717 case 2 :
2868 // InternalVampireLanguage.g:1114:6: ( () otherlv_4= '=>' ) 3718 // InternalVampireLanguage.g:1395:6: ( () otherlv_4= '=>' )
2869 { 3719 {
2870 // InternalVampireLanguage.g:1114:6: ( () otherlv_4= '=>' ) 3720 // InternalVampireLanguage.g:1395:6: ( () otherlv_4= '=>' )
2871 // InternalVampireLanguage.g:1115:7: () otherlv_4= '=>' 3721 // InternalVampireLanguage.g:1396:7: () otherlv_4= '=>'
2872 { 3722 {
2873 // InternalVampireLanguage.g:1115:7: () 3723 // InternalVampireLanguage.g:1396:7: ()
2874 // InternalVampireLanguage.g:1116:8: 3724 // InternalVampireLanguage.g:1397:8:
2875 { 3725 {
2876 3726
2877 current = forceCreateModelElementAndSet( 3727 current = forceCreateModelElementAndSet(
@@ -2881,7 +3731,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2881 3731
2882 } 3732 }
2883 3733
2884 otherlv_4=(Token)match(input,55,FOLLOW_13); 3734 otherlv_4=(Token)match(input,65,FOLLOW_20);
2885 3735
2886 newLeafNode(otherlv_4, grammarAccess.getVLSBinaryAccess().getEqualsSignGreaterThanSignKeyword_1_0_0_1_1()); 3736 newLeafNode(otherlv_4, grammarAccess.getVLSBinaryAccess().getEqualsSignGreaterThanSignKeyword_1_0_0_1_1());
2887 3737
@@ -2892,13 +3742,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2892 } 3742 }
2893 break; 3743 break;
2894 case 3 : 3744 case 3 :
2895 // InternalVampireLanguage.g:1128:6: ( () otherlv_6= '<=' ) 3745 // InternalVampireLanguage.g:1409:6: ( () otherlv_6= '<=' )
2896 { 3746 {
2897 // InternalVampireLanguage.g:1128:6: ( () otherlv_6= '<=' ) 3747 // InternalVampireLanguage.g:1409:6: ( () otherlv_6= '<=' )
2898 // InternalVampireLanguage.g:1129:7: () otherlv_6= '<=' 3748 // InternalVampireLanguage.g:1410:7: () otherlv_6= '<='
2899 { 3749 {
2900 // InternalVampireLanguage.g:1129:7: () 3750 // InternalVampireLanguage.g:1410:7: ()
2901 // InternalVampireLanguage.g:1130:8: 3751 // InternalVampireLanguage.g:1411:8:
2902 { 3752 {
2903 3753
2904 current = forceCreateModelElementAndSet( 3754 current = forceCreateModelElementAndSet(
@@ -2908,7 +3758,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2908 3758
2909 } 3759 }
2910 3760
2911 otherlv_6=(Token)match(input,56,FOLLOW_13); 3761 otherlv_6=(Token)match(input,66,FOLLOW_20);
2912 3762
2913 newLeafNode(otherlv_6, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignKeyword_1_0_0_2_1()); 3763 newLeafNode(otherlv_6, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignKeyword_1_0_0_2_1());
2914 3764
@@ -2919,13 +3769,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2919 } 3769 }
2920 break; 3770 break;
2921 case 4 : 3771 case 4 :
2922 // InternalVampireLanguage.g:1142:6: ( () otherlv_8= '<~>' ) 3772 // InternalVampireLanguage.g:1423:6: ( () otherlv_8= '<~>' )
2923 { 3773 {
2924 // InternalVampireLanguage.g:1142:6: ( () otherlv_8= '<~>' ) 3774 // InternalVampireLanguage.g:1423:6: ( () otherlv_8= '<~>' )
2925 // InternalVampireLanguage.g:1143:7: () otherlv_8= '<~>' 3775 // InternalVampireLanguage.g:1424:7: () otherlv_8= '<~>'
2926 { 3776 {
2927 // InternalVampireLanguage.g:1143:7: () 3777 // InternalVampireLanguage.g:1424:7: ()
2928 // InternalVampireLanguage.g:1144:8: 3778 // InternalVampireLanguage.g:1425:8:
2929 { 3779 {
2930 3780
2931 current = forceCreateModelElementAndSet( 3781 current = forceCreateModelElementAndSet(
@@ -2935,7 +3785,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2935 3785
2936 } 3786 }
2937 3787
2938 otherlv_8=(Token)match(input,57,FOLLOW_13); 3788 otherlv_8=(Token)match(input,67,FOLLOW_20);
2939 3789
2940 newLeafNode(otherlv_8, grammarAccess.getVLSBinaryAccess().getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1()); 3790 newLeafNode(otherlv_8, grammarAccess.getVLSBinaryAccess().getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1());
2941 3791
@@ -2946,13 +3796,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2946 } 3796 }
2947 break; 3797 break;
2948 case 5 : 3798 case 5 :
2949 // InternalVampireLanguage.g:1156:6: ( () otherlv_10= '~|' ) 3799 // InternalVampireLanguage.g:1437:6: ( () otherlv_10= '~|' )
2950 { 3800 {
2951 // InternalVampireLanguage.g:1156:6: ( () otherlv_10= '~|' ) 3801 // InternalVampireLanguage.g:1437:6: ( () otherlv_10= '~|' )
2952 // InternalVampireLanguage.g:1157:7: () otherlv_10= '~|' 3802 // InternalVampireLanguage.g:1438:7: () otherlv_10= '~|'
2953 { 3803 {
2954 // InternalVampireLanguage.g:1157:7: () 3804 // InternalVampireLanguage.g:1438:7: ()
2955 // InternalVampireLanguage.g:1158:8: 3805 // InternalVampireLanguage.g:1439:8:
2956 { 3806 {
2957 3807
2958 current = forceCreateModelElementAndSet( 3808 current = forceCreateModelElementAndSet(
@@ -2962,7 +3812,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2962 3812
2963 } 3813 }
2964 3814
2965 otherlv_10=(Token)match(input,58,FOLLOW_13); 3815 otherlv_10=(Token)match(input,68,FOLLOW_20);
2966 3816
2967 newLeafNode(otherlv_10, grammarAccess.getVLSBinaryAccess().getTildeVerticalLineKeyword_1_0_0_4_1()); 3817 newLeafNode(otherlv_10, grammarAccess.getVLSBinaryAccess().getTildeVerticalLineKeyword_1_0_0_4_1());
2968 3818
@@ -2973,13 +3823,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2973 } 3823 }
2974 break; 3824 break;
2975 case 6 : 3825 case 6 :
2976 // InternalVampireLanguage.g:1170:6: ( () otherlv_12= '~&' ) 3826 // InternalVampireLanguage.g:1451:6: ( () otherlv_12= '~&' )
2977 { 3827 {
2978 // InternalVampireLanguage.g:1170:6: ( () otherlv_12= '~&' ) 3828 // InternalVampireLanguage.g:1451:6: ( () otherlv_12= '~&' )
2979 // InternalVampireLanguage.g:1171:7: () otherlv_12= '~&' 3829 // InternalVampireLanguage.g:1452:7: () otherlv_12= '~&'
2980 { 3830 {
2981 // InternalVampireLanguage.g:1171:7: () 3831 // InternalVampireLanguage.g:1452:7: ()
2982 // InternalVampireLanguage.g:1172:8: 3832 // InternalVampireLanguage.g:1453:8:
2983 { 3833 {
2984 3834
2985 current = forceCreateModelElementAndSet( 3835 current = forceCreateModelElementAndSet(
@@ -2989,7 +3839,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
2989 3839
2990 } 3840 }
2991 3841
2992 otherlv_12=(Token)match(input,59,FOLLOW_13); 3842 otherlv_12=(Token)match(input,69,FOLLOW_20);
2993 3843
2994 newLeafNode(otherlv_12, grammarAccess.getVLSBinaryAccess().getTildeAmpersandKeyword_1_0_0_5_1()); 3844 newLeafNode(otherlv_12, grammarAccess.getVLSBinaryAccess().getTildeAmpersandKeyword_1_0_0_5_1());
2995 3845
@@ -3002,11 +3852,11 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3002 3852
3003 } 3853 }
3004 3854
3005 // InternalVampireLanguage.g:1184:5: ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) 3855 // InternalVampireLanguage.g:1465:5: ( (lv_right_13_0= ruleVLSUnitaryFormula ) )
3006 // InternalVampireLanguage.g:1185:6: (lv_right_13_0= ruleVLSUnitaryFormula ) 3856 // InternalVampireLanguage.g:1466:6: (lv_right_13_0= ruleVLSUnitaryFormula )
3007 { 3857 {
3008 // InternalVampireLanguage.g:1185:6: (lv_right_13_0= ruleVLSUnitaryFormula ) 3858 // InternalVampireLanguage.g:1466:6: (lv_right_13_0= ruleVLSUnitaryFormula )
3009 // InternalVampireLanguage.g:1186:7: lv_right_13_0= ruleVLSUnitaryFormula 3859 // InternalVampireLanguage.g:1467:7: lv_right_13_0= ruleVLSUnitaryFormula
3010 { 3860 {
3011 3861
3012 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0()); 3862 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0());
@@ -3040,26 +3890,26 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3040 } 3890 }
3041 break; 3891 break;
3042 case 2 : 3892 case 2 :
3043 // InternalVampireLanguage.g:1205:4: ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ 3893 // InternalVampireLanguage.g:1486:4: ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+
3044 { 3894 {
3045 // InternalVampireLanguage.g:1205:4: ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ 3895 // InternalVampireLanguage.g:1486:4: ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+
3046 int cnt17=0; 3896 int cnt20=0;
3047 loop17: 3897 loop20:
3048 do { 3898 do {
3049 int alt17=2; 3899 int alt20=2;
3050 int LA17_0 = input.LA(1); 3900 int LA20_0 = input.LA(1);
3051 3901
3052 if ( (LA17_0==60) ) { 3902 if ( (LA20_0==70) ) {
3053 alt17=1; 3903 alt20=1;
3054 } 3904 }
3055 3905
3056 3906
3057 switch (alt17) { 3907 switch (alt20) {
3058 case 1 : 3908 case 1 :
3059 // InternalVampireLanguage.g:1206:5: () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) 3909 // InternalVampireLanguage.g:1487:5: () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) )
3060 { 3910 {
3061 // InternalVampireLanguage.g:1206:5: () 3911 // InternalVampireLanguage.g:1487:5: ()
3062 // InternalVampireLanguage.g:1207:6: 3912 // InternalVampireLanguage.g:1488:6:
3063 { 3913 {
3064 3914
3065 current = forceCreateModelElementAndSet( 3915 current = forceCreateModelElementAndSet(
@@ -3069,20 +3919,20 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3069 3919
3070 } 3920 }
3071 3921
3072 otherlv_15=(Token)match(input,60,FOLLOW_13); 3922 otherlv_15=(Token)match(input,70,FOLLOW_20);
3073 3923
3074 newLeafNode(otherlv_15, grammarAccess.getVLSBinaryAccess().getAmpersandKeyword_1_1_1()); 3924 newLeafNode(otherlv_15, grammarAccess.getVLSBinaryAccess().getAmpersandKeyword_1_1_1());
3075 3925
3076 // InternalVampireLanguage.g:1217:5: ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) 3926 // InternalVampireLanguage.g:1498:5: ( (lv_right_16_0= ruleVLSUnitaryFormula ) )
3077 // InternalVampireLanguage.g:1218:6: (lv_right_16_0= ruleVLSUnitaryFormula ) 3927 // InternalVampireLanguage.g:1499:6: (lv_right_16_0= ruleVLSUnitaryFormula )
3078 { 3928 {
3079 // InternalVampireLanguage.g:1218:6: (lv_right_16_0= ruleVLSUnitaryFormula ) 3929 // InternalVampireLanguage.g:1499:6: (lv_right_16_0= ruleVLSUnitaryFormula )
3080 // InternalVampireLanguage.g:1219:7: lv_right_16_0= ruleVLSUnitaryFormula 3930 // InternalVampireLanguage.g:1500:7: lv_right_16_0= ruleVLSUnitaryFormula
3081 { 3931 {
3082 3932
3083 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0()); 3933 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0());
3084 3934
3085 pushFollow(FOLLOW_24); 3935 pushFollow(FOLLOW_38);
3086 lv_right_16_0=ruleVLSUnitaryFormula(); 3936 lv_right_16_0=ruleVLSUnitaryFormula();
3087 3937
3088 state._fsp--; 3938 state._fsp--;
@@ -3109,38 +3959,38 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3109 break; 3959 break;
3110 3960
3111 default : 3961 default :
3112 if ( cnt17 >= 1 ) break loop17; 3962 if ( cnt20 >= 1 ) break loop20;
3113 EarlyExitException eee = 3963 EarlyExitException eee =
3114 new EarlyExitException(17, input); 3964 new EarlyExitException(20, input);
3115 throw eee; 3965 throw eee;
3116 } 3966 }
3117 cnt17++; 3967 cnt20++;
3118 } while (true); 3968 } while (true);
3119 3969
3120 3970
3121 } 3971 }
3122 break; 3972 break;
3123 case 3 : 3973 case 3 :
3124 // InternalVampireLanguage.g:1238:4: ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ 3974 // InternalVampireLanguage.g:1519:4: ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+
3125 { 3975 {
3126 // InternalVampireLanguage.g:1238:4: ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ 3976 // InternalVampireLanguage.g:1519:4: ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+
3127 int cnt18=0; 3977 int cnt21=0;
3128 loop18: 3978 loop21:
3129 do { 3979 do {
3130 int alt18=2; 3980 int alt21=2;
3131 int LA18_0 = input.LA(1); 3981 int LA21_0 = input.LA(1);
3132 3982
3133 if ( (LA18_0==61) ) { 3983 if ( (LA21_0==71) ) {
3134 alt18=1; 3984 alt21=1;
3135 } 3985 }
3136 3986
3137 3987
3138 switch (alt18) { 3988 switch (alt21) {
3139 case 1 : 3989 case 1 :
3140 // InternalVampireLanguage.g:1239:5: () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) 3990 // InternalVampireLanguage.g:1520:5: () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) )
3141 { 3991 {
3142 // InternalVampireLanguage.g:1239:5: () 3992 // InternalVampireLanguage.g:1520:5: ()
3143 // InternalVampireLanguage.g:1240:6: 3993 // InternalVampireLanguage.g:1521:6:
3144 { 3994 {
3145 3995
3146 current = forceCreateModelElementAndSet( 3996 current = forceCreateModelElementAndSet(
@@ -3150,20 +4000,20 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3150 4000
3151 } 4001 }
3152 4002
3153 otherlv_18=(Token)match(input,61,FOLLOW_13); 4003 otherlv_18=(Token)match(input,71,FOLLOW_20);
3154 4004
3155 newLeafNode(otherlv_18, grammarAccess.getVLSBinaryAccess().getVerticalLineKeyword_1_2_1()); 4005 newLeafNode(otherlv_18, grammarAccess.getVLSBinaryAccess().getVerticalLineKeyword_1_2_1());
3156 4006
3157 // InternalVampireLanguage.g:1250:5: ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) 4007 // InternalVampireLanguage.g:1531:5: ( (lv_right_19_0= ruleVLSUnitaryFormula ) )
3158 // InternalVampireLanguage.g:1251:6: (lv_right_19_0= ruleVLSUnitaryFormula ) 4008 // InternalVampireLanguage.g:1532:6: (lv_right_19_0= ruleVLSUnitaryFormula )
3159 { 4009 {
3160 // InternalVampireLanguage.g:1251:6: (lv_right_19_0= ruleVLSUnitaryFormula ) 4010 // InternalVampireLanguage.g:1532:6: (lv_right_19_0= ruleVLSUnitaryFormula )
3161 // InternalVampireLanguage.g:1252:7: lv_right_19_0= ruleVLSUnitaryFormula 4011 // InternalVampireLanguage.g:1533:7: lv_right_19_0= ruleVLSUnitaryFormula
3162 { 4012 {
3163 4013
3164 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0()); 4014 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0());
3165 4015
3166 pushFollow(FOLLOW_25); 4016 pushFollow(FOLLOW_39);
3167 lv_right_19_0=ruleVLSUnitaryFormula(); 4017 lv_right_19_0=ruleVLSUnitaryFormula();
3168 4018
3169 state._fsp--; 4019 state._fsp--;
@@ -3190,12 +4040,12 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3190 break; 4040 break;
3191 4041
3192 default : 4042 default :
3193 if ( cnt18 >= 1 ) break loop18; 4043 if ( cnt21 >= 1 ) break loop21;
3194 EarlyExitException eee = 4044 EarlyExitException eee =
3195 new EarlyExitException(18, input); 4045 new EarlyExitException(21, input);
3196 throw eee; 4046 throw eee;
3197 } 4047 }
3198 cnt18++; 4048 cnt21++;
3199 } while (true); 4049 } while (true);
3200 4050
3201 4051
@@ -3227,7 +4077,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3227 4077
3228 4078
3229 // $ANTLR start "entryRuleVLSUnitaryFormula" 4079 // $ANTLR start "entryRuleVLSUnitaryFormula"
3230 // InternalVampireLanguage.g:1275:1: entryRuleVLSUnitaryFormula returns [EObject current=null] : iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF ; 4080 // InternalVampireLanguage.g:1556:1: entryRuleVLSUnitaryFormula returns [EObject current=null] : iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF ;
3231 public final EObject entryRuleVLSUnitaryFormula() throws RecognitionException { 4081 public final EObject entryRuleVLSUnitaryFormula() throws RecognitionException {
3232 EObject current = null; 4082 EObject current = null;
3233 4083
@@ -3235,8 +4085,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3235 4085
3236 4086
3237 try { 4087 try {
3238 // InternalVampireLanguage.g:1275:58: (iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF ) 4088 // InternalVampireLanguage.g:1556:58: (iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF )
3239 // InternalVampireLanguage.g:1276:2: iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF 4089 // InternalVampireLanguage.g:1557:2: iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF
3240 { 4090 {
3241 newCompositeNode(grammarAccess.getVLSUnitaryFormulaRule()); 4091 newCompositeNode(grammarAccess.getVLSUnitaryFormulaRule());
3242 pushFollow(FOLLOW_1); 4092 pushFollow(FOLLOW_1);
@@ -3263,7 +4113,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3263 4113
3264 4114
3265 // $ANTLR start "ruleVLSUnitaryFormula" 4115 // $ANTLR start "ruleVLSUnitaryFormula"
3266 // InternalVampireLanguage.g:1282: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= ')' ) ) ; 4116 // InternalVampireLanguage.g:1563: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= ')' ) ) ;
3267 public final EObject ruleVLSUnitaryFormula() throws RecognitionException { 4117 public final EObject ruleVLSUnitaryFormula() throws RecognitionException {
3268 EObject current = null; 4118 EObject current = null;
3269 4119
@@ -3284,44 +4134,34 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3284 enterRule(); 4134 enterRule();
3285 4135
3286 try { 4136 try {
3287 // InternalVampireLanguage.g:1288: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= ')' ) ) ) 4137 // InternalVampireLanguage.g:1569: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= ')' ) ) )
3288 // InternalVampireLanguage.g:1289: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= ')' ) ) 4138 // InternalVampireLanguage.g:1570: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= ')' ) )
3289 { 4139 {
3290 // InternalVampireLanguage.g:1289: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= ')' ) ) 4140 // InternalVampireLanguage.g:1570: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= ')' ) )
3291 int alt20=5; 4141 int alt23=5;
3292 switch ( input.LA(1) ) { 4142 switch ( input.LA(1) ) {
3293 case 62: 4143 case 72:
3294 { 4144 {
3295 alt20=1; 4145 alt23=1;
3296 } 4146 }
3297 break; 4147 break;
3298 case 64: 4148 case 73:
3299 { 4149 {
3300 alt20=2; 4150 alt23=2;
3301 } 4151 }
3302 break; 4152 break;
3303 case 65: 4153 case 74:
3304 { 4154 {
3305 alt20=3; 4155 alt23=3;
3306 } 4156 }
3307 break; 4157 break;
3308 case RULE_SINGLE_QUOTE:
3309 case RULE_LOWER_WORD_ID: 4158 case RULE_LOWER_WORD_ID:
3310 case RULE_SIGNED_LITERAL: 4159 case RULE_SIGNED_LITERAL:
4160 case RULE_SINGLE_QUOTE:
3311 case RULE_DOLLAR_ID: 4161 case RULE_DOLLAR_ID:
3312 case RULE_DOUBLE_DOLLAR_ID: 4162 case RULE_DOUBLE_DOLLAR_ID:
3313 case RULE_UPPER_WORD_ID: 4163 case RULE_UPPER_WORD_ID:
3314 case RULE_SIGNED_REAL_ID:
3315 case RULE_SIGNED_RAT_ID:
3316 case RULE_DOUBLE_QUOTE: 4164 case RULE_DOUBLE_QUOTE:
3317 case 38:
3318 case 39:
3319 case 40:
3320 case 41:
3321 case 42:
3322 case 43:
3323 case 44:
3324 case 45:
3325 case 46: 4165 case 46:
3326 case 47: 4166 case 47:
3327 case 48: 4167 case 48:
@@ -3329,28 +4169,36 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3329 case 50: 4169 case 50:
3330 case 51: 4170 case 51:
3331 case 52: 4171 case 52:
3332 case 69: 4172 case 53:
3333 case 70: 4173 case 54:
3334 case 71: 4174 case 55:
4175 case 56:
4176 case 57:
4177 case 58:
4178 case 59:
4179 case 60:
4180 case 78:
4181 case 79:
4182 case 80:
3335 { 4183 {
3336 alt20=4; 4184 alt23=4;
3337 } 4185 }
3338 break; 4186 break;
3339 case 34: 4187 case 38:
3340 { 4188 {
3341 alt20=5; 4189 alt23=5;
3342 } 4190 }
3343 break; 4191 break;
3344 default: 4192 default:
3345 NoViableAltException nvae = 4193 NoViableAltException nvae =
3346 new NoViableAltException("", 20, 0, input); 4194 new NoViableAltException("", 23, 0, input);
3347 4195
3348 throw nvae; 4196 throw nvae;
3349 } 4197 }
3350 4198
3351 switch (alt20) { 4199 switch (alt23) {
3352 case 1 : 4200 case 1 :
3353 // InternalVampireLanguage.g:1290:3: this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier 4201 // InternalVampireLanguage.g:1571:3: this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier
3354 { 4202 {
3355 4203
3356 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUniversalQuantifierParserRuleCall_0()); 4204 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUniversalQuantifierParserRuleCall_0());
@@ -3368,7 +4216,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3368 } 4216 }
3369 break; 4217 break;
3370 case 2 : 4218 case 2 :
3371 // InternalVampireLanguage.g:1299:3: this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier 4219 // InternalVampireLanguage.g:1580:3: this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier
3372 { 4220 {
3373 4221
3374 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSExistentialQuantifierParserRuleCall_1()); 4222 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSExistentialQuantifierParserRuleCall_1());
@@ -3386,7 +4234,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3386 } 4234 }
3387 break; 4235 break;
3388 case 3 : 4236 case 3 :
3389 // InternalVampireLanguage.g:1308:3: this_VLSUnaryNegation_2= ruleVLSUnaryNegation 4237 // InternalVampireLanguage.g:1589:3: this_VLSUnaryNegation_2= ruleVLSUnaryNegation
3390 { 4238 {
3391 4239
3392 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryNegationParserRuleCall_2()); 4240 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryNegationParserRuleCall_2());
@@ -3404,7 +4252,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3404 } 4252 }
3405 break; 4253 break;
3406 case 4 : 4254 case 4 :
3407 // InternalVampireLanguage.g:1317:3: this_VLSUnaryInfix_3= ruleVLSUnaryInfix 4255 // InternalVampireLanguage.g:1598:3: this_VLSUnaryInfix_3= ruleVLSUnaryInfix
3408 { 4256 {
3409 4257
3410 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryInfixParserRuleCall_3()); 4258 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryInfixParserRuleCall_3());
@@ -3422,19 +4270,19 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3422 } 4270 }
3423 break; 4271 break;
3424 case 5 : 4272 case 5 :
3425 // InternalVampireLanguage.g:1326:3: (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' ) 4273 // InternalVampireLanguage.g:1607:3: (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' )
3426 { 4274 {
3427 // InternalVampireLanguage.g:1326:3: (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' ) 4275 // InternalVampireLanguage.g:1607:3: (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' )
3428 // InternalVampireLanguage.g:1327:4: otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' 4276 // InternalVampireLanguage.g:1608:4: otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')'
3429 { 4277 {
3430 otherlv_4=(Token)match(input,34,FOLLOW_13); 4278 otherlv_4=(Token)match(input,38,FOLLOW_20);
3431 4279
3432 newLeafNode(otherlv_4, grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0()); 4280 newLeafNode(otherlv_4, grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0());
3433 4281
3434 4282
3435 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSTermParserRuleCall_4_1()); 4283 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSTermParserRuleCall_4_1());
3436 4284
3437 pushFollow(FOLLOW_16); 4285 pushFollow(FOLLOW_23);
3438 this_VLSTerm_5=ruleVLSTerm(); 4286 this_VLSTerm_5=ruleVLSTerm();
3439 4287
3440 state._fsp--; 4288 state._fsp--;
@@ -3443,7 +4291,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3443 current = this_VLSTerm_5; 4291 current = this_VLSTerm_5;
3444 afterParserOrEnumRuleCall(); 4292 afterParserOrEnumRuleCall();
3445 4293
3446 otherlv_6=(Token)match(input,35,FOLLOW_2); 4294 otherlv_6=(Token)match(input,40,FOLLOW_2);
3447 4295
3448 newLeafNode(otherlv_6, grammarAccess.getVLSUnitaryFormulaAccess().getRightParenthesisKeyword_4_2()); 4296 newLeafNode(otherlv_6, grammarAccess.getVLSUnitaryFormulaAccess().getRightParenthesisKeyword_4_2());
3449 4297
@@ -3476,7 +4324,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3476 4324
3477 4325
3478 // $ANTLR start "entryRuleVLSUniversalQuantifier" 4326 // $ANTLR start "entryRuleVLSUniversalQuantifier"
3479 // InternalVampireLanguage.g:1348:1: entryRuleVLSUniversalQuantifier returns [EObject current=null] : iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF ; 4327 // InternalVampireLanguage.g:1629:1: entryRuleVLSUniversalQuantifier returns [EObject current=null] : iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF ;
3480 public final EObject entryRuleVLSUniversalQuantifier() throws RecognitionException { 4328 public final EObject entryRuleVLSUniversalQuantifier() throws RecognitionException {
3481 EObject current = null; 4329 EObject current = null;
3482 4330
@@ -3484,8 +4332,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3484 4332
3485 4333
3486 try { 4334 try {
3487 // InternalVampireLanguage.g:1348:63: (iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF ) 4335 // InternalVampireLanguage.g:1629:63: (iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF )
3488 // InternalVampireLanguage.g:1349:2: iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF 4336 // InternalVampireLanguage.g:1630:2: iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF
3489 { 4337 {
3490 newCompositeNode(grammarAccess.getVLSUniversalQuantifierRule()); 4338 newCompositeNode(grammarAccess.getVLSUniversalQuantifierRule());
3491 pushFollow(FOLLOW_1); 4339 pushFollow(FOLLOW_1);
@@ -3512,7 +4360,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3512 4360
3513 4361
3514 // $ANTLR start "ruleVLSUniversalQuantifier" 4362 // $ANTLR start "ruleVLSUniversalQuantifier"
3515 // InternalVampireLanguage.g:1355: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 ) ) ) ; 4363 // InternalVampireLanguage.g:1636:1: ruleVLSUniversalQuantifier returns [EObject current=null] : ( () (otherlv_1= '!' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) ;
3516 public final EObject ruleVLSUniversalQuantifier() throws RecognitionException { 4364 public final EObject ruleVLSUniversalQuantifier() throws RecognitionException {
3517 EObject current = null; 4365 EObject current = null;
3518 4366
@@ -3521,9 +4369,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3521 Token otherlv_4=null; 4369 Token otherlv_4=null;
3522 Token otherlv_6=null; 4370 Token otherlv_6=null;
3523 Token otherlv_7=null; 4371 Token otherlv_7=null;
3524 EObject lv_variables_3_0 = null; 4372 EObject lv_variables_3_1 = null;
4373
4374 EObject lv_variables_3_2 = null;
3525 4375
3526 EObject lv_variables_5_0 = null; 4376 EObject lv_variables_5_1 = null;
4377
4378 EObject lv_variables_5_2 = null;
3527 4379
3528 EObject lv_operand_8_0 = null; 4380 EObject lv_operand_8_0 = null;
3529 4381
@@ -3532,14 +4384,14 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3532 enterRule(); 4384 enterRule();
3533 4385
3534 try { 4386 try {
3535 // InternalVampireLanguage.g:1361: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 ) ) ) ) 4387 // InternalVampireLanguage.g:1642:2: ( ( () (otherlv_1= '!' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) )
3536 // InternalVampireLanguage.g:1362: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 ) ) ) 4388 // InternalVampireLanguage.g:1643:2: ( () (otherlv_1= '!' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
3537 { 4389 {
3538 // InternalVampireLanguage.g:1362: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 ) ) ) 4390 // InternalVampireLanguage.g:1643:2: ( () (otherlv_1= '!' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
3539 // InternalVampireLanguage.g:1363: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 ) ) 4391 // InternalVampireLanguage.g:1644:3: () (otherlv_1= '!' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
3540 { 4392 {
3541 // InternalVampireLanguage.g:1363:3: () 4393 // InternalVampireLanguage.g:1644:3: ()
3542 // InternalVampireLanguage.g:1364:4: 4394 // InternalVampireLanguage.g:1645:4:
3543 { 4395 {
3544 4396
3545 current = forceCreateModelElement( 4397 current = forceCreateModelElement(
@@ -3549,92 +4401,214 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3549 4401
3550 } 4402 }
3551 4403
3552 // InternalVampireLanguage.g:1370:3: (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) 4404 // InternalVampireLanguage.g:1651:3: (otherlv_1= '!' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' )
3553 // InternalVampireLanguage.g:1371:4: otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' 4405 // InternalVampireLanguage.g:1652:4: otherlv_1= '!' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':'
3554 { 4406 {
3555 otherlv_1=(Token)match(input,62,FOLLOW_26); 4407 otherlv_1=(Token)match(input,72,FOLLOW_11);
3556 4408
3557 newLeafNode(otherlv_1, grammarAccess.getVLSUniversalQuantifierAccess().getExclamationMarkKeyword_1_0()); 4409 newLeafNode(otherlv_1, grammarAccess.getVLSUniversalQuantifierAccess().getExclamationMarkKeyword_1_0());
3558 4410
3559 otherlv_2=(Token)match(input,53,FOLLOW_27); 4411 otherlv_2=(Token)match(input,32,FOLLOW_40);
3560 4412
3561 newLeafNode(otherlv_2, grammarAccess.getVLSUniversalQuantifierAccess().getLeftSquareBracketKeyword_1_1()); 4413 newLeafNode(otherlv_2, grammarAccess.getVLSUniversalQuantifierAccess().getLeftSquareBracketKeyword_1_1());
3562 4414
3563 // InternalVampireLanguage.g:1379:4: ( (lv_variables_3_0= ruleVLSVariable ) ) 4415 // InternalVampireLanguage.g:1660:4: ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) )
3564 // InternalVampireLanguage.g:1380:5: (lv_variables_3_0= ruleVLSVariable ) 4416 // InternalVampireLanguage.g:1661:5: ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) )
3565 { 4417 {
3566 // InternalVampireLanguage.g:1380:5: (lv_variables_3_0= ruleVLSVariable ) 4418 // InternalVampireLanguage.g:1661:5: ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) )
3567 // InternalVampireLanguage.g:1381:6: lv_variables_3_0= ruleVLSVariable 4419 // InternalVampireLanguage.g:1662:6: (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration )
3568 { 4420 {
4421 // InternalVampireLanguage.g:1662:6: (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration )
4422 int alt24=2;
4423 int LA24_0 = input.LA(1);
3569 4424
3570 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0()); 4425 if ( (LA24_0==RULE_UPPER_WORD_ID) ) {
3571 4426 int LA24_1 = input.LA(2);
3572 pushFollow(FOLLOW_7);
3573 lv_variables_3_0=ruleVLSVariable();
3574 4427
3575 state._fsp--; 4428 if ( (LA24_1==33||LA24_1==39) ) {
4429 alt24=1;
4430 }
4431 else if ( (LA24_1==61) ) {
4432 alt24=2;
4433 }
4434 else {
4435 NoViableAltException nvae =
4436 new NoViableAltException("", 24, 1, input);
4437
4438 throw nvae;
4439 }
4440 }
4441 else {
4442 NoViableAltException nvae =
4443 new NoViableAltException("", 24, 0, input);
4444
4445 throw nvae;
4446 }
4447 switch (alt24) {
4448 case 1 :
4449 // InternalVampireLanguage.g:1663:7: lv_variables_3_1= ruleVLSVariable
4450 {
4451
4452 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0_0());
4453
4454 pushFollow(FOLLOW_41);
4455 lv_variables_3_1=ruleVLSVariable();
3576 4456
4457 state._fsp--;
4458
4459
4460 if (current==null) {
4461 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
4462 }
4463 add(
4464 current,
4465 "variables",
4466 lv_variables_3_1,
4467 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4468 afterParserOrEnumRuleCall();
4469
3577 4470
3578 if (current==null) { 4471 }
3579 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule()); 4472 break;
3580 } 4473 case 2 :
3581 add( 4474 // InternalVampireLanguage.g:1679:7: lv_variables_3_2= ruleVLSVariableDeclaration
3582 current, 4475 {
3583 "variables", 4476
3584 lv_variables_3_0, 4477 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableDeclarationParserRuleCall_1_2_0_1());
3585 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable"); 4478
3586 afterParserOrEnumRuleCall(); 4479 pushFollow(FOLLOW_41);
3587 4480 lv_variables_3_2=ruleVLSVariableDeclaration();
4481
4482 state._fsp--;
4483
4484
4485 if (current==null) {
4486 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
4487 }
4488 add(
4489 current,
4490 "variables",
4491 lv_variables_3_2,
4492 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariableDeclaration");
4493 afterParserOrEnumRuleCall();
4494
4495
4496 }
4497 break;
3588 4498
3589 } 4499 }
3590 4500
3591 4501
3592 } 4502 }
3593 4503
3594 // InternalVampireLanguage.g:1398:4: (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* 4504
3595 loop21: 4505 }
4506
4507 // InternalVampireLanguage.g:1697:4: (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )*
4508 loop26:
3596 do { 4509 do {
3597 int alt21=2; 4510 int alt26=2;
3598 int LA21_0 = input.LA(1); 4511 int LA26_0 = input.LA(1);
3599 4512
3600 if ( (LA21_0==29) ) { 4513 if ( (LA26_0==39) ) {
3601 alt21=1; 4514 alt26=1;
3602 } 4515 }
3603 4516
3604 4517
3605 switch (alt21) { 4518 switch (alt26) {
3606 case 1 : 4519 case 1 :
3607 // InternalVampireLanguage.g:1399:5: otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) 4520 // InternalVampireLanguage.g:1698:5: otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) )
3608 { 4521 {
3609 otherlv_4=(Token)match(input,29,FOLLOW_27); 4522 otherlv_4=(Token)match(input,39,FOLLOW_40);
3610 4523
3611 newLeafNode(otherlv_4, grammarAccess.getVLSUniversalQuantifierAccess().getCommaKeyword_1_3_0()); 4524 newLeafNode(otherlv_4, grammarAccess.getVLSUniversalQuantifierAccess().getCommaKeyword_1_3_0());
3612 4525
3613 // InternalVampireLanguage.g:1403:5: ( (lv_variables_5_0= ruleVLSVariable ) ) 4526 // InternalVampireLanguage.g:1702:5: ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) )
3614 // InternalVampireLanguage.g:1404:6: (lv_variables_5_0= ruleVLSVariable ) 4527 // InternalVampireLanguage.g:1703:6: ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) )
3615 { 4528 {
3616 // InternalVampireLanguage.g:1404:6: (lv_variables_5_0= ruleVLSVariable ) 4529 // InternalVampireLanguage.g:1703:6: ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) )
3617 // InternalVampireLanguage.g:1405:7: lv_variables_5_0= ruleVLSVariable 4530 // InternalVampireLanguage.g:1704:7: (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration )
3618 { 4531 {
4532 // InternalVampireLanguage.g:1704:7: (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration )
4533 int alt25=2;
4534 int LA25_0 = input.LA(1);
4535
4536 if ( (LA25_0==RULE_UPPER_WORD_ID) ) {
4537 int LA25_1 = input.LA(2);
4538
4539 if ( (LA25_1==33||LA25_1==39) ) {
4540 alt25=1;
4541 }
4542 else if ( (LA25_1==61) ) {
4543 alt25=2;
4544 }
4545 else {
4546 NoViableAltException nvae =
4547 new NoViableAltException("", 25, 1, input);
4548
4549 throw nvae;
4550 }
4551 }
4552 else {
4553 NoViableAltException nvae =
4554 new NoViableAltException("", 25, 0, input);
3619 4555
3620 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0()); 4556 throw nvae;
3621 4557 }
3622 pushFollow(FOLLOW_7); 4558 switch (alt25) {
3623 lv_variables_5_0=ruleVLSVariable(); 4559 case 1 :
3624 4560 // InternalVampireLanguage.g:1705:8: lv_variables_5_1= ruleVLSVariable
3625 state._fsp--; 4561 {
4562
4563 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0_0());
4564
4565 pushFollow(FOLLOW_41);
4566 lv_variables_5_1=ruleVLSVariable();
4567
4568 state._fsp--;
4569
4570
4571 if (current==null) {
4572 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
4573 }
4574 add(
4575 current,
4576 "variables",
4577 lv_variables_5_1,
4578 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4579 afterParserOrEnumRuleCall();
4580
4581
4582 }
4583 break;
4584 case 2 :
4585 // InternalVampireLanguage.g:1721:8: lv_variables_5_2= ruleVLSVariableDeclaration
4586 {
4587
4588 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableDeclarationParserRuleCall_1_3_1_0_1());
4589
4590 pushFollow(FOLLOW_41);
4591 lv_variables_5_2=ruleVLSVariableDeclaration();
4592
4593 state._fsp--;
4594
4595
4596 if (current==null) {
4597 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
4598 }
4599 add(
4600 current,
4601 "variables",
4602 lv_variables_5_2,
4603 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariableDeclaration");
4604 afterParserOrEnumRuleCall();
4605
4606
4607 }
4608 break;
3626 4609
4610 }
3627 4611
3628 if (current==null) {
3629 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
3630 }
3631 add(
3632 current,
3633 "variables",
3634 lv_variables_5_0,
3635 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
3636 afterParserOrEnumRuleCall();
3637
3638 4612
3639 } 4613 }
3640 4614
@@ -3646,26 +4620,26 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3646 break; 4620 break;
3647 4621
3648 default : 4622 default :
3649 break loop21; 4623 break loop26;
3650 } 4624 }
3651 } while (true); 4625 } while (true);
3652 4626
3653 otherlv_6=(Token)match(input,30,FOLLOW_28); 4627 otherlv_6=(Token)match(input,33,FOLLOW_32);
3654 4628
3655 newLeafNode(otherlv_6, grammarAccess.getVLSUniversalQuantifierAccess().getRightSquareBracketKeyword_1_4()); 4629 newLeafNode(otherlv_6, grammarAccess.getVLSUniversalQuantifierAccess().getRightSquareBracketKeyword_1_4());
3656 4630
3657 otherlv_7=(Token)match(input,63,FOLLOW_13); 4631 otherlv_7=(Token)match(input,61,FOLLOW_20);
3658 4632
3659 newLeafNode(otherlv_7, grammarAccess.getVLSUniversalQuantifierAccess().getColonKeyword_1_5()); 4633 newLeafNode(otherlv_7, grammarAccess.getVLSUniversalQuantifierAccess().getColonKeyword_1_5());
3660 4634
3661 4635
3662 } 4636 }
3663 4637
3664 // InternalVampireLanguage.g:1432:3: ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) 4638 // InternalVampireLanguage.g:1749:3: ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
3665 // InternalVampireLanguage.g:1433:4: (lv_operand_8_0= ruleVLSUnitaryFormula ) 4639 // InternalVampireLanguage.g:1750:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
3666 { 4640 {
3667 // InternalVampireLanguage.g:1433:4: (lv_operand_8_0= ruleVLSUnitaryFormula ) 4641 // InternalVampireLanguage.g:1750:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
3668 // InternalVampireLanguage.g:1434:5: lv_operand_8_0= ruleVLSUnitaryFormula 4642 // InternalVampireLanguage.g:1751:5: lv_operand_8_0= ruleVLSUnitaryFormula
3669 { 4643 {
3670 4644
3671 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0()); 4645 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
@@ -3715,7 +4689,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3715 4689
3716 4690
3717 // $ANTLR start "entryRuleVLSExistentialQuantifier" 4691 // $ANTLR start "entryRuleVLSExistentialQuantifier"
3718 // InternalVampireLanguage.g:1455:1: entryRuleVLSExistentialQuantifier returns [EObject current=null] : iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF ; 4692 // InternalVampireLanguage.g:1772:1: entryRuleVLSExistentialQuantifier returns [EObject current=null] : iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF ;
3719 public final EObject entryRuleVLSExistentialQuantifier() throws RecognitionException { 4693 public final EObject entryRuleVLSExistentialQuantifier() throws RecognitionException {
3720 EObject current = null; 4694 EObject current = null;
3721 4695
@@ -3723,8 +4697,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3723 4697
3724 4698
3725 try { 4699 try {
3726 // InternalVampireLanguage.g:1455:65: (iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF ) 4700 // InternalVampireLanguage.g:1772:65: (iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF )
3727 // InternalVampireLanguage.g:1456:2: iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF 4701 // InternalVampireLanguage.g:1773:2: iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF
3728 { 4702 {
3729 newCompositeNode(grammarAccess.getVLSExistentialQuantifierRule()); 4703 newCompositeNode(grammarAccess.getVLSExistentialQuantifierRule());
3730 pushFollow(FOLLOW_1); 4704 pushFollow(FOLLOW_1);
@@ -3751,7 +4725,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3751 4725
3752 4726
3753 // $ANTLR start "ruleVLSExistentialQuantifier" 4727 // $ANTLR start "ruleVLSExistentialQuantifier"
3754 // InternalVampireLanguage.g:1462: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 ) ) ) ; 4728 // InternalVampireLanguage.g:1779:1: ruleVLSExistentialQuantifier returns [EObject current=null] : ( () (otherlv_1= '?' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) ;
3755 public final EObject ruleVLSExistentialQuantifier() throws RecognitionException { 4729 public final EObject ruleVLSExistentialQuantifier() throws RecognitionException {
3756 EObject current = null; 4730 EObject current = null;
3757 4731
@@ -3760,9 +4734,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3760 Token otherlv_4=null; 4734 Token otherlv_4=null;
3761 Token otherlv_6=null; 4735 Token otherlv_6=null;
3762 Token otherlv_7=null; 4736 Token otherlv_7=null;
3763 EObject lv_variables_3_0 = null; 4737 EObject lv_variables_3_1 = null;
4738
4739 EObject lv_variables_3_2 = null;
3764 4740
3765 EObject lv_variables_5_0 = null; 4741 EObject lv_variables_5_1 = null;
4742
4743 EObject lv_variables_5_2 = null;
3766 4744
3767 EObject lv_operand_8_0 = null; 4745 EObject lv_operand_8_0 = null;
3768 4746
@@ -3771,14 +4749,14 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3771 enterRule(); 4749 enterRule();
3772 4750
3773 try { 4751 try {
3774 // InternalVampireLanguage.g:1468: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 ) ) ) ) 4752 // InternalVampireLanguage.g:1785:2: ( ( () (otherlv_1= '?' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) )
3775 // InternalVampireLanguage.g:1469: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 ) ) ) 4753 // InternalVampireLanguage.g:1786:2: ( () (otherlv_1= '?' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
3776 { 4754 {
3777 // InternalVampireLanguage.g:1469: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 ) ) ) 4755 // InternalVampireLanguage.g:1786:2: ( () (otherlv_1= '?' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
3778 // InternalVampireLanguage.g:1470: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 ) ) 4756 // InternalVampireLanguage.g:1787:3: () (otherlv_1= '?' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
3779 { 4757 {
3780 // InternalVampireLanguage.g:1470:3: () 4758 // InternalVampireLanguage.g:1787:3: ()
3781 // InternalVampireLanguage.g:1471:4: 4759 // InternalVampireLanguage.g:1788:4:
3782 { 4760 {
3783 4761
3784 current = forceCreateModelElement( 4762 current = forceCreateModelElement(
@@ -3788,92 +4766,214 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3788 4766
3789 } 4767 }
3790 4768
3791 // InternalVampireLanguage.g:1477:3: (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) 4769 // InternalVampireLanguage.g:1794:3: (otherlv_1= '?' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':' )
3792 // InternalVampireLanguage.g:1478:4: otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' 4770 // InternalVampireLanguage.g:1795:4: otherlv_1= '?' otherlv_2= '[' ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) ) (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )* otherlv_6= ']' otherlv_7= ':'
3793 { 4771 {
3794 otherlv_1=(Token)match(input,64,FOLLOW_26); 4772 otherlv_1=(Token)match(input,73,FOLLOW_11);
3795 4773
3796 newLeafNode(otherlv_1, grammarAccess.getVLSExistentialQuantifierAccess().getQuestionMarkKeyword_1_0()); 4774 newLeafNode(otherlv_1, grammarAccess.getVLSExistentialQuantifierAccess().getQuestionMarkKeyword_1_0());
3797 4775
3798 otherlv_2=(Token)match(input,53,FOLLOW_27); 4776 otherlv_2=(Token)match(input,32,FOLLOW_40);
3799 4777
3800 newLeafNode(otherlv_2, grammarAccess.getVLSExistentialQuantifierAccess().getLeftSquareBracketKeyword_1_1()); 4778 newLeafNode(otherlv_2, grammarAccess.getVLSExistentialQuantifierAccess().getLeftSquareBracketKeyword_1_1());
3801 4779
3802 // InternalVampireLanguage.g:1486:4: ( (lv_variables_3_0= ruleVLSVariable ) ) 4780 // InternalVampireLanguage.g:1803:4: ( ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) ) )
3803 // InternalVampireLanguage.g:1487:5: (lv_variables_3_0= ruleVLSVariable ) 4781 // InternalVampireLanguage.g:1804:5: ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) )
3804 { 4782 {
3805 // InternalVampireLanguage.g:1487:5: (lv_variables_3_0= ruleVLSVariable ) 4783 // InternalVampireLanguage.g:1804:5: ( (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration ) )
3806 // InternalVampireLanguage.g:1488:6: lv_variables_3_0= ruleVLSVariable 4784 // InternalVampireLanguage.g:1805:6: (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration )
3807 { 4785 {
4786 // InternalVampireLanguage.g:1805:6: (lv_variables_3_1= ruleVLSVariable | lv_variables_3_2= ruleVLSVariableDeclaration )
4787 int alt27=2;
4788 int LA27_0 = input.LA(1);
3808 4789
3809 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0()); 4790 if ( (LA27_0==RULE_UPPER_WORD_ID) ) {
3810 4791 int LA27_1 = input.LA(2);
3811 pushFollow(FOLLOW_7);
3812 lv_variables_3_0=ruleVLSVariable();
3813 4792
3814 state._fsp--; 4793 if ( (LA27_1==33||LA27_1==39) ) {
4794 alt27=1;
4795 }
4796 else if ( (LA27_1==61) ) {
4797 alt27=2;
4798 }
4799 else {
4800 NoViableAltException nvae =
4801 new NoViableAltException("", 27, 1, input);
4802
4803 throw nvae;
4804 }
4805 }
4806 else {
4807 NoViableAltException nvae =
4808 new NoViableAltException("", 27, 0, input);
4809
4810 throw nvae;
4811 }
4812 switch (alt27) {
4813 case 1 :
4814 // InternalVampireLanguage.g:1806:7: lv_variables_3_1= ruleVLSVariable
4815 {
4816
4817 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0_0());
4818
4819 pushFollow(FOLLOW_41);
4820 lv_variables_3_1=ruleVLSVariable();
4821
4822 state._fsp--;
4823
4824
4825 if (current==null) {
4826 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
4827 }
4828 add(
4829 current,
4830 "variables",
4831 lv_variables_3_1,
4832 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4833 afterParserOrEnumRuleCall();
4834
4835
4836 }
4837 break;
4838 case 2 :
4839 // InternalVampireLanguage.g:1822:7: lv_variables_3_2= ruleVLSVariableDeclaration
4840 {
3815 4841
4842 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableDeclarationParserRuleCall_1_2_0_1());
4843
4844 pushFollow(FOLLOW_41);
4845 lv_variables_3_2=ruleVLSVariableDeclaration();
4846
4847 state._fsp--;
4848
4849
4850 if (current==null) {
4851 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
4852 }
4853 add(
4854 current,
4855 "variables",
4856 lv_variables_3_2,
4857 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariableDeclaration");
4858 afterParserOrEnumRuleCall();
4859
4860
4861 }
4862 break;
4863
4864 }
3816 4865
3817 if (current==null) {
3818 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
3819 }
3820 add(
3821 current,
3822 "variables",
3823 lv_variables_3_0,
3824 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
3825 afterParserOrEnumRuleCall();
3826
3827 4866
3828 } 4867 }
3829 4868
3830 4869
3831 } 4870 }
3832 4871
3833 // InternalVampireLanguage.g:1505:4: (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* 4872 // InternalVampireLanguage.g:1840:4: (otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) ) )*
3834 loop22: 4873 loop29:
3835 do { 4874 do {
3836 int alt22=2; 4875 int alt29=2;
3837 int LA22_0 = input.LA(1); 4876 int LA29_0 = input.LA(1);
3838 4877
3839 if ( (LA22_0==29) ) { 4878 if ( (LA29_0==39) ) {
3840 alt22=1; 4879 alt29=1;
3841 } 4880 }
3842 4881
3843 4882
3844 switch (alt22) { 4883 switch (alt29) {
3845 case 1 : 4884 case 1 :
3846 // InternalVampireLanguage.g:1506:5: otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) 4885 // InternalVampireLanguage.g:1841:5: otherlv_4= ',' ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) )
3847 { 4886 {
3848 otherlv_4=(Token)match(input,29,FOLLOW_27); 4887 otherlv_4=(Token)match(input,39,FOLLOW_40);
3849 4888
3850 newLeafNode(otherlv_4, grammarAccess.getVLSExistentialQuantifierAccess().getCommaKeyword_1_3_0()); 4889 newLeafNode(otherlv_4, grammarAccess.getVLSExistentialQuantifierAccess().getCommaKeyword_1_3_0());
3851 4890
3852 // InternalVampireLanguage.g:1510:5: ( (lv_variables_5_0= ruleVLSVariable ) ) 4891 // InternalVampireLanguage.g:1845:5: ( ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) ) )
3853 // InternalVampireLanguage.g:1511:6: (lv_variables_5_0= ruleVLSVariable ) 4892 // InternalVampireLanguage.g:1846:6: ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) )
3854 { 4893 {
3855 // InternalVampireLanguage.g:1511:6: (lv_variables_5_0= ruleVLSVariable ) 4894 // InternalVampireLanguage.g:1846:6: ( (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration ) )
3856 // InternalVampireLanguage.g:1512:7: lv_variables_5_0= ruleVLSVariable 4895 // InternalVampireLanguage.g:1847:7: (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration )
3857 { 4896 {
4897 // InternalVampireLanguage.g:1847:7: (lv_variables_5_1= ruleVLSVariable | lv_variables_5_2= ruleVLSVariableDeclaration )
4898 int alt28=2;
4899 int LA28_0 = input.LA(1);
4900
4901 if ( (LA28_0==RULE_UPPER_WORD_ID) ) {
4902 int LA28_1 = input.LA(2);
4903
4904 if ( (LA28_1==33||LA28_1==39) ) {
4905 alt28=1;
4906 }
4907 else if ( (LA28_1==61) ) {
4908 alt28=2;
4909 }
4910 else {
4911 NoViableAltException nvae =
4912 new NoViableAltException("", 28, 1, input);
4913
4914 throw nvae;
4915 }
4916 }
4917 else {
4918 NoViableAltException nvae =
4919 new NoViableAltException("", 28, 0, input);
3858 4920
3859 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0()); 4921 throw nvae;
3860 4922 }
3861 pushFollow(FOLLOW_7); 4923 switch (alt28) {
3862 lv_variables_5_0=ruleVLSVariable(); 4924 case 1 :
3863 4925 // InternalVampireLanguage.g:1848:8: lv_variables_5_1= ruleVLSVariable
3864 state._fsp--; 4926 {
4927
4928 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0_0());
4929
4930 pushFollow(FOLLOW_41);
4931 lv_variables_5_1=ruleVLSVariable();
4932
4933 state._fsp--;
4934
4935
4936 if (current==null) {
4937 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
4938 }
4939 add(
4940 current,
4941 "variables",
4942 lv_variables_5_1,
4943 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4944 afterParserOrEnumRuleCall();
4945
4946
4947 }
4948 break;
4949 case 2 :
4950 // InternalVampireLanguage.g:1864:8: lv_variables_5_2= ruleVLSVariableDeclaration
4951 {
4952
4953 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableDeclarationParserRuleCall_1_3_1_0_1());
4954
4955 pushFollow(FOLLOW_41);
4956 lv_variables_5_2=ruleVLSVariableDeclaration();
4957
4958 state._fsp--;
4959
4960
4961 if (current==null) {
4962 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
4963 }
4964 add(
4965 current,
4966 "variables",
4967 lv_variables_5_2,
4968 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariableDeclaration");
4969 afterParserOrEnumRuleCall();
4970
4971
4972 }
4973 break;
3865 4974
4975 }
3866 4976
3867 if (current==null) {
3868 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
3869 }
3870 add(
3871 current,
3872 "variables",
3873 lv_variables_5_0,
3874 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
3875 afterParserOrEnumRuleCall();
3876
3877 4977
3878 } 4978 }
3879 4979
@@ -3885,26 +4985,26 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3885 break; 4985 break;
3886 4986
3887 default : 4987 default :
3888 break loop22; 4988 break loop29;
3889 } 4989 }
3890 } while (true); 4990 } while (true);
3891 4991
3892 otherlv_6=(Token)match(input,30,FOLLOW_28); 4992 otherlv_6=(Token)match(input,33,FOLLOW_32);
3893 4993
3894 newLeafNode(otherlv_6, grammarAccess.getVLSExistentialQuantifierAccess().getRightSquareBracketKeyword_1_4()); 4994 newLeafNode(otherlv_6, grammarAccess.getVLSExistentialQuantifierAccess().getRightSquareBracketKeyword_1_4());
3895 4995
3896 otherlv_7=(Token)match(input,63,FOLLOW_13); 4996 otherlv_7=(Token)match(input,61,FOLLOW_20);
3897 4997
3898 newLeafNode(otherlv_7, grammarAccess.getVLSExistentialQuantifierAccess().getColonKeyword_1_5()); 4998 newLeafNode(otherlv_7, grammarAccess.getVLSExistentialQuantifierAccess().getColonKeyword_1_5());
3899 4999
3900 5000
3901 } 5001 }
3902 5002
3903 // InternalVampireLanguage.g:1539:3: ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) 5003 // InternalVampireLanguage.g:1892:3: ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
3904 // InternalVampireLanguage.g:1540:4: (lv_operand_8_0= ruleVLSUnitaryFormula ) 5004 // InternalVampireLanguage.g:1893:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
3905 { 5005 {
3906 // InternalVampireLanguage.g:1540:4: (lv_operand_8_0= ruleVLSUnitaryFormula ) 5006 // InternalVampireLanguage.g:1893:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
3907 // InternalVampireLanguage.g:1541:5: lv_operand_8_0= ruleVLSUnitaryFormula 5007 // InternalVampireLanguage.g:1894:5: lv_operand_8_0= ruleVLSUnitaryFormula
3908 { 5008 {
3909 5009
3910 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0()); 5010 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
@@ -3954,7 +5054,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3954 5054
3955 5055
3956 // $ANTLR start "entryRuleVLSUnaryNegation" 5056 // $ANTLR start "entryRuleVLSUnaryNegation"
3957 // InternalVampireLanguage.g:1562:1: entryRuleVLSUnaryNegation returns [EObject current=null] : iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF ; 5057 // InternalVampireLanguage.g:1915:1: entryRuleVLSUnaryNegation returns [EObject current=null] : iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF ;
3958 public final EObject entryRuleVLSUnaryNegation() throws RecognitionException { 5058 public final EObject entryRuleVLSUnaryNegation() throws RecognitionException {
3959 EObject current = null; 5059 EObject current = null;
3960 5060
@@ -3962,8 +5062,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3962 5062
3963 5063
3964 try { 5064 try {
3965 // InternalVampireLanguage.g:1562:57: (iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF ) 5065 // InternalVampireLanguage.g:1915:57: (iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF )
3966 // InternalVampireLanguage.g:1563:2: iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF 5066 // InternalVampireLanguage.g:1916:2: iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF
3967 { 5067 {
3968 newCompositeNode(grammarAccess.getVLSUnaryNegationRule()); 5068 newCompositeNode(grammarAccess.getVLSUnaryNegationRule());
3969 pushFollow(FOLLOW_1); 5069 pushFollow(FOLLOW_1);
@@ -3990,7 +5090,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
3990 5090
3991 5091
3992 // $ANTLR start "ruleVLSUnaryNegation" 5092 // $ANTLR start "ruleVLSUnaryNegation"
3993 // InternalVampireLanguage.g:1569:1: ruleVLSUnaryNegation returns [EObject current=null] : ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) ) ; 5093 // InternalVampireLanguage.g:1922:1: ruleVLSUnaryNegation returns [EObject current=null] : ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) ) ;
3994 public final EObject ruleVLSUnaryNegation() throws RecognitionException { 5094 public final EObject ruleVLSUnaryNegation() throws RecognitionException {
3995 EObject current = null; 5095 EObject current = null;
3996 5096
@@ -4002,14 +5102,14 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4002 enterRule(); 5102 enterRule();
4003 5103
4004 try { 5104 try {
4005 // InternalVampireLanguage.g:1575:2: ( ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) ) ) 5105 // InternalVampireLanguage.g:1928:2: ( ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) ) )
4006 // InternalVampireLanguage.g:1576:2: ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) ) 5106 // InternalVampireLanguage.g:1929:2: ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) )
4007 { 5107 {
4008 // InternalVampireLanguage.g:1576:2: ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) ) 5108 // InternalVampireLanguage.g:1929:2: ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) )
4009 // InternalVampireLanguage.g:1577:3: () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) 5109 // InternalVampireLanguage.g:1930:3: () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) )
4010 { 5110 {
4011 // InternalVampireLanguage.g:1577:3: () 5111 // InternalVampireLanguage.g:1930:3: ()
4012 // InternalVampireLanguage.g:1578:4: 5112 // InternalVampireLanguage.g:1931:4:
4013 { 5113 {
4014 5114
4015 current = forceCreateModelElement( 5115 current = forceCreateModelElement(
@@ -4019,15 +5119,15 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4019 5119
4020 } 5120 }
4021 5121
4022 otherlv_1=(Token)match(input,65,FOLLOW_13); 5122 otherlv_1=(Token)match(input,74,FOLLOW_20);
4023 5123
4024 newLeafNode(otherlv_1, grammarAccess.getVLSUnaryNegationAccess().getTildeKeyword_1()); 5124 newLeafNode(otherlv_1, grammarAccess.getVLSUnaryNegationAccess().getTildeKeyword_1());
4025 5125
4026 // InternalVampireLanguage.g:1588:3: ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) 5126 // InternalVampireLanguage.g:1941:3: ( (lv_operand_2_0= ruleVLSUnitaryFormula ) )
4027 // InternalVampireLanguage.g:1589:4: (lv_operand_2_0= ruleVLSUnitaryFormula ) 5127 // InternalVampireLanguage.g:1942:4: (lv_operand_2_0= ruleVLSUnitaryFormula )
4028 { 5128 {
4029 // InternalVampireLanguage.g:1589:4: (lv_operand_2_0= ruleVLSUnitaryFormula ) 5129 // InternalVampireLanguage.g:1942:4: (lv_operand_2_0= ruleVLSUnitaryFormula )
4030 // InternalVampireLanguage.g:1590:5: lv_operand_2_0= ruleVLSUnitaryFormula 5130 // InternalVampireLanguage.g:1943:5: lv_operand_2_0= ruleVLSUnitaryFormula
4031 { 5131 {
4032 5132
4033 newCompositeNode(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0()); 5133 newCompositeNode(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
@@ -4077,7 +5177,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4077 5177
4078 5178
4079 // $ANTLR start "entryRuleVLSUnaryInfix" 5179 // $ANTLR start "entryRuleVLSUnaryInfix"
4080 // InternalVampireLanguage.g:1611:1: entryRuleVLSUnaryInfix returns [EObject current=null] : iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF ; 5180 // InternalVampireLanguage.g:1964:1: entryRuleVLSUnaryInfix returns [EObject current=null] : iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF ;
4081 public final EObject entryRuleVLSUnaryInfix() throws RecognitionException { 5181 public final EObject entryRuleVLSUnaryInfix() throws RecognitionException {
4082 EObject current = null; 5182 EObject current = null;
4083 5183
@@ -4085,8 +5185,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4085 5185
4086 5186
4087 try { 5187 try {
4088 // InternalVampireLanguage.g:1611:54: (iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF ) 5188 // InternalVampireLanguage.g:1964:54: (iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF )
4089 // InternalVampireLanguage.g:1612:2: iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF 5189 // InternalVampireLanguage.g:1965:2: iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF
4090 { 5190 {
4091 newCompositeNode(grammarAccess.getVLSUnaryInfixRule()); 5191 newCompositeNode(grammarAccess.getVLSUnaryInfixRule());
4092 pushFollow(FOLLOW_1); 5192 pushFollow(FOLLOW_1);
@@ -4113,7 +5213,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4113 5213
4114 5214
4115 // $ANTLR start "ruleVLSUnaryInfix" 5215 // $ANTLR start "ruleVLSUnaryInfix"
4116 // InternalVampireLanguage.g:1618:1: ruleVLSUnaryInfix returns [EObject current=null] : (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? ) ; 5216 // InternalVampireLanguage.g:1971:1: ruleVLSUnaryInfix returns [EObject current=null] : (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? ) ;
4117 public final EObject ruleVLSUnaryInfix() throws RecognitionException { 5217 public final EObject ruleVLSUnaryInfix() throws RecognitionException {
4118 EObject current = null; 5218 EObject current = null;
4119 5219
@@ -4129,16 +5229,16 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4129 enterRule(); 5229 enterRule();
4130 5230
4131 try { 5231 try {
4132 // InternalVampireLanguage.g:1624:2: ( (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? ) ) 5232 // InternalVampireLanguage.g:1977:2: ( (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? ) )
4133 // InternalVampireLanguage.g:1625:2: (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? ) 5233 // InternalVampireLanguage.g:1978:2: (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? )
4134 { 5234 {
4135 // InternalVampireLanguage.g:1625:2: (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? ) 5235 // InternalVampireLanguage.g:1978:2: (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? )
4136 // InternalVampireLanguage.g:1626:3: this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? 5236 // InternalVampireLanguage.g:1979:3: this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )?
4137 { 5237 {
4138 5238
4139 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getVLSAtomicParserRuleCall_0()); 5239 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getVLSAtomicParserRuleCall_0());
4140 5240
4141 pushFollow(FOLLOW_29); 5241 pushFollow(FOLLOW_42);
4142 this_VLSAtomic_0=ruleVLSAtomic(); 5242 this_VLSAtomic_0=ruleVLSAtomic();
4143 5243
4144 state._fsp--; 5244 state._fsp--;
@@ -4147,51 +5247,51 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4147 current = this_VLSAtomic_0; 5247 current = this_VLSAtomic_0;
4148 afterParserOrEnumRuleCall(); 5248 afterParserOrEnumRuleCall();
4149 5249
4150 // InternalVampireLanguage.g:1634:3: ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? 5250 // InternalVampireLanguage.g:1987:3: ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )?
4151 int alt24=2; 5251 int alt31=2;
4152 int LA24_0 = input.LA(1); 5252 int LA31_0 = input.LA(1);
4153 5253
4154 if ( ((LA24_0>=66 && LA24_0<=68)) ) { 5254 if ( ((LA31_0>=75 && LA31_0<=77)) ) {
4155 alt24=1; 5255 alt31=1;
4156 } 5256 }
4157 switch (alt24) { 5257 switch (alt31) {
4158 case 1 : 5258 case 1 :
4159 // InternalVampireLanguage.g:1635:4: ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) 5259 // InternalVampireLanguage.g:1988:4: ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) )
4160 { 5260 {
4161 // InternalVampireLanguage.g:1635:4: ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) 5261 // InternalVampireLanguage.g:1988:4: ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) )
4162 int alt23=3; 5262 int alt30=3;
4163 switch ( input.LA(1) ) { 5263 switch ( input.LA(1) ) {
4164 case 66: 5264 case 75:
4165 { 5265 {
4166 alt23=1; 5266 alt30=1;
4167 } 5267 }
4168 break; 5268 break;
4169 case 67: 5269 case 76:
4170 { 5270 {
4171 alt23=2; 5271 alt30=2;
4172 } 5272 }
4173 break; 5273 break;
4174 case 68: 5274 case 77:
4175 { 5275 {
4176 alt23=3; 5276 alt30=3;
4177 } 5277 }
4178 break; 5278 break;
4179 default: 5279 default:
4180 NoViableAltException nvae = 5280 NoViableAltException nvae =
4181 new NoViableAltException("", 23, 0, input); 5281 new NoViableAltException("", 30, 0, input);
4182 5282
4183 throw nvae; 5283 throw nvae;
4184 } 5284 }
4185 5285
4186 switch (alt23) { 5286 switch (alt30) {
4187 case 1 : 5287 case 1 :
4188 // InternalVampireLanguage.g:1636:5: ( () otherlv_2= '!=' ) 5288 // InternalVampireLanguage.g:1989:5: ( () otherlv_2= '!=' )
4189 { 5289 {
4190 // InternalVampireLanguage.g:1636:5: ( () otherlv_2= '!=' ) 5290 // InternalVampireLanguage.g:1989:5: ( () otherlv_2= '!=' )
4191 // InternalVampireLanguage.g:1637:6: () otherlv_2= '!=' 5291 // InternalVampireLanguage.g:1990:6: () otherlv_2= '!='
4192 { 5292 {
4193 // InternalVampireLanguage.g:1637:6: () 5293 // InternalVampireLanguage.g:1990:6: ()
4194 // InternalVampireLanguage.g:1638:7: 5294 // InternalVampireLanguage.g:1991:7:
4195 { 5295 {
4196 5296
4197 current = forceCreateModelElementAndSet( 5297 current = forceCreateModelElementAndSet(
@@ -4201,7 +5301,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4201 5301
4202 } 5302 }
4203 5303
4204 otherlv_2=(Token)match(input,66,FOLLOW_30); 5304 otherlv_2=(Token)match(input,75,FOLLOW_33);
4205 5305
4206 newLeafNode(otherlv_2, grammarAccess.getVLSUnaryInfixAccess().getExclamationMarkEqualsSignKeyword_1_0_0_1()); 5306 newLeafNode(otherlv_2, grammarAccess.getVLSUnaryInfixAccess().getExclamationMarkEqualsSignKeyword_1_0_0_1());
4207 5307
@@ -4212,13 +5312,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4212 } 5312 }
4213 break; 5313 break;
4214 case 2 : 5314 case 2 :
4215 // InternalVampireLanguage.g:1650:5: ( () otherlv_4= '=' ) 5315 // InternalVampireLanguage.g:2003:5: ( () otherlv_4= '=' )
4216 { 5316 {
4217 // InternalVampireLanguage.g:1650:5: ( () otherlv_4= '=' ) 5317 // InternalVampireLanguage.g:2003:5: ( () otherlv_4= '=' )
4218 // InternalVampireLanguage.g:1651:6: () otherlv_4= '=' 5318 // InternalVampireLanguage.g:2004:6: () otherlv_4= '='
4219 { 5319 {
4220 // InternalVampireLanguage.g:1651:6: () 5320 // InternalVampireLanguage.g:2004:6: ()
4221 // InternalVampireLanguage.g:1652:7: 5321 // InternalVampireLanguage.g:2005:7:
4222 { 5322 {
4223 5323
4224 current = forceCreateModelElementAndSet( 5324 current = forceCreateModelElementAndSet(
@@ -4228,7 +5328,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4228 5328
4229 } 5329 }
4230 5330
4231 otherlv_4=(Token)match(input,67,FOLLOW_30); 5331 otherlv_4=(Token)match(input,76,FOLLOW_33);
4232 5332
4233 newLeafNode(otherlv_4, grammarAccess.getVLSUnaryInfixAccess().getEqualsSignKeyword_1_0_1_1()); 5333 newLeafNode(otherlv_4, grammarAccess.getVLSUnaryInfixAccess().getEqualsSignKeyword_1_0_1_1());
4234 5334
@@ -4239,13 +5339,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4239 } 5339 }
4240 break; 5340 break;
4241 case 3 : 5341 case 3 :
4242 // InternalVampireLanguage.g:1664:5: ( () otherlv_6= ':=' ) 5342 // InternalVampireLanguage.g:2017:5: ( () otherlv_6= ':=' )
4243 { 5343 {
4244 // InternalVampireLanguage.g:1664:5: ( () otherlv_6= ':=' ) 5344 // InternalVampireLanguage.g:2017:5: ( () otherlv_6= ':=' )
4245 // InternalVampireLanguage.g:1665:6: () otherlv_6= ':=' 5345 // InternalVampireLanguage.g:2018:6: () otherlv_6= ':='
4246 { 5346 {
4247 // InternalVampireLanguage.g:1665:6: () 5347 // InternalVampireLanguage.g:2018:6: ()
4248 // InternalVampireLanguage.g:1666:7: 5348 // InternalVampireLanguage.g:2019:7:
4249 { 5349 {
4250 5350
4251 current = forceCreateModelElementAndSet( 5351 current = forceCreateModelElementAndSet(
@@ -4255,7 +5355,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4255 5355
4256 } 5356 }
4257 5357
4258 otherlv_6=(Token)match(input,68,FOLLOW_30); 5358 otherlv_6=(Token)match(input,77,FOLLOW_33);
4259 5359
4260 newLeafNode(otherlv_6, grammarAccess.getVLSUnaryInfixAccess().getColonEqualsSignKeyword_1_0_2_1()); 5360 newLeafNode(otherlv_6, grammarAccess.getVLSUnaryInfixAccess().getColonEqualsSignKeyword_1_0_2_1());
4261 5361
@@ -4268,11 +5368,11 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4268 5368
4269 } 5369 }
4270 5370
4271 // InternalVampireLanguage.g:1678:4: ( (lv_right_7_0= ruleVLSAtomic ) ) 5371 // InternalVampireLanguage.g:2031:4: ( (lv_right_7_0= ruleVLSAtomic ) )
4272 // InternalVampireLanguage.g:1679:5: (lv_right_7_0= ruleVLSAtomic ) 5372 // InternalVampireLanguage.g:2032:5: (lv_right_7_0= ruleVLSAtomic )
4273 { 5373 {
4274 // InternalVampireLanguage.g:1679:5: (lv_right_7_0= ruleVLSAtomic ) 5374 // InternalVampireLanguage.g:2032:5: (lv_right_7_0= ruleVLSAtomic )
4275 // InternalVampireLanguage.g:1680:6: lv_right_7_0= ruleVLSAtomic 5375 // InternalVampireLanguage.g:2033:6: lv_right_7_0= ruleVLSAtomic
4276 { 5376 {
4277 5377
4278 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0()); 5378 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0());
@@ -4328,7 +5428,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4328 5428
4329 5429
4330 // $ANTLR start "entryRuleVLSAtomic" 5430 // $ANTLR start "entryRuleVLSAtomic"
4331 // InternalVampireLanguage.g:1702:1: entryRuleVLSAtomic returns [EObject current=null] : iv_ruleVLSAtomic= ruleVLSAtomic EOF ; 5431 // InternalVampireLanguage.g:2055:1: entryRuleVLSAtomic returns [EObject current=null] : iv_ruleVLSAtomic= ruleVLSAtomic EOF ;
4332 public final EObject entryRuleVLSAtomic() throws RecognitionException { 5432 public final EObject entryRuleVLSAtomic() throws RecognitionException {
4333 EObject current = null; 5433 EObject current = null;
4334 5434
@@ -4336,8 +5436,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4336 5436
4337 5437
4338 try { 5438 try {
4339 // InternalVampireLanguage.g:1702:50: (iv_ruleVLSAtomic= ruleVLSAtomic EOF ) 5439 // InternalVampireLanguage.g:2055:50: (iv_ruleVLSAtomic= ruleVLSAtomic EOF )
4340 // InternalVampireLanguage.g:1703:2: iv_ruleVLSAtomic= ruleVLSAtomic EOF 5440 // InternalVampireLanguage.g:2056:2: iv_ruleVLSAtomic= ruleVLSAtomic EOF
4341 { 5441 {
4342 newCompositeNode(grammarAccess.getVLSAtomicRule()); 5442 newCompositeNode(grammarAccess.getVLSAtomicRule());
4343 pushFollow(FOLLOW_1); 5443 pushFollow(FOLLOW_1);
@@ -4364,7 +5464,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4364 5464
4365 5465
4366 // $ANTLR start "ruleVLSAtomic" 5466 // $ANTLR start "ruleVLSAtomic"
4367 // InternalVampireLanguage.g:1709:1: ruleVLSAtomic returns [EObject current=null] : (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm ) ; 5467 // InternalVampireLanguage.g:2062:1: ruleVLSAtomic returns [EObject current=null] : (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm ) ;
4368 public final EObject ruleVLSAtomic() throws RecognitionException { 5468 public final EObject ruleVLSAtomic() throws RecognitionException {
4369 EObject current = null; 5469 EObject current = null;
4370 5470
@@ -4381,15 +5481,15 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4381 enterRule(); 5481 enterRule();
4382 5482
4383 try { 5483 try {
4384 // InternalVampireLanguage.g:1715:2: ( (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm ) ) 5484 // InternalVampireLanguage.g:2068:2: ( (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm ) )
4385 // InternalVampireLanguage.g:1716:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm ) 5485 // InternalVampireLanguage.g:2069:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm )
4386 { 5486 {
4387 // InternalVampireLanguage.g:1716:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm ) 5487 // InternalVampireLanguage.g:2069:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm )
4388 int alt25=4; 5488 int alt32=4;
4389 alt25 = dfa25.predict(input); 5489 alt32 = dfa32.predict(input);
4390 switch (alt25) { 5490 switch (alt32) {
4391 case 1 : 5491 case 1 :
4392 // InternalVampireLanguage.g:1717:3: this_VLSAtomicConstant_0= ruleVLSAtomicConstant 5492 // InternalVampireLanguage.g:2070:3: this_VLSAtomicConstant_0= ruleVLSAtomicConstant
4393 { 5493 {
4394 5494
4395 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicConstantParserRuleCall_0()); 5495 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicConstantParserRuleCall_0());
@@ -4407,7 +5507,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4407 } 5507 }
4408 break; 5508 break;
4409 case 2 : 5509 case 2 :
4410 // InternalVampireLanguage.g:1726:3: this_VLSAtomicFunction_1= ruleVLSAtomicFunction 5510 // InternalVampireLanguage.g:2079:3: this_VLSAtomicFunction_1= ruleVLSAtomicFunction
4411 { 5511 {
4412 5512
4413 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicFunctionParserRuleCall_1()); 5513 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicFunctionParserRuleCall_1());
@@ -4425,7 +5525,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4425 } 5525 }
4426 break; 5526 break;
4427 case 3 : 5527 case 3 :
4428 // InternalVampireLanguage.g:1735:3: this_VLSVariable_2= ruleVLSVariable 5528 // InternalVampireLanguage.g:2088:3: this_VLSVariable_2= ruleVLSVariable
4429 { 5529 {
4430 5530
4431 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSVariableParserRuleCall_2()); 5531 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSVariableParserRuleCall_2());
@@ -4443,7 +5543,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4443 } 5543 }
4444 break; 5544 break;
4445 case 4 : 5545 case 4 :
4446 // InternalVampireLanguage.g:1744:3: this_VLSDefinedTerm_3= ruleVLSDefinedTerm 5546 // InternalVampireLanguage.g:2097:3: this_VLSDefinedTerm_3= ruleVLSDefinedTerm
4447 { 5547 {
4448 5548
4449 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSDefinedTermParserRuleCall_3()); 5549 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSDefinedTermParserRuleCall_3());
@@ -4483,7 +5583,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4483 5583
4484 5584
4485 // $ANTLR start "entryRuleVLSAtomicConstant" 5585 // $ANTLR start "entryRuleVLSAtomicConstant"
4486 // InternalVampireLanguage.g:1756:1: entryRuleVLSAtomicConstant returns [EObject current=null] : iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF ; 5586 // InternalVampireLanguage.g:2109:1: entryRuleVLSAtomicConstant returns [EObject current=null] : iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF ;
4487 public final EObject entryRuleVLSAtomicConstant() throws RecognitionException { 5587 public final EObject entryRuleVLSAtomicConstant() throws RecognitionException {
4488 EObject current = null; 5588 EObject current = null;
4489 5589
@@ -4491,8 +5591,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4491 5591
4492 5592
4493 try { 5593 try {
4494 // InternalVampireLanguage.g:1756:58: (iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF ) 5594 // InternalVampireLanguage.g:2109:58: (iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF )
4495 // InternalVampireLanguage.g:1757:2: iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF 5595 // InternalVampireLanguage.g:2110:2: iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF
4496 { 5596 {
4497 newCompositeNode(grammarAccess.getVLSAtomicConstantRule()); 5597 newCompositeNode(grammarAccess.getVLSAtomicConstantRule());
4498 pushFollow(FOLLOW_1); 5598 pushFollow(FOLLOW_1);
@@ -4519,7 +5619,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4519 5619
4520 5620
4521 // $ANTLR start "ruleVLSAtomicConstant" 5621 // $ANTLR start "ruleVLSAtomicConstant"
4522 // InternalVampireLanguage.g:1763: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' ) ) ; 5622 // InternalVampireLanguage.g:2116: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' ) ) ;
4523 public final EObject ruleVLSAtomicConstant() throws RecognitionException { 5623 public final EObject ruleVLSAtomicConstant() throws RecognitionException {
4524 EObject current = null; 5624 EObject current = null;
4525 5625
@@ -4536,24 +5636,16 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4536 enterRule(); 5636 enterRule();
4537 5637
4538 try { 5638 try {
4539 // InternalVampireLanguage.g:1769: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' ) ) ) 5639 // InternalVampireLanguage.g:2122: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' ) ) )
4540 // InternalVampireLanguage.g:1770: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' ) ) 5640 // InternalVampireLanguage.g:2123: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' ) )
4541 { 5641 {
4542 // InternalVampireLanguage.g:1770: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' ) ) 5642 // InternalVampireLanguage.g:2123: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' ) )
4543 int alt27=3; 5643 int alt34=3;
4544 switch ( input.LA(1) ) { 5644 switch ( input.LA(1) ) {
4545 case RULE_SINGLE_QUOTE:
4546 case RULE_LOWER_WORD_ID: 5645 case RULE_LOWER_WORD_ID:
5646 case RULE_SINGLE_QUOTE:
4547 case RULE_DOLLAR_ID: 5647 case RULE_DOLLAR_ID:
4548 case RULE_DOUBLE_DOLLAR_ID: 5648 case RULE_DOUBLE_DOLLAR_ID:
4549 case 38:
4550 case 39:
4551 case 40:
4552 case 41:
4553 case 42:
4554 case 43:
4555 case 44:
4556 case 45:
4557 case 46: 5649 case 46:
4558 case 47: 5650 case 47:
4559 case 48: 5651 case 48:
@@ -4561,36 +5653,44 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4561 case 50: 5653 case 50:
4562 case 51: 5654 case 51:
4563 case 52: 5655 case 52:
5656 case 53:
5657 case 54:
5658 case 55:
5659 case 56:
5660 case 57:
5661 case 58:
5662 case 59:
5663 case 60:
4564 { 5664 {
4565 alt27=1; 5665 alt34=1;
4566 } 5666 }
4567 break; 5667 break;
4568 case 69: 5668 case 78:
4569 { 5669 {
4570 alt27=2; 5670 alt34=2;
4571 } 5671 }
4572 break; 5672 break;
4573 case 70: 5673 case 79:
4574 { 5674 {
4575 alt27=3; 5675 alt34=3;
4576 } 5676 }
4577 break; 5677 break;
4578 default: 5678 default:
4579 NoViableAltException nvae = 5679 NoViableAltException nvae =
4580 new NoViableAltException("", 27, 0, input); 5680 new NoViableAltException("", 34, 0, input);
4581 5681
4582 throw nvae; 5682 throw nvae;
4583 } 5683 }
4584 5684
4585 switch (alt27) { 5685 switch (alt34) {
4586 case 1 : 5686 case 1 :
4587 // InternalVampireLanguage.g:1771: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 ) ) ) ) 5687 // InternalVampireLanguage.g:2124: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 ) ) ) )
4588 { 5688 {
4589 // InternalVampireLanguage.g:1771: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 ) ) ) ) 5689 // InternalVampireLanguage.g:2124: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 ) ) ) )
4590 // InternalVampireLanguage.g:1772: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 ) ) ) 5690 // InternalVampireLanguage.g:2125: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 ) ) )
4591 { 5691 {
4592 // InternalVampireLanguage.g:1772:4: () 5692 // InternalVampireLanguage.g:2125:4: ()
4593 // InternalVampireLanguage.g:1773:5: 5693 // InternalVampireLanguage.g:2126:5:
4594 { 5694 {
4595 5695
4596 current = forceCreateModelElement( 5696 current = forceCreateModelElement(
@@ -4600,43 +5700,35 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4600 5700
4601 } 5701 }
4602 5702
4603 // InternalVampireLanguage.g:1779: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 ) ) ) 5703 // InternalVampireLanguage.g:2132: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 ) ) )
4604 // InternalVampireLanguage.g:1780: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 ) ) 5704 // InternalVampireLanguage.g:2133: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 ) )
4605 { 5705 {
4606 // InternalVampireLanguage.g:1780: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 ) ) 5706 // InternalVampireLanguage.g:2133: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 ) )
4607 // InternalVampireLanguage.g:1781: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 ) 5707 // InternalVampireLanguage.g:2134: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 )
4608 { 5708 {
4609 // InternalVampireLanguage.g:1781: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 ) 5709 // InternalVampireLanguage.g:2134: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 )
4610 int alt26=5; 5710 int alt33=5;
4611 switch ( input.LA(1) ) { 5711 switch ( input.LA(1) ) {
4612 case RULE_LOWER_WORD_ID: 5712 case RULE_LOWER_WORD_ID:
4613 { 5713 {
4614 alt26=1; 5714 alt33=1;
4615 } 5715 }
4616 break; 5716 break;
4617 case RULE_SINGLE_QUOTE: 5717 case RULE_SINGLE_QUOTE:
4618 { 5718 {
4619 alt26=2; 5719 alt33=2;
4620 } 5720 }
4621 break; 5721 break;
4622 case RULE_DOLLAR_ID: 5722 case RULE_DOLLAR_ID:
4623 { 5723 {
4624 alt26=3; 5724 alt33=3;
4625 } 5725 }
4626 break; 5726 break;
4627 case RULE_DOUBLE_DOLLAR_ID: 5727 case RULE_DOUBLE_DOLLAR_ID:
4628 { 5728 {
4629 alt26=4; 5729 alt33=4;
4630 } 5730 }
4631 break; 5731 break;
4632 case 38:
4633 case 39:
4634 case 40:
4635 case 41:
4636 case 42:
4637 case 43:
4638 case 44:
4639 case 45:
4640 case 46: 5732 case 46:
4641 case 47: 5733 case 47:
4642 case 48: 5734 case 48:
@@ -4644,20 +5736,28 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4644 case 50: 5736 case 50:
4645 case 51: 5737 case 51:
4646 case 52: 5738 case 52:
5739 case 53:
5740 case 54:
5741 case 55:
5742 case 56:
5743 case 57:
5744 case 58:
5745 case 59:
5746 case 60:
4647 { 5747 {
4648 alt26=5; 5748 alt33=5;
4649 } 5749 }
4650 break; 5750 break;
4651 default: 5751 default:
4652 NoViableAltException nvae = 5752 NoViableAltException nvae =
4653 new NoViableAltException("", 26, 0, input); 5753 new NoViableAltException("", 33, 0, input);
4654 5754
4655 throw nvae; 5755 throw nvae;
4656 } 5756 }
4657 5757
4658 switch (alt26) { 5758 switch (alt33) {
4659 case 1 : 5759 case 1 :
4660 // InternalVampireLanguage.g:1782:7: lv_name_1_1= RULE_LOWER_WORD_ID 5760 // InternalVampireLanguage.g:2135:7: lv_name_1_1= RULE_LOWER_WORD_ID
4661 { 5761 {
4662 lv_name_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_2); 5762 lv_name_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
4663 5763
@@ -4677,7 +5777,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4677 } 5777 }
4678 break; 5778 break;
4679 case 2 : 5779 case 2 :
4680 // InternalVampireLanguage.g:1797:7: lv_name_1_2= RULE_SINGLE_QUOTE 5780 // InternalVampireLanguage.g:2150:7: lv_name_1_2= RULE_SINGLE_QUOTE
4681 { 5781 {
4682 lv_name_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_2); 5782 lv_name_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
4683 5783
@@ -4697,7 +5797,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4697 } 5797 }
4698 break; 5798 break;
4699 case 3 : 5799 case 3 :
4700 // InternalVampireLanguage.g:1812:7: lv_name_1_3= RULE_DOLLAR_ID 5800 // InternalVampireLanguage.g:2165:7: lv_name_1_3= RULE_DOLLAR_ID
4701 { 5801 {
4702 lv_name_1_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_2); 5802 lv_name_1_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_2);
4703 5803
@@ -4717,7 +5817,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4717 } 5817 }
4718 break; 5818 break;
4719 case 4 : 5819 case 4 :
4720 // InternalVampireLanguage.g:1827:7: lv_name_1_4= RULE_DOUBLE_DOLLAR_ID 5820 // InternalVampireLanguage.g:2180:7: lv_name_1_4= RULE_DOUBLE_DOLLAR_ID
4721 { 5821 {
4722 lv_name_1_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_2); 5822 lv_name_1_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_2);
4723 5823
@@ -4737,7 +5837,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4737 } 5837 }
4738 break; 5838 break;
4739 case 5 : 5839 case 5 :
4740 // InternalVampireLanguage.g:1842:7: lv_name_1_5= ruleVLSRole 5840 // InternalVampireLanguage.g:2195:7: lv_name_1_5= ruleVLSRole
4741 { 5841 {
4742 5842
4743 newCompositeNode(grammarAccess.getVLSAtomicConstantAccess().getNameVLSRoleParserRuleCall_0_1_0_4()); 5843 newCompositeNode(grammarAccess.getVLSAtomicConstantAccess().getNameVLSRoleParserRuleCall_0_1_0_4());
@@ -4777,13 +5877,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4777 } 5877 }
4778 break; 5878 break;
4779 case 2 : 5879 case 2 :
4780 // InternalVampireLanguage.g:1862:3: ( () otherlv_3= '$true' ) 5880 // InternalVampireLanguage.g:2215:3: ( () otherlv_3= '$true' )
4781 { 5881 {
4782 // InternalVampireLanguage.g:1862:3: ( () otherlv_3= '$true' ) 5882 // InternalVampireLanguage.g:2215:3: ( () otherlv_3= '$true' )
4783 // InternalVampireLanguage.g:1863:4: () otherlv_3= '$true' 5883 // InternalVampireLanguage.g:2216:4: () otherlv_3= '$true'
4784 { 5884 {
4785 // InternalVampireLanguage.g:1863:4: () 5885 // InternalVampireLanguage.g:2216:4: ()
4786 // InternalVampireLanguage.g:1864:5: 5886 // InternalVampireLanguage.g:2217:5:
4787 { 5887 {
4788 5888
4789 current = forceCreateModelElement( 5889 current = forceCreateModelElement(
@@ -4793,7 +5893,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4793 5893
4794 } 5894 }
4795 5895
4796 otherlv_3=(Token)match(input,69,FOLLOW_2); 5896 otherlv_3=(Token)match(input,78,FOLLOW_2);
4797 5897
4798 newLeafNode(otherlv_3, grammarAccess.getVLSAtomicConstantAccess().getTrueKeyword_1_1()); 5898 newLeafNode(otherlv_3, grammarAccess.getVLSAtomicConstantAccess().getTrueKeyword_1_1());
4799 5899
@@ -4804,13 +5904,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4804 } 5904 }
4805 break; 5905 break;
4806 case 3 : 5906 case 3 :
4807 // InternalVampireLanguage.g:1876:3: ( () otherlv_5= '$false' ) 5907 // InternalVampireLanguage.g:2229:3: ( () otherlv_5= '$false' )
4808 { 5908 {
4809 // InternalVampireLanguage.g:1876:3: ( () otherlv_5= '$false' ) 5909 // InternalVampireLanguage.g:2229:3: ( () otherlv_5= '$false' )
4810 // InternalVampireLanguage.g:1877:4: () otherlv_5= '$false' 5910 // InternalVampireLanguage.g:2230:4: () otherlv_5= '$false'
4811 { 5911 {
4812 // InternalVampireLanguage.g:1877:4: () 5912 // InternalVampireLanguage.g:2230:4: ()
4813 // InternalVampireLanguage.g:1878:5: 5913 // InternalVampireLanguage.g:2231:5:
4814 { 5914 {
4815 5915
4816 current = forceCreateModelElement( 5916 current = forceCreateModelElement(
@@ -4820,7 +5920,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4820 5920
4821 } 5921 }
4822 5922
4823 otherlv_5=(Token)match(input,70,FOLLOW_2); 5923 otherlv_5=(Token)match(input,79,FOLLOW_2);
4824 5924
4825 newLeafNode(otherlv_5, grammarAccess.getVLSAtomicConstantAccess().getFalseKeyword_2_1()); 5925 newLeafNode(otherlv_5, grammarAccess.getVLSAtomicConstantAccess().getFalseKeyword_2_1());
4826 5926
@@ -4853,7 +5953,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4853 5953
4854 5954
4855 // $ANTLR start "entryRuleVLSAtomicFunction" 5955 // $ANTLR start "entryRuleVLSAtomicFunction"
4856 // InternalVampireLanguage.g:1893:1: entryRuleVLSAtomicFunction returns [EObject current=null] : iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF ; 5956 // InternalVampireLanguage.g:2246:1: entryRuleVLSAtomicFunction returns [EObject current=null] : iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF ;
4857 public final EObject entryRuleVLSAtomicFunction() throws RecognitionException { 5957 public final EObject entryRuleVLSAtomicFunction() throws RecognitionException {
4858 EObject current = null; 5958 EObject current = null;
4859 5959
@@ -4861,8 +5961,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4861 5961
4862 5962
4863 try { 5963 try {
4864 // InternalVampireLanguage.g:1893:58: (iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF ) 5964 // InternalVampireLanguage.g:2246:58: (iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF )
4865 // InternalVampireLanguage.g:1894:2: iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF 5965 // InternalVampireLanguage.g:2247:2: iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF
4866 { 5966 {
4867 newCompositeNode(grammarAccess.getVLSAtomicFunctionRule()); 5967 newCompositeNode(grammarAccess.getVLSAtomicFunctionRule());
4868 pushFollow(FOLLOW_1); 5968 pushFollow(FOLLOW_1);
@@ -4889,7 +5989,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4889 5989
4890 5990
4891 // $ANTLR start "ruleVLSAtomicFunction" 5991 // $ANTLR start "ruleVLSAtomicFunction"
4892 // InternalVampireLanguage.g:1900: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= ')' ) ) ; 5992 // InternalVampireLanguage.g:2253: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= ')' ) ) ;
4893 public final EObject ruleVLSAtomicFunction() throws RecognitionException { 5993 public final EObject ruleVLSAtomicFunction() throws RecognitionException {
4894 EObject current = null; 5994 EObject current = null;
4895 5995
@@ -4919,34 +6019,34 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4919 enterRule(); 6019 enterRule();
4920 6020
4921 try { 6021 try {
4922 // InternalVampireLanguage.g:1906: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= ')' ) ) ) 6022 // InternalVampireLanguage.g:2259: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= ')' ) ) )
4923 // InternalVampireLanguage.g:1907: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= ')' ) ) 6023 // InternalVampireLanguage.g:2260: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= ')' ) )
4924 { 6024 {
4925 // InternalVampireLanguage.g:1907: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= ')' ) ) 6025 // InternalVampireLanguage.g:2260: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= ')' ) )
4926 int alt30=2; 6026 int alt37=2;
4927 int LA30_0 = input.LA(1); 6027 int LA37_0 = input.LA(1);
4928 6028
4929 if ( ((LA30_0>=RULE_SINGLE_QUOTE && LA30_0<=RULE_LOWER_WORD_ID)||(LA30_0>=RULE_DOLLAR_ID && LA30_0<=RULE_DOUBLE_DOLLAR_ID)||(LA30_0>=38 && LA30_0<=52)) ) { 6029 if ( (LA37_0==RULE_LOWER_WORD_ID||(LA37_0>=RULE_SINGLE_QUOTE && LA37_0<=RULE_DOUBLE_DOLLAR_ID)||(LA37_0>=46 && LA37_0<=60)) ) {
4930 alt30=1; 6030 alt37=1;
4931 } 6031 }
4932 else if ( (LA30_0==71) ) { 6032 else if ( (LA37_0==80) ) {
4933 alt30=2; 6033 alt37=2;
4934 } 6034 }
4935 else { 6035 else {
4936 NoViableAltException nvae = 6036 NoViableAltException nvae =
4937 new NoViableAltException("", 30, 0, input); 6037 new NoViableAltException("", 37, 0, input);
4938 6038
4939 throw nvae; 6039 throw nvae;
4940 } 6040 }
4941 switch (alt30) { 6041 switch (alt37) {
4942 case 1 : 6042 case 1 :
4943 // InternalVampireLanguage.g:1908: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= ')' ) ) 6043 // InternalVampireLanguage.g:2261: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= ')' ) )
4944 { 6044 {
4945 // InternalVampireLanguage.g:1908: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= ')' ) ) 6045 // InternalVampireLanguage.g:2261: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= ')' ) )
4946 // InternalVampireLanguage.g:1909: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= ')' ) 6046 // InternalVampireLanguage.g:2262: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= ')' )
4947 { 6047 {
4948 // InternalVampireLanguage.g:1909:4: () 6048 // InternalVampireLanguage.g:2262:4: ()
4949 // InternalVampireLanguage.g:1910:5: 6049 // InternalVampireLanguage.g:2263:5:
4950 { 6050 {
4951 6051
4952 current = forceCreateModelElement( 6052 current = forceCreateModelElement(
@@ -4956,43 +6056,35 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
4956 6056
4957 } 6057 }
4958 6058
4959 // InternalVampireLanguage.g:1916: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 ) ) ) 6059 // InternalVampireLanguage.g:2269: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 ) ) )
4960 // InternalVampireLanguage.g:1917: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 ) ) 6060 // InternalVampireLanguage.g:2270: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 ) )
4961 { 6061 {
4962 // InternalVampireLanguage.g:1917: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 ) ) 6062 // InternalVampireLanguage.g:2270: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 ) )
4963 // InternalVampireLanguage.g:1918: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 ) 6063 // InternalVampireLanguage.g:2271: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 )
4964 { 6064 {
4965 // InternalVampireLanguage.g:1918: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 ) 6065 // InternalVampireLanguage.g:2271: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 )
4966 int alt28=5; 6066 int alt35=5;
4967 switch ( input.LA(1) ) { 6067 switch ( input.LA(1) ) {
4968 case RULE_LOWER_WORD_ID: 6068 case RULE_LOWER_WORD_ID:
4969 { 6069 {
4970 alt28=1; 6070 alt35=1;
4971 } 6071 }
4972 break; 6072 break;
4973 case RULE_SINGLE_QUOTE: 6073 case RULE_SINGLE_QUOTE:
4974 { 6074 {
4975 alt28=2; 6075 alt35=2;
4976 } 6076 }
4977 break; 6077 break;
4978 case RULE_DOLLAR_ID: 6078 case RULE_DOLLAR_ID:
4979 { 6079 {
4980 alt28=3; 6080 alt35=3;
4981 } 6081 }
4982 break; 6082 break;
4983 case RULE_DOUBLE_DOLLAR_ID: 6083 case RULE_DOUBLE_DOLLAR_ID:
4984 { 6084 {
4985 alt28=4; 6085 alt35=4;
4986 } 6086 }
4987 break; 6087 break;
4988 case 38:
4989 case 39:
4990 case 40:
4991 case 41:
4992 case 42:
4993 case 43:
4994 case 44:
4995 case 45:
4996 case 46: 6088 case 46:
4997 case 47: 6089 case 47:
4998 case 48: 6090 case 48:
@@ -5000,22 +6092,30 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5000 case 50: 6092 case 50:
5001 case 51: 6093 case 51:
5002 case 52: 6094 case 52:
6095 case 53:
6096 case 54:
6097 case 55:
6098 case 56:
6099 case 57:
6100 case 58:
6101 case 59:
6102 case 60:
5003 { 6103 {
5004 alt28=5; 6104 alt35=5;
5005 } 6105 }
5006 break; 6106 break;
5007 default: 6107 default:
5008 NoViableAltException nvae = 6108 NoViableAltException nvae =
5009 new NoViableAltException("", 28, 0, input); 6109 new NoViableAltException("", 35, 0, input);
5010 6110
5011 throw nvae; 6111 throw nvae;
5012 } 6112 }
5013 6113
5014 switch (alt28) { 6114 switch (alt35) {
5015 case 1 : 6115 case 1 :
5016 // InternalVampireLanguage.g:1919:7: lv_constant_1_1= RULE_LOWER_WORD_ID 6116 // InternalVampireLanguage.g:2272:7: lv_constant_1_1= RULE_LOWER_WORD_ID
5017 { 6117 {
5018 lv_constant_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_9); 6118 lv_constant_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_16);
5019 6119
5020 newLeafNode(lv_constant_1_1, grammarAccess.getVLSAtomicFunctionAccess().getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0()); 6120 newLeafNode(lv_constant_1_1, grammarAccess.getVLSAtomicFunctionAccess().getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
5021 6121
@@ -5033,9 +6133,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5033 } 6133 }
5034 break; 6134 break;
5035 case 2 : 6135 case 2 :
5036 // InternalVampireLanguage.g:1934:7: lv_constant_1_2= RULE_SINGLE_QUOTE 6136 // InternalVampireLanguage.g:2287:7: lv_constant_1_2= RULE_SINGLE_QUOTE
5037 { 6137 {
5038 lv_constant_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_9); 6138 lv_constant_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_16);
5039 6139
5040 newLeafNode(lv_constant_1_2, grammarAccess.getVLSAtomicFunctionAccess().getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1()); 6140 newLeafNode(lv_constant_1_2, grammarAccess.getVLSAtomicFunctionAccess().getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1());
5041 6141
@@ -5053,9 +6153,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5053 } 6153 }
5054 break; 6154 break;
5055 case 3 : 6155 case 3 :
5056 // InternalVampireLanguage.g:1949:7: lv_constant_1_3= RULE_DOLLAR_ID 6156 // InternalVampireLanguage.g:2302:7: lv_constant_1_3= RULE_DOLLAR_ID
5057 { 6157 {
5058 lv_constant_1_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_9); 6158 lv_constant_1_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_16);
5059 6159
5060 newLeafNode(lv_constant_1_3, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2()); 6160 newLeafNode(lv_constant_1_3, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2());
5061 6161
@@ -5073,9 +6173,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5073 } 6173 }
5074 break; 6174 break;
5075 case 4 : 6175 case 4 :
5076 // InternalVampireLanguage.g:1964:7: lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID 6176 // InternalVampireLanguage.g:2317:7: lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID
5077 { 6177 {
5078 lv_constant_1_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_9); 6178 lv_constant_1_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_16);
5079 6179
5080 newLeafNode(lv_constant_1_4, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3()); 6180 newLeafNode(lv_constant_1_4, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
5081 6181
@@ -5093,12 +6193,12 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5093 } 6193 }
5094 break; 6194 break;
5095 case 5 : 6195 case 5 :
5096 // InternalVampireLanguage.g:1979:7: lv_constant_1_5= ruleVLSRole 6196 // InternalVampireLanguage.g:2332:7: lv_constant_1_5= ruleVLSRole
5097 { 6197 {
5098 6198
5099 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getConstantVLSRoleParserRuleCall_0_1_0_4()); 6199 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getConstantVLSRoleParserRuleCall_0_1_0_4());
5100 6200
5101 pushFollow(FOLLOW_9); 6201 pushFollow(FOLLOW_16);
5102 lv_constant_1_5=ruleVLSRole(); 6202 lv_constant_1_5=ruleVLSRole();
5103 6203
5104 state._fsp--; 6204 state._fsp--;
@@ -5126,23 +6226,23 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5126 6226
5127 } 6227 }
5128 6228
5129 // InternalVampireLanguage.g:1997:4: (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) 6229 // InternalVampireLanguage.g:2350:4: (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' )
5130 // InternalVampireLanguage.g:1998:5: otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' 6230 // InternalVampireLanguage.g:2351:5: otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')'
5131 { 6231 {
5132 otherlv_2=(Token)match(input,34,FOLLOW_30); 6232 otherlv_2=(Token)match(input,38,FOLLOW_33);
5133 6233
5134 newLeafNode(otherlv_2, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_0_2_0()); 6234 newLeafNode(otherlv_2, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_0_2_0());
5135 6235
5136 // InternalVampireLanguage.g:2002:5: ( (lv_terms_3_0= ruleVLSFofTerm ) ) 6236 // InternalVampireLanguage.g:2355:5: ( (lv_terms_3_0= ruleVLSFofTerm ) )
5137 // InternalVampireLanguage.g:2003:6: (lv_terms_3_0= ruleVLSFofTerm ) 6237 // InternalVampireLanguage.g:2356:6: (lv_terms_3_0= ruleVLSFofTerm )
5138 { 6238 {
5139 // InternalVampireLanguage.g:2003:6: (lv_terms_3_0= ruleVLSFofTerm ) 6239 // InternalVampireLanguage.g:2356:6: (lv_terms_3_0= ruleVLSFofTerm )
5140 // InternalVampireLanguage.g:2004:7: lv_terms_3_0= ruleVLSFofTerm 6240 // InternalVampireLanguage.g:2357:7: lv_terms_3_0= ruleVLSFofTerm
5141 { 6241 {
5142 6242
5143 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_1_0()); 6243 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_1_0());
5144 6244
5145 pushFollow(FOLLOW_14); 6245 pushFollow(FOLLOW_21);
5146 lv_terms_3_0=ruleVLSFofTerm(); 6246 lv_terms_3_0=ruleVLSFofTerm();
5147 6247
5148 state._fsp--; 6248 state._fsp--;
@@ -5164,35 +6264,35 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5164 6264
5165 } 6265 }
5166 6266
5167 // InternalVampireLanguage.g:2021:5: (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* 6267 // InternalVampireLanguage.g:2374:5: (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )*
5168 loop29: 6268 loop36:
5169 do { 6269 do {
5170 int alt29=2; 6270 int alt36=2;
5171 int LA29_0 = input.LA(1); 6271 int LA36_0 = input.LA(1);
5172 6272
5173 if ( (LA29_0==29) ) { 6273 if ( (LA36_0==39) ) {
5174 alt29=1; 6274 alt36=1;
5175 } 6275 }
5176 6276
5177 6277
5178 switch (alt29) { 6278 switch (alt36) {
5179 case 1 : 6279 case 1 :
5180 // InternalVampireLanguage.g:2022:6: otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) 6280 // InternalVampireLanguage.g:2375:6: otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) )
5181 { 6281 {
5182 otherlv_4=(Token)match(input,29,FOLLOW_30); 6282 otherlv_4=(Token)match(input,39,FOLLOW_33);
5183 6283
5184 newLeafNode(otherlv_4, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_0_2_2_0()); 6284 newLeafNode(otherlv_4, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_0_2_2_0());
5185 6285
5186 // InternalVampireLanguage.g:2026:6: ( (lv_terms_5_0= ruleVLSFofTerm ) ) 6286 // InternalVampireLanguage.g:2379:6: ( (lv_terms_5_0= ruleVLSFofTerm ) )
5187 // InternalVampireLanguage.g:2027:7: (lv_terms_5_0= ruleVLSFofTerm ) 6287 // InternalVampireLanguage.g:2380:7: (lv_terms_5_0= ruleVLSFofTerm )
5188 { 6288 {
5189 // InternalVampireLanguage.g:2027:7: (lv_terms_5_0= ruleVLSFofTerm ) 6289 // InternalVampireLanguage.g:2380:7: (lv_terms_5_0= ruleVLSFofTerm )
5190 // InternalVampireLanguage.g:2028:8: lv_terms_5_0= ruleVLSFofTerm 6290 // InternalVampireLanguage.g:2381:8: lv_terms_5_0= ruleVLSFofTerm
5191 { 6291 {
5192 6292
5193 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_2_1_0()); 6293 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_2_1_0());
5194 6294
5195 pushFollow(FOLLOW_14); 6295 pushFollow(FOLLOW_21);
5196 lv_terms_5_0=ruleVLSFofTerm(); 6296 lv_terms_5_0=ruleVLSFofTerm();
5197 6297
5198 state._fsp--; 6298 state._fsp--;
@@ -5219,11 +6319,11 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5219 break; 6319 break;
5220 6320
5221 default : 6321 default :
5222 break loop29; 6322 break loop36;
5223 } 6323 }
5224 } while (true); 6324 } while (true);
5225 6325
5226 otherlv_6=(Token)match(input,35,FOLLOW_2); 6326 otherlv_6=(Token)match(input,40,FOLLOW_2);
5227 6327
5228 newLeafNode(otherlv_6, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_0_2_3()); 6328 newLeafNode(otherlv_6, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_0_2_3());
5229 6329
@@ -5237,13 +6337,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5237 } 6337 }
5238 break; 6338 break;
5239 case 2 : 6339 case 2 :
5240 // InternalVampireLanguage.g:2053:3: ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' ) 6340 // InternalVampireLanguage.g:2406:3: ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' )
5241 { 6341 {
5242 // InternalVampireLanguage.g:2053:3: ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' ) 6342 // InternalVampireLanguage.g:2406:3: ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' )
5243 // InternalVampireLanguage.g:2054:4: () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' 6343 // InternalVampireLanguage.g:2407:4: () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')'
5244 { 6344 {
5245 // InternalVampireLanguage.g:2054:4: () 6345 // InternalVampireLanguage.g:2407:4: ()
5246 // InternalVampireLanguage.g:2055:5: 6346 // InternalVampireLanguage.g:2408:5:
5247 { 6347 {
5248 6348
5249 current = forceCreateModelElement( 6349 current = forceCreateModelElement(
@@ -5253,13 +6353,13 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5253 6353
5254 } 6354 }
5255 6355
5256 // InternalVampireLanguage.g:2061:4: ( (lv_name_8_0= '$less' ) ) 6356 // InternalVampireLanguage.g:2414:4: ( (lv_name_8_0= '$less' ) )
5257 // InternalVampireLanguage.g:2062:5: (lv_name_8_0= '$less' ) 6357 // InternalVampireLanguage.g:2415:5: (lv_name_8_0= '$less' )
5258 { 6358 {
5259 // InternalVampireLanguage.g:2062:5: (lv_name_8_0= '$less' ) 6359 // InternalVampireLanguage.g:2415:5: (lv_name_8_0= '$less' )
5260 // InternalVampireLanguage.g:2063:6: lv_name_8_0= '$less' 6360 // InternalVampireLanguage.g:2416:6: lv_name_8_0= '$less'
5261 { 6361 {
5262 lv_name_8_0=(Token)match(input,71,FOLLOW_9); 6362 lv_name_8_0=(Token)match(input,80,FOLLOW_16);
5263 6363
5264 newLeafNode(lv_name_8_0, grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0()); 6364 newLeafNode(lv_name_8_0, grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0());
5265 6365
@@ -5275,20 +6375,20 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5275 6375
5276 } 6376 }
5277 6377
5278 otherlv_9=(Token)match(input,34,FOLLOW_30); 6378 otherlv_9=(Token)match(input,38,FOLLOW_33);
5279 6379
5280 newLeafNode(otherlv_9, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_1_2()); 6380 newLeafNode(otherlv_9, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_1_2());
5281 6381
5282 // InternalVampireLanguage.g:2079:4: ( (lv_terms_10_0= ruleVLSFofTerm ) ) 6382 // InternalVampireLanguage.g:2432:4: ( (lv_terms_10_0= ruleVLSFofTerm ) )
5283 // InternalVampireLanguage.g:2080:5: (lv_terms_10_0= ruleVLSFofTerm ) 6383 // InternalVampireLanguage.g:2433:5: (lv_terms_10_0= ruleVLSFofTerm )
5284 { 6384 {
5285 // InternalVampireLanguage.g:2080:5: (lv_terms_10_0= ruleVLSFofTerm ) 6385 // InternalVampireLanguage.g:2433:5: (lv_terms_10_0= ruleVLSFofTerm )
5286 // InternalVampireLanguage.g:2081:6: lv_terms_10_0= ruleVLSFofTerm 6386 // InternalVampireLanguage.g:2434:6: lv_terms_10_0= ruleVLSFofTerm
5287 { 6387 {
5288 6388
5289 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_3_0()); 6389 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_3_0());
5290 6390
5291 pushFollow(FOLLOW_11); 6391 pushFollow(FOLLOW_18);
5292 lv_terms_10_0=ruleVLSFofTerm(); 6392 lv_terms_10_0=ruleVLSFofTerm();
5293 6393
5294 state._fsp--; 6394 state._fsp--;
@@ -5310,20 +6410,20 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5310 6410
5311 } 6411 }
5312 6412
5313 otherlv_11=(Token)match(input,29,FOLLOW_30); 6413 otherlv_11=(Token)match(input,39,FOLLOW_33);
5314 6414
5315 newLeafNode(otherlv_11, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_1_4()); 6415 newLeafNode(otherlv_11, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_1_4());
5316 6416
5317 // InternalVampireLanguage.g:2102:4: ( (lv_terms_12_0= ruleVLSFofTerm ) ) 6417 // InternalVampireLanguage.g:2455:4: ( (lv_terms_12_0= ruleVLSFofTerm ) )
5318 // InternalVampireLanguage.g:2103:5: (lv_terms_12_0= ruleVLSFofTerm ) 6418 // InternalVampireLanguage.g:2456:5: (lv_terms_12_0= ruleVLSFofTerm )
5319 { 6419 {
5320 // InternalVampireLanguage.g:2103:5: (lv_terms_12_0= ruleVLSFofTerm ) 6420 // InternalVampireLanguage.g:2456:5: (lv_terms_12_0= ruleVLSFofTerm )
5321 // InternalVampireLanguage.g:2104:6: lv_terms_12_0= ruleVLSFofTerm 6421 // InternalVampireLanguage.g:2457:6: lv_terms_12_0= ruleVLSFofTerm
5322 { 6422 {
5323 6423
5324 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_5_0()); 6424 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_5_0());
5325 6425
5326 pushFollow(FOLLOW_16); 6426 pushFollow(FOLLOW_23);
5327 lv_terms_12_0=ruleVLSFofTerm(); 6427 lv_terms_12_0=ruleVLSFofTerm();
5328 6428
5329 state._fsp--; 6429 state._fsp--;
@@ -5345,7 +6445,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5345 6445
5346 } 6446 }
5347 6447
5348 otherlv_13=(Token)match(input,35,FOLLOW_2); 6448 otherlv_13=(Token)match(input,40,FOLLOW_2);
5349 6449
5350 newLeafNode(otherlv_13, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_1_6()); 6450 newLeafNode(otherlv_13, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_1_6());
5351 6451
@@ -5378,7 +6478,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5378 6478
5379 6479
5380 // $ANTLR start "entryRuleVLSVariable" 6480 // $ANTLR start "entryRuleVLSVariable"
5381 // InternalVampireLanguage.g:2130:1: entryRuleVLSVariable returns [EObject current=null] : iv_ruleVLSVariable= ruleVLSVariable EOF ; 6481 // InternalVampireLanguage.g:2483:1: entryRuleVLSVariable returns [EObject current=null] : iv_ruleVLSVariable= ruleVLSVariable EOF ;
5382 public final EObject entryRuleVLSVariable() throws RecognitionException { 6482 public final EObject entryRuleVLSVariable() throws RecognitionException {
5383 EObject current = null; 6483 EObject current = null;
5384 6484
@@ -5386,8 +6486,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5386 6486
5387 6487
5388 try { 6488 try {
5389 // InternalVampireLanguage.g:2130:52: (iv_ruleVLSVariable= ruleVLSVariable EOF ) 6489 // InternalVampireLanguage.g:2483:52: (iv_ruleVLSVariable= ruleVLSVariable EOF )
5390 // InternalVampireLanguage.g:2131:2: iv_ruleVLSVariable= ruleVLSVariable EOF 6490 // InternalVampireLanguage.g:2484:2: iv_ruleVLSVariable= ruleVLSVariable EOF
5391 { 6491 {
5392 newCompositeNode(grammarAccess.getVLSVariableRule()); 6492 newCompositeNode(grammarAccess.getVLSVariableRule());
5393 pushFollow(FOLLOW_1); 6493 pushFollow(FOLLOW_1);
@@ -5414,7 +6514,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5414 6514
5415 6515
5416 // $ANTLR start "ruleVLSVariable" 6516 // $ANTLR start "ruleVLSVariable"
5417 // InternalVampireLanguage.g:2137:1: ruleVLSVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_UPPER_WORD_ID ) ) ; 6517 // InternalVampireLanguage.g:2490:1: ruleVLSVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_UPPER_WORD_ID ) ) ;
5418 public final EObject ruleVLSVariable() throws RecognitionException { 6518 public final EObject ruleVLSVariable() throws RecognitionException {
5419 EObject current = null; 6519 EObject current = null;
5420 6520
@@ -5424,14 +6524,14 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5424 enterRule(); 6524 enterRule();
5425 6525
5426 try { 6526 try {
5427 // InternalVampireLanguage.g:2143:2: ( ( (lv_name_0_0= RULE_UPPER_WORD_ID ) ) ) 6527 // InternalVampireLanguage.g:2496:2: ( ( (lv_name_0_0= RULE_UPPER_WORD_ID ) ) )
5428 // InternalVampireLanguage.g:2144:2: ( (lv_name_0_0= RULE_UPPER_WORD_ID ) ) 6528 // InternalVampireLanguage.g:2497:2: ( (lv_name_0_0= RULE_UPPER_WORD_ID ) )
5429 { 6529 {
5430 // InternalVampireLanguage.g:2144:2: ( (lv_name_0_0= RULE_UPPER_WORD_ID ) ) 6530 // InternalVampireLanguage.g:2497:2: ( (lv_name_0_0= RULE_UPPER_WORD_ID ) )
5431 // InternalVampireLanguage.g:2145:3: (lv_name_0_0= RULE_UPPER_WORD_ID ) 6531 // InternalVampireLanguage.g:2498:3: (lv_name_0_0= RULE_UPPER_WORD_ID )
5432 { 6532 {
5433 // InternalVampireLanguage.g:2145:3: (lv_name_0_0= RULE_UPPER_WORD_ID ) 6533 // InternalVampireLanguage.g:2498:3: (lv_name_0_0= RULE_UPPER_WORD_ID )
5434 // InternalVampireLanguage.g:2146:4: lv_name_0_0= RULE_UPPER_WORD_ID 6534 // InternalVampireLanguage.g:2499:4: lv_name_0_0= RULE_UPPER_WORD_ID
5435 { 6535 {
5436 lv_name_0_0=(Token)match(input,RULE_UPPER_WORD_ID,FOLLOW_2); 6536 lv_name_0_0=(Token)match(input,RULE_UPPER_WORD_ID,FOLLOW_2);
5437 6537
@@ -5473,7 +6573,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5473 6573
5474 6574
5475 // $ANTLR start "entryRuleVLSFofTerm" 6575 // $ANTLR start "entryRuleVLSFofTerm"
5476 // InternalVampireLanguage.g:2165:1: entryRuleVLSFofTerm returns [EObject current=null] : iv_ruleVLSFofTerm= ruleVLSFofTerm EOF ; 6576 // InternalVampireLanguage.g:2518:1: entryRuleVLSFofTerm returns [EObject current=null] : iv_ruleVLSFofTerm= ruleVLSFofTerm EOF ;
5477 public final EObject entryRuleVLSFofTerm() throws RecognitionException { 6577 public final EObject entryRuleVLSFofTerm() throws RecognitionException {
5478 EObject current = null; 6578 EObject current = null;
5479 6579
@@ -5481,8 +6581,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5481 6581
5482 6582
5483 try { 6583 try {
5484 // InternalVampireLanguage.g:2165:51: (iv_ruleVLSFofTerm= ruleVLSFofTerm EOF ) 6584 // InternalVampireLanguage.g:2518:51: (iv_ruleVLSFofTerm= ruleVLSFofTerm EOF )
5485 // InternalVampireLanguage.g:2166:2: iv_ruleVLSFofTerm= ruleVLSFofTerm EOF 6585 // InternalVampireLanguage.g:2519:2: iv_ruleVLSFofTerm= ruleVLSFofTerm EOF
5486 { 6586 {
5487 newCompositeNode(grammarAccess.getVLSFofTermRule()); 6587 newCompositeNode(grammarAccess.getVLSFofTermRule());
5488 pushFollow(FOLLOW_1); 6588 pushFollow(FOLLOW_1);
@@ -5509,7 +6609,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5509 6609
5510 6610
5511 // $ANTLR start "ruleVLSFofTerm" 6611 // $ANTLR start "ruleVLSFofTerm"
5512 // InternalVampireLanguage.g:2172:1: ruleVLSFofTerm returns [EObject current=null] : (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionAsTerm_1= ruleVLSFunctionAsTerm | this_VLSDefinedTerm_2= ruleVLSDefinedTerm ) ; 6612 // InternalVampireLanguage.g:2525:1: ruleVLSFofTerm returns [EObject current=null] : (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionAsTerm_1= ruleVLSFunctionAsTerm | this_VLSDefinedTerm_2= ruleVLSDefinedTerm ) ;
5513 public final EObject ruleVLSFofTerm() throws RecognitionException { 6613 public final EObject ruleVLSFofTerm() throws RecognitionException {
5514 EObject current = null; 6614 EObject current = null;
5515 6615
@@ -5524,43 +6624,41 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5524 enterRule(); 6624 enterRule();
5525 6625
5526 try { 6626 try {
5527 // InternalVampireLanguage.g:2178:2: ( (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionAsTerm_1= ruleVLSFunctionAsTerm | this_VLSDefinedTerm_2= ruleVLSDefinedTerm ) ) 6627 // InternalVampireLanguage.g:2531:2: ( (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionAsTerm_1= ruleVLSFunctionAsTerm | this_VLSDefinedTerm_2= ruleVLSDefinedTerm ) )
5528 // InternalVampireLanguage.g:2179:2: (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionAsTerm_1= ruleVLSFunctionAsTerm | this_VLSDefinedTerm_2= ruleVLSDefinedTerm ) 6628 // InternalVampireLanguage.g:2532:2: (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionAsTerm_1= ruleVLSFunctionAsTerm | this_VLSDefinedTerm_2= ruleVLSDefinedTerm )
5529 { 6629 {
5530 // InternalVampireLanguage.g:2179:2: (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionAsTerm_1= ruleVLSFunctionAsTerm | this_VLSDefinedTerm_2= ruleVLSDefinedTerm ) 6630 // InternalVampireLanguage.g:2532:2: (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionAsTerm_1= ruleVLSFunctionAsTerm | this_VLSDefinedTerm_2= ruleVLSDefinedTerm )
5531 int alt31=3; 6631 int alt38=3;
5532 switch ( input.LA(1) ) { 6632 switch ( input.LA(1) ) {
5533 case RULE_UPPER_WORD_ID: 6633 case RULE_UPPER_WORD_ID:
5534 { 6634 {
5535 alt31=1; 6635 alt38=1;
5536 } 6636 }
5537 break; 6637 break;
5538 case RULE_SINGLE_QUOTE:
5539 case RULE_LOWER_WORD_ID: 6638 case RULE_LOWER_WORD_ID:
6639 case RULE_SINGLE_QUOTE:
5540 case RULE_DOLLAR_ID: 6640 case RULE_DOLLAR_ID:
5541 case RULE_DOUBLE_DOLLAR_ID: 6641 case RULE_DOUBLE_DOLLAR_ID:
5542 { 6642 {
5543 alt31=2; 6643 alt38=2;
5544 } 6644 }
5545 break; 6645 break;
5546 case RULE_SIGNED_LITERAL: 6646 case RULE_SIGNED_LITERAL:
5547 case RULE_SIGNED_REAL_ID:
5548 case RULE_SIGNED_RAT_ID:
5549 case RULE_DOUBLE_QUOTE: 6647 case RULE_DOUBLE_QUOTE:
5550 { 6648 {
5551 alt31=3; 6649 alt38=3;
5552 } 6650 }
5553 break; 6651 break;
5554 default: 6652 default:
5555 NoViableAltException nvae = 6653 NoViableAltException nvae =
5556 new NoViableAltException("", 31, 0, input); 6654 new NoViableAltException("", 38, 0, input);
5557 6655
5558 throw nvae; 6656 throw nvae;
5559 } 6657 }
5560 6658
5561 switch (alt31) { 6659 switch (alt38) {
5562 case 1 : 6660 case 1 :
5563 // InternalVampireLanguage.g:2180:3: this_VLSVariable_0= ruleVLSVariable 6661 // InternalVampireLanguage.g:2533:3: this_VLSVariable_0= ruleVLSVariable
5564 { 6662 {
5565 6663
5566 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSVariableParserRuleCall_0()); 6664 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSVariableParserRuleCall_0());
@@ -5578,7 +6676,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5578 } 6676 }
5579 break; 6677 break;
5580 case 2 : 6678 case 2 :
5581 // InternalVampireLanguage.g:2189:3: this_VLSFunctionAsTerm_1= ruleVLSFunctionAsTerm 6679 // InternalVampireLanguage.g:2542:3: this_VLSFunctionAsTerm_1= ruleVLSFunctionAsTerm
5582 { 6680 {
5583 6681
5584 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSFunctionAsTermParserRuleCall_1()); 6682 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSFunctionAsTermParserRuleCall_1());
@@ -5596,7 +6694,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5596 } 6694 }
5597 break; 6695 break;
5598 case 3 : 6696 case 3 :
5599 // InternalVampireLanguage.g:2198:3: this_VLSDefinedTerm_2= ruleVLSDefinedTerm 6697 // InternalVampireLanguage.g:2551:3: this_VLSDefinedTerm_2= ruleVLSDefinedTerm
5600 { 6698 {
5601 6699
5602 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSDefinedTermParserRuleCall_2()); 6700 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSDefinedTermParserRuleCall_2());
@@ -5636,7 +6734,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5636 6734
5637 6735
5638 // $ANTLR start "entryRuleVLSFunctionAsTerm" 6736 // $ANTLR start "entryRuleVLSFunctionAsTerm"
5639 // InternalVampireLanguage.g:2210:1: entryRuleVLSFunctionAsTerm returns [EObject current=null] : iv_ruleVLSFunctionAsTerm= ruleVLSFunctionAsTerm EOF ; 6737 // InternalVampireLanguage.g:2563:1: entryRuleVLSFunctionAsTerm returns [EObject current=null] : iv_ruleVLSFunctionAsTerm= ruleVLSFunctionAsTerm EOF ;
5640 public final EObject entryRuleVLSFunctionAsTerm() throws RecognitionException { 6738 public final EObject entryRuleVLSFunctionAsTerm() throws RecognitionException {
5641 EObject current = null; 6739 EObject current = null;
5642 6740
@@ -5644,8 +6742,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5644 6742
5645 6743
5646 try { 6744 try {
5647 // InternalVampireLanguage.g:2210:58: (iv_ruleVLSFunctionAsTerm= ruleVLSFunctionAsTerm EOF ) 6745 // InternalVampireLanguage.g:2563:58: (iv_ruleVLSFunctionAsTerm= ruleVLSFunctionAsTerm EOF )
5648 // InternalVampireLanguage.g:2211:2: iv_ruleVLSFunctionAsTerm= ruleVLSFunctionAsTerm EOF 6746 // InternalVampireLanguage.g:2564:2: iv_ruleVLSFunctionAsTerm= ruleVLSFunctionAsTerm EOF
5649 { 6747 {
5650 newCompositeNode(grammarAccess.getVLSFunctionAsTermRule()); 6748 newCompositeNode(grammarAccess.getVLSFunctionAsTermRule());
5651 pushFollow(FOLLOW_1); 6749 pushFollow(FOLLOW_1);
@@ -5672,7 +6770,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5672 6770
5673 6771
5674 // $ANTLR start "ruleVLSFunctionAsTerm" 6772 // $ANTLR start "ruleVLSFunctionAsTerm"
5675 // InternalVampireLanguage.g:2217:1: ruleVLSFunctionAsTerm 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= ')' )? ) ; 6773 // InternalVampireLanguage.g:2570:1: ruleVLSFunctionAsTerm 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= ')' )? ) ;
5676 public final EObject ruleVLSFunctionAsTerm() throws RecognitionException { 6774 public final EObject ruleVLSFunctionAsTerm() throws RecognitionException {
5677 EObject current = null; 6775 EObject current = null;
5678 6776
@@ -5692,53 +6790,53 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5692 enterRule(); 6790 enterRule();
5693 6791
5694 try { 6792 try {
5695 // InternalVampireLanguage.g:2223: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= ')' )? ) ) 6793 // InternalVampireLanguage.g:2576: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= ')' )? ) )
5696 // InternalVampireLanguage.g:2224: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= ')' )? ) 6794 // InternalVampireLanguage.g:2577: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= ')' )? )
5697 { 6795 {
5698 // InternalVampireLanguage.g:2224: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= ')' )? ) 6796 // InternalVampireLanguage.g:2577: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= ')' )? )
5699 // InternalVampireLanguage.g:2225: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= ')' )? 6797 // InternalVampireLanguage.g:2578: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= ')' )?
5700 { 6798 {
5701 // InternalVampireLanguage.g:2225: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 ) ) ) 6799 // InternalVampireLanguage.g:2578: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 ) ) )
5702 // InternalVampireLanguage.g:2226: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 ) ) 6800 // InternalVampireLanguage.g:2579: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 ) )
5703 { 6801 {
5704 // InternalVampireLanguage.g:2226: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 ) ) 6802 // InternalVampireLanguage.g:2579: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 ) )
5705 // InternalVampireLanguage.g:2227: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 ) 6803 // InternalVampireLanguage.g:2580: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 )
5706 { 6804 {
5707 // InternalVampireLanguage.g:2227: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 ) 6805 // InternalVampireLanguage.g:2580: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 )
5708 int alt32=4; 6806 int alt39=4;
5709 switch ( input.LA(1) ) { 6807 switch ( input.LA(1) ) {
5710 case RULE_LOWER_WORD_ID: 6808 case RULE_LOWER_WORD_ID:
5711 { 6809 {
5712 alt32=1; 6810 alt39=1;
5713 } 6811 }
5714 break; 6812 break;
5715 case RULE_SINGLE_QUOTE: 6813 case RULE_SINGLE_QUOTE:
5716 { 6814 {
5717 alt32=2; 6815 alt39=2;
5718 } 6816 }
5719 break; 6817 break;
5720 case RULE_DOLLAR_ID: 6818 case RULE_DOLLAR_ID:
5721 { 6819 {
5722 alt32=3; 6820 alt39=3;
5723 } 6821 }
5724 break; 6822 break;
5725 case RULE_DOUBLE_DOLLAR_ID: 6823 case RULE_DOUBLE_DOLLAR_ID:
5726 { 6824 {
5727 alt32=4; 6825 alt39=4;
5728 } 6826 }
5729 break; 6827 break;
5730 default: 6828 default:
5731 NoViableAltException nvae = 6829 NoViableAltException nvae =
5732 new NoViableAltException("", 32, 0, input); 6830 new NoViableAltException("", 39, 0, input);
5733 6831
5734 throw nvae; 6832 throw nvae;
5735 } 6833 }
5736 6834
5737 switch (alt32) { 6835 switch (alt39) {
5738 case 1 : 6836 case 1 :
5739 // InternalVampireLanguage.g:2228:6: lv_functor_0_1= RULE_LOWER_WORD_ID 6837 // InternalVampireLanguage.g:2581:6: lv_functor_0_1= RULE_LOWER_WORD_ID
5740 { 6838 {
5741 lv_functor_0_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_31); 6839 lv_functor_0_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_43);
5742 6840
5743 newLeafNode(lv_functor_0_1, grammarAccess.getVLSFunctionAsTermAccess().getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0()); 6841 newLeafNode(lv_functor_0_1, grammarAccess.getVLSFunctionAsTermAccess().getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0());
5744 6842
@@ -5756,9 +6854,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5756 } 6854 }
5757 break; 6855 break;
5758 case 2 : 6856 case 2 :
5759 // InternalVampireLanguage.g:2243:6: lv_functor_0_2= RULE_SINGLE_QUOTE 6857 // InternalVampireLanguage.g:2596:6: lv_functor_0_2= RULE_SINGLE_QUOTE
5760 { 6858 {
5761 lv_functor_0_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_31); 6859 lv_functor_0_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_43);
5762 6860
5763 newLeafNode(lv_functor_0_2, grammarAccess.getVLSFunctionAsTermAccess().getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1()); 6861 newLeafNode(lv_functor_0_2, grammarAccess.getVLSFunctionAsTermAccess().getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1());
5764 6862
@@ -5776,9 +6874,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5776 } 6874 }
5777 break; 6875 break;
5778 case 3 : 6876 case 3 :
5779 // InternalVampireLanguage.g:2258:6: lv_functor_0_3= RULE_DOLLAR_ID 6877 // InternalVampireLanguage.g:2611:6: lv_functor_0_3= RULE_DOLLAR_ID
5780 { 6878 {
5781 lv_functor_0_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_31); 6879 lv_functor_0_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_43);
5782 6880
5783 newLeafNode(lv_functor_0_3, grammarAccess.getVLSFunctionAsTermAccess().getFunctorDOLLAR_IDTerminalRuleCall_0_0_2()); 6881 newLeafNode(lv_functor_0_3, grammarAccess.getVLSFunctionAsTermAccess().getFunctorDOLLAR_IDTerminalRuleCall_0_0_2());
5784 6882
@@ -5796,9 +6894,9 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5796 } 6894 }
5797 break; 6895 break;
5798 case 4 : 6896 case 4 :
5799 // InternalVampireLanguage.g:2273:6: lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID 6897 // InternalVampireLanguage.g:2626:6: lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID
5800 { 6898 {
5801 lv_functor_0_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_31); 6899 lv_functor_0_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_43);
5802 6900
5803 newLeafNode(lv_functor_0_4, grammarAccess.getVLSFunctionAsTermAccess().getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3()); 6901 newLeafNode(lv_functor_0_4, grammarAccess.getVLSFunctionAsTermAccess().getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3());
5804 6902
@@ -5824,31 +6922,31 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5824 6922
5825 } 6923 }
5826 6924
5827 // InternalVampireLanguage.g:2290:3: (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )? 6925 // InternalVampireLanguage.g:2643:3: (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )?
5828 int alt34=2; 6926 int alt41=2;
5829 int LA34_0 = input.LA(1); 6927 int LA41_0 = input.LA(1);
5830 6928
5831 if ( (LA34_0==34) ) { 6929 if ( (LA41_0==38) ) {
5832 alt34=1; 6930 alt41=1;
5833 } 6931 }
5834 switch (alt34) { 6932 switch (alt41) {
5835 case 1 : 6933 case 1 :
5836 // InternalVampireLanguage.g:2291:4: otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' 6934 // InternalVampireLanguage.g:2644:4: otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')'
5837 { 6935 {
5838 otherlv_1=(Token)match(input,34,FOLLOW_30); 6936 otherlv_1=(Token)match(input,38,FOLLOW_33);
5839 6937
5840 newLeafNode(otherlv_1, grammarAccess.getVLSFunctionAsTermAccess().getLeftParenthesisKeyword_1_0()); 6938 newLeafNode(otherlv_1, grammarAccess.getVLSFunctionAsTermAccess().getLeftParenthesisKeyword_1_0());
5841 6939
5842 // InternalVampireLanguage.g:2295:4: ( (lv_terms_2_0= ruleVLSFofTerm ) ) 6940 // InternalVampireLanguage.g:2648:4: ( (lv_terms_2_0= ruleVLSFofTerm ) )
5843 // InternalVampireLanguage.g:2296:5: (lv_terms_2_0= ruleVLSFofTerm ) 6941 // InternalVampireLanguage.g:2649:5: (lv_terms_2_0= ruleVLSFofTerm )
5844 { 6942 {
5845 // InternalVampireLanguage.g:2296:5: (lv_terms_2_0= ruleVLSFofTerm ) 6943 // InternalVampireLanguage.g:2649:5: (lv_terms_2_0= ruleVLSFofTerm )
5846 // InternalVampireLanguage.g:2297:6: lv_terms_2_0= ruleVLSFofTerm 6944 // InternalVampireLanguage.g:2650:6: lv_terms_2_0= ruleVLSFofTerm
5847 { 6945 {
5848 6946
5849 newCompositeNode(grammarAccess.getVLSFunctionAsTermAccess().getTermsVLSFofTermParserRuleCall_1_1_0()); 6947 newCompositeNode(grammarAccess.getVLSFunctionAsTermAccess().getTermsVLSFofTermParserRuleCall_1_1_0());
5850 6948
5851 pushFollow(FOLLOW_14); 6949 pushFollow(FOLLOW_21);
5852 lv_terms_2_0=ruleVLSFofTerm(); 6950 lv_terms_2_0=ruleVLSFofTerm();
5853 6951
5854 state._fsp--; 6952 state._fsp--;
@@ -5870,35 +6968,35 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5870 6968
5871 } 6969 }
5872 6970
5873 // InternalVampireLanguage.g:2314:4: (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* 6971 // InternalVampireLanguage.g:2667:4: (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )*
5874 loop33: 6972 loop40:
5875 do { 6973 do {
5876 int alt33=2; 6974 int alt40=2;
5877 int LA33_0 = input.LA(1); 6975 int LA40_0 = input.LA(1);
5878 6976
5879 if ( (LA33_0==29) ) { 6977 if ( (LA40_0==39) ) {
5880 alt33=1; 6978 alt40=1;
5881 } 6979 }
5882 6980
5883 6981
5884 switch (alt33) { 6982 switch (alt40) {
5885 case 1 : 6983 case 1 :
5886 // InternalVampireLanguage.g:2315:5: otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) 6984 // InternalVampireLanguage.g:2668:5: otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) )
5887 { 6985 {
5888 otherlv_3=(Token)match(input,29,FOLLOW_30); 6986 otherlv_3=(Token)match(input,39,FOLLOW_33);
5889 6987
5890 newLeafNode(otherlv_3, grammarAccess.getVLSFunctionAsTermAccess().getCommaKeyword_1_2_0()); 6988 newLeafNode(otherlv_3, grammarAccess.getVLSFunctionAsTermAccess().getCommaKeyword_1_2_0());
5891 6989
5892 // InternalVampireLanguage.g:2319:5: ( (lv_terms_4_0= ruleVLSFofTerm ) ) 6990 // InternalVampireLanguage.g:2672:5: ( (lv_terms_4_0= ruleVLSFofTerm ) )
5893 // InternalVampireLanguage.g:2320:6: (lv_terms_4_0= ruleVLSFofTerm ) 6991 // InternalVampireLanguage.g:2673:6: (lv_terms_4_0= ruleVLSFofTerm )
5894 { 6992 {
5895 // InternalVampireLanguage.g:2320:6: (lv_terms_4_0= ruleVLSFofTerm ) 6993 // InternalVampireLanguage.g:2673:6: (lv_terms_4_0= ruleVLSFofTerm )
5896 // InternalVampireLanguage.g:2321:7: lv_terms_4_0= ruleVLSFofTerm 6994 // InternalVampireLanguage.g:2674:7: lv_terms_4_0= ruleVLSFofTerm
5897 { 6995 {
5898 6996
5899 newCompositeNode(grammarAccess.getVLSFunctionAsTermAccess().getTermsVLSFofTermParserRuleCall_1_2_1_0()); 6997 newCompositeNode(grammarAccess.getVLSFunctionAsTermAccess().getTermsVLSFofTermParserRuleCall_1_2_1_0());
5900 6998
5901 pushFollow(FOLLOW_14); 6999 pushFollow(FOLLOW_21);
5902 lv_terms_4_0=ruleVLSFofTerm(); 7000 lv_terms_4_0=ruleVLSFofTerm();
5903 7001
5904 state._fsp--; 7002 state._fsp--;
@@ -5925,11 +7023,11 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5925 break; 7023 break;
5926 7024
5927 default : 7025 default :
5928 break loop33; 7026 break loop40;
5929 } 7027 }
5930 } while (true); 7028 } while (true);
5931 7029
5932 otherlv_5=(Token)match(input,35,FOLLOW_2); 7030 otherlv_5=(Token)match(input,40,FOLLOW_2);
5933 7031
5934 newLeafNode(otherlv_5, grammarAccess.getVLSFunctionAsTermAccess().getRightParenthesisKeyword_1_3()); 7032 newLeafNode(otherlv_5, grammarAccess.getVLSFunctionAsTermAccess().getRightParenthesisKeyword_1_3());
5935 7033
@@ -5962,7 +7060,7 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5962 7060
5963 7061
5964 // $ANTLR start "entryRuleVLSDefinedTerm" 7062 // $ANTLR start "entryRuleVLSDefinedTerm"
5965 // InternalVampireLanguage.g:2348:1: entryRuleVLSDefinedTerm returns [EObject current=null] : iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF ; 7063 // InternalVampireLanguage.g:2701:1: entryRuleVLSDefinedTerm returns [EObject current=null] : iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF ;
5966 public final EObject entryRuleVLSDefinedTerm() throws RecognitionException { 7064 public final EObject entryRuleVLSDefinedTerm() throws RecognitionException {
5967 EObject current = null; 7065 EObject current = null;
5968 7066
@@ -5970,8 +7068,8 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5970 7068
5971 7069
5972 try { 7070 try {
5973 // InternalVampireLanguage.g:2348:55: (iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF ) 7071 // InternalVampireLanguage.g:2701:55: (iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF )
5974 // InternalVampireLanguage.g:2349:2: iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF 7072 // InternalVampireLanguage.g:2702:2: iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF
5975 { 7073 {
5976 newCompositeNode(grammarAccess.getVLSDefinedTermRule()); 7074 newCompositeNode(grammarAccess.getVLSDefinedTermRule());
5977 pushFollow(FOLLOW_1); 7075 pushFollow(FOLLOW_1);
@@ -5998,61 +7096,45 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
5998 7096
5999 7097
6000 // $ANTLR start "ruleVLSDefinedTerm" 7098 // $ANTLR start "ruleVLSDefinedTerm"
6001 // InternalVampireLanguage.g:2355: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 ) ) ) ) ; 7099 // InternalVampireLanguage.g:2708:1: ruleVLSDefinedTerm returns [EObject current=null] : ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_DOUBLE_QUOTE ) ) ) ) ;
6002 public final EObject ruleVLSDefinedTerm() throws RecognitionException { 7100 public final EObject ruleVLSDefinedTerm() throws RecognitionException {
6003 EObject current = null; 7101 EObject current = null;
6004 7102
6005 Token lv_value_1_0=null; 7103 Token lv_value_1_0=null;
6006 Token lv_value_3_0=null; 7104 Token lv_value_3_0=null;
6007 Token lv_value_5_0=null;
6008 Token lv_value_7_0=null;
6009 7105
6010 7106
6011 enterRule(); 7107 enterRule();
6012 7108
6013 try { 7109 try {
6014 // InternalVampireLanguage.g:2361: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 ) ) ) ) ) 7110 // InternalVampireLanguage.g:2714:2: ( ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_DOUBLE_QUOTE ) ) ) ) )
6015 // InternalVampireLanguage.g:2362: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 ) ) ) ) 7111 // InternalVampireLanguage.g:2715:2: ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_DOUBLE_QUOTE ) ) ) )
6016 { 7112 {
6017 // InternalVampireLanguage.g:2362: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 ) ) ) ) 7113 // InternalVampireLanguage.g:2715:2: ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_DOUBLE_QUOTE ) ) ) )
6018 int alt35=4; 7114 int alt42=2;
6019 switch ( input.LA(1) ) { 7115 int LA42_0 = input.LA(1);
6020 case RULE_SIGNED_LITERAL: 7116
6021 { 7117 if ( (LA42_0==RULE_SIGNED_LITERAL) ) {
6022 alt35=1; 7118 alt42=1;
6023 } 7119 }
6024 break; 7120 else if ( (LA42_0==RULE_DOUBLE_QUOTE) ) {
6025 case RULE_SIGNED_REAL_ID: 7121 alt42=2;
6026 { 7122 }
6027 alt35=2; 7123 else {
6028 }
6029 break;
6030 case RULE_SIGNED_RAT_ID:
6031 {
6032 alt35=3;
6033 }
6034 break;
6035 case RULE_DOUBLE_QUOTE:
6036 {
6037 alt35=4;
6038 }
6039 break;
6040 default:
6041 NoViableAltException nvae = 7124 NoViableAltException nvae =
6042 new NoViableAltException("", 35, 0, input); 7125 new NoViableAltException("", 42, 0, input);
6043 7126
6044 throw nvae; 7127 throw nvae;
6045 } 7128 }
6046 7129 switch (alt42) {
6047 switch (alt35) {
6048 case 1 : 7130 case 1 :
6049 // InternalVampireLanguage.g:2363:3: ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) 7131 // InternalVampireLanguage.g:2716:3: ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) )
6050 { 7132 {
6051 // InternalVampireLanguage.g:2363:3: ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) 7133 // InternalVampireLanguage.g:2716:3: ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) )
6052 // InternalVampireLanguage.g:2364:4: () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) 7134 // InternalVampireLanguage.g:2717:4: () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) )
6053 { 7135 {
6054 // InternalVampireLanguage.g:2364:4: () 7136 // InternalVampireLanguage.g:2717:4: ()
6055 // InternalVampireLanguage.g:2365:5: 7137 // InternalVampireLanguage.g:2718:5:
6056 { 7138 {
6057 7139
6058 current = forceCreateModelElement( 7140 current = forceCreateModelElement(
@@ -6062,11 +7144,11 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
6062 7144
6063 } 7145 }
6064 7146
6065 // InternalVampireLanguage.g:2371:4: ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) 7147 // InternalVampireLanguage.g:2724:4: ( (lv_value_1_0= RULE_SIGNED_LITERAL ) )
6066 // InternalVampireLanguage.g:2372:5: (lv_value_1_0= RULE_SIGNED_LITERAL ) 7148 // InternalVampireLanguage.g:2725:5: (lv_value_1_0= RULE_SIGNED_LITERAL )
6067 { 7149 {
6068 // InternalVampireLanguage.g:2372:5: (lv_value_1_0= RULE_SIGNED_LITERAL ) 7150 // InternalVampireLanguage.g:2725:5: (lv_value_1_0= RULE_SIGNED_LITERAL )
6069 // InternalVampireLanguage.g:2373:6: lv_value_1_0= RULE_SIGNED_LITERAL 7151 // InternalVampireLanguage.g:2726:6: lv_value_1_0= RULE_SIGNED_LITERAL
6070 { 7152 {
6071 lv_value_1_0=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_2); 7153 lv_value_1_0=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_2);
6072 7154
@@ -6095,31 +7177,31 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
6095 } 7177 }
6096 break; 7178 break;
6097 case 2 : 7179 case 2 :
6098 // InternalVampireLanguage.g:2391:3: ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) ) 7180 // InternalVampireLanguage.g:2744:3: ( () ( (lv_value_3_0= RULE_DOUBLE_QUOTE ) ) )
6099 { 7181 {
6100 // InternalVampireLanguage.g:2391:3: ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) ) 7182 // InternalVampireLanguage.g:2744:3: ( () ( (lv_value_3_0= RULE_DOUBLE_QUOTE ) ) )
6101 // InternalVampireLanguage.g:2392:4: () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) 7183 // InternalVampireLanguage.g:2745:4: () ( (lv_value_3_0= RULE_DOUBLE_QUOTE ) )
6102 { 7184 {
6103 // InternalVampireLanguage.g:2392:4: () 7185 // InternalVampireLanguage.g:2745:4: ()
6104 // InternalVampireLanguage.g:2393:5: 7186 // InternalVampireLanguage.g:2746:5:
6105 { 7187 {
6106 7188
6107 current = forceCreateModelElement( 7189 current = forceCreateModelElement(
6108 grammarAccess.getVLSDefinedTermAccess().getVLSRealAction_1_0(), 7190 grammarAccess.getVLSDefinedTermAccess().getVLSDoubleQuoteAction_1_0(),
6109 current); 7191 current);
6110 7192
6111 7193
6112 } 7194 }
6113 7195
6114 // InternalVampireLanguage.g:2399:4: ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) 7196 // InternalVampireLanguage.g:2752:4: ( (lv_value_3_0= RULE_DOUBLE_QUOTE ) )
6115 // InternalVampireLanguage.g:2400:5: (lv_value_3_0= RULE_SIGNED_REAL_ID ) 7197 // InternalVampireLanguage.g:2753:5: (lv_value_3_0= RULE_DOUBLE_QUOTE )
6116 { 7198 {
6117 // InternalVampireLanguage.g:2400:5: (lv_value_3_0= RULE_SIGNED_REAL_ID ) 7199 // InternalVampireLanguage.g:2753:5: (lv_value_3_0= RULE_DOUBLE_QUOTE )
6118 // InternalVampireLanguage.g:2401:6: lv_value_3_0= RULE_SIGNED_REAL_ID 7200 // InternalVampireLanguage.g:2754:6: lv_value_3_0= RULE_DOUBLE_QUOTE
6119 { 7201 {
6120 lv_value_3_0=(Token)match(input,RULE_SIGNED_REAL_ID,FOLLOW_2); 7202 lv_value_3_0=(Token)match(input,RULE_DOUBLE_QUOTE,FOLLOW_2);
6121 7203
6122 newLeafNode(lv_value_3_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0()); 7204 newLeafNode(lv_value_3_0, grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_1_1_0());
6123 7205
6124 7206
6125 if (current==null) { 7207 if (current==null) {
@@ -6129,104 +7211,6 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
6129 current, 7211 current,
6130 "value", 7212 "value",
6131 lv_value_3_0, 7213 lv_value_3_0,
6132 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_REAL_ID");
6133
6134
6135 }
6136
6137
6138 }
6139
6140
6141 }
6142
6143
6144 }
6145 break;
6146 case 3 :
6147 // InternalVampireLanguage.g:2419:3: ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) )
6148 {
6149 // InternalVampireLanguage.g:2419:3: ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) )
6150 // InternalVampireLanguage.g:2420:4: () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) )
6151 {
6152 // InternalVampireLanguage.g:2420:4: ()
6153 // InternalVampireLanguage.g:2421:5:
6154 {
6155
6156 current = forceCreateModelElement(
6157 grammarAccess.getVLSDefinedTermAccess().getVLSRationalAction_2_0(),
6158 current);
6159
6160
6161 }
6162
6163 // InternalVampireLanguage.g:2427:4: ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) )
6164 // InternalVampireLanguage.g:2428:5: (lv_value_5_0= RULE_SIGNED_RAT_ID )
6165 {
6166 // InternalVampireLanguage.g:2428:5: (lv_value_5_0= RULE_SIGNED_RAT_ID )
6167 // InternalVampireLanguage.g:2429:6: lv_value_5_0= RULE_SIGNED_RAT_ID
6168 {
6169 lv_value_5_0=(Token)match(input,RULE_SIGNED_RAT_ID,FOLLOW_2);
6170
6171 newLeafNode(lv_value_5_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0());
6172
6173
6174 if (current==null) {
6175 current = createModelElement(grammarAccess.getVLSDefinedTermRule());
6176 }
6177 setWithLastConsumed(
6178 current,
6179 "value",
6180 lv_value_5_0,
6181 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_RAT_ID");
6182
6183
6184 }
6185
6186
6187 }
6188
6189
6190 }
6191
6192
6193 }
6194 break;
6195 case 4 :
6196 // InternalVampireLanguage.g:2447:3: ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) )
6197 {
6198 // InternalVampireLanguage.g:2447:3: ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) )
6199 // InternalVampireLanguage.g:2448:4: () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) )
6200 {
6201 // InternalVampireLanguage.g:2448:4: ()
6202 // InternalVampireLanguage.g:2449:5:
6203 {
6204
6205 current = forceCreateModelElement(
6206 grammarAccess.getVLSDefinedTermAccess().getVLSDoubleQuoteAction_3_0(),
6207 current);
6208
6209
6210 }
6211
6212 // InternalVampireLanguage.g:2455:4: ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) )
6213 // InternalVampireLanguage.g:2456:5: (lv_value_7_0= RULE_DOUBLE_QUOTE )
6214 {
6215 // InternalVampireLanguage.g:2456:5: (lv_value_7_0= RULE_DOUBLE_QUOTE )
6216 // InternalVampireLanguage.g:2457:6: lv_value_7_0= RULE_DOUBLE_QUOTE
6217 {
6218 lv_value_7_0=(Token)match(input,RULE_DOUBLE_QUOTE,FOLLOW_2);
6219
6220 newLeafNode(lv_value_7_0, grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_3_1_0());
6221
6222
6223 if (current==null) {
6224 current = createModelElement(grammarAccess.getVLSDefinedTermRule());
6225 }
6226 setWithLastConsumed(
6227 current,
6228 "value",
6229 lv_value_7_0,
6230 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_QUOTE"); 7214 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_QUOTE");
6231 7215
6232 7216
@@ -6265,37 +7249,39 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
6265 // Delegated rules 7249 // Delegated rules
6266 7250
6267 7251
6268 protected DFA25 dfa25 = new DFA25(this); 7252 protected DFA15 dfa15 = new DFA15(this);
6269 static final String dfa_1s = "\30\uffff"; 7253 protected DFA32 dfa32 = new DFA32(this);
6270 static final String dfa_2s = "\1\uffff\23\24\4\uffff"; 7254 static final String dfa_1s = "\31\uffff";
6271 static final String dfa_3s = "\1\4\23\35\4\uffff"; 7255 static final String dfa_2s = "\2\uffff\26\1\1\uffff";
6272 static final String dfa_4s = "\1\107\23\104\4\uffff"; 7256 static final String dfa_3s = "\1\6\1\uffff\23\46\3\47\1\uffff";
6273 static final String dfa_5s = "\24\uffff\1\1\1\2\1\3\1\4"; 7257 static final String dfa_4s = "\1\120\1\uffff\26\115\1\uffff";
6274 static final String dfa_6s = "\30\uffff}>"; 7258 static final String dfa_5s = "\1\uffff\1\1\26\uffff\1\2";
7259 static final String dfa_6s = "\31\uffff}>";
6275 static final String[] dfa_7s = { 7260 static final String[] dfa_7s = {
6276 "\1\2\1\1\1\uffff\1\27\1\uffff\1\3\1\4\1\26\3\27\27\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", 7261 "\1\2\1\1\1\3\1\4\1\5\1\27\1\1\31\uffff\1\1\7\uffff\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\1\24\13\uffff\3\1\3\uffff\1\25\1\26\1\1",
6277 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6278 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6279 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6280 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6281 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6282 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6283 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6284 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6285 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6286 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6287 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6288 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6289 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6290 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6291 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6292 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6293 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6294 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6295 "\1\24\4\uffff\1\25\1\24\22\uffff\10\24\4\uffff\3\24",
6296 "",
6297 "",
6298 "", 7262 "",
7263 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7264 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7265 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7266 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7267 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7268 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7269 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7270 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7271 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7272 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7273 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7274 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7275 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7276 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7277 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7278 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7279 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7280 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7281 "\3\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7282 "\2\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7283 "\2\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
7284 "\2\1\24\uffff\1\30\2\uffff\10\1\3\uffff\3\1",
6299 "" 7285 ""
6300 }; 7286 };
6301 7287
@@ -6307,11 +7293,11 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
6307 static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s); 7293 static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s);
6308 static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s); 7294 static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s);
6309 7295
6310 class DFA25 extends DFA { 7296 class DFA15 extends DFA {
6311 7297
6312 public DFA25(BaseRecognizer recognizer) { 7298 public DFA15(BaseRecognizer recognizer) {
6313 this.recognizer = recognizer; 7299 this.recognizer = recognizer;
6314 this.decisionNumber = 25; 7300 this.decisionNumber = 15;
6315 this.eot = dfa_1; 7301 this.eot = dfa_1;
6316 this.eof = dfa_2; 7302 this.eof = dfa_2;
6317 this.min = dfa_3; 7303 this.min = dfa_3;
@@ -6321,41 +7307,111 @@ public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
6321 this.transition = dfa_7; 7307 this.transition = dfa_7;
6322 } 7308 }
6323 public String getDescription() { 7309 public String getDescription() {
6324 return "1716:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm )"; 7310 return "1046:2: (this_VLSTerm_0= ruleVLSTerm | this_VLSDeclaration_1= ruleVLSDeclaration )";
7311 }
7312 }
7313 static final String dfa_8s = "\30\uffff";
7314 static final String dfa_9s = "\1\uffff\23\24\4\uffff";
7315 static final String dfa_10s = "\1\6\23\41\4\uffff";
7316 static final String dfa_11s = "\1\120\23\115\4\uffff";
7317 static final String dfa_12s = "\24\uffff\1\1\1\2\1\3\1\4";
7318 static final String dfa_13s = "\30\uffff}>";
7319 static final String[] dfa_14s = {
7320 "\1\1\1\27\1\2\1\3\1\4\1\26\1\27\41\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\21\uffff\2\24\1\25",
7321 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7322 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7323 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7324 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7325 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7326 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7327 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7328 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7329 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7330 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7331 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7332 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7333 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7334 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7335 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7336 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7337 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7338 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7339 "\1\24\4\uffff\1\25\2\24\25\uffff\12\24\3\uffff\3\24",
7340 "",
7341 "",
7342 "",
7343 ""
7344 };
7345
7346 static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s);
7347 static final short[] dfa_9 = DFA.unpackEncodedString(dfa_9s);
7348 static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s);
7349 static final char[] dfa_11 = DFA.unpackEncodedStringToUnsignedChars(dfa_11s);
7350 static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s);
7351 static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s);
7352 static final short[][] dfa_14 = unpackEncodedStringArray(dfa_14s);
7353
7354 class DFA32 extends DFA {
7355
7356 public DFA32(BaseRecognizer recognizer) {
7357 this.recognizer = recognizer;
7358 this.decisionNumber = 32;
7359 this.eot = dfa_8;
7360 this.eof = dfa_9;
7361 this.min = dfa_10;
7362 this.max = dfa_11;
7363 this.accept = dfa_12;
7364 this.special = dfa_13;
7365 this.transition = dfa_14;
7366 }
7367 public String getDescription() {
7368 return "2069:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm )";
6325 } 7369 }
6326 } 7370 }
6327 7371
6328 7372
6329 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); 7373 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
6330 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); 7374 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
6331 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000002388000002L}); 7375 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000042480C00012L});
6332 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L}); 7376 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000001000000L});
6333 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000010000002L}); 7377 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000002000000L});
6334 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000000000000F0L}); 7378 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000004000000L});
6335 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000060000000L}); 7379 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000008000000L});
6336 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000100L}); 7380 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000010000000L});
6337 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000400000000L}); 7381 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000020000000L});
6338 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x00000000000000B0L}); 7382 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000040000000L});
6339 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000020000000L}); 7383 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000100000000L});
6340 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x001FFFC000000000L}); 7384 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000020L});
6341 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x401FFFC400007EB0L,0x00000000000000E3L}); 7385 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000200000000L});
6342 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000820000000L}); 7386 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000800000000L});
6343 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x003FFFCC40000030L}); 7387 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000001000000000L});
6344 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000800000000L}); 7388 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000004000000000L});
6345 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000001000000000L}); 7389 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x00000000000001C0L});
6346 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x001FFFC440000032L}); 7390 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000008000000000L});
6347 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000440000002L}); 7391 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x1FFFC00000000000L});
6348 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x003FFFC460000030L}); 7392 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x1FFFC04000001FC0L,0x000000000001C700L});
6349 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000040000002L}); 7393 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000018000000000L});
6350 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000020000002L}); 7394 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x1FFFC14300000140L});
6351 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x3FC0000000000002L}); 7395 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000010000000000L});
6352 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x1000000000000002L}); 7396 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000020000000000L});
6353 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x2000000000000002L}); 7397 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000380000000040L});
6354 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0020000000000000L}); 7398 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000200L});
6355 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000000800L}); 7399 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x1FFFC04200000142L});
6356 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x8000000000000000L}); 7400 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000004200000002L});
6357 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000000002L,0x000000000000001CL}); 7401 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x1FFFC0C300000140L});
6358 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x001FFFC000007EB0L,0x00000000000000E0L}); 7402 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000200000002L});
6359 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000400000002L}); 7403 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000008000000002L});
7404 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x2000000000000000L});
7405 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x1FFFC00000001FC0L,0x000000000001C000L});
7406 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x4000000000000002L});
7407 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x1FFFC00000000740L,0x000000000000C000L});
7408 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x8000000000000002L});
7409 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000000002L,0x00000000000000FFL});
7410 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000040L});
7411 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000080L});
7412 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000800L});
7413 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000008200000000L});
7414 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000002L,0x0000000000003800L});
7415 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000004000000002L});
6360 7416
6361} \ No newline at end of file 7417} \ No newline at end of file