aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-01-15 12:44:33 -0500
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-01-15 12:44:33 -0500
commit20f131a3f09edf8e1455f20b4f486629147e7eff (patch)
tree690ee30b62caf76bdc7d45f183382965e4e7bf05
parentViatraSolver as default (diff)
downloadVIATRA-Generator-20f131a3f09edf8e1455f20b4f486629147e7eff.tar.gz
VIATRA-Generator-20f131a3f09edf8e1455f20b4f486629147e7eff.tar.zst
VIATRA-Generator-20f131a3f09edf8e1455f20b4f486629147e7eff.zip
Initial workspace setup
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/.classpath7
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/.project29
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/META-INF/MANIFEST.MF7
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.aird30
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.ecore4
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.genmodel14
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.classpath9
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.project34
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/META-INF/MANIFEST.MF15
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/build.properties6
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/AbstractVampireLanguageIdeModule.java47
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/PartialVampireLanguageContentAssistParser.java34
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/VampireLanguageParser.java157
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguage.g5782
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguage.tokens107
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguageLexer.java3100
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguageParser.java17577
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeModule.xtend11
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeSetup.xtend20
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbinbin0 -> 1683 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbinbin0 -> 2509 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.gitignore2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeModule.java13
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeSetup.java24
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.classpath9
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.project34
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/META-INF/MANIFEST.MF21
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/build.properties6
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageInjectorProvider.java66
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageParsingTest.xtend29
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/.VampireLanguageParsingTest.xtendbinbin0 -> 3283 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageParsingTest.java38
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.classpath9
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.project34
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/META-INF/MANIFEST.MF24
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/build.properties6
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/src-gen/ca/mcgill/ecse/dslreasoner/ui/tests/VampireLanguageUiInjectorProvider.java17
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.classpath9
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.project34
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/META-INF/MANIFEST.MF25
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/build.properties7
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/plugin.xml410
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/AbstractVampireLanguageUiModule.java286
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageExecutableExtensionFactory.java27
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/AbstractVampireLanguageProposalProvider.java289
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui/internal/LanguageActivator.java93
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageUiModule.xtend13
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/contentassist/VampireLanguageProposalProvider.xtend12
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageDescriptionLabelProvider.xtend24
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageLabelProvider.xtend31
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/outline/VampireLanguageOutlineTreeProvider.xtend15
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/quickfix/VampireLanguageQuickfixProvider.xtend24
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbinbin0 -> 2349 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageUiModule.java19
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbinbin0 -> 1787 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/VampireLanguageProposalProvider.java14
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbinbin0 -> 1969 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbinbin0 -> 2409 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.gitignore2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageDescriptionLabelProvider.java15
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageLabelProvider.java21
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbinbin0 -> 1821 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/VampireLanguageOutlineTreeProvider.java15
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbinbin0 -> 1783 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/VampireLanguageQuickfixProvider.java15
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.classpath9
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.launch/Generate VampireLanguage (tptp) Language Infrastructure.launch18
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.launch/Launch Runtime Eclipse.launch34
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.project34
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/META-INF/MANIFEST.MF29
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/build.properties20
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.ecore152
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.genmodel119
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/plugin.xml10
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/AbstractVampireLanguageRuntimeModule.java194
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtextbinbin0 -> 7807 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetupGenerated.java42
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageAntlrTokenFileProvider.java16
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageParser.java40
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g2669
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.tokens107
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageLexer.java3100
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java7031
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/scoping/AbstractVampireLanguageScopeProvider.java9
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSemanticSequencer.java1011
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSyntacticSequencer.java151
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/services/VampireLanguageGrammarAccess.java2220
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/validation/AbstractVampireLanguageValidator.java20
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAnd.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAnnotation.java98
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAssignment.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSComment.java52
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSConstant.java51
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSDefinedTerm.java51
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSDoubleQuote.java19
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSEquality.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSEquivalent.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSExistentialQuantifier.java69
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFalse.java19
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFofFormula.java133
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFunction.java69
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFunctionFof.java69
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSImplies.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInclude.java71
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInequality.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInt.java19
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSLess.java69
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSName.java52
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSNand.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSNor.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSOr.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSRational.java19
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSReal.java19
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSRevImplies.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSTerm.java20
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSTrue.java19
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSUnaryNegation.java51
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSUniversalQuantifier.java69
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSVariable.java51
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSXnor.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguageFactory.java332
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguagePackage.java2809
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireModel.java78
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAndImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAnnotationImpl.java311
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAssignmentImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSCommentImpl.java178
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSConstantImpl.java177
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSDefinedTermImpl.java177
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSDoubleQuoteImpl.java41
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSEqualityImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSEquivalentImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSExistentialQuantifierImpl.java241
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFalseImpl.java41
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFofFormulaImpl.java394
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFunctionFofImpl.java240
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFunctionImpl.java240
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSImpliesImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSIncludeImpl.java241
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSInequalityImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSIntImpl.java41
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSLessImpl.java240
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNameImpl.java178
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNandImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNorImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSOrImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRationalImpl.java41
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRealImpl.java41
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRevImpliesImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSTermImpl.java43
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSTrueImpl.java41
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSUnaryNegationImpl.java194
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSUniversalQuantifierImpl.java241
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSVariableImpl.java177
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSXnorImpl.java265
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguageFactoryImpl.java491
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguagePackageImpl.java1505
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireModelImpl.java246
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageAdapterFactory.java773
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageSwitch.java886
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/GenerateVampireLanguage.mwe244
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtext278
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguageRuntimeModule.xtend11
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetup.xtend15
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/generator/VampireLanguageGenerator.xtend25
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/scoping/VampireLanguageScopeProvider.xtend15
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/validation/VampireLanguageValidator.xtend25
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbinbin0 -> 1712 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbinbin0 -> 1986 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.gitignore2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageRuntimeModule.java13
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetup.java16
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbinbin0 -> 2342 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/VampireLanguageGenerator.java21
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbinbin0 -> 1755 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/VampireLanguageScopeProvider.java16
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbinbin0 -> 1740 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/VampireLanguageValidator.java15
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.classpath8
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.project40
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/META-INF/MANIFEST.MF15
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/build.properties6
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/plugin.xml18
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/.gitignore13
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSAnd.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSAnnotation.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSComment.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSEquivalent.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSExistentialQuantifier.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFofFormula.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFunction.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFunctionFof.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSInequality.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSOr.java535
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSUnaryNegation.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSUniversalQuantifier.java533
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VampireQueries.java174
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql57
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.classpath9
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.project34
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/META-INF/MANIFEST.MF17
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/build.properties4
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/queries/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/signatureQueries.vql1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/queries/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/typeQueries.vql1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireAnalyzerConfiguration.xtend22
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend102
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend386
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend39
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ConstantMapper.xtend42
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.xtend183
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend148
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.xtend19
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtend21
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtend158
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation.xtend5
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtend5
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbinbin0 -> 2685 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbinbin0 -> 5463 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.gitignore4
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/TypeMappingTechnique.java6
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireBackendSolver.java5
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.java80
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java10
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbinbin0 -> 17674 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbinbin0 -> 3140 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbinbin0 -> 3164 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbinbin0 -> 8247 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbinbin0 -> 9398 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbinbin0 -> 3224 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtendbinbin0 -> 2742 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtendbinbin0 -> 9278 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbinbin0 -> 1490 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbinbin0 -> 1691 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.gitignore11
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.java442
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java34
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ConstantMapper.java34
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java296
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java242
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.java25
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace.java5
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.java21
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.java287
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation.java5
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation_FilteredTypes.java7
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.classpath8
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.gitignore1
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.project34
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/META-INF/MANIFEST.MF20
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/build.properties4
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/FAM.xmi3
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/Yakindu.xmi4
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/ecore.xmi6
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/fs.xmi3
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/output/files/logProb.logicproblem27
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/output/files/vampireCode.tptp1
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/SimpleRun.xtend213
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.xtend153
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbinbin0 -> 687 bytes
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbinbin0 -> 6302 bytes
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.gitignore2
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.java140
291 files changed, 71893 insertions, 0 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/.classpath b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/.classpath
new file mode 100644
index 00000000..a0c6dd9c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/.classpath
@@ -0,0 +1,7 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
5 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
6 <classpathentry kind="output" path="bin"/>
7</classpath>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/.project b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/.project
new file mode 100644
index 00000000..85d1308e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/.project
@@ -0,0 +1,29 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>ca.mcgill.ecse.dslreasoner.trace.logic2vampire</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.pde.ManifestBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.SchemaBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 </buildSpec>
24 <natures>
25 <nature>org.eclipse.sirius.nature.modelingproject</nature>
26 <nature>org.eclipse.jdt.core.javanature</nature>
27 <nature>org.eclipse.pde.PluginNature</nature>
28 </natures>
29</projectDescription>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/META-INF/MANIFEST.MF b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..f4f91de8
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/META-INF/MANIFEST.MF
@@ -0,0 +1,7 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: ca.mcgill.ecse.dslreasoner.trace.logic2vampire
4Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.trace.logic2vampire; singleton:=true
5Bundle-Version: 0.1.0.qualifier
6Require-Bundle: org.eclipse.emf.ecore;visibility:=reexport,
7 org.eclipse.core.runtime
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.aird b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.aird
new file mode 100644
index 00000000..4fda4ff6
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.aird
@@ -0,0 +1,30 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description">
3 <viewpoint:DAnalysis xmi:id="_c5vPUBjhEemoVuGVD8l-rg" selectedViews="_c-elYBjhEemoVuGVD8l-rg" version="12.0.0.201704271200">
4 <semanticResources>logic2vampire.ecore</semanticResources>
5 <semanticResources>logic2vampire.genmodel</semanticResources>
6 <ownedViews xmi:type="viewpoint:DView" xmi:id="_c-elYBjhEemoVuGVD8l-rg">
7 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_dEOBABjhEemoVuGVD8l-rg" name="logic2vampire" repPath="#_dEIhcBjhEemoVuGVD8l-rg">
9 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
10 <target xmi:type="ecore:EPackage" href="logic2vampire.ecore#/"/>
11 </ownedRepresentationDescriptors>
12 </ownedViews>
13 </viewpoint:DAnalysis>
14 <diagram:DSemanticDiagram xmi:id="_dEIhcBjhEemoVuGVD8l-rg" name="logic2vampire">
15 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_dEIhcRjhEemoVuGVD8l-rg" source="DANNOTATION_CUSTOMIZATION_KEY">
16 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_dEIhchjhEemoVuGVD8l-rg"/>
17 </ownedAnnotationEntries>
18 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_dFEVkBjhEemoVuGVD8l-rg" source="GMF_DIAGRAMS">
19 <data xmi:type="notation:Diagram" xmi:id="_dFEVkRjhEemoVuGVD8l-rg" type="Sirius" element="_dEIhcBjhEemoVuGVD8l-rg" measurementUnit="Pixel">
20 <styles xmi:type="notation:DiagramStyle" xmi:id="_dFEVkhjhEemoVuGVD8l-rg"/>
21 </data>
22 </ownedAnnotationEntries>
23 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
24 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_dEIhdBjhEemoVuGVD8l-rg"/>
25 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
26 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
27 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
28 <target xmi:type="ecore:EPackage" href="logic2vampire.ecore#/"/>
29 </diagram:DSemanticDiagram>
30</xmi:XMI>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.ecore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.ecore
new file mode 100644
index 00000000..0cdf6d7f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.ecore
@@ -0,0 +1,4 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 name="logic2vampire" nsURI="http://www.example.org/logic2vampire"
4 nsPrefix="logic2vampire"/>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.genmodel b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.genmodel
new file mode 100644
index 00000000..32de743d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/model/logic2vampire.genmodel
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/ca.mcgill.ecse.dslreasoner.trace.logic2vampire/src-gen"
4 creationIcons="false" editDirectory="/ca.mcgill.ecse.dslreasoner.trace.logic2vampire.edit/src-gen"
5 editorDirectory="/ca.mcgill.ecse.dslreasoner.trace.logic2vampire.editor/src-gen"
6 modelPluginID="ca.mcgill.ecse.dslreasoner.trace.logic2vampire" modelName="Logic2vampire"
7 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" codeFormatting="true"
8 importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
9 operationReflection="true" importOrganizing="true">
10 <foreignModel>logic2vampire.ecore</foreignModel>
11 <testsDirectory xsi:nil="true"/>
12 <genPackages prefix="Logic2vampire" basePackage="ca.mcgill.ecse.dslreasoner.trace"
13 disposableProviderFactory="true" ecorePackage="logic2vampire.ecore#/"/>
14</genmodel:GenModel>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.classpath b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.classpath
new file mode 100644
index 00000000..1287f96c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="src" path="src-gen"/>
5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.gitignore
@@ -0,0 +1 @@
/bin/
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.project b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.project
new file mode 100644
index 00000000..69632663
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>ca.mcgill.ecse.dslreasoner.vampire.language.ide</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.pde.PluginNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.settings/org.eclipse.core.resources.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.settings/org.eclipse.jdt.core.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/META-INF/MANIFEST.MF b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..f833c983
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: ca.mcgill.ecse.dslreasoner.vampire.language.ide
4Bundle-Vendor: My Company
5Bundle-Version: 1.0.0.qualifier
6Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.vampire.language.ide; singleton:=true
7Bundle-ActivationPolicy: lazy
8Require-Bundle: ca.mcgill.ecse.dslreasoner.vampire.language,
9 org.eclipse.xtext.ide,
10 org.eclipse.xtext.xbase.ide,
11 org.antlr.runtime
12Bundle-RequiredExecutionEnvironment: JavaSE-1.8
13Export-Package: ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr,
14 ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.internal
15
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/build.properties b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/build.properties
new file mode 100644
index 00000000..4c654e9b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/build.properties
@@ -0,0 +1,6 @@
1source.. = src/,\
2 src-gen/,\
3 xtend-gen/
4bin.includes = .,\
5 META-INF/
6bin.excludes = **/*.xtend
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup
new file mode 100644
index 00000000..ada67901
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup
@@ -0,0 +1 @@
ca.mcgill.ecse.dslreasoner.ide.VampireLanguageIdeSetup
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/AbstractVampireLanguageIdeModule.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/AbstractVampireLanguageIdeModule.java
new file mode 100644
index 00000000..323e4df4
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/AbstractVampireLanguageIdeModule.java
@@ -0,0 +1,47 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ide;
5
6import ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.VampireLanguageParser;
7import ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.internal.InternalVampireLanguageLexer;
8import com.google.inject.Binder;
9import com.google.inject.name.Names;
10import org.eclipse.xtext.ide.DefaultIdeModule;
11import org.eclipse.xtext.ide.LexerIdeBindings;
12import org.eclipse.xtext.ide.editor.contentassist.FQNPrefixMatcher;
13import org.eclipse.xtext.ide.editor.contentassist.IPrefixMatcher;
14import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper;
15import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper;
16import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
17import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
18
19/**
20 * Manual modifications go to {@link VampireLanguageIdeModule}.
21 */
22@SuppressWarnings("all")
23public abstract class AbstractVampireLanguageIdeModule extends DefaultIdeModule {
24
25 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
26 public void configureContentAssistLexer(Binder binder) {
27 binder.bind(Lexer.class)
28 .annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
29 .to(InternalVampireLanguageLexer.class);
30 }
31
32 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
33 public Class<? extends IContentAssistParser> bindIContentAssistParser() {
34 return VampireLanguageParser.class;
35 }
36
37 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
38 public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
39 return AntlrProposalConflictHelper.class;
40 }
41
42 // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
43 public Class<? extends IPrefixMatcher> bindIPrefixMatcher() {
44 return FQNPrefixMatcher.class;
45 }
46
47}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/PartialVampireLanguageContentAssistParser.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/PartialVampireLanguageContentAssistParser.java
new file mode 100644
index 00000000..67ea9dca
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/PartialVampireLanguageContentAssistParser.java
@@ -0,0 +1,34 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr;
5
6import java.util.Collection;
7import java.util.Collections;
8import org.eclipse.xtext.AbstractRule;
9import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement;
10import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
11import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser;
12import org.eclipse.xtext.util.PolymorphicDispatcher;
13
14public class PartialVampireLanguageContentAssistParser extends VampireLanguageParser implements IPartialEditingContentAssistParser {
15
16 private AbstractRule rule;
17
18 @Override
19 public void initializeFor(AbstractRule rule) {
20 this.rule = rule;
21 }
22
23 @Override
24 protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
25 if (rule == null || rule.eIsProxy())
26 return Collections.emptyList();
27 String methodName = "entryRule" + rule.getName();
28 PolymorphicDispatcher<Collection<FollowElement>> dispatcher =
29 new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser));
30 dispatcher.invoke();
31 return parser.getFollowElements();
32 }
33
34}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/VampireLanguageParser.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/VampireLanguageParser.java
new file mode 100644
index 00000000..77d9c8ff
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/VampireLanguageParser.java
@@ -0,0 +1,157 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr;
5
6import ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.internal.InternalVampireLanguageParser;
7import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
8import com.google.inject.Inject;
9import java.util.HashMap;
10import java.util.Map;
11import org.eclipse.xtext.AbstractElement;
12import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;
13
14public class VampireLanguageParser extends AbstractContentAssistParser {
15
16 @Inject
17 private VampireLanguageGrammarAccess grammarAccess;
18
19 private Map<AbstractElement, String> nameMappings;
20
21 @Override
22 protected InternalVampireLanguageParser createParser() {
23 InternalVampireLanguageParser result = new InternalVampireLanguageParser(null);
24 result.setGrammarAccess(grammarAccess);
25 return result;
26 }
27
28 @Override
29 protected String getRuleName(AbstractElement element) {
30 if (nameMappings == null) {
31 nameMappings = new HashMap<AbstractElement, String>() {
32 private static final long serialVersionUID = 1L;
33 {
34 put(grammarAccess.getVampireModelAccess().getAlternatives(), "rule__VampireModel__Alternatives");
35 put(grammarAccess.getVLSNameAccess().getNameAlternatives_0(), "rule__VLSName__NameAlternatives_0");
36 put(grammarAccess.getVLSFofFormulaAccess().getNameAlternatives_2_0(), "rule__VLSFofFormula__NameAlternatives_2_0");
37 put(grammarAccess.getVLSRoleAccess().getAlternatives(), "rule__VLSRole__Alternatives");
38 put(grammarAccess.getVLSAnnotationAccess().getNameAlternatives_1_0(), "rule__VLSAnnotation__NameAlternatives_1_0");
39 put(grammarAccess.getVLSBinaryAccess().getAlternatives_1(), "rule__VLSBinary__Alternatives_1");
40 put(grammarAccess.getVLSBinaryAccess().getAlternatives_1_0_0(), "rule__VLSBinary__Alternatives_1_0_0");
41 put(grammarAccess.getVLSUnitaryFormulaAccess().getAlternatives(), "rule__VLSUnitaryFormula__Alternatives");
42 put(grammarAccess.getVLSUnaryInfixAccess().getAlternatives_1_0(), "rule__VLSUnaryInfix__Alternatives_1_0");
43 put(grammarAccess.getVLSAtomicAccess().getAlternatives(), "rule__VLSAtomic__Alternatives");
44 put(grammarAccess.getVLSAtomicConstantAccess().getAlternatives(), "rule__VLSAtomicConstant__Alternatives");
45 put(grammarAccess.getVLSAtomicConstantAccess().getNameAlternatives_0_1_0(), "rule__VLSAtomicConstant__NameAlternatives_0_1_0");
46 put(grammarAccess.getVLSAtomicFunctionAccess().getAlternatives(), "rule__VLSAtomicFunction__Alternatives");
47 put(grammarAccess.getVLSAtomicFunctionAccess().getConstantAlternatives_0_1_0(), "rule__VLSAtomicFunction__ConstantAlternatives_0_1_0");
48 put(grammarAccess.getVLSFofTermAccess().getAlternatives(), "rule__VLSFofTerm__Alternatives");
49 put(grammarAccess.getVLSFunctionFofAccess().getFunctorAlternatives_0_0(), "rule__VLSFunctionFof__FunctorAlternatives_0_0");
50 put(grammarAccess.getVLSDefinedTermAccess().getAlternatives(), "rule__VLSDefinedTerm__Alternatives");
51 put(grammarAccess.getVLSIncludeAccess().getGroup(), "rule__VLSInclude__Group__0");
52 put(grammarAccess.getVLSIncludeAccess().getGroup_2(), "rule__VLSInclude__Group_2__0");
53 put(grammarAccess.getVLSIncludeAccess().getGroup_2_2(), "rule__VLSInclude__Group_2_2__0");
54 put(grammarAccess.getVLSFofFormulaAccess().getGroup(), "rule__VLSFofFormula__Group__0");
55 put(grammarAccess.getVLSFofFormulaAccess().getGroup_7(), "rule__VLSFofFormula__Group_7__0");
56 put(grammarAccess.getVLSAnnotationAccess().getGroup(), "rule__VLSAnnotation__Group__0");
57 put(grammarAccess.getVLSAnnotationAccess().getGroup_2(), "rule__VLSAnnotation__Group_2__0");
58 put(grammarAccess.getVLSAnnotationTermsAccess().getGroup(), "rule__VLSAnnotationTerms__Group__0");
59 put(grammarAccess.getVLSAnnotationTermsAccess().getGroup_1(), "rule__VLSAnnotationTerms__Group_1__0");
60 put(grammarAccess.getVLSBinaryAccess().getGroup(), "rule__VLSBinary__Group__0");
61 put(grammarAccess.getVLSBinaryAccess().getGroup_1_0(), "rule__VLSBinary__Group_1_0__0");
62 put(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_0(), "rule__VLSBinary__Group_1_0_0_0__0");
63 put(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_1(), "rule__VLSBinary__Group_1_0_0_1__0");
64 put(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_2(), "rule__VLSBinary__Group_1_0_0_2__0");
65 put(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_3(), "rule__VLSBinary__Group_1_0_0_3__0");
66 put(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_4(), "rule__VLSBinary__Group_1_0_0_4__0");
67 put(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_5(), "rule__VLSBinary__Group_1_0_0_5__0");
68 put(grammarAccess.getVLSBinaryAccess().getGroup_1_1(), "rule__VLSBinary__Group_1_1__0");
69 put(grammarAccess.getVLSBinaryAccess().getGroup_1_2(), "rule__VLSBinary__Group_1_2__0");
70 put(grammarAccess.getVLSUnitaryFormulaAccess().getGroup_4(), "rule__VLSUnitaryFormula__Group_4__0");
71 put(grammarAccess.getVLSUniversalQuantifierAccess().getGroup(), "rule__VLSUniversalQuantifier__Group__0");
72 put(grammarAccess.getVLSUniversalQuantifierAccess().getGroup_1(), "rule__VLSUniversalQuantifier__Group_1__0");
73 put(grammarAccess.getVLSUniversalQuantifierAccess().getGroup_1_3(), "rule__VLSUniversalQuantifier__Group_1_3__0");
74 put(grammarAccess.getVLSExistentialQuantifierAccess().getGroup(), "rule__VLSExistentialQuantifier__Group__0");
75 put(grammarAccess.getVLSExistentialQuantifierAccess().getGroup_1(), "rule__VLSExistentialQuantifier__Group_1__0");
76 put(grammarAccess.getVLSExistentialQuantifierAccess().getGroup_1_3(), "rule__VLSExistentialQuantifier__Group_1_3__0");
77 put(grammarAccess.getVLSUnaryNegationAccess().getGroup(), "rule__VLSUnaryNegation__Group__0");
78 put(grammarAccess.getVLSUnaryInfixAccess().getGroup(), "rule__VLSUnaryInfix__Group__0");
79 put(grammarAccess.getVLSUnaryInfixAccess().getGroup_1(), "rule__VLSUnaryInfix__Group_1__0");
80 put(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_0(), "rule__VLSUnaryInfix__Group_1_0_0__0");
81 put(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_1(), "rule__VLSUnaryInfix__Group_1_0_1__0");
82 put(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_2(), "rule__VLSUnaryInfix__Group_1_0_2__0");
83 put(grammarAccess.getVLSAtomicConstantAccess().getGroup_0(), "rule__VLSAtomicConstant__Group_0__0");
84 put(grammarAccess.getVLSAtomicConstantAccess().getGroup_1(), "rule__VLSAtomicConstant__Group_1__0");
85 put(grammarAccess.getVLSAtomicConstantAccess().getGroup_2(), "rule__VLSAtomicConstant__Group_2__0");
86 put(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0(), "rule__VLSAtomicFunction__Group_0__0");
87 put(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0_2(), "rule__VLSAtomicFunction__Group_0_2__0");
88 put(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0_2_2(), "rule__VLSAtomicFunction__Group_0_2_2__0");
89 put(grammarAccess.getVLSAtomicFunctionAccess().getGroup_1(), "rule__VLSAtomicFunction__Group_1__0");
90 put(grammarAccess.getVLSFunctionFofAccess().getGroup(), "rule__VLSFunctionFof__Group__0");
91 put(grammarAccess.getVLSFunctionFofAccess().getGroup_1(), "rule__VLSFunctionFof__Group_1__0");
92 put(grammarAccess.getVLSFunctionFofAccess().getGroup_1_2(), "rule__VLSFunctionFof__Group_1_2__0");
93 put(grammarAccess.getVLSDefinedTermAccess().getGroup_0(), "rule__VLSDefinedTerm__Group_0__0");
94 put(grammarAccess.getVLSDefinedTermAccess().getGroup_1(), "rule__VLSDefinedTerm__Group_1__0");
95 put(grammarAccess.getVLSDefinedTermAccess().getGroup_2(), "rule__VLSDefinedTerm__Group_2__0");
96 put(grammarAccess.getVLSDefinedTermAccess().getGroup_3(), "rule__VLSDefinedTerm__Group_3__0");
97 put(grammarAccess.getVampireModelAccess().getIncludesAssignment_0(), "rule__VampireModel__IncludesAssignment_0");
98 put(grammarAccess.getVampireModelAccess().getCommentsAssignment_1(), "rule__VampireModel__CommentsAssignment_1");
99 put(grammarAccess.getVampireModelAccess().getFormulasAssignment_2(), "rule__VampireModel__FormulasAssignment_2");
100 put(grammarAccess.getVLSIncludeAccess().getFileNameAssignment_1(), "rule__VLSInclude__FileNameAssignment_1");
101 put(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_1(), "rule__VLSInclude__NamesAssignment_2_1");
102 put(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_2_1(), "rule__VLSInclude__NamesAssignment_2_2_1");
103 put(grammarAccess.getVLSNameAccess().getNameAssignment(), "rule__VLSName__NameAssignment");
104 put(grammarAccess.getVLSCommentAccess().getCommentAssignment(), "rule__VLSComment__CommentAssignment");
105 put(grammarAccess.getVLSFofFormulaAccess().getNameAssignment_2(), "rule__VLSFofFormula__NameAssignment_2");
106 put(grammarAccess.getVLSFofFormulaAccess().getFofRoleAssignment_4(), "rule__VLSFofFormula__FofRoleAssignment_4");
107 put(grammarAccess.getVLSFofFormulaAccess().getFofFormulaAssignment_6(), "rule__VLSFofFormula__FofFormulaAssignment_6");
108 put(grammarAccess.getVLSFofFormulaAccess().getAnnotationsAssignment_7_1(), "rule__VLSFofFormula__AnnotationsAssignment_7_1");
109 put(grammarAccess.getVLSAnnotationAccess().getNameAssignment_1(), "rule__VLSAnnotation__NameAssignment_1");
110 put(grammarAccess.getVLSAnnotationAccess().getFollowupAssignment_2_1(), "rule__VLSAnnotation__FollowupAssignment_2_1");
111 put(grammarAccess.getVLSAnnotationTermsAccess().getTermsAssignment_0(), "rule__VLSAnnotationTerms__TermsAssignment_0");
112 put(grammarAccess.getVLSAnnotationTermsAccess().getTermsAssignment_1_1(), "rule__VLSAnnotationTerms__TermsAssignment_1_1");
113 put(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_0_1(), "rule__VLSBinary__RightAssignment_1_0_1");
114 put(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_1_2(), "rule__VLSBinary__RightAssignment_1_1_2");
115 put(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_2_2(), "rule__VLSBinary__RightAssignment_1_2_2");
116 put(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesAssignment_1_2(), "rule__VLSUniversalQuantifier__VariablesAssignment_1_2");
117 put(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesAssignment_1_3_1(), "rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1");
118 put(grammarAccess.getVLSUniversalQuantifierAccess().getOperandAssignment_2(), "rule__VLSUniversalQuantifier__OperandAssignment_2");
119 put(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesAssignment_1_2(), "rule__VLSExistentialQuantifier__VariablesAssignment_1_2");
120 put(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesAssignment_1_3_1(), "rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1");
121 put(grammarAccess.getVLSExistentialQuantifierAccess().getOperandAssignment_2(), "rule__VLSExistentialQuantifier__OperandAssignment_2");
122 put(grammarAccess.getVLSUnaryNegationAccess().getOperandAssignment_2(), "rule__VLSUnaryNegation__OperandAssignment_2");
123 put(grammarAccess.getVLSUnaryInfixAccess().getRightAssignment_1_1(), "rule__VLSUnaryInfix__RightAssignment_1_1");
124 put(grammarAccess.getVLSAtomicConstantAccess().getNameAssignment_0_1(), "rule__VLSAtomicConstant__NameAssignment_0_1");
125 put(grammarAccess.getVLSAtomicFunctionAccess().getConstantAssignment_0_1(), "rule__VLSAtomicFunction__ConstantAssignment_0_1");
126 put(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_0_2_1(), "rule__VLSAtomicFunction__TermsAssignment_0_2_1");
127 put(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_0_2_2_1(), "rule__VLSAtomicFunction__TermsAssignment_0_2_2_1");
128 put(grammarAccess.getVLSAtomicFunctionAccess().getNameAssignment_1_1(), "rule__VLSAtomicFunction__NameAssignment_1_1");
129 put(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_1_3(), "rule__VLSAtomicFunction__TermsAssignment_1_3");
130 put(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_1_5(), "rule__VLSAtomicFunction__TermsAssignment_1_5");
131 put(grammarAccess.getVLSVariableAccess().getNameAssignment(), "rule__VLSVariable__NameAssignment");
132 put(grammarAccess.getVLSFunctionFofAccess().getFunctorAssignment_0(), "rule__VLSFunctionFof__FunctorAssignment_0");
133 put(grammarAccess.getVLSFunctionFofAccess().getTermsAssignment_1_1(), "rule__VLSFunctionFof__TermsAssignment_1_1");
134 put(grammarAccess.getVLSFunctionFofAccess().getTermsAssignment_1_2_1(), "rule__VLSFunctionFof__TermsAssignment_1_2_1");
135 put(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_0_1(), "rule__VLSDefinedTerm__ValueAssignment_0_1");
136 put(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_1_1(), "rule__VLSDefinedTerm__ValueAssignment_1_1");
137 put(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_2_1(), "rule__VLSDefinedTerm__ValueAssignment_2_1");
138 put(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_3_1(), "rule__VLSDefinedTerm__ValueAssignment_3_1");
139 }
140 };
141 }
142 return nameMappings.get(element);
143 }
144
145 @Override
146 protected String[] getInitialHiddenTokens() {
147 return new String[] { "RULE_WS" };
148 }
149
150 public VampireLanguageGrammarAccess getGrammarAccess() {
151 return this.grammarAccess;
152 }
153
154 public void setGrammarAccess(VampireLanguageGrammarAccess grammarAccess) {
155 this.grammarAccess = grammarAccess;
156 }
157}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguage.g b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguage.g
new file mode 100644
index 00000000..83aa541e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguage.g
@@ -0,0 +1,5782 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4grammar InternalVampireLanguage;
5
6options {
7 superClass=AbstractInternalContentAssistParser;
8}
9
10@lexer::header {
11package ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.internal;
12
13// Hack: Use our own Lexer superclass by means of import.
14// Currently there is no other way to specify the superclass for the lexer.
15import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
16}
17
18@parser::header {
19package ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.internal;
20
21import java.io.InputStream;
22import org.eclipse.xtext.*;
23import org.eclipse.xtext.parser.*;
24import org.eclipse.xtext.parser.impl.*;
25import org.eclipse.emf.ecore.util.EcoreUtil;
26import org.eclipse.emf.ecore.EObject;
27import org.eclipse.xtext.parser.antlr.XtextTokenStream;
28import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
29import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
30import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
31import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
32
33}
34@parser::members {
35 private VampireLanguageGrammarAccess grammarAccess;
36
37 public void setGrammarAccess(VampireLanguageGrammarAccess grammarAccess) {
38 this.grammarAccess = grammarAccess;
39 }
40
41 @Override
42 protected Grammar getGrammar() {
43 return grammarAccess.getGrammar();
44 }
45
46 @Override
47 protected String getValueForTokenName(String tokenName) {
48 return tokenName;
49 }
50}
51
52// Entry rule entryRuleVampireModel
53entryRuleVampireModel
54:
55{ before(grammarAccess.getVampireModelRule()); }
56 ruleVampireModel
57{ after(grammarAccess.getVampireModelRule()); }
58 EOF
59;
60
61// Rule VampireModel
62ruleVampireModel
63 @init {
64 int stackSize = keepStackSize();
65 }
66 :
67 (
68 { before(grammarAccess.getVampireModelAccess().getAlternatives()); }
69 (rule__VampireModel__Alternatives)*
70 { after(grammarAccess.getVampireModelAccess().getAlternatives()); }
71 )
72;
73finally {
74 restoreStackSize(stackSize);
75}
76
77// Entry rule entryRuleVLSInclude
78entryRuleVLSInclude
79:
80{ before(grammarAccess.getVLSIncludeRule()); }
81 ruleVLSInclude
82{ after(grammarAccess.getVLSIncludeRule()); }
83 EOF
84;
85
86// Rule VLSInclude
87ruleVLSInclude
88 @init {
89 int stackSize = keepStackSize();
90 }
91 :
92 (
93 { before(grammarAccess.getVLSIncludeAccess().getGroup()); }
94 (rule__VLSInclude__Group__0)
95 { after(grammarAccess.getVLSIncludeAccess().getGroup()); }
96 )
97;
98finally {
99 restoreStackSize(stackSize);
100}
101
102// Entry rule entryRuleVLSName
103entryRuleVLSName
104:
105{ before(grammarAccess.getVLSNameRule()); }
106 ruleVLSName
107{ after(grammarAccess.getVLSNameRule()); }
108 EOF
109;
110
111// Rule VLSName
112ruleVLSName
113 @init {
114 int stackSize = keepStackSize();
115 }
116 :
117 (
118 { before(grammarAccess.getVLSNameAccess().getNameAssignment()); }
119 (rule__VLSName__NameAssignment)
120 { after(grammarAccess.getVLSNameAccess().getNameAssignment()); }
121 )
122;
123finally {
124 restoreStackSize(stackSize);
125}
126
127// Entry rule entryRuleVLSComment
128entryRuleVLSComment
129:
130{ before(grammarAccess.getVLSCommentRule()); }
131 ruleVLSComment
132{ after(grammarAccess.getVLSCommentRule()); }
133 EOF
134;
135
136// Rule VLSComment
137ruleVLSComment
138 @init {
139 int stackSize = keepStackSize();
140 }
141 :
142 (
143 { before(grammarAccess.getVLSCommentAccess().getCommentAssignment()); }
144 (rule__VLSComment__CommentAssignment)
145 { after(grammarAccess.getVLSCommentAccess().getCommentAssignment()); }
146 )
147;
148finally {
149 restoreStackSize(stackSize);
150}
151
152// Entry rule entryRuleVLSFofFormula
153entryRuleVLSFofFormula
154:
155{ before(grammarAccess.getVLSFofFormulaRule()); }
156 ruleVLSFofFormula
157{ after(grammarAccess.getVLSFofFormulaRule()); }
158 EOF
159;
160
161// Rule VLSFofFormula
162ruleVLSFofFormula
163 @init {
164 int stackSize = keepStackSize();
165 }
166 :
167 (
168 { before(grammarAccess.getVLSFofFormulaAccess().getGroup()); }
169 (rule__VLSFofFormula__Group__0)
170 { after(grammarAccess.getVLSFofFormulaAccess().getGroup()); }
171 )
172;
173finally {
174 restoreStackSize(stackSize);
175}
176
177// Entry rule entryRuleVLSRole
178entryRuleVLSRole
179:
180{ before(grammarAccess.getVLSRoleRule()); }
181 ruleVLSRole
182{ after(grammarAccess.getVLSRoleRule()); }
183 EOF
184;
185
186// Rule VLSRole
187ruleVLSRole
188 @init {
189 int stackSize = keepStackSize();
190 }
191 :
192 (
193 { before(grammarAccess.getVLSRoleAccess().getAlternatives()); }
194 (rule__VLSRole__Alternatives)
195 { after(grammarAccess.getVLSRoleAccess().getAlternatives()); }
196 )
197;
198finally {
199 restoreStackSize(stackSize);
200}
201
202// Entry rule entryRuleVLSAxiom
203entryRuleVLSAxiom
204:
205{ before(grammarAccess.getVLSAxiomRule()); }
206 ruleVLSAxiom
207{ after(grammarAccess.getVLSAxiomRule()); }
208 EOF
209;
210
211// Rule VLSAxiom
212ruleVLSAxiom
213 @init {
214 int stackSize = keepStackSize();
215 }
216 :
217 (
218 { before(grammarAccess.getVLSAxiomAccess().getAxiomKeyword()); }
219 'axiom'
220 { after(grammarAccess.getVLSAxiomAccess().getAxiomKeyword()); }
221 )
222;
223finally {
224 restoreStackSize(stackSize);
225}
226
227// Entry rule entryRuleVLSConjecture
228entryRuleVLSConjecture
229:
230{ before(grammarAccess.getVLSConjectureRule()); }
231 ruleVLSConjecture
232{ after(grammarAccess.getVLSConjectureRule()); }
233 EOF
234;
235
236// Rule VLSConjecture
237ruleVLSConjecture
238 @init {
239 int stackSize = keepStackSize();
240 }
241 :
242 (
243 { before(grammarAccess.getVLSConjectureAccess().getConjectureKeyword()); }
244 'conjecture'
245 { after(grammarAccess.getVLSConjectureAccess().getConjectureKeyword()); }
246 )
247;
248finally {
249 restoreStackSize(stackSize);
250}
251
252// Entry rule entryRuleVLSHypothesis
253entryRuleVLSHypothesis
254:
255{ before(grammarAccess.getVLSHypothesisRule()); }
256 ruleVLSHypothesis
257{ after(grammarAccess.getVLSHypothesisRule()); }
258 EOF
259;
260
261// Rule VLSHypothesis
262ruleVLSHypothesis
263 @init {
264 int stackSize = keepStackSize();
265 }
266 :
267 (
268 { before(grammarAccess.getVLSHypothesisAccess().getHypothesisKeyword()); }
269 'hypothesis'
270 { after(grammarAccess.getVLSHypothesisAccess().getHypothesisKeyword()); }
271 )
272;
273finally {
274 restoreStackSize(stackSize);
275}
276
277// Entry rule entryRuleVLSDefinition
278entryRuleVLSDefinition
279:
280{ before(grammarAccess.getVLSDefinitionRule()); }
281 ruleVLSDefinition
282{ after(grammarAccess.getVLSDefinitionRule()); }
283 EOF
284;
285
286// Rule VLSDefinition
287ruleVLSDefinition
288 @init {
289 int stackSize = keepStackSize();
290 }
291 :
292 (
293 { before(grammarAccess.getVLSDefinitionAccess().getDefinitionKeyword()); }
294 'definition'
295 { after(grammarAccess.getVLSDefinitionAccess().getDefinitionKeyword()); }
296 )
297;
298finally {
299 restoreStackSize(stackSize);
300}
301
302// Entry rule entryRuleVLSAssumption
303entryRuleVLSAssumption
304:
305{ before(grammarAccess.getVLSAssumptionRule()); }
306 ruleVLSAssumption
307{ after(grammarAccess.getVLSAssumptionRule()); }
308 EOF
309;
310
311// Rule VLSAssumption
312ruleVLSAssumption
313 @init {
314 int stackSize = keepStackSize();
315 }
316 :
317 (
318 { before(grammarAccess.getVLSAssumptionAccess().getAssumptionKeyword()); }
319 'assumption'
320 { after(grammarAccess.getVLSAssumptionAccess().getAssumptionKeyword()); }
321 )
322;
323finally {
324 restoreStackSize(stackSize);
325}
326
327// Entry rule entryRuleVLSLemma
328entryRuleVLSLemma
329:
330{ before(grammarAccess.getVLSLemmaRule()); }
331 ruleVLSLemma
332{ after(grammarAccess.getVLSLemmaRule()); }
333 EOF
334;
335
336// Rule VLSLemma
337ruleVLSLemma
338 @init {
339 int stackSize = keepStackSize();
340 }
341 :
342 (
343 { before(grammarAccess.getVLSLemmaAccess().getLemmaKeyword()); }
344 'lemma'
345 { after(grammarAccess.getVLSLemmaAccess().getLemmaKeyword()); }
346 )
347;
348finally {
349 restoreStackSize(stackSize);
350}
351
352// Entry rule entryRuleVLSTheorem
353entryRuleVLSTheorem
354:
355{ before(grammarAccess.getVLSTheoremRule()); }
356 ruleVLSTheorem
357{ after(grammarAccess.getVLSTheoremRule()); }
358 EOF
359;
360
361// Rule VLSTheorem
362ruleVLSTheorem
363 @init {
364 int stackSize = keepStackSize();
365 }
366 :
367 (
368 { before(grammarAccess.getVLSTheoremAccess().getTheoremKeyword()); }
369 'theorem'
370 { after(grammarAccess.getVLSTheoremAccess().getTheoremKeyword()); }
371 )
372;
373finally {
374 restoreStackSize(stackSize);
375}
376
377// Entry rule entryRuleVLSCorollary
378entryRuleVLSCorollary
379:
380{ before(grammarAccess.getVLSCorollaryRule()); }
381 ruleVLSCorollary
382{ after(grammarAccess.getVLSCorollaryRule()); }
383 EOF
384;
385
386// Rule VLSCorollary
387ruleVLSCorollary
388 @init {
389 int stackSize = keepStackSize();
390 }
391 :
392 (
393 { before(grammarAccess.getVLSCorollaryAccess().getCorollaryKeyword()); }
394 'corollary'
395 { after(grammarAccess.getVLSCorollaryAccess().getCorollaryKeyword()); }
396 )
397;
398finally {
399 restoreStackSize(stackSize);
400}
401
402// Entry rule entryRuleVLSNegated_Conjecture
403entryRuleVLSNegated_Conjecture
404:
405{ before(grammarAccess.getVLSNegated_ConjectureRule()); }
406 ruleVLSNegated_Conjecture
407{ after(grammarAccess.getVLSNegated_ConjectureRule()); }
408 EOF
409;
410
411// Rule VLSNegated_Conjecture
412ruleVLSNegated_Conjecture
413 @init {
414 int stackSize = keepStackSize();
415 }
416 :
417 (
418 { before(grammarAccess.getVLSNegated_ConjectureAccess().getNegated_conjectureKeyword()); }
419 'negated_conjecture'
420 { after(grammarAccess.getVLSNegated_ConjectureAccess().getNegated_conjectureKeyword()); }
421 )
422;
423finally {
424 restoreStackSize(stackSize);
425}
426
427// Entry rule entryRuleVLSPlain
428entryRuleVLSPlain
429:
430{ before(grammarAccess.getVLSPlainRule()); }
431 ruleVLSPlain
432{ after(grammarAccess.getVLSPlainRule()); }
433 EOF
434;
435
436// Rule VLSPlain
437ruleVLSPlain
438 @init {
439 int stackSize = keepStackSize();
440 }
441 :
442 (
443 { before(grammarAccess.getVLSPlainAccess().getPlainKeyword()); }
444 'plain'
445 { after(grammarAccess.getVLSPlainAccess().getPlainKeyword()); }
446 )
447;
448finally {
449 restoreStackSize(stackSize);
450}
451
452// Entry rule entryRuleVLSType
453entryRuleVLSType
454:
455{ before(grammarAccess.getVLSTypeRule()); }
456 ruleVLSType
457{ after(grammarAccess.getVLSTypeRule()); }
458 EOF
459;
460
461// Rule VLSType
462ruleVLSType
463 @init {
464 int stackSize = keepStackSize();
465 }
466 :
467 (
468 { before(grammarAccess.getVLSTypeAccess().getTypeKeyword()); }
469 'type'
470 { after(grammarAccess.getVLSTypeAccess().getTypeKeyword()); }
471 )
472;
473finally {
474 restoreStackSize(stackSize);
475}
476
477// Entry rule entryRuleVLSFi_Domain
478entryRuleVLSFi_Domain
479:
480{ before(grammarAccess.getVLSFi_DomainRule()); }
481 ruleVLSFi_Domain
482{ after(grammarAccess.getVLSFi_DomainRule()); }
483 EOF
484;
485
486// Rule VLSFi_Domain
487ruleVLSFi_Domain
488 @init {
489 int stackSize = keepStackSize();
490 }
491 :
492 (
493 { before(grammarAccess.getVLSFi_DomainAccess().getFi_domainKeyword()); }
494 'fi_domain'
495 { after(grammarAccess.getVLSFi_DomainAccess().getFi_domainKeyword()); }
496 )
497;
498finally {
499 restoreStackSize(stackSize);
500}
501
502// Entry rule entryRuleVLSFi_Functors
503entryRuleVLSFi_Functors
504:
505{ before(grammarAccess.getVLSFi_FunctorsRule()); }
506 ruleVLSFi_Functors
507{ after(grammarAccess.getVLSFi_FunctorsRule()); }
508 EOF
509;
510
511// Rule VLSFi_Functors
512ruleVLSFi_Functors
513 @init {
514 int stackSize = keepStackSize();
515 }
516 :
517 (
518 { before(grammarAccess.getVLSFi_FunctorsAccess().getFi_functorsKeyword()); }
519 'fi_functors'
520 { after(grammarAccess.getVLSFi_FunctorsAccess().getFi_functorsKeyword()); }
521 )
522;
523finally {
524 restoreStackSize(stackSize);
525}
526
527// Entry rule entryRuleVLSFi_Predicates
528entryRuleVLSFi_Predicates
529:
530{ before(grammarAccess.getVLSFi_PredicatesRule()); }
531 ruleVLSFi_Predicates
532{ after(grammarAccess.getVLSFi_PredicatesRule()); }
533 EOF
534;
535
536// Rule VLSFi_Predicates
537ruleVLSFi_Predicates
538 @init {
539 int stackSize = keepStackSize();
540 }
541 :
542 (
543 { before(grammarAccess.getVLSFi_PredicatesAccess().getFi_predicatesKeyword()); }
544 'fi_predicates'
545 { after(grammarAccess.getVLSFi_PredicatesAccess().getFi_predicatesKeyword()); }
546 )
547;
548finally {
549 restoreStackSize(stackSize);
550}
551
552// Entry rule entryRuleVLSUnknown
553entryRuleVLSUnknown
554:
555{ before(grammarAccess.getVLSUnknownRule()); }
556 ruleVLSUnknown
557{ after(grammarAccess.getVLSUnknownRule()); }
558 EOF
559;
560
561// Rule VLSUnknown
562ruleVLSUnknown
563 @init {
564 int stackSize = keepStackSize();
565 }
566 :
567 (
568 { before(grammarAccess.getVLSUnknownAccess().getUnknownKeyword()); }
569 'unknown'
570 { after(grammarAccess.getVLSUnknownAccess().getUnknownKeyword()); }
571 )
572;
573finally {
574 restoreStackSize(stackSize);
575}
576
577// Entry rule entryRuleVLSAnnotation
578entryRuleVLSAnnotation
579:
580{ before(grammarAccess.getVLSAnnotationRule()); }
581 ruleVLSAnnotation
582{ after(grammarAccess.getVLSAnnotationRule()); }
583 EOF
584;
585
586// Rule VLSAnnotation
587ruleVLSAnnotation
588 @init {
589 int stackSize = keepStackSize();
590 }
591 :
592 (
593 { before(grammarAccess.getVLSAnnotationAccess().getGroup()); }
594 (rule__VLSAnnotation__Group__0)
595 { after(grammarAccess.getVLSAnnotationAccess().getGroup()); }
596 )
597;
598finally {
599 restoreStackSize(stackSize);
600}
601
602// Entry rule entryRuleVLSAnnotationTerms
603entryRuleVLSAnnotationTerms
604:
605{ before(grammarAccess.getVLSAnnotationTermsRule()); }
606 ruleVLSAnnotationTerms
607{ after(grammarAccess.getVLSAnnotationTermsRule()); }
608 EOF
609;
610
611// Rule VLSAnnotationTerms
612ruleVLSAnnotationTerms
613 @init {
614 int stackSize = keepStackSize();
615 }
616 :
617 (
618 { before(grammarAccess.getVLSAnnotationTermsAccess().getGroup()); }
619 (rule__VLSAnnotationTerms__Group__0)
620 { after(grammarAccess.getVLSAnnotationTermsAccess().getGroup()); }
621 )
622;
623finally {
624 restoreStackSize(stackSize);
625}
626
627// Entry rule entryRuleVLSTerm
628entryRuleVLSTerm
629:
630{ before(grammarAccess.getVLSTermRule()); }
631 ruleVLSTerm
632{ after(grammarAccess.getVLSTermRule()); }
633 EOF
634;
635
636// Rule VLSTerm
637ruleVLSTerm
638 @init {
639 int stackSize = keepStackSize();
640 }
641 :
642 (
643 { before(grammarAccess.getVLSTermAccess().getVLSBinaryParserRuleCall()); }
644 ruleVLSBinary
645 { after(grammarAccess.getVLSTermAccess().getVLSBinaryParserRuleCall()); }
646 )
647;
648finally {
649 restoreStackSize(stackSize);
650}
651
652// Entry rule entryRuleVLSBinary
653entryRuleVLSBinary
654:
655{ before(grammarAccess.getVLSBinaryRule()); }
656 ruleVLSBinary
657{ after(grammarAccess.getVLSBinaryRule()); }
658 EOF
659;
660
661// Rule VLSBinary
662ruleVLSBinary
663 @init {
664 int stackSize = keepStackSize();
665 }
666 :
667 (
668 { before(grammarAccess.getVLSBinaryAccess().getGroup()); }
669 (rule__VLSBinary__Group__0)
670 { after(grammarAccess.getVLSBinaryAccess().getGroup()); }
671 )
672;
673finally {
674 restoreStackSize(stackSize);
675}
676
677// Entry rule entryRuleVLSUnitaryFormula
678entryRuleVLSUnitaryFormula
679:
680{ before(grammarAccess.getVLSUnitaryFormulaRule()); }
681 ruleVLSUnitaryFormula
682{ after(grammarAccess.getVLSUnitaryFormulaRule()); }
683 EOF
684;
685
686// Rule VLSUnitaryFormula
687ruleVLSUnitaryFormula
688 @init {
689 int stackSize = keepStackSize();
690 }
691 :
692 (
693 { before(grammarAccess.getVLSUnitaryFormulaAccess().getAlternatives()); }
694 (rule__VLSUnitaryFormula__Alternatives)
695 { after(grammarAccess.getVLSUnitaryFormulaAccess().getAlternatives()); }
696 )
697;
698finally {
699 restoreStackSize(stackSize);
700}
701
702// Entry rule entryRuleVLSUniversalQuantifier
703entryRuleVLSUniversalQuantifier
704:
705{ before(grammarAccess.getVLSUniversalQuantifierRule()); }
706 ruleVLSUniversalQuantifier
707{ after(grammarAccess.getVLSUniversalQuantifierRule()); }
708 EOF
709;
710
711// Rule VLSUniversalQuantifier
712ruleVLSUniversalQuantifier
713 @init {
714 int stackSize = keepStackSize();
715 }
716 :
717 (
718 { before(grammarAccess.getVLSUniversalQuantifierAccess().getGroup()); }
719 (rule__VLSUniversalQuantifier__Group__0)
720 { after(grammarAccess.getVLSUniversalQuantifierAccess().getGroup()); }
721 )
722;
723finally {
724 restoreStackSize(stackSize);
725}
726
727// Entry rule entryRuleVLSExistentialQuantifier
728entryRuleVLSExistentialQuantifier
729:
730{ before(grammarAccess.getVLSExistentialQuantifierRule()); }
731 ruleVLSExistentialQuantifier
732{ after(grammarAccess.getVLSExistentialQuantifierRule()); }
733 EOF
734;
735
736// Rule VLSExistentialQuantifier
737ruleVLSExistentialQuantifier
738 @init {
739 int stackSize = keepStackSize();
740 }
741 :
742 (
743 { before(grammarAccess.getVLSExistentialQuantifierAccess().getGroup()); }
744 (rule__VLSExistentialQuantifier__Group__0)
745 { after(grammarAccess.getVLSExistentialQuantifierAccess().getGroup()); }
746 )
747;
748finally {
749 restoreStackSize(stackSize);
750}
751
752// Entry rule entryRuleVLSUnaryNegation
753entryRuleVLSUnaryNegation
754:
755{ before(grammarAccess.getVLSUnaryNegationRule()); }
756 ruleVLSUnaryNegation
757{ after(grammarAccess.getVLSUnaryNegationRule()); }
758 EOF
759;
760
761// Rule VLSUnaryNegation
762ruleVLSUnaryNegation
763 @init {
764 int stackSize = keepStackSize();
765 }
766 :
767 (
768 { before(grammarAccess.getVLSUnaryNegationAccess().getGroup()); }
769 (rule__VLSUnaryNegation__Group__0)
770 { after(grammarAccess.getVLSUnaryNegationAccess().getGroup()); }
771 )
772;
773finally {
774 restoreStackSize(stackSize);
775}
776
777// Entry rule entryRuleVLSUnaryInfix
778entryRuleVLSUnaryInfix
779:
780{ before(grammarAccess.getVLSUnaryInfixRule()); }
781 ruleVLSUnaryInfix
782{ after(grammarAccess.getVLSUnaryInfixRule()); }
783 EOF
784;
785
786// Rule VLSUnaryInfix
787ruleVLSUnaryInfix
788 @init {
789 int stackSize = keepStackSize();
790 }
791 :
792 (
793 { before(grammarAccess.getVLSUnaryInfixAccess().getGroup()); }
794 (rule__VLSUnaryInfix__Group__0)
795 { after(grammarAccess.getVLSUnaryInfixAccess().getGroup()); }
796 )
797;
798finally {
799 restoreStackSize(stackSize);
800}
801
802// Entry rule entryRuleVLSAtomic
803entryRuleVLSAtomic
804:
805{ before(grammarAccess.getVLSAtomicRule()); }
806 ruleVLSAtomic
807{ after(grammarAccess.getVLSAtomicRule()); }
808 EOF
809;
810
811// Rule VLSAtomic
812ruleVLSAtomic
813 @init {
814 int stackSize = keepStackSize();
815 }
816 :
817 (
818 { before(grammarAccess.getVLSAtomicAccess().getAlternatives()); }
819 (rule__VLSAtomic__Alternatives)
820 { after(grammarAccess.getVLSAtomicAccess().getAlternatives()); }
821 )
822;
823finally {
824 restoreStackSize(stackSize);
825}
826
827// Entry rule entryRuleVLSAtomicConstant
828entryRuleVLSAtomicConstant
829:
830{ before(grammarAccess.getVLSAtomicConstantRule()); }
831 ruleVLSAtomicConstant
832{ after(grammarAccess.getVLSAtomicConstantRule()); }
833 EOF
834;
835
836// Rule VLSAtomicConstant
837ruleVLSAtomicConstant
838 @init {
839 int stackSize = keepStackSize();
840 }
841 :
842 (
843 { before(grammarAccess.getVLSAtomicConstantAccess().getAlternatives()); }
844 (rule__VLSAtomicConstant__Alternatives)
845 { after(grammarAccess.getVLSAtomicConstantAccess().getAlternatives()); }
846 )
847;
848finally {
849 restoreStackSize(stackSize);
850}
851
852// Entry rule entryRuleVLSAtomicFunction
853entryRuleVLSAtomicFunction
854:
855{ before(grammarAccess.getVLSAtomicFunctionRule()); }
856 ruleVLSAtomicFunction
857{ after(grammarAccess.getVLSAtomicFunctionRule()); }
858 EOF
859;
860
861// Rule VLSAtomicFunction
862ruleVLSAtomicFunction
863 @init {
864 int stackSize = keepStackSize();
865 }
866 :
867 (
868 { before(grammarAccess.getVLSAtomicFunctionAccess().getAlternatives()); }
869 (rule__VLSAtomicFunction__Alternatives)
870 { after(grammarAccess.getVLSAtomicFunctionAccess().getAlternatives()); }
871 )
872;
873finally {
874 restoreStackSize(stackSize);
875}
876
877// Entry rule entryRuleVLSVariable
878entryRuleVLSVariable
879:
880{ before(grammarAccess.getVLSVariableRule()); }
881 ruleVLSVariable
882{ after(grammarAccess.getVLSVariableRule()); }
883 EOF
884;
885
886// Rule VLSVariable
887ruleVLSVariable
888 @init {
889 int stackSize = keepStackSize();
890 }
891 :
892 (
893 { before(grammarAccess.getVLSVariableAccess().getNameAssignment()); }
894 (rule__VLSVariable__NameAssignment)
895 { after(grammarAccess.getVLSVariableAccess().getNameAssignment()); }
896 )
897;
898finally {
899 restoreStackSize(stackSize);
900}
901
902// Entry rule entryRuleVLSFofTerm
903entryRuleVLSFofTerm
904:
905{ before(grammarAccess.getVLSFofTermRule()); }
906 ruleVLSFofTerm
907{ after(grammarAccess.getVLSFofTermRule()); }
908 EOF
909;
910
911// Rule VLSFofTerm
912ruleVLSFofTerm
913 @init {
914 int stackSize = keepStackSize();
915 }
916 :
917 (
918 { before(grammarAccess.getVLSFofTermAccess().getAlternatives()); }
919 (rule__VLSFofTerm__Alternatives)
920 { after(grammarAccess.getVLSFofTermAccess().getAlternatives()); }
921 )
922;
923finally {
924 restoreStackSize(stackSize);
925}
926
927// Entry rule entryRuleVLSFunctionFof
928entryRuleVLSFunctionFof
929:
930{ before(grammarAccess.getVLSFunctionFofRule()); }
931 ruleVLSFunctionFof
932{ after(grammarAccess.getVLSFunctionFofRule()); }
933 EOF
934;
935
936// Rule VLSFunctionFof
937ruleVLSFunctionFof
938 @init {
939 int stackSize = keepStackSize();
940 }
941 :
942 (
943 { before(grammarAccess.getVLSFunctionFofAccess().getGroup()); }
944 (rule__VLSFunctionFof__Group__0)
945 { after(grammarAccess.getVLSFunctionFofAccess().getGroup()); }
946 )
947;
948finally {
949 restoreStackSize(stackSize);
950}
951
952// Entry rule entryRuleVLSDefinedTerm
953entryRuleVLSDefinedTerm
954:
955{ before(grammarAccess.getVLSDefinedTermRule()); }
956 ruleVLSDefinedTerm
957{ after(grammarAccess.getVLSDefinedTermRule()); }
958 EOF
959;
960
961// Rule VLSDefinedTerm
962ruleVLSDefinedTerm
963 @init {
964 int stackSize = keepStackSize();
965 }
966 :
967 (
968 { before(grammarAccess.getVLSDefinedTermAccess().getAlternatives()); }
969 (rule__VLSDefinedTerm__Alternatives)
970 { after(grammarAccess.getVLSDefinedTermAccess().getAlternatives()); }
971 )
972;
973finally {
974 restoreStackSize(stackSize);
975}
976
977rule__VampireModel__Alternatives
978 @init {
979 int stackSize = keepStackSize();
980 }
981:
982 (
983 { before(grammarAccess.getVampireModelAccess().getIncludesAssignment_0()); }
984 (rule__VampireModel__IncludesAssignment_0)
985 { after(grammarAccess.getVampireModelAccess().getIncludesAssignment_0()); }
986 )
987 |
988 (
989 { before(grammarAccess.getVampireModelAccess().getCommentsAssignment_1()); }
990 (rule__VampireModel__CommentsAssignment_1)
991 { after(grammarAccess.getVampireModelAccess().getCommentsAssignment_1()); }
992 )
993 |
994 (
995 { before(grammarAccess.getVampireModelAccess().getFormulasAssignment_2()); }
996 (rule__VampireModel__FormulasAssignment_2)
997 { after(grammarAccess.getVampireModelAccess().getFormulasAssignment_2()); }
998 )
999;
1000finally {
1001 restoreStackSize(stackSize);
1002}
1003
1004rule__VLSName__NameAlternatives_0
1005 @init {
1006 int stackSize = keepStackSize();
1007 }
1008:
1009 (
1010 { before(grammarAccess.getVLSNameAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_0()); }
1011 RULE_LOWER_WORD_ID
1012 { after(grammarAccess.getVLSNameAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_0()); }
1013 )
1014 |
1015 (
1016 { before(grammarAccess.getVLSNameAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1()); }
1017 RULE_SINGLE_QUOTE
1018 { after(grammarAccess.getVLSNameAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1()); }
1019 )
1020 |
1021 (
1022 { before(grammarAccess.getVLSNameAccess().getNameLITERALTerminalRuleCall_0_2()); }
1023 RULE_LITERAL
1024 { after(grammarAccess.getVLSNameAccess().getNameLITERALTerminalRuleCall_0_2()); }
1025 )
1026 |
1027 (
1028 { before(grammarAccess.getVLSNameAccess().getNameSIGNED_LITERALTerminalRuleCall_0_3()); }
1029 RULE_SIGNED_LITERAL
1030 { after(grammarAccess.getVLSNameAccess().getNameSIGNED_LITERALTerminalRuleCall_0_3()); }
1031 )
1032;
1033finally {
1034 restoreStackSize(stackSize);
1035}
1036
1037rule__VLSFofFormula__NameAlternatives_2_0
1038 @init {
1039 int stackSize = keepStackSize();
1040 }
1041:
1042 (
1043 { before(grammarAccess.getVLSFofFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0()); }
1044 RULE_LOWER_WORD_ID
1045 { after(grammarAccess.getVLSFofFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0()); }
1046 )
1047 |
1048 (
1049 { before(grammarAccess.getVLSFofFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1()); }
1050 RULE_SIGNED_LITERAL
1051 { after(grammarAccess.getVLSFofFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1()); }
1052 )
1053 |
1054 (
1055 { before(grammarAccess.getVLSFofFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2()); }
1056 RULE_SINGLE_QUOTE
1057 { after(grammarAccess.getVLSFofFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2()); }
1058 )
1059;
1060finally {
1061 restoreStackSize(stackSize);
1062}
1063
1064rule__VLSRole__Alternatives
1065 @init {
1066 int stackSize = keepStackSize();
1067 }
1068:
1069 (
1070 { before(grammarAccess.getVLSRoleAccess().getVLSAxiomParserRuleCall_0()); }
1071 ruleVLSAxiom
1072 { after(grammarAccess.getVLSRoleAccess().getVLSAxiomParserRuleCall_0()); }
1073 )
1074 |
1075 (
1076 { before(grammarAccess.getVLSRoleAccess().getVLSConjectureParserRuleCall_1()); }
1077 ruleVLSConjecture
1078 { after(grammarAccess.getVLSRoleAccess().getVLSConjectureParserRuleCall_1()); }
1079 )
1080 |
1081 (
1082 { before(grammarAccess.getVLSRoleAccess().getVLSHypothesisParserRuleCall_2()); }
1083 ruleVLSHypothesis
1084 { after(grammarAccess.getVLSRoleAccess().getVLSHypothesisParserRuleCall_2()); }
1085 )
1086 |
1087 (
1088 { before(grammarAccess.getVLSRoleAccess().getVLSDefinitionParserRuleCall_3()); }
1089 ruleVLSDefinition
1090 { after(grammarAccess.getVLSRoleAccess().getVLSDefinitionParserRuleCall_3()); }
1091 )
1092 |
1093 (
1094 { before(grammarAccess.getVLSRoleAccess().getVLSAssumptionParserRuleCall_4()); }
1095 ruleVLSAssumption
1096 { after(grammarAccess.getVLSRoleAccess().getVLSAssumptionParserRuleCall_4()); }
1097 )
1098 |
1099 (
1100 { before(grammarAccess.getVLSRoleAccess().getVLSLemmaParserRuleCall_5()); }
1101 ruleVLSLemma
1102 { after(grammarAccess.getVLSRoleAccess().getVLSLemmaParserRuleCall_5()); }
1103 )
1104 |
1105 (
1106 { before(grammarAccess.getVLSRoleAccess().getVLSTheoremParserRuleCall_6()); }
1107 ruleVLSTheorem
1108 { after(grammarAccess.getVLSRoleAccess().getVLSTheoremParserRuleCall_6()); }
1109 )
1110 |
1111 (
1112 { before(grammarAccess.getVLSRoleAccess().getVLSCorollaryParserRuleCall_7()); }
1113 ruleVLSCorollary
1114 { after(grammarAccess.getVLSRoleAccess().getVLSCorollaryParserRuleCall_7()); }
1115 )
1116 |
1117 (
1118 { before(grammarAccess.getVLSRoleAccess().getVLSNegated_ConjectureParserRuleCall_8()); }
1119 ruleVLSNegated_Conjecture
1120 { after(grammarAccess.getVLSRoleAccess().getVLSNegated_ConjectureParserRuleCall_8()); }
1121 )
1122 |
1123 (
1124 { before(grammarAccess.getVLSRoleAccess().getVLSPlainParserRuleCall_9()); }
1125 ruleVLSPlain
1126 { after(grammarAccess.getVLSRoleAccess().getVLSPlainParserRuleCall_9()); }
1127 )
1128 |
1129 (
1130 { before(grammarAccess.getVLSRoleAccess().getVLSTypeParserRuleCall_10()); }
1131 ruleVLSType
1132 { after(grammarAccess.getVLSRoleAccess().getVLSTypeParserRuleCall_10()); }
1133 )
1134 |
1135 (
1136 { before(grammarAccess.getVLSRoleAccess().getVLSFi_DomainParserRuleCall_11()); }
1137 ruleVLSFi_Domain
1138 { after(grammarAccess.getVLSRoleAccess().getVLSFi_DomainParserRuleCall_11()); }
1139 )
1140 |
1141 (
1142 { before(grammarAccess.getVLSRoleAccess().getVLSFi_FunctorsParserRuleCall_12()); }
1143 ruleVLSFi_Functors
1144 { after(grammarAccess.getVLSRoleAccess().getVLSFi_FunctorsParserRuleCall_12()); }
1145 )
1146 |
1147 (
1148 { before(grammarAccess.getVLSRoleAccess().getVLSFi_PredicatesParserRuleCall_13()); }
1149 ruleVLSFi_Predicates
1150 { after(grammarAccess.getVLSRoleAccess().getVLSFi_PredicatesParserRuleCall_13()); }
1151 )
1152 |
1153 (
1154 { before(grammarAccess.getVLSRoleAccess().getVLSUnknownParserRuleCall_14()); }
1155 ruleVLSUnknown
1156 { after(grammarAccess.getVLSRoleAccess().getVLSUnknownParserRuleCall_14()); }
1157 )
1158;
1159finally {
1160 restoreStackSize(stackSize);
1161}
1162
1163rule__VLSAnnotation__NameAlternatives_1_0
1164 @init {
1165 int stackSize = keepStackSize();
1166 }
1167:
1168 (
1169 { before(grammarAccess.getVLSAnnotationAccess().getNameLOWER_WORD_IDTerminalRuleCall_1_0_0()); }
1170 RULE_LOWER_WORD_ID
1171 { after(grammarAccess.getVLSAnnotationAccess().getNameLOWER_WORD_IDTerminalRuleCall_1_0_0()); }
1172 )
1173 |
1174 (
1175 { before(grammarAccess.getVLSAnnotationAccess().getNameSINGLE_QUOTETerminalRuleCall_1_0_1()); }
1176 RULE_SINGLE_QUOTE
1177 { after(grammarAccess.getVLSAnnotationAccess().getNameSINGLE_QUOTETerminalRuleCall_1_0_1()); }
1178 )
1179 |
1180 (
1181 { before(grammarAccess.getVLSAnnotationAccess().getNameVLSRoleParserRuleCall_1_0_2()); }
1182 ruleVLSRole
1183 { after(grammarAccess.getVLSAnnotationAccess().getNameVLSRoleParserRuleCall_1_0_2()); }
1184 )
1185;
1186finally {
1187 restoreStackSize(stackSize);
1188}
1189
1190rule__VLSBinary__Alternatives_1
1191 @init {
1192 int stackSize = keepStackSize();
1193 }
1194:
1195 (
1196 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_0()); }
1197 (rule__VLSBinary__Group_1_0__0)
1198 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_0()); }
1199 )
1200 |
1201 (
1202 (
1203 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_1()); }
1204 (rule__VLSBinary__Group_1_1__0)
1205 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_1()); }
1206 )
1207 (
1208 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_1()); }
1209 (rule__VLSBinary__Group_1_1__0)*
1210 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_1()); }
1211 )
1212 )
1213 |
1214 (
1215 (
1216 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_2()); }
1217 (rule__VLSBinary__Group_1_2__0)
1218 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_2()); }
1219 )
1220 (
1221 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_2()); }
1222 (rule__VLSBinary__Group_1_2__0)*
1223 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_2()); }
1224 )
1225 )
1226;
1227finally {
1228 restoreStackSize(stackSize);
1229}
1230
1231rule__VLSBinary__Alternatives_1_0_0
1232 @init {
1233 int stackSize = keepStackSize();
1234 }
1235:
1236 (
1237 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_0()); }
1238 (rule__VLSBinary__Group_1_0_0_0__0)
1239 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_0()); }
1240 )
1241 |
1242 (
1243 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_1()); }
1244 (rule__VLSBinary__Group_1_0_0_1__0)
1245 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_1()); }
1246 )
1247 |
1248 (
1249 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_2()); }
1250 (rule__VLSBinary__Group_1_0_0_2__0)
1251 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_2()); }
1252 )
1253 |
1254 (
1255 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_3()); }
1256 (rule__VLSBinary__Group_1_0_0_3__0)
1257 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_3()); }
1258 )
1259 |
1260 (
1261 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_4()); }
1262 (rule__VLSBinary__Group_1_0_0_4__0)
1263 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_4()); }
1264 )
1265 |
1266 (
1267 { before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_5()); }
1268 (rule__VLSBinary__Group_1_0_0_5__0)
1269 { after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_5()); }
1270 )
1271;
1272finally {
1273 restoreStackSize(stackSize);
1274}
1275
1276rule__VLSUnitaryFormula__Alternatives
1277 @init {
1278 int stackSize = keepStackSize();
1279 }
1280:
1281 (
1282 { before(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUniversalQuantifierParserRuleCall_0()); }
1283 ruleVLSUniversalQuantifier
1284 { after(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUniversalQuantifierParserRuleCall_0()); }
1285 )
1286 |
1287 (
1288 { before(grammarAccess.getVLSUnitaryFormulaAccess().getVLSExistentialQuantifierParserRuleCall_1()); }
1289 ruleVLSExistentialQuantifier
1290 { after(grammarAccess.getVLSUnitaryFormulaAccess().getVLSExistentialQuantifierParserRuleCall_1()); }
1291 )
1292 |
1293 (
1294 { before(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryNegationParserRuleCall_2()); }
1295 ruleVLSUnaryNegation
1296 { after(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryNegationParserRuleCall_2()); }
1297 )
1298 |
1299 (
1300 { before(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryInfixParserRuleCall_3()); }
1301 ruleVLSUnaryInfix
1302 { after(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryInfixParserRuleCall_3()); }
1303 )
1304 |
1305 (
1306 { before(grammarAccess.getVLSUnitaryFormulaAccess().getGroup_4()); }
1307 (rule__VLSUnitaryFormula__Group_4__0)
1308 { after(grammarAccess.getVLSUnitaryFormulaAccess().getGroup_4()); }
1309 )
1310;
1311finally {
1312 restoreStackSize(stackSize);
1313}
1314
1315rule__VLSUnaryInfix__Alternatives_1_0
1316 @init {
1317 int stackSize = keepStackSize();
1318 }
1319:
1320 (
1321 { before(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_0()); }
1322 (rule__VLSUnaryInfix__Group_1_0_0__0)
1323 { after(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_0()); }
1324 )
1325 |
1326 (
1327 { before(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_1()); }
1328 (rule__VLSUnaryInfix__Group_1_0_1__0)
1329 { after(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_1()); }
1330 )
1331 |
1332 (
1333 { before(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_2()); }
1334 (rule__VLSUnaryInfix__Group_1_0_2__0)
1335 { after(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_2()); }
1336 )
1337;
1338finally {
1339 restoreStackSize(stackSize);
1340}
1341
1342rule__VLSAtomic__Alternatives
1343 @init {
1344 int stackSize = keepStackSize();
1345 }
1346:
1347 (
1348 { before(grammarAccess.getVLSAtomicAccess().getVLSAtomicConstantParserRuleCall_0()); }
1349 ruleVLSAtomicConstant
1350 { after(grammarAccess.getVLSAtomicAccess().getVLSAtomicConstantParserRuleCall_0()); }
1351 )
1352 |
1353 (
1354 { before(grammarAccess.getVLSAtomicAccess().getVLSAtomicFunctionParserRuleCall_1()); }
1355 ruleVLSAtomicFunction
1356 { after(grammarAccess.getVLSAtomicAccess().getVLSAtomicFunctionParserRuleCall_1()); }
1357 )
1358 |
1359 (
1360 { before(grammarAccess.getVLSAtomicAccess().getVLSVariableParserRuleCall_2()); }
1361 ruleVLSVariable
1362 { after(grammarAccess.getVLSAtomicAccess().getVLSVariableParserRuleCall_2()); }
1363 )
1364 |
1365 (
1366 { before(grammarAccess.getVLSAtomicAccess().getVLSDefinedTermParserRuleCall_3()); }
1367 ruleVLSDefinedTerm
1368 { after(grammarAccess.getVLSAtomicAccess().getVLSDefinedTermParserRuleCall_3()); }
1369 )
1370;
1371finally {
1372 restoreStackSize(stackSize);
1373}
1374
1375rule__VLSAtomicConstant__Alternatives
1376 @init {
1377 int stackSize = keepStackSize();
1378 }
1379:
1380 (
1381 { before(grammarAccess.getVLSAtomicConstantAccess().getGroup_0()); }
1382 (rule__VLSAtomicConstant__Group_0__0)
1383 { after(grammarAccess.getVLSAtomicConstantAccess().getGroup_0()); }
1384 )
1385 |
1386 (
1387 { before(grammarAccess.getVLSAtomicConstantAccess().getGroup_1()); }
1388 (rule__VLSAtomicConstant__Group_1__0)
1389 { after(grammarAccess.getVLSAtomicConstantAccess().getGroup_1()); }
1390 )
1391 |
1392 (
1393 { before(grammarAccess.getVLSAtomicConstantAccess().getGroup_2()); }
1394 (rule__VLSAtomicConstant__Group_2__0)
1395 { after(grammarAccess.getVLSAtomicConstantAccess().getGroup_2()); }
1396 )
1397;
1398finally {
1399 restoreStackSize(stackSize);
1400}
1401
1402rule__VLSAtomicConstant__NameAlternatives_0_1_0
1403 @init {
1404 int stackSize = keepStackSize();
1405 }
1406:
1407 (
1408 { before(grammarAccess.getVLSAtomicConstantAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0()); }
1409 RULE_LOWER_WORD_ID
1410 { after(grammarAccess.getVLSAtomicConstantAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0()); }
1411 )
1412 |
1413 (
1414 { before(grammarAccess.getVLSAtomicConstantAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1_0_1()); }
1415 RULE_SINGLE_QUOTE
1416 { after(grammarAccess.getVLSAtomicConstantAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1_0_1()); }
1417 )
1418 |
1419 (
1420 { before(grammarAccess.getVLSAtomicConstantAccess().getNameDOLLAR_IDTerminalRuleCall_0_1_0_2()); }
1421 RULE_DOLLAR_ID
1422 { after(grammarAccess.getVLSAtomicConstantAccess().getNameDOLLAR_IDTerminalRuleCall_0_1_0_2()); }
1423 )
1424 |
1425 (
1426 { before(grammarAccess.getVLSAtomicConstantAccess().getNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3()); }
1427 RULE_DOUBLE_DOLLAR_ID
1428 { after(grammarAccess.getVLSAtomicConstantAccess().getNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3()); }
1429 )
1430 |
1431 (
1432 { before(grammarAccess.getVLSAtomicConstantAccess().getNameVLSRoleParserRuleCall_0_1_0_4()); }
1433 ruleVLSRole
1434 { after(grammarAccess.getVLSAtomicConstantAccess().getNameVLSRoleParserRuleCall_0_1_0_4()); }
1435 )
1436;
1437finally {
1438 restoreStackSize(stackSize);
1439}
1440
1441rule__VLSAtomicFunction__Alternatives
1442 @init {
1443 int stackSize = keepStackSize();
1444 }
1445:
1446 (
1447 { before(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0()); }
1448 (rule__VLSAtomicFunction__Group_0__0)
1449 { after(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0()); }
1450 )
1451 |
1452 (
1453 { before(grammarAccess.getVLSAtomicFunctionAccess().getGroup_1()); }
1454 (rule__VLSAtomicFunction__Group_1__0)
1455 { after(grammarAccess.getVLSAtomicFunctionAccess().getGroup_1()); }
1456 )
1457;
1458finally {
1459 restoreStackSize(stackSize);
1460}
1461
1462rule__VLSAtomicFunction__ConstantAlternatives_0_1_0
1463 @init {
1464 int stackSize = keepStackSize();
1465 }
1466:
1467 (
1468 { before(grammarAccess.getVLSAtomicFunctionAccess().getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0()); }
1469 RULE_LOWER_WORD_ID
1470 { after(grammarAccess.getVLSAtomicFunctionAccess().getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0()); }
1471 )
1472 |
1473 (
1474 { before(grammarAccess.getVLSAtomicFunctionAccess().getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1()); }
1475 RULE_SINGLE_QUOTE
1476 { after(grammarAccess.getVLSAtomicFunctionAccess().getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1()); }
1477 )
1478 |
1479 (
1480 { before(grammarAccess.getVLSAtomicFunctionAccess().getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2()); }
1481 RULE_DOLLAR_ID
1482 { after(grammarAccess.getVLSAtomicFunctionAccess().getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2()); }
1483 )
1484 |
1485 (
1486 { before(grammarAccess.getVLSAtomicFunctionAccess().getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3()); }
1487 RULE_DOUBLE_DOLLAR_ID
1488 { after(grammarAccess.getVLSAtomicFunctionAccess().getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3()); }
1489 )
1490 |
1491 (
1492 { before(grammarAccess.getVLSAtomicFunctionAccess().getConstantVLSRoleParserRuleCall_0_1_0_4()); }
1493 ruleVLSRole
1494 { after(grammarAccess.getVLSAtomicFunctionAccess().getConstantVLSRoleParserRuleCall_0_1_0_4()); }
1495 )
1496;
1497finally {
1498 restoreStackSize(stackSize);
1499}
1500
1501rule__VLSFofTerm__Alternatives
1502 @init {
1503 int stackSize = keepStackSize();
1504 }
1505:
1506 (
1507 { before(grammarAccess.getVLSFofTermAccess().getVLSVariableParserRuleCall_0()); }
1508 ruleVLSVariable
1509 { after(grammarAccess.getVLSFofTermAccess().getVLSVariableParserRuleCall_0()); }
1510 )
1511 |
1512 (
1513 { before(grammarAccess.getVLSFofTermAccess().getVLSFunctionFofParserRuleCall_1()); }
1514 ruleVLSFunctionFof
1515 { after(grammarAccess.getVLSFofTermAccess().getVLSFunctionFofParserRuleCall_1()); }
1516 )
1517 |
1518 (
1519 { before(grammarAccess.getVLSFofTermAccess().getVLSDefinedTermParserRuleCall_2()); }
1520 ruleVLSDefinedTerm
1521 { after(grammarAccess.getVLSFofTermAccess().getVLSDefinedTermParserRuleCall_2()); }
1522 )
1523;
1524finally {
1525 restoreStackSize(stackSize);
1526}
1527
1528rule__VLSFunctionFof__FunctorAlternatives_0_0
1529 @init {
1530 int stackSize = keepStackSize();
1531 }
1532:
1533 (
1534 { before(grammarAccess.getVLSFunctionFofAccess().getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0()); }
1535 RULE_LOWER_WORD_ID
1536 { after(grammarAccess.getVLSFunctionFofAccess().getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0()); }
1537 )
1538 |
1539 (
1540 { before(grammarAccess.getVLSFunctionFofAccess().getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1()); }
1541 RULE_SINGLE_QUOTE
1542 { after(grammarAccess.getVLSFunctionFofAccess().getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1()); }
1543 )
1544 |
1545 (
1546 { before(grammarAccess.getVLSFunctionFofAccess().getFunctorDOLLAR_IDTerminalRuleCall_0_0_2()); }
1547 RULE_DOLLAR_ID
1548 { after(grammarAccess.getVLSFunctionFofAccess().getFunctorDOLLAR_IDTerminalRuleCall_0_0_2()); }
1549 )
1550 |
1551 (
1552 { before(grammarAccess.getVLSFunctionFofAccess().getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3()); }
1553 RULE_DOUBLE_DOLLAR_ID
1554 { after(grammarAccess.getVLSFunctionFofAccess().getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3()); }
1555 )
1556;
1557finally {
1558 restoreStackSize(stackSize);
1559}
1560
1561rule__VLSDefinedTerm__Alternatives
1562 @init {
1563 int stackSize = keepStackSize();
1564 }
1565:
1566 (
1567 { before(grammarAccess.getVLSDefinedTermAccess().getGroup_0()); }
1568 (rule__VLSDefinedTerm__Group_0__0)
1569 { after(grammarAccess.getVLSDefinedTermAccess().getGroup_0()); }
1570 )
1571 |
1572 (
1573 { before(grammarAccess.getVLSDefinedTermAccess().getGroup_1()); }
1574 (rule__VLSDefinedTerm__Group_1__0)
1575 { after(grammarAccess.getVLSDefinedTermAccess().getGroup_1()); }
1576 )
1577 |
1578 (
1579 { before(grammarAccess.getVLSDefinedTermAccess().getGroup_2()); }
1580 (rule__VLSDefinedTerm__Group_2__0)
1581 { after(grammarAccess.getVLSDefinedTermAccess().getGroup_2()); }
1582 )
1583 |
1584 (
1585 { before(grammarAccess.getVLSDefinedTermAccess().getGroup_3()); }
1586 (rule__VLSDefinedTerm__Group_3__0)
1587 { after(grammarAccess.getVLSDefinedTermAccess().getGroup_3()); }
1588 )
1589;
1590finally {
1591 restoreStackSize(stackSize);
1592}
1593
1594rule__VLSInclude__Group__0
1595 @init {
1596 int stackSize = keepStackSize();
1597 }
1598:
1599 rule__VLSInclude__Group__0__Impl
1600 rule__VLSInclude__Group__1
1601;
1602finally {
1603 restoreStackSize(stackSize);
1604}
1605
1606rule__VLSInclude__Group__0__Impl
1607 @init {
1608 int stackSize = keepStackSize();
1609 }
1610:
1611(
1612 { before(grammarAccess.getVLSIncludeAccess().getIncludeKeyword_0()); }
1613 'include('
1614 { after(grammarAccess.getVLSIncludeAccess().getIncludeKeyword_0()); }
1615)
1616;
1617finally {
1618 restoreStackSize(stackSize);
1619}
1620
1621rule__VLSInclude__Group__1
1622 @init {
1623 int stackSize = keepStackSize();
1624 }
1625:
1626 rule__VLSInclude__Group__1__Impl
1627 rule__VLSInclude__Group__2
1628;
1629finally {
1630 restoreStackSize(stackSize);
1631}
1632
1633rule__VLSInclude__Group__1__Impl
1634 @init {
1635 int stackSize = keepStackSize();
1636 }
1637:
1638(
1639 { before(grammarAccess.getVLSIncludeAccess().getFileNameAssignment_1()); }
1640 (rule__VLSInclude__FileNameAssignment_1)
1641 { after(grammarAccess.getVLSIncludeAccess().getFileNameAssignment_1()); }
1642)
1643;
1644finally {
1645 restoreStackSize(stackSize);
1646}
1647
1648rule__VLSInclude__Group__2
1649 @init {
1650 int stackSize = keepStackSize();
1651 }
1652:
1653 rule__VLSInclude__Group__2__Impl
1654;
1655finally {
1656 restoreStackSize(stackSize);
1657}
1658
1659rule__VLSInclude__Group__2__Impl
1660 @init {
1661 int stackSize = keepStackSize();
1662 }
1663:
1664(
1665 { before(grammarAccess.getVLSIncludeAccess().getGroup_2()); }
1666 (rule__VLSInclude__Group_2__0)?
1667 { after(grammarAccess.getVLSIncludeAccess().getGroup_2()); }
1668)
1669;
1670finally {
1671 restoreStackSize(stackSize);
1672}
1673
1674
1675rule__VLSInclude__Group_2__0
1676 @init {
1677 int stackSize = keepStackSize();
1678 }
1679:
1680 rule__VLSInclude__Group_2__0__Impl
1681 rule__VLSInclude__Group_2__1
1682;
1683finally {
1684 restoreStackSize(stackSize);
1685}
1686
1687rule__VLSInclude__Group_2__0__Impl
1688 @init {
1689 int stackSize = keepStackSize();
1690 }
1691:
1692(
1693 { before(grammarAccess.getVLSIncludeAccess().getCommaLeftSquareBracketKeyword_2_0()); }
1694 ',['
1695 { after(grammarAccess.getVLSIncludeAccess().getCommaLeftSquareBracketKeyword_2_0()); }
1696)
1697;
1698finally {
1699 restoreStackSize(stackSize);
1700}
1701
1702rule__VLSInclude__Group_2__1
1703 @init {
1704 int stackSize = keepStackSize();
1705 }
1706:
1707 rule__VLSInclude__Group_2__1__Impl
1708 rule__VLSInclude__Group_2__2
1709;
1710finally {
1711 restoreStackSize(stackSize);
1712}
1713
1714rule__VLSInclude__Group_2__1__Impl
1715 @init {
1716 int stackSize = keepStackSize();
1717 }
1718:
1719(
1720 { before(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_1()); }
1721 (rule__VLSInclude__NamesAssignment_2_1)
1722 { after(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_1()); }
1723)
1724;
1725finally {
1726 restoreStackSize(stackSize);
1727}
1728
1729rule__VLSInclude__Group_2__2
1730 @init {
1731 int stackSize = keepStackSize();
1732 }
1733:
1734 rule__VLSInclude__Group_2__2__Impl
1735 rule__VLSInclude__Group_2__3
1736;
1737finally {
1738 restoreStackSize(stackSize);
1739}
1740
1741rule__VLSInclude__Group_2__2__Impl
1742 @init {
1743 int stackSize = keepStackSize();
1744 }
1745:
1746(
1747 { before(grammarAccess.getVLSIncludeAccess().getGroup_2_2()); }
1748 (rule__VLSInclude__Group_2_2__0)*
1749 { after(grammarAccess.getVLSIncludeAccess().getGroup_2_2()); }
1750)
1751;
1752finally {
1753 restoreStackSize(stackSize);
1754}
1755
1756rule__VLSInclude__Group_2__3
1757 @init {
1758 int stackSize = keepStackSize();
1759 }
1760:
1761 rule__VLSInclude__Group_2__3__Impl
1762;
1763finally {
1764 restoreStackSize(stackSize);
1765}
1766
1767rule__VLSInclude__Group_2__3__Impl
1768 @init {
1769 int stackSize = keepStackSize();
1770 }
1771:
1772(
1773 { before(grammarAccess.getVLSIncludeAccess().getRightSquareBracketKeyword_2_3()); }
1774 ']'
1775 { after(grammarAccess.getVLSIncludeAccess().getRightSquareBracketKeyword_2_3()); }
1776)
1777;
1778finally {
1779 restoreStackSize(stackSize);
1780}
1781
1782
1783rule__VLSInclude__Group_2_2__0
1784 @init {
1785 int stackSize = keepStackSize();
1786 }
1787:
1788 rule__VLSInclude__Group_2_2__0__Impl
1789 rule__VLSInclude__Group_2_2__1
1790;
1791finally {
1792 restoreStackSize(stackSize);
1793}
1794
1795rule__VLSInclude__Group_2_2__0__Impl
1796 @init {
1797 int stackSize = keepStackSize();
1798 }
1799:
1800(
1801 { before(grammarAccess.getVLSIncludeAccess().getCommaKeyword_2_2_0()); }
1802 ','
1803 { after(grammarAccess.getVLSIncludeAccess().getCommaKeyword_2_2_0()); }
1804)
1805;
1806finally {
1807 restoreStackSize(stackSize);
1808}
1809
1810rule__VLSInclude__Group_2_2__1
1811 @init {
1812 int stackSize = keepStackSize();
1813 }
1814:
1815 rule__VLSInclude__Group_2_2__1__Impl
1816;
1817finally {
1818 restoreStackSize(stackSize);
1819}
1820
1821rule__VLSInclude__Group_2_2__1__Impl
1822 @init {
1823 int stackSize = keepStackSize();
1824 }
1825:
1826(
1827 { before(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_2_1()); }
1828 (rule__VLSInclude__NamesAssignment_2_2_1)
1829 { after(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_2_1()); }
1830)
1831;
1832finally {
1833 restoreStackSize(stackSize);
1834}
1835
1836
1837rule__VLSFofFormula__Group__0
1838 @init {
1839 int stackSize = keepStackSize();
1840 }
1841:
1842 rule__VLSFofFormula__Group__0__Impl
1843 rule__VLSFofFormula__Group__1
1844;
1845finally {
1846 restoreStackSize(stackSize);
1847}
1848
1849rule__VLSFofFormula__Group__0__Impl
1850 @init {
1851 int stackSize = keepStackSize();
1852 }
1853:
1854(
1855 { before(grammarAccess.getVLSFofFormulaAccess().getFofKeyword_0()); }
1856 'fof'
1857 { after(grammarAccess.getVLSFofFormulaAccess().getFofKeyword_0()); }
1858)
1859;
1860finally {
1861 restoreStackSize(stackSize);
1862}
1863
1864rule__VLSFofFormula__Group__1
1865 @init {
1866 int stackSize = keepStackSize();
1867 }
1868:
1869 rule__VLSFofFormula__Group__1__Impl
1870 rule__VLSFofFormula__Group__2
1871;
1872finally {
1873 restoreStackSize(stackSize);
1874}
1875
1876rule__VLSFofFormula__Group__1__Impl
1877 @init {
1878 int stackSize = keepStackSize();
1879 }
1880:
1881(
1882 { before(grammarAccess.getVLSFofFormulaAccess().getLeftParenthesisKeyword_1()); }
1883 '('
1884 { after(grammarAccess.getVLSFofFormulaAccess().getLeftParenthesisKeyword_1()); }
1885)
1886;
1887finally {
1888 restoreStackSize(stackSize);
1889}
1890
1891rule__VLSFofFormula__Group__2
1892 @init {
1893 int stackSize = keepStackSize();
1894 }
1895:
1896 rule__VLSFofFormula__Group__2__Impl
1897 rule__VLSFofFormula__Group__3
1898;
1899finally {
1900 restoreStackSize(stackSize);
1901}
1902
1903rule__VLSFofFormula__Group__2__Impl
1904 @init {
1905 int stackSize = keepStackSize();
1906 }
1907:
1908(
1909 { before(grammarAccess.getVLSFofFormulaAccess().getNameAssignment_2()); }
1910 (rule__VLSFofFormula__NameAssignment_2)
1911 { after(grammarAccess.getVLSFofFormulaAccess().getNameAssignment_2()); }
1912)
1913;
1914finally {
1915 restoreStackSize(stackSize);
1916}
1917
1918rule__VLSFofFormula__Group__3
1919 @init {
1920 int stackSize = keepStackSize();
1921 }
1922:
1923 rule__VLSFofFormula__Group__3__Impl
1924 rule__VLSFofFormula__Group__4
1925;
1926finally {
1927 restoreStackSize(stackSize);
1928}
1929
1930rule__VLSFofFormula__Group__3__Impl
1931 @init {
1932 int stackSize = keepStackSize();
1933 }
1934:
1935(
1936 { before(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_3()); }
1937 ','
1938 { after(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_3()); }
1939)
1940;
1941finally {
1942 restoreStackSize(stackSize);
1943}
1944
1945rule__VLSFofFormula__Group__4
1946 @init {
1947 int stackSize = keepStackSize();
1948 }
1949:
1950 rule__VLSFofFormula__Group__4__Impl
1951 rule__VLSFofFormula__Group__5
1952;
1953finally {
1954 restoreStackSize(stackSize);
1955}
1956
1957rule__VLSFofFormula__Group__4__Impl
1958 @init {
1959 int stackSize = keepStackSize();
1960 }
1961:
1962(
1963 { before(grammarAccess.getVLSFofFormulaAccess().getFofRoleAssignment_4()); }
1964 (rule__VLSFofFormula__FofRoleAssignment_4)
1965 { after(grammarAccess.getVLSFofFormulaAccess().getFofRoleAssignment_4()); }
1966)
1967;
1968finally {
1969 restoreStackSize(stackSize);
1970}
1971
1972rule__VLSFofFormula__Group__5
1973 @init {
1974 int stackSize = keepStackSize();
1975 }
1976:
1977 rule__VLSFofFormula__Group__5__Impl
1978 rule__VLSFofFormula__Group__6
1979;
1980finally {
1981 restoreStackSize(stackSize);
1982}
1983
1984rule__VLSFofFormula__Group__5__Impl
1985 @init {
1986 int stackSize = keepStackSize();
1987 }
1988:
1989(
1990 { before(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_5()); }
1991 ','
1992 { after(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_5()); }
1993)
1994;
1995finally {
1996 restoreStackSize(stackSize);
1997}
1998
1999rule__VLSFofFormula__Group__6
2000 @init {
2001 int stackSize = keepStackSize();
2002 }
2003:
2004 rule__VLSFofFormula__Group__6__Impl
2005 rule__VLSFofFormula__Group__7
2006;
2007finally {
2008 restoreStackSize(stackSize);
2009}
2010
2011rule__VLSFofFormula__Group__6__Impl
2012 @init {
2013 int stackSize = keepStackSize();
2014 }
2015:
2016(
2017 { before(grammarAccess.getVLSFofFormulaAccess().getFofFormulaAssignment_6()); }
2018 (rule__VLSFofFormula__FofFormulaAssignment_6)
2019 { after(grammarAccess.getVLSFofFormulaAccess().getFofFormulaAssignment_6()); }
2020)
2021;
2022finally {
2023 restoreStackSize(stackSize);
2024}
2025
2026rule__VLSFofFormula__Group__7
2027 @init {
2028 int stackSize = keepStackSize();
2029 }
2030:
2031 rule__VLSFofFormula__Group__7__Impl
2032 rule__VLSFofFormula__Group__8
2033;
2034finally {
2035 restoreStackSize(stackSize);
2036}
2037
2038rule__VLSFofFormula__Group__7__Impl
2039 @init {
2040 int stackSize = keepStackSize();
2041 }
2042:
2043(
2044 { before(grammarAccess.getVLSFofFormulaAccess().getGroup_7()); }
2045 (rule__VLSFofFormula__Group_7__0)?
2046 { after(grammarAccess.getVLSFofFormulaAccess().getGroup_7()); }
2047)
2048;
2049finally {
2050 restoreStackSize(stackSize);
2051}
2052
2053rule__VLSFofFormula__Group__8
2054 @init {
2055 int stackSize = keepStackSize();
2056 }
2057:
2058 rule__VLSFofFormula__Group__8__Impl
2059 rule__VLSFofFormula__Group__9
2060;
2061finally {
2062 restoreStackSize(stackSize);
2063}
2064
2065rule__VLSFofFormula__Group__8__Impl
2066 @init {
2067 int stackSize = keepStackSize();
2068 }
2069:
2070(
2071 { before(grammarAccess.getVLSFofFormulaAccess().getRightParenthesisKeyword_8()); }
2072 ')'
2073 { after(grammarAccess.getVLSFofFormulaAccess().getRightParenthesisKeyword_8()); }
2074)
2075;
2076finally {
2077 restoreStackSize(stackSize);
2078}
2079
2080rule__VLSFofFormula__Group__9
2081 @init {
2082 int stackSize = keepStackSize();
2083 }
2084:
2085 rule__VLSFofFormula__Group__9__Impl
2086;
2087finally {
2088 restoreStackSize(stackSize);
2089}
2090
2091rule__VLSFofFormula__Group__9__Impl
2092 @init {
2093 int stackSize = keepStackSize();
2094 }
2095:
2096(
2097 { before(grammarAccess.getVLSFofFormulaAccess().getFullStopKeyword_9()); }
2098 '.'
2099 { after(grammarAccess.getVLSFofFormulaAccess().getFullStopKeyword_9()); }
2100)
2101;
2102finally {
2103 restoreStackSize(stackSize);
2104}
2105
2106
2107rule__VLSFofFormula__Group_7__0
2108 @init {
2109 int stackSize = keepStackSize();
2110 }
2111:
2112 rule__VLSFofFormula__Group_7__0__Impl
2113 rule__VLSFofFormula__Group_7__1
2114;
2115finally {
2116 restoreStackSize(stackSize);
2117}
2118
2119rule__VLSFofFormula__Group_7__0__Impl
2120 @init {
2121 int stackSize = keepStackSize();
2122 }
2123:
2124(
2125 { before(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_7_0()); }
2126 ','
2127 { after(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_7_0()); }
2128)
2129;
2130finally {
2131 restoreStackSize(stackSize);
2132}
2133
2134rule__VLSFofFormula__Group_7__1
2135 @init {
2136 int stackSize = keepStackSize();
2137 }
2138:
2139 rule__VLSFofFormula__Group_7__1__Impl
2140;
2141finally {
2142 restoreStackSize(stackSize);
2143}
2144
2145rule__VLSFofFormula__Group_7__1__Impl
2146 @init {
2147 int stackSize = keepStackSize();
2148 }
2149:
2150(
2151 { before(grammarAccess.getVLSFofFormulaAccess().getAnnotationsAssignment_7_1()); }
2152 (rule__VLSFofFormula__AnnotationsAssignment_7_1)
2153 { after(grammarAccess.getVLSFofFormulaAccess().getAnnotationsAssignment_7_1()); }
2154)
2155;
2156finally {
2157 restoreStackSize(stackSize);
2158}
2159
2160
2161rule__VLSAnnotation__Group__0
2162 @init {
2163 int stackSize = keepStackSize();
2164 }
2165:
2166 rule__VLSAnnotation__Group__0__Impl
2167 rule__VLSAnnotation__Group__1
2168;
2169finally {
2170 restoreStackSize(stackSize);
2171}
2172
2173rule__VLSAnnotation__Group__0__Impl
2174 @init {
2175 int stackSize = keepStackSize();
2176 }
2177:
2178(
2179 { before(grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0()); }
2180 ('[')?
2181 { after(grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0()); }
2182)
2183;
2184finally {
2185 restoreStackSize(stackSize);
2186}
2187
2188rule__VLSAnnotation__Group__1
2189 @init {
2190 int stackSize = keepStackSize();
2191 }
2192:
2193 rule__VLSAnnotation__Group__1__Impl
2194 rule__VLSAnnotation__Group__2
2195;
2196finally {
2197 restoreStackSize(stackSize);
2198}
2199
2200rule__VLSAnnotation__Group__1__Impl
2201 @init {
2202 int stackSize = keepStackSize();
2203 }
2204:
2205(
2206 { before(grammarAccess.getVLSAnnotationAccess().getNameAssignment_1()); }
2207 (rule__VLSAnnotation__NameAssignment_1)?
2208 { after(grammarAccess.getVLSAnnotationAccess().getNameAssignment_1()); }
2209)
2210;
2211finally {
2212 restoreStackSize(stackSize);
2213}
2214
2215rule__VLSAnnotation__Group__2
2216 @init {
2217 int stackSize = keepStackSize();
2218 }
2219:
2220 rule__VLSAnnotation__Group__2__Impl
2221 rule__VLSAnnotation__Group__3
2222;
2223finally {
2224 restoreStackSize(stackSize);
2225}
2226
2227rule__VLSAnnotation__Group__2__Impl
2228 @init {
2229 int stackSize = keepStackSize();
2230 }
2231:
2232(
2233 { before(grammarAccess.getVLSAnnotationAccess().getGroup_2()); }
2234 (rule__VLSAnnotation__Group_2__0)?
2235 { after(grammarAccess.getVLSAnnotationAccess().getGroup_2()); }
2236)
2237;
2238finally {
2239 restoreStackSize(stackSize);
2240}
2241
2242rule__VLSAnnotation__Group__3
2243 @init {
2244 int stackSize = keepStackSize();
2245 }
2246:
2247 rule__VLSAnnotation__Group__3__Impl
2248;
2249finally {
2250 restoreStackSize(stackSize);
2251}
2252
2253rule__VLSAnnotation__Group__3__Impl
2254 @init {
2255 int stackSize = keepStackSize();
2256 }
2257:
2258(
2259 { before(grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3()); }
2260 (']')?
2261 { after(grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3()); }
2262)
2263;
2264finally {
2265 restoreStackSize(stackSize);
2266}
2267
2268
2269rule__VLSAnnotation__Group_2__0
2270 @init {
2271 int stackSize = keepStackSize();
2272 }
2273:
2274 rule__VLSAnnotation__Group_2__0__Impl
2275 rule__VLSAnnotation__Group_2__1
2276;
2277finally {
2278 restoreStackSize(stackSize);
2279}
2280
2281rule__VLSAnnotation__Group_2__0__Impl
2282 @init {
2283 int stackSize = keepStackSize();
2284 }
2285:
2286(
2287 { before(grammarAccess.getVLSAnnotationAccess().getLeftParenthesisKeyword_2_0()); }
2288 '('
2289 { after(grammarAccess.getVLSAnnotationAccess().getLeftParenthesisKeyword_2_0()); }
2290)
2291;
2292finally {
2293 restoreStackSize(stackSize);
2294}
2295
2296rule__VLSAnnotation__Group_2__1
2297 @init {
2298 int stackSize = keepStackSize();
2299 }
2300:
2301 rule__VLSAnnotation__Group_2__1__Impl
2302 rule__VLSAnnotation__Group_2__2
2303;
2304finally {
2305 restoreStackSize(stackSize);
2306}
2307
2308rule__VLSAnnotation__Group_2__1__Impl
2309 @init {
2310 int stackSize = keepStackSize();
2311 }
2312:
2313(
2314 { before(grammarAccess.getVLSAnnotationAccess().getFollowupAssignment_2_1()); }
2315 (rule__VLSAnnotation__FollowupAssignment_2_1)
2316 { after(grammarAccess.getVLSAnnotationAccess().getFollowupAssignment_2_1()); }
2317)
2318;
2319finally {
2320 restoreStackSize(stackSize);
2321}
2322
2323rule__VLSAnnotation__Group_2__2
2324 @init {
2325 int stackSize = keepStackSize();
2326 }
2327:
2328 rule__VLSAnnotation__Group_2__2__Impl
2329;
2330finally {
2331 restoreStackSize(stackSize);
2332}
2333
2334rule__VLSAnnotation__Group_2__2__Impl
2335 @init {
2336 int stackSize = keepStackSize();
2337 }
2338:
2339(
2340 { before(grammarAccess.getVLSAnnotationAccess().getRightParenthesisKeyword_2_2()); }
2341 ')'
2342 { after(grammarAccess.getVLSAnnotationAccess().getRightParenthesisKeyword_2_2()); }
2343)
2344;
2345finally {
2346 restoreStackSize(stackSize);
2347}
2348
2349
2350rule__VLSAnnotationTerms__Group__0
2351 @init {
2352 int stackSize = keepStackSize();
2353 }
2354:
2355 rule__VLSAnnotationTerms__Group__0__Impl
2356 rule__VLSAnnotationTerms__Group__1
2357;
2358finally {
2359 restoreStackSize(stackSize);
2360}
2361
2362rule__VLSAnnotationTerms__Group__0__Impl
2363 @init {
2364 int stackSize = keepStackSize();
2365 }
2366:
2367(
2368 { before(grammarAccess.getVLSAnnotationTermsAccess().getTermsAssignment_0()); }
2369 (rule__VLSAnnotationTerms__TermsAssignment_0)
2370 { after(grammarAccess.getVLSAnnotationTermsAccess().getTermsAssignment_0()); }
2371)
2372;
2373finally {
2374 restoreStackSize(stackSize);
2375}
2376
2377rule__VLSAnnotationTerms__Group__1
2378 @init {
2379 int stackSize = keepStackSize();
2380 }
2381:
2382 rule__VLSAnnotationTerms__Group__1__Impl
2383;
2384finally {
2385 restoreStackSize(stackSize);
2386}
2387
2388rule__VLSAnnotationTerms__Group__1__Impl
2389 @init {
2390 int stackSize = keepStackSize();
2391 }
2392:
2393(
2394 { before(grammarAccess.getVLSAnnotationTermsAccess().getGroup_1()); }
2395 (rule__VLSAnnotationTerms__Group_1__0)*
2396 { after(grammarAccess.getVLSAnnotationTermsAccess().getGroup_1()); }
2397)
2398;
2399finally {
2400 restoreStackSize(stackSize);
2401}
2402
2403
2404rule__VLSAnnotationTerms__Group_1__0
2405 @init {
2406 int stackSize = keepStackSize();
2407 }
2408:
2409 rule__VLSAnnotationTerms__Group_1__0__Impl
2410 rule__VLSAnnotationTerms__Group_1__1
2411;
2412finally {
2413 restoreStackSize(stackSize);
2414}
2415
2416rule__VLSAnnotationTerms__Group_1__0__Impl
2417 @init {
2418 int stackSize = keepStackSize();
2419 }
2420:
2421(
2422 { before(grammarAccess.getVLSAnnotationTermsAccess().getCommaKeyword_1_0()); }
2423 ','
2424 { after(grammarAccess.getVLSAnnotationTermsAccess().getCommaKeyword_1_0()); }
2425)
2426;
2427finally {
2428 restoreStackSize(stackSize);
2429}
2430
2431rule__VLSAnnotationTerms__Group_1__1
2432 @init {
2433 int stackSize = keepStackSize();
2434 }
2435:
2436 rule__VLSAnnotationTerms__Group_1__1__Impl
2437;
2438finally {
2439 restoreStackSize(stackSize);
2440}
2441
2442rule__VLSAnnotationTerms__Group_1__1__Impl
2443 @init {
2444 int stackSize = keepStackSize();
2445 }
2446:
2447(
2448 { before(grammarAccess.getVLSAnnotationTermsAccess().getTermsAssignment_1_1()); }
2449 (rule__VLSAnnotationTerms__TermsAssignment_1_1)
2450 { after(grammarAccess.getVLSAnnotationTermsAccess().getTermsAssignment_1_1()); }
2451)
2452;
2453finally {
2454 restoreStackSize(stackSize);
2455}
2456
2457
2458rule__VLSBinary__Group__0
2459 @init {
2460 int stackSize = keepStackSize();
2461 }
2462:
2463 rule__VLSBinary__Group__0__Impl
2464 rule__VLSBinary__Group__1
2465;
2466finally {
2467 restoreStackSize(stackSize);
2468}
2469
2470rule__VLSBinary__Group__0__Impl
2471 @init {
2472 int stackSize = keepStackSize();
2473 }
2474:
2475(
2476 { before(grammarAccess.getVLSBinaryAccess().getVLSUnitaryFormulaParserRuleCall_0()); }
2477 ruleVLSUnitaryFormula
2478 { after(grammarAccess.getVLSBinaryAccess().getVLSUnitaryFormulaParserRuleCall_0()); }
2479)
2480;
2481finally {
2482 restoreStackSize(stackSize);
2483}
2484
2485rule__VLSBinary__Group__1
2486 @init {
2487 int stackSize = keepStackSize();
2488 }
2489:
2490 rule__VLSBinary__Group__1__Impl
2491;
2492finally {
2493 restoreStackSize(stackSize);
2494}
2495
2496rule__VLSBinary__Group__1__Impl
2497 @init {
2498 int stackSize = keepStackSize();
2499 }
2500:
2501(
2502 { before(grammarAccess.getVLSBinaryAccess().getAlternatives_1()); }
2503 (rule__VLSBinary__Alternatives_1)?
2504 { after(grammarAccess.getVLSBinaryAccess().getAlternatives_1()); }
2505)
2506;
2507finally {
2508 restoreStackSize(stackSize);
2509}
2510
2511
2512rule__VLSBinary__Group_1_0__0
2513 @init {
2514 int stackSize = keepStackSize();
2515 }
2516:
2517 rule__VLSBinary__Group_1_0__0__Impl
2518 rule__VLSBinary__Group_1_0__1
2519;
2520finally {
2521 restoreStackSize(stackSize);
2522}
2523
2524rule__VLSBinary__Group_1_0__0__Impl
2525 @init {
2526 int stackSize = keepStackSize();
2527 }
2528:
2529(
2530 { before(grammarAccess.getVLSBinaryAccess().getAlternatives_1_0_0()); }
2531 (rule__VLSBinary__Alternatives_1_0_0)
2532 { after(grammarAccess.getVLSBinaryAccess().getAlternatives_1_0_0()); }
2533)
2534;
2535finally {
2536 restoreStackSize(stackSize);
2537}
2538
2539rule__VLSBinary__Group_1_0__1
2540 @init {
2541 int stackSize = keepStackSize();
2542 }
2543:
2544 rule__VLSBinary__Group_1_0__1__Impl
2545;
2546finally {
2547 restoreStackSize(stackSize);
2548}
2549
2550rule__VLSBinary__Group_1_0__1__Impl
2551 @init {
2552 int stackSize = keepStackSize();
2553 }
2554:
2555(
2556 { before(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_0_1()); }
2557 (rule__VLSBinary__RightAssignment_1_0_1)
2558 { after(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_0_1()); }
2559)
2560;
2561finally {
2562 restoreStackSize(stackSize);
2563}
2564
2565
2566rule__VLSBinary__Group_1_0_0_0__0
2567 @init {
2568 int stackSize = keepStackSize();
2569 }
2570:
2571 rule__VLSBinary__Group_1_0_0_0__0__Impl
2572 rule__VLSBinary__Group_1_0_0_0__1
2573;
2574finally {
2575 restoreStackSize(stackSize);
2576}
2577
2578rule__VLSBinary__Group_1_0_0_0__0__Impl
2579 @init {
2580 int stackSize = keepStackSize();
2581 }
2582:
2583(
2584 { before(grammarAccess.getVLSBinaryAccess().getVLSEquivalentLeftAction_1_0_0_0_0()); }
2585 ()
2586 { after(grammarAccess.getVLSBinaryAccess().getVLSEquivalentLeftAction_1_0_0_0_0()); }
2587)
2588;
2589finally {
2590 restoreStackSize(stackSize);
2591}
2592
2593rule__VLSBinary__Group_1_0_0_0__1
2594 @init {
2595 int stackSize = keepStackSize();
2596 }
2597:
2598 rule__VLSBinary__Group_1_0_0_0__1__Impl
2599;
2600finally {
2601 restoreStackSize(stackSize);
2602}
2603
2604rule__VLSBinary__Group_1_0_0_0__1__Impl
2605 @init {
2606 int stackSize = keepStackSize();
2607 }
2608:
2609(
2610 { before(grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1()); }
2611 '<=>'
2612 { after(grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1()); }
2613)
2614;
2615finally {
2616 restoreStackSize(stackSize);
2617}
2618
2619
2620rule__VLSBinary__Group_1_0_0_1__0
2621 @init {
2622 int stackSize = keepStackSize();
2623 }
2624:
2625 rule__VLSBinary__Group_1_0_0_1__0__Impl
2626 rule__VLSBinary__Group_1_0_0_1__1
2627;
2628finally {
2629 restoreStackSize(stackSize);
2630}
2631
2632rule__VLSBinary__Group_1_0_0_1__0__Impl
2633 @init {
2634 int stackSize = keepStackSize();
2635 }
2636:
2637(
2638 { before(grammarAccess.getVLSBinaryAccess().getVLSImpliesLeftAction_1_0_0_1_0()); }
2639 ()
2640 { after(grammarAccess.getVLSBinaryAccess().getVLSImpliesLeftAction_1_0_0_1_0()); }
2641)
2642;
2643finally {
2644 restoreStackSize(stackSize);
2645}
2646
2647rule__VLSBinary__Group_1_0_0_1__1
2648 @init {
2649 int stackSize = keepStackSize();
2650 }
2651:
2652 rule__VLSBinary__Group_1_0_0_1__1__Impl
2653;
2654finally {
2655 restoreStackSize(stackSize);
2656}
2657
2658rule__VLSBinary__Group_1_0_0_1__1__Impl
2659 @init {
2660 int stackSize = keepStackSize();
2661 }
2662:
2663(
2664 { before(grammarAccess.getVLSBinaryAccess().getEqualsSignGreaterThanSignKeyword_1_0_0_1_1()); }
2665 '=>'
2666 { after(grammarAccess.getVLSBinaryAccess().getEqualsSignGreaterThanSignKeyword_1_0_0_1_1()); }
2667)
2668;
2669finally {
2670 restoreStackSize(stackSize);
2671}
2672
2673
2674rule__VLSBinary__Group_1_0_0_2__0
2675 @init {
2676 int stackSize = keepStackSize();
2677 }
2678:
2679 rule__VLSBinary__Group_1_0_0_2__0__Impl
2680 rule__VLSBinary__Group_1_0_0_2__1
2681;
2682finally {
2683 restoreStackSize(stackSize);
2684}
2685
2686rule__VLSBinary__Group_1_0_0_2__0__Impl
2687 @init {
2688 int stackSize = keepStackSize();
2689 }
2690:
2691(
2692 { before(grammarAccess.getVLSBinaryAccess().getVLSRevImpliesLeftAction_1_0_0_2_0()); }
2693 ()
2694 { after(grammarAccess.getVLSBinaryAccess().getVLSRevImpliesLeftAction_1_0_0_2_0()); }
2695)
2696;
2697finally {
2698 restoreStackSize(stackSize);
2699}
2700
2701rule__VLSBinary__Group_1_0_0_2__1
2702 @init {
2703 int stackSize = keepStackSize();
2704 }
2705:
2706 rule__VLSBinary__Group_1_0_0_2__1__Impl
2707;
2708finally {
2709 restoreStackSize(stackSize);
2710}
2711
2712rule__VLSBinary__Group_1_0_0_2__1__Impl
2713 @init {
2714 int stackSize = keepStackSize();
2715 }
2716:
2717(
2718 { before(grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignKeyword_1_0_0_2_1()); }
2719 '<='
2720 { after(grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignKeyword_1_0_0_2_1()); }
2721)
2722;
2723finally {
2724 restoreStackSize(stackSize);
2725}
2726
2727
2728rule__VLSBinary__Group_1_0_0_3__0
2729 @init {
2730 int stackSize = keepStackSize();
2731 }
2732:
2733 rule__VLSBinary__Group_1_0_0_3__0__Impl
2734 rule__VLSBinary__Group_1_0_0_3__1
2735;
2736finally {
2737 restoreStackSize(stackSize);
2738}
2739
2740rule__VLSBinary__Group_1_0_0_3__0__Impl
2741 @init {
2742 int stackSize = keepStackSize();
2743 }
2744:
2745(
2746 { before(grammarAccess.getVLSBinaryAccess().getVLSXnorLeftAction_1_0_0_3_0()); }
2747 ()
2748 { after(grammarAccess.getVLSBinaryAccess().getVLSXnorLeftAction_1_0_0_3_0()); }
2749)
2750;
2751finally {
2752 restoreStackSize(stackSize);
2753}
2754
2755rule__VLSBinary__Group_1_0_0_3__1
2756 @init {
2757 int stackSize = keepStackSize();
2758 }
2759:
2760 rule__VLSBinary__Group_1_0_0_3__1__Impl
2761;
2762finally {
2763 restoreStackSize(stackSize);
2764}
2765
2766rule__VLSBinary__Group_1_0_0_3__1__Impl
2767 @init {
2768 int stackSize = keepStackSize();
2769 }
2770:
2771(
2772 { before(grammarAccess.getVLSBinaryAccess().getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1()); }
2773 '<~>'
2774 { after(grammarAccess.getVLSBinaryAccess().getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1()); }
2775)
2776;
2777finally {
2778 restoreStackSize(stackSize);
2779}
2780
2781
2782rule__VLSBinary__Group_1_0_0_4__0
2783 @init {
2784 int stackSize = keepStackSize();
2785 }
2786:
2787 rule__VLSBinary__Group_1_0_0_4__0__Impl
2788 rule__VLSBinary__Group_1_0_0_4__1
2789;
2790finally {
2791 restoreStackSize(stackSize);
2792}
2793
2794rule__VLSBinary__Group_1_0_0_4__0__Impl
2795 @init {
2796 int stackSize = keepStackSize();
2797 }
2798:
2799(
2800 { before(grammarAccess.getVLSBinaryAccess().getVLSNorLeftAction_1_0_0_4_0()); }
2801 ()
2802 { after(grammarAccess.getVLSBinaryAccess().getVLSNorLeftAction_1_0_0_4_0()); }
2803)
2804;
2805finally {
2806 restoreStackSize(stackSize);
2807}
2808
2809rule__VLSBinary__Group_1_0_0_4__1
2810 @init {
2811 int stackSize = keepStackSize();
2812 }
2813:
2814 rule__VLSBinary__Group_1_0_0_4__1__Impl
2815;
2816finally {
2817 restoreStackSize(stackSize);
2818}
2819
2820rule__VLSBinary__Group_1_0_0_4__1__Impl
2821 @init {
2822 int stackSize = keepStackSize();
2823 }
2824:
2825(
2826 { before(grammarAccess.getVLSBinaryAccess().getTildeVerticalLineKeyword_1_0_0_4_1()); }
2827 '~|'
2828 { after(grammarAccess.getVLSBinaryAccess().getTildeVerticalLineKeyword_1_0_0_4_1()); }
2829)
2830;
2831finally {
2832 restoreStackSize(stackSize);
2833}
2834
2835
2836rule__VLSBinary__Group_1_0_0_5__0
2837 @init {
2838 int stackSize = keepStackSize();
2839 }
2840:
2841 rule__VLSBinary__Group_1_0_0_5__0__Impl
2842 rule__VLSBinary__Group_1_0_0_5__1
2843;
2844finally {
2845 restoreStackSize(stackSize);
2846}
2847
2848rule__VLSBinary__Group_1_0_0_5__0__Impl
2849 @init {
2850 int stackSize = keepStackSize();
2851 }
2852:
2853(
2854 { before(grammarAccess.getVLSBinaryAccess().getVLSNandLeftAction_1_0_0_5_0()); }
2855 ()
2856 { after(grammarAccess.getVLSBinaryAccess().getVLSNandLeftAction_1_0_0_5_0()); }
2857)
2858;
2859finally {
2860 restoreStackSize(stackSize);
2861}
2862
2863rule__VLSBinary__Group_1_0_0_5__1
2864 @init {
2865 int stackSize = keepStackSize();
2866 }
2867:
2868 rule__VLSBinary__Group_1_0_0_5__1__Impl
2869;
2870finally {
2871 restoreStackSize(stackSize);
2872}
2873
2874rule__VLSBinary__Group_1_0_0_5__1__Impl
2875 @init {
2876 int stackSize = keepStackSize();
2877 }
2878:
2879(
2880 { before(grammarAccess.getVLSBinaryAccess().getTildeAmpersandKeyword_1_0_0_5_1()); }
2881 '~&'
2882 { after(grammarAccess.getVLSBinaryAccess().getTildeAmpersandKeyword_1_0_0_5_1()); }
2883)
2884;
2885finally {
2886 restoreStackSize(stackSize);
2887}
2888
2889
2890rule__VLSBinary__Group_1_1__0
2891 @init {
2892 int stackSize = keepStackSize();
2893 }
2894:
2895 rule__VLSBinary__Group_1_1__0__Impl
2896 rule__VLSBinary__Group_1_1__1
2897;
2898finally {
2899 restoreStackSize(stackSize);
2900}
2901
2902rule__VLSBinary__Group_1_1__0__Impl
2903 @init {
2904 int stackSize = keepStackSize();
2905 }
2906:
2907(
2908 { before(grammarAccess.getVLSBinaryAccess().getVLSAndLeftAction_1_1_0()); }
2909 ()
2910 { after(grammarAccess.getVLSBinaryAccess().getVLSAndLeftAction_1_1_0()); }
2911)
2912;
2913finally {
2914 restoreStackSize(stackSize);
2915}
2916
2917rule__VLSBinary__Group_1_1__1
2918 @init {
2919 int stackSize = keepStackSize();
2920 }
2921:
2922 rule__VLSBinary__Group_1_1__1__Impl
2923 rule__VLSBinary__Group_1_1__2
2924;
2925finally {
2926 restoreStackSize(stackSize);
2927}
2928
2929rule__VLSBinary__Group_1_1__1__Impl
2930 @init {
2931 int stackSize = keepStackSize();
2932 }
2933:
2934(
2935 { before(grammarAccess.getVLSBinaryAccess().getAmpersandKeyword_1_1_1()); }
2936 '&'
2937 { after(grammarAccess.getVLSBinaryAccess().getAmpersandKeyword_1_1_1()); }
2938)
2939;
2940finally {
2941 restoreStackSize(stackSize);
2942}
2943
2944rule__VLSBinary__Group_1_1__2
2945 @init {
2946 int stackSize = keepStackSize();
2947 }
2948:
2949 rule__VLSBinary__Group_1_1__2__Impl
2950;
2951finally {
2952 restoreStackSize(stackSize);
2953}
2954
2955rule__VLSBinary__Group_1_1__2__Impl
2956 @init {
2957 int stackSize = keepStackSize();
2958 }
2959:
2960(
2961 { before(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_1_2()); }
2962 (rule__VLSBinary__RightAssignment_1_1_2)
2963 { after(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_1_2()); }
2964)
2965;
2966finally {
2967 restoreStackSize(stackSize);
2968}
2969
2970
2971rule__VLSBinary__Group_1_2__0
2972 @init {
2973 int stackSize = keepStackSize();
2974 }
2975:
2976 rule__VLSBinary__Group_1_2__0__Impl
2977 rule__VLSBinary__Group_1_2__1
2978;
2979finally {
2980 restoreStackSize(stackSize);
2981}
2982
2983rule__VLSBinary__Group_1_2__0__Impl
2984 @init {
2985 int stackSize = keepStackSize();
2986 }
2987:
2988(
2989 { before(grammarAccess.getVLSBinaryAccess().getVLSOrLeftAction_1_2_0()); }
2990 ()
2991 { after(grammarAccess.getVLSBinaryAccess().getVLSOrLeftAction_1_2_0()); }
2992)
2993;
2994finally {
2995 restoreStackSize(stackSize);
2996}
2997
2998rule__VLSBinary__Group_1_2__1
2999 @init {
3000 int stackSize = keepStackSize();
3001 }
3002:
3003 rule__VLSBinary__Group_1_2__1__Impl
3004 rule__VLSBinary__Group_1_2__2
3005;
3006finally {
3007 restoreStackSize(stackSize);
3008}
3009
3010rule__VLSBinary__Group_1_2__1__Impl
3011 @init {
3012 int stackSize = keepStackSize();
3013 }
3014:
3015(
3016 { before(grammarAccess.getVLSBinaryAccess().getVerticalLineKeyword_1_2_1()); }
3017 '|'
3018 { after(grammarAccess.getVLSBinaryAccess().getVerticalLineKeyword_1_2_1()); }
3019)
3020;
3021finally {
3022 restoreStackSize(stackSize);
3023}
3024
3025rule__VLSBinary__Group_1_2__2
3026 @init {
3027 int stackSize = keepStackSize();
3028 }
3029:
3030 rule__VLSBinary__Group_1_2__2__Impl
3031;
3032finally {
3033 restoreStackSize(stackSize);
3034}
3035
3036rule__VLSBinary__Group_1_2__2__Impl
3037 @init {
3038 int stackSize = keepStackSize();
3039 }
3040:
3041(
3042 { before(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_2_2()); }
3043 (rule__VLSBinary__RightAssignment_1_2_2)
3044 { after(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_2_2()); }
3045)
3046;
3047finally {
3048 restoreStackSize(stackSize);
3049}
3050
3051
3052rule__VLSUnitaryFormula__Group_4__0
3053 @init {
3054 int stackSize = keepStackSize();
3055 }
3056:
3057 rule__VLSUnitaryFormula__Group_4__0__Impl
3058 rule__VLSUnitaryFormula__Group_4__1
3059;
3060finally {
3061 restoreStackSize(stackSize);
3062}
3063
3064rule__VLSUnitaryFormula__Group_4__0__Impl
3065 @init {
3066 int stackSize = keepStackSize();
3067 }
3068:
3069(
3070 { before(grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0()); }
3071 '('
3072 { after(grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0()); }
3073)
3074;
3075finally {
3076 restoreStackSize(stackSize);
3077}
3078
3079rule__VLSUnitaryFormula__Group_4__1
3080 @init {
3081 int stackSize = keepStackSize();
3082 }
3083:
3084 rule__VLSUnitaryFormula__Group_4__1__Impl
3085 rule__VLSUnitaryFormula__Group_4__2
3086;
3087finally {
3088 restoreStackSize(stackSize);
3089}
3090
3091rule__VLSUnitaryFormula__Group_4__1__Impl
3092 @init {
3093 int stackSize = keepStackSize();
3094 }
3095:
3096(
3097 { before(grammarAccess.getVLSUnitaryFormulaAccess().getVLSTermParserRuleCall_4_1()); }
3098 ruleVLSTerm
3099 { after(grammarAccess.getVLSUnitaryFormulaAccess().getVLSTermParserRuleCall_4_1()); }
3100)
3101;
3102finally {
3103 restoreStackSize(stackSize);
3104}
3105
3106rule__VLSUnitaryFormula__Group_4__2
3107 @init {
3108 int stackSize = keepStackSize();
3109 }
3110:
3111 rule__VLSUnitaryFormula__Group_4__2__Impl
3112;
3113finally {
3114 restoreStackSize(stackSize);
3115}
3116
3117rule__VLSUnitaryFormula__Group_4__2__Impl
3118 @init {
3119 int stackSize = keepStackSize();
3120 }
3121:
3122(
3123 { before(grammarAccess.getVLSUnitaryFormulaAccess().getRightParenthesisKeyword_4_2()); }
3124 ')'
3125 { after(grammarAccess.getVLSUnitaryFormulaAccess().getRightParenthesisKeyword_4_2()); }
3126)
3127;
3128finally {
3129 restoreStackSize(stackSize);
3130}
3131
3132
3133rule__VLSUniversalQuantifier__Group__0
3134 @init {
3135 int stackSize = keepStackSize();
3136 }
3137:
3138 rule__VLSUniversalQuantifier__Group__0__Impl
3139 rule__VLSUniversalQuantifier__Group__1
3140;
3141finally {
3142 restoreStackSize(stackSize);
3143}
3144
3145rule__VLSUniversalQuantifier__Group__0__Impl
3146 @init {
3147 int stackSize = keepStackSize();
3148 }
3149:
3150(
3151 { before(grammarAccess.getVLSUniversalQuantifierAccess().getVLSUniversalQuantifierAction_0()); }
3152 ()
3153 { after(grammarAccess.getVLSUniversalQuantifierAccess().getVLSUniversalQuantifierAction_0()); }
3154)
3155;
3156finally {
3157 restoreStackSize(stackSize);
3158}
3159
3160rule__VLSUniversalQuantifier__Group__1
3161 @init {
3162 int stackSize = keepStackSize();
3163 }
3164:
3165 rule__VLSUniversalQuantifier__Group__1__Impl
3166 rule__VLSUniversalQuantifier__Group__2
3167;
3168finally {
3169 restoreStackSize(stackSize);
3170}
3171
3172rule__VLSUniversalQuantifier__Group__1__Impl
3173 @init {
3174 int stackSize = keepStackSize();
3175 }
3176:
3177(
3178 { before(grammarAccess.getVLSUniversalQuantifierAccess().getGroup_1()); }
3179 (rule__VLSUniversalQuantifier__Group_1__0)
3180 { after(grammarAccess.getVLSUniversalQuantifierAccess().getGroup_1()); }
3181)
3182;
3183finally {
3184 restoreStackSize(stackSize);
3185}
3186
3187rule__VLSUniversalQuantifier__Group__2
3188 @init {
3189 int stackSize = keepStackSize();
3190 }
3191:
3192 rule__VLSUniversalQuantifier__Group__2__Impl
3193;
3194finally {
3195 restoreStackSize(stackSize);
3196}
3197
3198rule__VLSUniversalQuantifier__Group__2__Impl
3199 @init {
3200 int stackSize = keepStackSize();
3201 }
3202:
3203(
3204 { before(grammarAccess.getVLSUniversalQuantifierAccess().getOperandAssignment_2()); }
3205 (rule__VLSUniversalQuantifier__OperandAssignment_2)
3206 { after(grammarAccess.getVLSUniversalQuantifierAccess().getOperandAssignment_2()); }
3207)
3208;
3209finally {
3210 restoreStackSize(stackSize);
3211}
3212
3213
3214rule__VLSUniversalQuantifier__Group_1__0
3215 @init {
3216 int stackSize = keepStackSize();
3217 }
3218:
3219 rule__VLSUniversalQuantifier__Group_1__0__Impl
3220 rule__VLSUniversalQuantifier__Group_1__1
3221;
3222finally {
3223 restoreStackSize(stackSize);
3224}
3225
3226rule__VLSUniversalQuantifier__Group_1__0__Impl
3227 @init {
3228 int stackSize = keepStackSize();
3229 }
3230:
3231(
3232 { before(grammarAccess.getVLSUniversalQuantifierAccess().getExclamationMarkKeyword_1_0()); }
3233 '!'
3234 { after(grammarAccess.getVLSUniversalQuantifierAccess().getExclamationMarkKeyword_1_0()); }
3235)
3236;
3237finally {
3238 restoreStackSize(stackSize);
3239}
3240
3241rule__VLSUniversalQuantifier__Group_1__1
3242 @init {
3243 int stackSize = keepStackSize();
3244 }
3245:
3246 rule__VLSUniversalQuantifier__Group_1__1__Impl
3247 rule__VLSUniversalQuantifier__Group_1__2
3248;
3249finally {
3250 restoreStackSize(stackSize);
3251}
3252
3253rule__VLSUniversalQuantifier__Group_1__1__Impl
3254 @init {
3255 int stackSize = keepStackSize();
3256 }
3257:
3258(
3259 { before(grammarAccess.getVLSUniversalQuantifierAccess().getLeftSquareBracketKeyword_1_1()); }
3260 '['
3261 { after(grammarAccess.getVLSUniversalQuantifierAccess().getLeftSquareBracketKeyword_1_1()); }
3262)
3263;
3264finally {
3265 restoreStackSize(stackSize);
3266}
3267
3268rule__VLSUniversalQuantifier__Group_1__2
3269 @init {
3270 int stackSize = keepStackSize();
3271 }
3272:
3273 rule__VLSUniversalQuantifier__Group_1__2__Impl
3274 rule__VLSUniversalQuantifier__Group_1__3
3275;
3276finally {
3277 restoreStackSize(stackSize);
3278}
3279
3280rule__VLSUniversalQuantifier__Group_1__2__Impl
3281 @init {
3282 int stackSize = keepStackSize();
3283 }
3284:
3285(
3286 { before(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesAssignment_1_2()); }
3287 (rule__VLSUniversalQuantifier__VariablesAssignment_1_2)
3288 { after(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesAssignment_1_2()); }
3289)
3290;
3291finally {
3292 restoreStackSize(stackSize);
3293}
3294
3295rule__VLSUniversalQuantifier__Group_1__3
3296 @init {
3297 int stackSize = keepStackSize();
3298 }
3299:
3300 rule__VLSUniversalQuantifier__Group_1__3__Impl
3301 rule__VLSUniversalQuantifier__Group_1__4
3302;
3303finally {
3304 restoreStackSize(stackSize);
3305}
3306
3307rule__VLSUniversalQuantifier__Group_1__3__Impl
3308 @init {
3309 int stackSize = keepStackSize();
3310 }
3311:
3312(
3313 { before(grammarAccess.getVLSUniversalQuantifierAccess().getGroup_1_3()); }
3314 (rule__VLSUniversalQuantifier__Group_1_3__0)*
3315 { after(grammarAccess.getVLSUniversalQuantifierAccess().getGroup_1_3()); }
3316)
3317;
3318finally {
3319 restoreStackSize(stackSize);
3320}
3321
3322rule__VLSUniversalQuantifier__Group_1__4
3323 @init {
3324 int stackSize = keepStackSize();
3325 }
3326:
3327 rule__VLSUniversalQuantifier__Group_1__4__Impl
3328 rule__VLSUniversalQuantifier__Group_1__5
3329;
3330finally {
3331 restoreStackSize(stackSize);
3332}
3333
3334rule__VLSUniversalQuantifier__Group_1__4__Impl
3335 @init {
3336 int stackSize = keepStackSize();
3337 }
3338:
3339(
3340 { before(grammarAccess.getVLSUniversalQuantifierAccess().getRightSquareBracketKeyword_1_4()); }
3341 ']'
3342 { after(grammarAccess.getVLSUniversalQuantifierAccess().getRightSquareBracketKeyword_1_4()); }
3343)
3344;
3345finally {
3346 restoreStackSize(stackSize);
3347}
3348
3349rule__VLSUniversalQuantifier__Group_1__5
3350 @init {
3351 int stackSize = keepStackSize();
3352 }
3353:
3354 rule__VLSUniversalQuantifier__Group_1__5__Impl
3355;
3356finally {
3357 restoreStackSize(stackSize);
3358}
3359
3360rule__VLSUniversalQuantifier__Group_1__5__Impl
3361 @init {
3362 int stackSize = keepStackSize();
3363 }
3364:
3365(
3366 { before(grammarAccess.getVLSUniversalQuantifierAccess().getColonKeyword_1_5()); }
3367 ':'
3368 { after(grammarAccess.getVLSUniversalQuantifierAccess().getColonKeyword_1_5()); }
3369)
3370;
3371finally {
3372 restoreStackSize(stackSize);
3373}
3374
3375
3376rule__VLSUniversalQuantifier__Group_1_3__0
3377 @init {
3378 int stackSize = keepStackSize();
3379 }
3380:
3381 rule__VLSUniversalQuantifier__Group_1_3__0__Impl
3382 rule__VLSUniversalQuantifier__Group_1_3__1
3383;
3384finally {
3385 restoreStackSize(stackSize);
3386}
3387
3388rule__VLSUniversalQuantifier__Group_1_3__0__Impl
3389 @init {
3390 int stackSize = keepStackSize();
3391 }
3392:
3393(
3394 { before(grammarAccess.getVLSUniversalQuantifierAccess().getCommaKeyword_1_3_0()); }
3395 ','
3396 { after(grammarAccess.getVLSUniversalQuantifierAccess().getCommaKeyword_1_3_0()); }
3397)
3398;
3399finally {
3400 restoreStackSize(stackSize);
3401}
3402
3403rule__VLSUniversalQuantifier__Group_1_3__1
3404 @init {
3405 int stackSize = keepStackSize();
3406 }
3407:
3408 rule__VLSUniversalQuantifier__Group_1_3__1__Impl
3409;
3410finally {
3411 restoreStackSize(stackSize);
3412}
3413
3414rule__VLSUniversalQuantifier__Group_1_3__1__Impl
3415 @init {
3416 int stackSize = keepStackSize();
3417 }
3418:
3419(
3420 { before(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesAssignment_1_3_1()); }
3421 (rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1)
3422 { after(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesAssignment_1_3_1()); }
3423)
3424;
3425finally {
3426 restoreStackSize(stackSize);
3427}
3428
3429
3430rule__VLSExistentialQuantifier__Group__0
3431 @init {
3432 int stackSize = keepStackSize();
3433 }
3434:
3435 rule__VLSExistentialQuantifier__Group__0__Impl
3436 rule__VLSExistentialQuantifier__Group__1
3437;
3438finally {
3439 restoreStackSize(stackSize);
3440}
3441
3442rule__VLSExistentialQuantifier__Group__0__Impl
3443 @init {
3444 int stackSize = keepStackSize();
3445 }
3446:
3447(
3448 { before(grammarAccess.getVLSExistentialQuantifierAccess().getVLSExistentialQuantifierAction_0()); }
3449 ()
3450 { after(grammarAccess.getVLSExistentialQuantifierAccess().getVLSExistentialQuantifierAction_0()); }
3451)
3452;
3453finally {
3454 restoreStackSize(stackSize);
3455}
3456
3457rule__VLSExistentialQuantifier__Group__1
3458 @init {
3459 int stackSize = keepStackSize();
3460 }
3461:
3462 rule__VLSExistentialQuantifier__Group__1__Impl
3463 rule__VLSExistentialQuantifier__Group__2
3464;
3465finally {
3466 restoreStackSize(stackSize);
3467}
3468
3469rule__VLSExistentialQuantifier__Group__1__Impl
3470 @init {
3471 int stackSize = keepStackSize();
3472 }
3473:
3474(
3475 { before(grammarAccess.getVLSExistentialQuantifierAccess().getGroup_1()); }
3476 (rule__VLSExistentialQuantifier__Group_1__0)
3477 { after(grammarAccess.getVLSExistentialQuantifierAccess().getGroup_1()); }
3478)
3479;
3480finally {
3481 restoreStackSize(stackSize);
3482}
3483
3484rule__VLSExistentialQuantifier__Group__2
3485 @init {
3486 int stackSize = keepStackSize();
3487 }
3488:
3489 rule__VLSExistentialQuantifier__Group__2__Impl
3490;
3491finally {
3492 restoreStackSize(stackSize);
3493}
3494
3495rule__VLSExistentialQuantifier__Group__2__Impl
3496 @init {
3497 int stackSize = keepStackSize();
3498 }
3499:
3500(
3501 { before(grammarAccess.getVLSExistentialQuantifierAccess().getOperandAssignment_2()); }
3502 (rule__VLSExistentialQuantifier__OperandAssignment_2)
3503 { after(grammarAccess.getVLSExistentialQuantifierAccess().getOperandAssignment_2()); }
3504)
3505;
3506finally {
3507 restoreStackSize(stackSize);
3508}
3509
3510
3511rule__VLSExistentialQuantifier__Group_1__0
3512 @init {
3513 int stackSize = keepStackSize();
3514 }
3515:
3516 rule__VLSExistentialQuantifier__Group_1__0__Impl
3517 rule__VLSExistentialQuantifier__Group_1__1
3518;
3519finally {
3520 restoreStackSize(stackSize);
3521}
3522
3523rule__VLSExistentialQuantifier__Group_1__0__Impl
3524 @init {
3525 int stackSize = keepStackSize();
3526 }
3527:
3528(
3529 { before(grammarAccess.getVLSExistentialQuantifierAccess().getQuestionMarkKeyword_1_0()); }
3530 '?'
3531 { after(grammarAccess.getVLSExistentialQuantifierAccess().getQuestionMarkKeyword_1_0()); }
3532)
3533;
3534finally {
3535 restoreStackSize(stackSize);
3536}
3537
3538rule__VLSExistentialQuantifier__Group_1__1
3539 @init {
3540 int stackSize = keepStackSize();
3541 }
3542:
3543 rule__VLSExistentialQuantifier__Group_1__1__Impl
3544 rule__VLSExistentialQuantifier__Group_1__2
3545;
3546finally {
3547 restoreStackSize(stackSize);
3548}
3549
3550rule__VLSExistentialQuantifier__Group_1__1__Impl
3551 @init {
3552 int stackSize = keepStackSize();
3553 }
3554:
3555(
3556 { before(grammarAccess.getVLSExistentialQuantifierAccess().getLeftSquareBracketKeyword_1_1()); }
3557 '['
3558 { after(grammarAccess.getVLSExistentialQuantifierAccess().getLeftSquareBracketKeyword_1_1()); }
3559)
3560;
3561finally {
3562 restoreStackSize(stackSize);
3563}
3564
3565rule__VLSExistentialQuantifier__Group_1__2
3566 @init {
3567 int stackSize = keepStackSize();
3568 }
3569:
3570 rule__VLSExistentialQuantifier__Group_1__2__Impl
3571 rule__VLSExistentialQuantifier__Group_1__3
3572;
3573finally {
3574 restoreStackSize(stackSize);
3575}
3576
3577rule__VLSExistentialQuantifier__Group_1__2__Impl
3578 @init {
3579 int stackSize = keepStackSize();
3580 }
3581:
3582(
3583 { before(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesAssignment_1_2()); }
3584 (rule__VLSExistentialQuantifier__VariablesAssignment_1_2)
3585 { after(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesAssignment_1_2()); }
3586)
3587;
3588finally {
3589 restoreStackSize(stackSize);
3590}
3591
3592rule__VLSExistentialQuantifier__Group_1__3
3593 @init {
3594 int stackSize = keepStackSize();
3595 }
3596:
3597 rule__VLSExistentialQuantifier__Group_1__3__Impl
3598 rule__VLSExistentialQuantifier__Group_1__4
3599;
3600finally {
3601 restoreStackSize(stackSize);
3602}
3603
3604rule__VLSExistentialQuantifier__Group_1__3__Impl
3605 @init {
3606 int stackSize = keepStackSize();
3607 }
3608:
3609(
3610 { before(grammarAccess.getVLSExistentialQuantifierAccess().getGroup_1_3()); }
3611 (rule__VLSExistentialQuantifier__Group_1_3__0)*
3612 { after(grammarAccess.getVLSExistentialQuantifierAccess().getGroup_1_3()); }
3613)
3614;
3615finally {
3616 restoreStackSize(stackSize);
3617}
3618
3619rule__VLSExistentialQuantifier__Group_1__4
3620 @init {
3621 int stackSize = keepStackSize();
3622 }
3623:
3624 rule__VLSExistentialQuantifier__Group_1__4__Impl
3625 rule__VLSExistentialQuantifier__Group_1__5
3626;
3627finally {
3628 restoreStackSize(stackSize);
3629}
3630
3631rule__VLSExistentialQuantifier__Group_1__4__Impl
3632 @init {
3633 int stackSize = keepStackSize();
3634 }
3635:
3636(
3637 { before(grammarAccess.getVLSExistentialQuantifierAccess().getRightSquareBracketKeyword_1_4()); }
3638 ']'
3639 { after(grammarAccess.getVLSExistentialQuantifierAccess().getRightSquareBracketKeyword_1_4()); }
3640)
3641;
3642finally {
3643 restoreStackSize(stackSize);
3644}
3645
3646rule__VLSExistentialQuantifier__Group_1__5
3647 @init {
3648 int stackSize = keepStackSize();
3649 }
3650:
3651 rule__VLSExistentialQuantifier__Group_1__5__Impl
3652;
3653finally {
3654 restoreStackSize(stackSize);
3655}
3656
3657rule__VLSExistentialQuantifier__Group_1__5__Impl
3658 @init {
3659 int stackSize = keepStackSize();
3660 }
3661:
3662(
3663 { before(grammarAccess.getVLSExistentialQuantifierAccess().getColonKeyword_1_5()); }
3664 ':'
3665 { after(grammarAccess.getVLSExistentialQuantifierAccess().getColonKeyword_1_5()); }
3666)
3667;
3668finally {
3669 restoreStackSize(stackSize);
3670}
3671
3672
3673rule__VLSExistentialQuantifier__Group_1_3__0
3674 @init {
3675 int stackSize = keepStackSize();
3676 }
3677:
3678 rule__VLSExistentialQuantifier__Group_1_3__0__Impl
3679 rule__VLSExistentialQuantifier__Group_1_3__1
3680;
3681finally {
3682 restoreStackSize(stackSize);
3683}
3684
3685rule__VLSExistentialQuantifier__Group_1_3__0__Impl
3686 @init {
3687 int stackSize = keepStackSize();
3688 }
3689:
3690(
3691 { before(grammarAccess.getVLSExistentialQuantifierAccess().getCommaKeyword_1_3_0()); }
3692 ','
3693 { after(grammarAccess.getVLSExistentialQuantifierAccess().getCommaKeyword_1_3_0()); }
3694)
3695;
3696finally {
3697 restoreStackSize(stackSize);
3698}
3699
3700rule__VLSExistentialQuantifier__Group_1_3__1
3701 @init {
3702 int stackSize = keepStackSize();
3703 }
3704:
3705 rule__VLSExistentialQuantifier__Group_1_3__1__Impl
3706;
3707finally {
3708 restoreStackSize(stackSize);
3709}
3710
3711rule__VLSExistentialQuantifier__Group_1_3__1__Impl
3712 @init {
3713 int stackSize = keepStackSize();
3714 }
3715:
3716(
3717 { before(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesAssignment_1_3_1()); }
3718 (rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1)
3719 { after(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesAssignment_1_3_1()); }
3720)
3721;
3722finally {
3723 restoreStackSize(stackSize);
3724}
3725
3726
3727rule__VLSUnaryNegation__Group__0
3728 @init {
3729 int stackSize = keepStackSize();
3730 }
3731:
3732 rule__VLSUnaryNegation__Group__0__Impl
3733 rule__VLSUnaryNegation__Group__1
3734;
3735finally {
3736 restoreStackSize(stackSize);
3737}
3738
3739rule__VLSUnaryNegation__Group__0__Impl
3740 @init {
3741 int stackSize = keepStackSize();
3742 }
3743:
3744(
3745 { before(grammarAccess.getVLSUnaryNegationAccess().getVLSUnaryNegationAction_0()); }
3746 ()
3747 { after(grammarAccess.getVLSUnaryNegationAccess().getVLSUnaryNegationAction_0()); }
3748)
3749;
3750finally {
3751 restoreStackSize(stackSize);
3752}
3753
3754rule__VLSUnaryNegation__Group__1
3755 @init {
3756 int stackSize = keepStackSize();
3757 }
3758:
3759 rule__VLSUnaryNegation__Group__1__Impl
3760 rule__VLSUnaryNegation__Group__2
3761;
3762finally {
3763 restoreStackSize(stackSize);
3764}
3765
3766rule__VLSUnaryNegation__Group__1__Impl
3767 @init {
3768 int stackSize = keepStackSize();
3769 }
3770:
3771(
3772 { before(grammarAccess.getVLSUnaryNegationAccess().getTildeKeyword_1()); }
3773 '~'
3774 { after(grammarAccess.getVLSUnaryNegationAccess().getTildeKeyword_1()); }
3775)
3776;
3777finally {
3778 restoreStackSize(stackSize);
3779}
3780
3781rule__VLSUnaryNegation__Group__2
3782 @init {
3783 int stackSize = keepStackSize();
3784 }
3785:
3786 rule__VLSUnaryNegation__Group__2__Impl
3787;
3788finally {
3789 restoreStackSize(stackSize);
3790}
3791
3792rule__VLSUnaryNegation__Group__2__Impl
3793 @init {
3794 int stackSize = keepStackSize();
3795 }
3796:
3797(
3798 { before(grammarAccess.getVLSUnaryNegationAccess().getOperandAssignment_2()); }
3799 (rule__VLSUnaryNegation__OperandAssignment_2)
3800 { after(grammarAccess.getVLSUnaryNegationAccess().getOperandAssignment_2()); }
3801)
3802;
3803finally {
3804 restoreStackSize(stackSize);
3805}
3806
3807
3808rule__VLSUnaryInfix__Group__0
3809 @init {
3810 int stackSize = keepStackSize();
3811 }
3812:
3813 rule__VLSUnaryInfix__Group__0__Impl
3814 rule__VLSUnaryInfix__Group__1
3815;
3816finally {
3817 restoreStackSize(stackSize);
3818}
3819
3820rule__VLSUnaryInfix__Group__0__Impl
3821 @init {
3822 int stackSize = keepStackSize();
3823 }
3824:
3825(
3826 { before(grammarAccess.getVLSUnaryInfixAccess().getVLSAtomicParserRuleCall_0()); }
3827 ruleVLSAtomic
3828 { after(grammarAccess.getVLSUnaryInfixAccess().getVLSAtomicParserRuleCall_0()); }
3829)
3830;
3831finally {
3832 restoreStackSize(stackSize);
3833}
3834
3835rule__VLSUnaryInfix__Group__1
3836 @init {
3837 int stackSize = keepStackSize();
3838 }
3839:
3840 rule__VLSUnaryInfix__Group__1__Impl
3841;
3842finally {
3843 restoreStackSize(stackSize);
3844}
3845
3846rule__VLSUnaryInfix__Group__1__Impl
3847 @init {
3848 int stackSize = keepStackSize();
3849 }
3850:
3851(
3852 { before(grammarAccess.getVLSUnaryInfixAccess().getGroup_1()); }
3853 (rule__VLSUnaryInfix__Group_1__0)?
3854 { after(grammarAccess.getVLSUnaryInfixAccess().getGroup_1()); }
3855)
3856;
3857finally {
3858 restoreStackSize(stackSize);
3859}
3860
3861
3862rule__VLSUnaryInfix__Group_1__0
3863 @init {
3864 int stackSize = keepStackSize();
3865 }
3866:
3867 rule__VLSUnaryInfix__Group_1__0__Impl
3868 rule__VLSUnaryInfix__Group_1__1
3869;
3870finally {
3871 restoreStackSize(stackSize);
3872}
3873
3874rule__VLSUnaryInfix__Group_1__0__Impl
3875 @init {
3876 int stackSize = keepStackSize();
3877 }
3878:
3879(
3880 { before(grammarAccess.getVLSUnaryInfixAccess().getAlternatives_1_0()); }
3881 (rule__VLSUnaryInfix__Alternatives_1_0)
3882 { after(grammarAccess.getVLSUnaryInfixAccess().getAlternatives_1_0()); }
3883)
3884;
3885finally {
3886 restoreStackSize(stackSize);
3887}
3888
3889rule__VLSUnaryInfix__Group_1__1
3890 @init {
3891 int stackSize = keepStackSize();
3892 }
3893:
3894 rule__VLSUnaryInfix__Group_1__1__Impl
3895;
3896finally {
3897 restoreStackSize(stackSize);
3898}
3899
3900rule__VLSUnaryInfix__Group_1__1__Impl
3901 @init {
3902 int stackSize = keepStackSize();
3903 }
3904:
3905(
3906 { before(grammarAccess.getVLSUnaryInfixAccess().getRightAssignment_1_1()); }
3907 (rule__VLSUnaryInfix__RightAssignment_1_1)
3908 { after(grammarAccess.getVLSUnaryInfixAccess().getRightAssignment_1_1()); }
3909)
3910;
3911finally {
3912 restoreStackSize(stackSize);
3913}
3914
3915
3916rule__VLSUnaryInfix__Group_1_0_0__0
3917 @init {
3918 int stackSize = keepStackSize();
3919 }
3920:
3921 rule__VLSUnaryInfix__Group_1_0_0__0__Impl
3922 rule__VLSUnaryInfix__Group_1_0_0__1
3923;
3924finally {
3925 restoreStackSize(stackSize);
3926}
3927
3928rule__VLSUnaryInfix__Group_1_0_0__0__Impl
3929 @init {
3930 int stackSize = keepStackSize();
3931 }
3932:
3933(
3934 { before(grammarAccess.getVLSUnaryInfixAccess().getVLSInequalityLeftAction_1_0_0_0()); }
3935 ()
3936 { after(grammarAccess.getVLSUnaryInfixAccess().getVLSInequalityLeftAction_1_0_0_0()); }
3937)
3938;
3939finally {
3940 restoreStackSize(stackSize);
3941}
3942
3943rule__VLSUnaryInfix__Group_1_0_0__1
3944 @init {
3945 int stackSize = keepStackSize();
3946 }
3947:
3948 rule__VLSUnaryInfix__Group_1_0_0__1__Impl
3949;
3950finally {
3951 restoreStackSize(stackSize);
3952}
3953
3954rule__VLSUnaryInfix__Group_1_0_0__1__Impl
3955 @init {
3956 int stackSize = keepStackSize();
3957 }
3958:
3959(
3960 { before(grammarAccess.getVLSUnaryInfixAccess().getExclamationMarkEqualsSignKeyword_1_0_0_1()); }
3961 '!='
3962 { after(grammarAccess.getVLSUnaryInfixAccess().getExclamationMarkEqualsSignKeyword_1_0_0_1()); }
3963)
3964;
3965finally {
3966 restoreStackSize(stackSize);
3967}
3968
3969
3970rule__VLSUnaryInfix__Group_1_0_1__0
3971 @init {
3972 int stackSize = keepStackSize();
3973 }
3974:
3975 rule__VLSUnaryInfix__Group_1_0_1__0__Impl
3976 rule__VLSUnaryInfix__Group_1_0_1__1
3977;
3978finally {
3979 restoreStackSize(stackSize);
3980}
3981
3982rule__VLSUnaryInfix__Group_1_0_1__0__Impl
3983 @init {
3984 int stackSize = keepStackSize();
3985 }
3986:
3987(
3988 { before(grammarAccess.getVLSUnaryInfixAccess().getVLSEqualityLeftAction_1_0_1_0()); }
3989 ()
3990 { after(grammarAccess.getVLSUnaryInfixAccess().getVLSEqualityLeftAction_1_0_1_0()); }
3991)
3992;
3993finally {
3994 restoreStackSize(stackSize);
3995}
3996
3997rule__VLSUnaryInfix__Group_1_0_1__1
3998 @init {
3999 int stackSize = keepStackSize();
4000 }
4001:
4002 rule__VLSUnaryInfix__Group_1_0_1__1__Impl
4003;
4004finally {
4005 restoreStackSize(stackSize);
4006}
4007
4008rule__VLSUnaryInfix__Group_1_0_1__1__Impl
4009 @init {
4010 int stackSize = keepStackSize();
4011 }
4012:
4013(
4014 { before(grammarAccess.getVLSUnaryInfixAccess().getEqualsSignKeyword_1_0_1_1()); }
4015 '='
4016 { after(grammarAccess.getVLSUnaryInfixAccess().getEqualsSignKeyword_1_0_1_1()); }
4017)
4018;
4019finally {
4020 restoreStackSize(stackSize);
4021}
4022
4023
4024rule__VLSUnaryInfix__Group_1_0_2__0
4025 @init {
4026 int stackSize = keepStackSize();
4027 }
4028:
4029 rule__VLSUnaryInfix__Group_1_0_2__0__Impl
4030 rule__VLSUnaryInfix__Group_1_0_2__1
4031;
4032finally {
4033 restoreStackSize(stackSize);
4034}
4035
4036rule__VLSUnaryInfix__Group_1_0_2__0__Impl
4037 @init {
4038 int stackSize = keepStackSize();
4039 }
4040:
4041(
4042 { before(grammarAccess.getVLSUnaryInfixAccess().getVLSAssignmentLeftAction_1_0_2_0()); }
4043 ()
4044 { after(grammarAccess.getVLSUnaryInfixAccess().getVLSAssignmentLeftAction_1_0_2_0()); }
4045)
4046;
4047finally {
4048 restoreStackSize(stackSize);
4049}
4050
4051rule__VLSUnaryInfix__Group_1_0_2__1
4052 @init {
4053 int stackSize = keepStackSize();
4054 }
4055:
4056 rule__VLSUnaryInfix__Group_1_0_2__1__Impl
4057;
4058finally {
4059 restoreStackSize(stackSize);
4060}
4061
4062rule__VLSUnaryInfix__Group_1_0_2__1__Impl
4063 @init {
4064 int stackSize = keepStackSize();
4065 }
4066:
4067(
4068 { before(grammarAccess.getVLSUnaryInfixAccess().getColonEqualsSignKeyword_1_0_2_1()); }
4069 ':='
4070 { after(grammarAccess.getVLSUnaryInfixAccess().getColonEqualsSignKeyword_1_0_2_1()); }
4071)
4072;
4073finally {
4074 restoreStackSize(stackSize);
4075}
4076
4077
4078rule__VLSAtomicConstant__Group_0__0
4079 @init {
4080 int stackSize = keepStackSize();
4081 }
4082:
4083 rule__VLSAtomicConstant__Group_0__0__Impl
4084 rule__VLSAtomicConstant__Group_0__1
4085;
4086finally {
4087 restoreStackSize(stackSize);
4088}
4089
4090rule__VLSAtomicConstant__Group_0__0__Impl
4091 @init {
4092 int stackSize = keepStackSize();
4093 }
4094:
4095(
4096 { before(grammarAccess.getVLSAtomicConstantAccess().getVLSConstantAction_0_0()); }
4097 ()
4098 { after(grammarAccess.getVLSAtomicConstantAccess().getVLSConstantAction_0_0()); }
4099)
4100;
4101finally {
4102 restoreStackSize(stackSize);
4103}
4104
4105rule__VLSAtomicConstant__Group_0__1
4106 @init {
4107 int stackSize = keepStackSize();
4108 }
4109:
4110 rule__VLSAtomicConstant__Group_0__1__Impl
4111;
4112finally {
4113 restoreStackSize(stackSize);
4114}
4115
4116rule__VLSAtomicConstant__Group_0__1__Impl
4117 @init {
4118 int stackSize = keepStackSize();
4119 }
4120:
4121(
4122 { before(grammarAccess.getVLSAtomicConstantAccess().getNameAssignment_0_1()); }
4123 (rule__VLSAtomicConstant__NameAssignment_0_1)
4124 { after(grammarAccess.getVLSAtomicConstantAccess().getNameAssignment_0_1()); }
4125)
4126;
4127finally {
4128 restoreStackSize(stackSize);
4129}
4130
4131
4132rule__VLSAtomicConstant__Group_1__0
4133 @init {
4134 int stackSize = keepStackSize();
4135 }
4136:
4137 rule__VLSAtomicConstant__Group_1__0__Impl
4138 rule__VLSAtomicConstant__Group_1__1
4139;
4140finally {
4141 restoreStackSize(stackSize);
4142}
4143
4144rule__VLSAtomicConstant__Group_1__0__Impl
4145 @init {
4146 int stackSize = keepStackSize();
4147 }
4148:
4149(
4150 { before(grammarAccess.getVLSAtomicConstantAccess().getVLSTrueAction_1_0()); }
4151 ()
4152 { after(grammarAccess.getVLSAtomicConstantAccess().getVLSTrueAction_1_0()); }
4153)
4154;
4155finally {
4156 restoreStackSize(stackSize);
4157}
4158
4159rule__VLSAtomicConstant__Group_1__1
4160 @init {
4161 int stackSize = keepStackSize();
4162 }
4163:
4164 rule__VLSAtomicConstant__Group_1__1__Impl
4165;
4166finally {
4167 restoreStackSize(stackSize);
4168}
4169
4170rule__VLSAtomicConstant__Group_1__1__Impl
4171 @init {
4172 int stackSize = keepStackSize();
4173 }
4174:
4175(
4176 { before(grammarAccess.getVLSAtomicConstantAccess().getTrueKeyword_1_1()); }
4177 '$true'
4178 { after(grammarAccess.getVLSAtomicConstantAccess().getTrueKeyword_1_1()); }
4179)
4180;
4181finally {
4182 restoreStackSize(stackSize);
4183}
4184
4185
4186rule__VLSAtomicConstant__Group_2__0
4187 @init {
4188 int stackSize = keepStackSize();
4189 }
4190:
4191 rule__VLSAtomicConstant__Group_2__0__Impl
4192 rule__VLSAtomicConstant__Group_2__1
4193;
4194finally {
4195 restoreStackSize(stackSize);
4196}
4197
4198rule__VLSAtomicConstant__Group_2__0__Impl
4199 @init {
4200 int stackSize = keepStackSize();
4201 }
4202:
4203(
4204 { before(grammarAccess.getVLSAtomicConstantAccess().getVLSFalseAction_2_0()); }
4205 ()
4206 { after(grammarAccess.getVLSAtomicConstantAccess().getVLSFalseAction_2_0()); }
4207)
4208;
4209finally {
4210 restoreStackSize(stackSize);
4211}
4212
4213rule__VLSAtomicConstant__Group_2__1
4214 @init {
4215 int stackSize = keepStackSize();
4216 }
4217:
4218 rule__VLSAtomicConstant__Group_2__1__Impl
4219;
4220finally {
4221 restoreStackSize(stackSize);
4222}
4223
4224rule__VLSAtomicConstant__Group_2__1__Impl
4225 @init {
4226 int stackSize = keepStackSize();
4227 }
4228:
4229(
4230 { before(grammarAccess.getVLSAtomicConstantAccess().getFalseKeyword_2_1()); }
4231 '$false'
4232 { after(grammarAccess.getVLSAtomicConstantAccess().getFalseKeyword_2_1()); }
4233)
4234;
4235finally {
4236 restoreStackSize(stackSize);
4237}
4238
4239
4240rule__VLSAtomicFunction__Group_0__0
4241 @init {
4242 int stackSize = keepStackSize();
4243 }
4244:
4245 rule__VLSAtomicFunction__Group_0__0__Impl
4246 rule__VLSAtomicFunction__Group_0__1
4247;
4248finally {
4249 restoreStackSize(stackSize);
4250}
4251
4252rule__VLSAtomicFunction__Group_0__0__Impl
4253 @init {
4254 int stackSize = keepStackSize();
4255 }
4256:
4257(
4258 { before(grammarAccess.getVLSAtomicFunctionAccess().getVLSFunctionAction_0_0()); }
4259 ()
4260 { after(grammarAccess.getVLSAtomicFunctionAccess().getVLSFunctionAction_0_0()); }
4261)
4262;
4263finally {
4264 restoreStackSize(stackSize);
4265}
4266
4267rule__VLSAtomicFunction__Group_0__1
4268 @init {
4269 int stackSize = keepStackSize();
4270 }
4271:
4272 rule__VLSAtomicFunction__Group_0__1__Impl
4273 rule__VLSAtomicFunction__Group_0__2
4274;
4275finally {
4276 restoreStackSize(stackSize);
4277}
4278
4279rule__VLSAtomicFunction__Group_0__1__Impl
4280 @init {
4281 int stackSize = keepStackSize();
4282 }
4283:
4284(
4285 { before(grammarAccess.getVLSAtomicFunctionAccess().getConstantAssignment_0_1()); }
4286 (rule__VLSAtomicFunction__ConstantAssignment_0_1)
4287 { after(grammarAccess.getVLSAtomicFunctionAccess().getConstantAssignment_0_1()); }
4288)
4289;
4290finally {
4291 restoreStackSize(stackSize);
4292}
4293
4294rule__VLSAtomicFunction__Group_0__2
4295 @init {
4296 int stackSize = keepStackSize();
4297 }
4298:
4299 rule__VLSAtomicFunction__Group_0__2__Impl
4300;
4301finally {
4302 restoreStackSize(stackSize);
4303}
4304
4305rule__VLSAtomicFunction__Group_0__2__Impl
4306 @init {
4307 int stackSize = keepStackSize();
4308 }
4309:
4310(
4311 { before(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0_2()); }
4312 (rule__VLSAtomicFunction__Group_0_2__0)
4313 { after(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0_2()); }
4314)
4315;
4316finally {
4317 restoreStackSize(stackSize);
4318}
4319
4320
4321rule__VLSAtomicFunction__Group_0_2__0
4322 @init {
4323 int stackSize = keepStackSize();
4324 }
4325:
4326 rule__VLSAtomicFunction__Group_0_2__0__Impl
4327 rule__VLSAtomicFunction__Group_0_2__1
4328;
4329finally {
4330 restoreStackSize(stackSize);
4331}
4332
4333rule__VLSAtomicFunction__Group_0_2__0__Impl
4334 @init {
4335 int stackSize = keepStackSize();
4336 }
4337:
4338(
4339 { before(grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_0_2_0()); }
4340 '('
4341 { after(grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_0_2_0()); }
4342)
4343;
4344finally {
4345 restoreStackSize(stackSize);
4346}
4347
4348rule__VLSAtomicFunction__Group_0_2__1
4349 @init {
4350 int stackSize = keepStackSize();
4351 }
4352:
4353 rule__VLSAtomicFunction__Group_0_2__1__Impl
4354 rule__VLSAtomicFunction__Group_0_2__2
4355;
4356finally {
4357 restoreStackSize(stackSize);
4358}
4359
4360rule__VLSAtomicFunction__Group_0_2__1__Impl
4361 @init {
4362 int stackSize = keepStackSize();
4363 }
4364:
4365(
4366 { before(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_0_2_1()); }
4367 (rule__VLSAtomicFunction__TermsAssignment_0_2_1)
4368 { after(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_0_2_1()); }
4369)
4370;
4371finally {
4372 restoreStackSize(stackSize);
4373}
4374
4375rule__VLSAtomicFunction__Group_0_2__2
4376 @init {
4377 int stackSize = keepStackSize();
4378 }
4379:
4380 rule__VLSAtomicFunction__Group_0_2__2__Impl
4381 rule__VLSAtomicFunction__Group_0_2__3
4382;
4383finally {
4384 restoreStackSize(stackSize);
4385}
4386
4387rule__VLSAtomicFunction__Group_0_2__2__Impl
4388 @init {
4389 int stackSize = keepStackSize();
4390 }
4391:
4392(
4393 { before(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0_2_2()); }
4394 (rule__VLSAtomicFunction__Group_0_2_2__0)*
4395 { after(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0_2_2()); }
4396)
4397;
4398finally {
4399 restoreStackSize(stackSize);
4400}
4401
4402rule__VLSAtomicFunction__Group_0_2__3
4403 @init {
4404 int stackSize = keepStackSize();
4405 }
4406:
4407 rule__VLSAtomicFunction__Group_0_2__3__Impl
4408;
4409finally {
4410 restoreStackSize(stackSize);
4411}
4412
4413rule__VLSAtomicFunction__Group_0_2__3__Impl
4414 @init {
4415 int stackSize = keepStackSize();
4416 }
4417:
4418(
4419 { before(grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_0_2_3()); }
4420 ')'
4421 { after(grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_0_2_3()); }
4422)
4423;
4424finally {
4425 restoreStackSize(stackSize);
4426}
4427
4428
4429rule__VLSAtomicFunction__Group_0_2_2__0
4430 @init {
4431 int stackSize = keepStackSize();
4432 }
4433:
4434 rule__VLSAtomicFunction__Group_0_2_2__0__Impl
4435 rule__VLSAtomicFunction__Group_0_2_2__1
4436;
4437finally {
4438 restoreStackSize(stackSize);
4439}
4440
4441rule__VLSAtomicFunction__Group_0_2_2__0__Impl
4442 @init {
4443 int stackSize = keepStackSize();
4444 }
4445:
4446(
4447 { before(grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_0_2_2_0()); }
4448 ','
4449 { after(grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_0_2_2_0()); }
4450)
4451;
4452finally {
4453 restoreStackSize(stackSize);
4454}
4455
4456rule__VLSAtomicFunction__Group_0_2_2__1
4457 @init {
4458 int stackSize = keepStackSize();
4459 }
4460:
4461 rule__VLSAtomicFunction__Group_0_2_2__1__Impl
4462;
4463finally {
4464 restoreStackSize(stackSize);
4465}
4466
4467rule__VLSAtomicFunction__Group_0_2_2__1__Impl
4468 @init {
4469 int stackSize = keepStackSize();
4470 }
4471:
4472(
4473 { before(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_0_2_2_1()); }
4474 (rule__VLSAtomicFunction__TermsAssignment_0_2_2_1)
4475 { after(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_0_2_2_1()); }
4476)
4477;
4478finally {
4479 restoreStackSize(stackSize);
4480}
4481
4482
4483rule__VLSAtomicFunction__Group_1__0
4484 @init {
4485 int stackSize = keepStackSize();
4486 }
4487:
4488 rule__VLSAtomicFunction__Group_1__0__Impl
4489 rule__VLSAtomicFunction__Group_1__1
4490;
4491finally {
4492 restoreStackSize(stackSize);
4493}
4494
4495rule__VLSAtomicFunction__Group_1__0__Impl
4496 @init {
4497 int stackSize = keepStackSize();
4498 }
4499:
4500(
4501 { before(grammarAccess.getVLSAtomicFunctionAccess().getVLSLessAction_1_0()); }
4502 ()
4503 { after(grammarAccess.getVLSAtomicFunctionAccess().getVLSLessAction_1_0()); }
4504)
4505;
4506finally {
4507 restoreStackSize(stackSize);
4508}
4509
4510rule__VLSAtomicFunction__Group_1__1
4511 @init {
4512 int stackSize = keepStackSize();
4513 }
4514:
4515 rule__VLSAtomicFunction__Group_1__1__Impl
4516 rule__VLSAtomicFunction__Group_1__2
4517;
4518finally {
4519 restoreStackSize(stackSize);
4520}
4521
4522rule__VLSAtomicFunction__Group_1__1__Impl
4523 @init {
4524 int stackSize = keepStackSize();
4525 }
4526:
4527(
4528 { before(grammarAccess.getVLSAtomicFunctionAccess().getNameAssignment_1_1()); }
4529 (rule__VLSAtomicFunction__NameAssignment_1_1)
4530 { after(grammarAccess.getVLSAtomicFunctionAccess().getNameAssignment_1_1()); }
4531)
4532;
4533finally {
4534 restoreStackSize(stackSize);
4535}
4536
4537rule__VLSAtomicFunction__Group_1__2
4538 @init {
4539 int stackSize = keepStackSize();
4540 }
4541:
4542 rule__VLSAtomicFunction__Group_1__2__Impl
4543 rule__VLSAtomicFunction__Group_1__3
4544;
4545finally {
4546 restoreStackSize(stackSize);
4547}
4548
4549rule__VLSAtomicFunction__Group_1__2__Impl
4550 @init {
4551 int stackSize = keepStackSize();
4552 }
4553:
4554(
4555 { before(grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_1_2()); }
4556 '('
4557 { after(grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_1_2()); }
4558)
4559;
4560finally {
4561 restoreStackSize(stackSize);
4562}
4563
4564rule__VLSAtomicFunction__Group_1__3
4565 @init {
4566 int stackSize = keepStackSize();
4567 }
4568:
4569 rule__VLSAtomicFunction__Group_1__3__Impl
4570 rule__VLSAtomicFunction__Group_1__4
4571;
4572finally {
4573 restoreStackSize(stackSize);
4574}
4575
4576rule__VLSAtomicFunction__Group_1__3__Impl
4577 @init {
4578 int stackSize = keepStackSize();
4579 }
4580:
4581(
4582 { before(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_1_3()); }
4583 (rule__VLSAtomicFunction__TermsAssignment_1_3)
4584 { after(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_1_3()); }
4585)
4586;
4587finally {
4588 restoreStackSize(stackSize);
4589}
4590
4591rule__VLSAtomicFunction__Group_1__4
4592 @init {
4593 int stackSize = keepStackSize();
4594 }
4595:
4596 rule__VLSAtomicFunction__Group_1__4__Impl
4597 rule__VLSAtomicFunction__Group_1__5
4598;
4599finally {
4600 restoreStackSize(stackSize);
4601}
4602
4603rule__VLSAtomicFunction__Group_1__4__Impl
4604 @init {
4605 int stackSize = keepStackSize();
4606 }
4607:
4608(
4609 { before(grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_1_4()); }
4610 ','
4611 { after(grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_1_4()); }
4612)
4613;
4614finally {
4615 restoreStackSize(stackSize);
4616}
4617
4618rule__VLSAtomicFunction__Group_1__5
4619 @init {
4620 int stackSize = keepStackSize();
4621 }
4622:
4623 rule__VLSAtomicFunction__Group_1__5__Impl
4624 rule__VLSAtomicFunction__Group_1__6
4625;
4626finally {
4627 restoreStackSize(stackSize);
4628}
4629
4630rule__VLSAtomicFunction__Group_1__5__Impl
4631 @init {
4632 int stackSize = keepStackSize();
4633 }
4634:
4635(
4636 { before(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_1_5()); }
4637 (rule__VLSAtomicFunction__TermsAssignment_1_5)
4638 { after(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_1_5()); }
4639)
4640;
4641finally {
4642 restoreStackSize(stackSize);
4643}
4644
4645rule__VLSAtomicFunction__Group_1__6
4646 @init {
4647 int stackSize = keepStackSize();
4648 }
4649:
4650 rule__VLSAtomicFunction__Group_1__6__Impl
4651;
4652finally {
4653 restoreStackSize(stackSize);
4654}
4655
4656rule__VLSAtomicFunction__Group_1__6__Impl
4657 @init {
4658 int stackSize = keepStackSize();
4659 }
4660:
4661(
4662 { before(grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_1_6()); }
4663 ')'
4664 { after(grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_1_6()); }
4665)
4666;
4667finally {
4668 restoreStackSize(stackSize);
4669}
4670
4671
4672rule__VLSFunctionFof__Group__0
4673 @init {
4674 int stackSize = keepStackSize();
4675 }
4676:
4677 rule__VLSFunctionFof__Group__0__Impl
4678 rule__VLSFunctionFof__Group__1
4679;
4680finally {
4681 restoreStackSize(stackSize);
4682}
4683
4684rule__VLSFunctionFof__Group__0__Impl
4685 @init {
4686 int stackSize = keepStackSize();
4687 }
4688:
4689(
4690 { before(grammarAccess.getVLSFunctionFofAccess().getFunctorAssignment_0()); }
4691 (rule__VLSFunctionFof__FunctorAssignment_0)
4692 { after(grammarAccess.getVLSFunctionFofAccess().getFunctorAssignment_0()); }
4693)
4694;
4695finally {
4696 restoreStackSize(stackSize);
4697}
4698
4699rule__VLSFunctionFof__Group__1
4700 @init {
4701 int stackSize = keepStackSize();
4702 }
4703:
4704 rule__VLSFunctionFof__Group__1__Impl
4705;
4706finally {
4707 restoreStackSize(stackSize);
4708}
4709
4710rule__VLSFunctionFof__Group__1__Impl
4711 @init {
4712 int stackSize = keepStackSize();
4713 }
4714:
4715(
4716 { before(grammarAccess.getVLSFunctionFofAccess().getGroup_1()); }
4717 (rule__VLSFunctionFof__Group_1__0)?
4718 { after(grammarAccess.getVLSFunctionFofAccess().getGroup_1()); }
4719)
4720;
4721finally {
4722 restoreStackSize(stackSize);
4723}
4724
4725
4726rule__VLSFunctionFof__Group_1__0
4727 @init {
4728 int stackSize = keepStackSize();
4729 }
4730:
4731 rule__VLSFunctionFof__Group_1__0__Impl
4732 rule__VLSFunctionFof__Group_1__1
4733;
4734finally {
4735 restoreStackSize(stackSize);
4736}
4737
4738rule__VLSFunctionFof__Group_1__0__Impl
4739 @init {
4740 int stackSize = keepStackSize();
4741 }
4742:
4743(
4744 { before(grammarAccess.getVLSFunctionFofAccess().getLeftParenthesisKeyword_1_0()); }
4745 '('
4746 { after(grammarAccess.getVLSFunctionFofAccess().getLeftParenthesisKeyword_1_0()); }
4747)
4748;
4749finally {
4750 restoreStackSize(stackSize);
4751}
4752
4753rule__VLSFunctionFof__Group_1__1
4754 @init {
4755 int stackSize = keepStackSize();
4756 }
4757:
4758 rule__VLSFunctionFof__Group_1__1__Impl
4759 rule__VLSFunctionFof__Group_1__2
4760;
4761finally {
4762 restoreStackSize(stackSize);
4763}
4764
4765rule__VLSFunctionFof__Group_1__1__Impl
4766 @init {
4767 int stackSize = keepStackSize();
4768 }
4769:
4770(
4771 { before(grammarAccess.getVLSFunctionFofAccess().getTermsAssignment_1_1()); }
4772 (rule__VLSFunctionFof__TermsAssignment_1_1)
4773 { after(grammarAccess.getVLSFunctionFofAccess().getTermsAssignment_1_1()); }
4774)
4775;
4776finally {
4777 restoreStackSize(stackSize);
4778}
4779
4780rule__VLSFunctionFof__Group_1__2
4781 @init {
4782 int stackSize = keepStackSize();
4783 }
4784:
4785 rule__VLSFunctionFof__Group_1__2__Impl
4786 rule__VLSFunctionFof__Group_1__3
4787;
4788finally {
4789 restoreStackSize(stackSize);
4790}
4791
4792rule__VLSFunctionFof__Group_1__2__Impl
4793 @init {
4794 int stackSize = keepStackSize();
4795 }
4796:
4797(
4798 { before(grammarAccess.getVLSFunctionFofAccess().getGroup_1_2()); }
4799 (rule__VLSFunctionFof__Group_1_2__0)*
4800 { after(grammarAccess.getVLSFunctionFofAccess().getGroup_1_2()); }
4801)
4802;
4803finally {
4804 restoreStackSize(stackSize);
4805}
4806
4807rule__VLSFunctionFof__Group_1__3
4808 @init {
4809 int stackSize = keepStackSize();
4810 }
4811:
4812 rule__VLSFunctionFof__Group_1__3__Impl
4813;
4814finally {
4815 restoreStackSize(stackSize);
4816}
4817
4818rule__VLSFunctionFof__Group_1__3__Impl
4819 @init {
4820 int stackSize = keepStackSize();
4821 }
4822:
4823(
4824 { before(grammarAccess.getVLSFunctionFofAccess().getRightParenthesisKeyword_1_3()); }
4825 ')'
4826 { after(grammarAccess.getVLSFunctionFofAccess().getRightParenthesisKeyword_1_3()); }
4827)
4828;
4829finally {
4830 restoreStackSize(stackSize);
4831}
4832
4833
4834rule__VLSFunctionFof__Group_1_2__0
4835 @init {
4836 int stackSize = keepStackSize();
4837 }
4838:
4839 rule__VLSFunctionFof__Group_1_2__0__Impl
4840 rule__VLSFunctionFof__Group_1_2__1
4841;
4842finally {
4843 restoreStackSize(stackSize);
4844}
4845
4846rule__VLSFunctionFof__Group_1_2__0__Impl
4847 @init {
4848 int stackSize = keepStackSize();
4849 }
4850:
4851(
4852 { before(grammarAccess.getVLSFunctionFofAccess().getCommaKeyword_1_2_0()); }
4853 ','
4854 { after(grammarAccess.getVLSFunctionFofAccess().getCommaKeyword_1_2_0()); }
4855)
4856;
4857finally {
4858 restoreStackSize(stackSize);
4859}
4860
4861rule__VLSFunctionFof__Group_1_2__1
4862 @init {
4863 int stackSize = keepStackSize();
4864 }
4865:
4866 rule__VLSFunctionFof__Group_1_2__1__Impl
4867;
4868finally {
4869 restoreStackSize(stackSize);
4870}
4871
4872rule__VLSFunctionFof__Group_1_2__1__Impl
4873 @init {
4874 int stackSize = keepStackSize();
4875 }
4876:
4877(
4878 { before(grammarAccess.getVLSFunctionFofAccess().getTermsAssignment_1_2_1()); }
4879 (rule__VLSFunctionFof__TermsAssignment_1_2_1)
4880 { after(grammarAccess.getVLSFunctionFofAccess().getTermsAssignment_1_2_1()); }
4881)
4882;
4883finally {
4884 restoreStackSize(stackSize);
4885}
4886
4887
4888rule__VLSDefinedTerm__Group_0__0
4889 @init {
4890 int stackSize = keepStackSize();
4891 }
4892:
4893 rule__VLSDefinedTerm__Group_0__0__Impl
4894 rule__VLSDefinedTerm__Group_0__1
4895;
4896finally {
4897 restoreStackSize(stackSize);
4898}
4899
4900rule__VLSDefinedTerm__Group_0__0__Impl
4901 @init {
4902 int stackSize = keepStackSize();
4903 }
4904:
4905(
4906 { before(grammarAccess.getVLSDefinedTermAccess().getVLSIntAction_0_0()); }
4907 ()
4908 { after(grammarAccess.getVLSDefinedTermAccess().getVLSIntAction_0_0()); }
4909)
4910;
4911finally {
4912 restoreStackSize(stackSize);
4913}
4914
4915rule__VLSDefinedTerm__Group_0__1
4916 @init {
4917 int stackSize = keepStackSize();
4918 }
4919:
4920 rule__VLSDefinedTerm__Group_0__1__Impl
4921;
4922finally {
4923 restoreStackSize(stackSize);
4924}
4925
4926rule__VLSDefinedTerm__Group_0__1__Impl
4927 @init {
4928 int stackSize = keepStackSize();
4929 }
4930:
4931(
4932 { before(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_0_1()); }
4933 (rule__VLSDefinedTerm__ValueAssignment_0_1)
4934 { after(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_0_1()); }
4935)
4936;
4937finally {
4938 restoreStackSize(stackSize);
4939}
4940
4941
4942rule__VLSDefinedTerm__Group_1__0
4943 @init {
4944 int stackSize = keepStackSize();
4945 }
4946:
4947 rule__VLSDefinedTerm__Group_1__0__Impl
4948 rule__VLSDefinedTerm__Group_1__1
4949;
4950finally {
4951 restoreStackSize(stackSize);
4952}
4953
4954rule__VLSDefinedTerm__Group_1__0__Impl
4955 @init {
4956 int stackSize = keepStackSize();
4957 }
4958:
4959(
4960 { before(grammarAccess.getVLSDefinedTermAccess().getVLSRealAction_1_0()); }
4961 ()
4962 { after(grammarAccess.getVLSDefinedTermAccess().getVLSRealAction_1_0()); }
4963)
4964;
4965finally {
4966 restoreStackSize(stackSize);
4967}
4968
4969rule__VLSDefinedTerm__Group_1__1
4970 @init {
4971 int stackSize = keepStackSize();
4972 }
4973:
4974 rule__VLSDefinedTerm__Group_1__1__Impl
4975;
4976finally {
4977 restoreStackSize(stackSize);
4978}
4979
4980rule__VLSDefinedTerm__Group_1__1__Impl
4981 @init {
4982 int stackSize = keepStackSize();
4983 }
4984:
4985(
4986 { before(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_1_1()); }
4987 (rule__VLSDefinedTerm__ValueAssignment_1_1)
4988 { after(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_1_1()); }
4989)
4990;
4991finally {
4992 restoreStackSize(stackSize);
4993}
4994
4995
4996rule__VLSDefinedTerm__Group_2__0
4997 @init {
4998 int stackSize = keepStackSize();
4999 }
5000:
5001 rule__VLSDefinedTerm__Group_2__0__Impl
5002 rule__VLSDefinedTerm__Group_2__1
5003;
5004finally {
5005 restoreStackSize(stackSize);
5006}
5007
5008rule__VLSDefinedTerm__Group_2__0__Impl
5009 @init {
5010 int stackSize = keepStackSize();
5011 }
5012:
5013(
5014 { before(grammarAccess.getVLSDefinedTermAccess().getVLSRationalAction_2_0()); }
5015 ()
5016 { after(grammarAccess.getVLSDefinedTermAccess().getVLSRationalAction_2_0()); }
5017)
5018;
5019finally {
5020 restoreStackSize(stackSize);
5021}
5022
5023rule__VLSDefinedTerm__Group_2__1
5024 @init {
5025 int stackSize = keepStackSize();
5026 }
5027:
5028 rule__VLSDefinedTerm__Group_2__1__Impl
5029;
5030finally {
5031 restoreStackSize(stackSize);
5032}
5033
5034rule__VLSDefinedTerm__Group_2__1__Impl
5035 @init {
5036 int stackSize = keepStackSize();
5037 }
5038:
5039(
5040 { before(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_2_1()); }
5041 (rule__VLSDefinedTerm__ValueAssignment_2_1)
5042 { after(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_2_1()); }
5043)
5044;
5045finally {
5046 restoreStackSize(stackSize);
5047}
5048
5049
5050rule__VLSDefinedTerm__Group_3__0
5051 @init {
5052 int stackSize = keepStackSize();
5053 }
5054:
5055 rule__VLSDefinedTerm__Group_3__0__Impl
5056 rule__VLSDefinedTerm__Group_3__1
5057;
5058finally {
5059 restoreStackSize(stackSize);
5060}
5061
5062rule__VLSDefinedTerm__Group_3__0__Impl
5063 @init {
5064 int stackSize = keepStackSize();
5065 }
5066:
5067(
5068 { before(grammarAccess.getVLSDefinedTermAccess().getVLSDoubleQuoteAction_3_0()); }
5069 ()
5070 { after(grammarAccess.getVLSDefinedTermAccess().getVLSDoubleQuoteAction_3_0()); }
5071)
5072;
5073finally {
5074 restoreStackSize(stackSize);
5075}
5076
5077rule__VLSDefinedTerm__Group_3__1
5078 @init {
5079 int stackSize = keepStackSize();
5080 }
5081:
5082 rule__VLSDefinedTerm__Group_3__1__Impl
5083;
5084finally {
5085 restoreStackSize(stackSize);
5086}
5087
5088rule__VLSDefinedTerm__Group_3__1__Impl
5089 @init {
5090 int stackSize = keepStackSize();
5091 }
5092:
5093(
5094 { before(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_3_1()); }
5095 (rule__VLSDefinedTerm__ValueAssignment_3_1)
5096 { after(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_3_1()); }
5097)
5098;
5099finally {
5100 restoreStackSize(stackSize);
5101}
5102
5103
5104rule__VampireModel__IncludesAssignment_0
5105 @init {
5106 int stackSize = keepStackSize();
5107 }
5108:
5109 (
5110 { before(grammarAccess.getVampireModelAccess().getIncludesVLSIncludeParserRuleCall_0_0()); }
5111 ruleVLSInclude
5112 { after(grammarAccess.getVampireModelAccess().getIncludesVLSIncludeParserRuleCall_0_0()); }
5113 )
5114;
5115finally {
5116 restoreStackSize(stackSize);
5117}
5118
5119rule__VampireModel__CommentsAssignment_1
5120 @init {
5121 int stackSize = keepStackSize();
5122 }
5123:
5124 (
5125 { before(grammarAccess.getVampireModelAccess().getCommentsVLSCommentParserRuleCall_1_0()); }
5126 ruleVLSComment
5127 { after(grammarAccess.getVampireModelAccess().getCommentsVLSCommentParserRuleCall_1_0()); }
5128 )
5129;
5130finally {
5131 restoreStackSize(stackSize);
5132}
5133
5134rule__VampireModel__FormulasAssignment_2
5135 @init {
5136 int stackSize = keepStackSize();
5137 }
5138:
5139 (
5140 { before(grammarAccess.getVampireModelAccess().getFormulasVLSFofFormulaParserRuleCall_2_0()); }
5141 ruleVLSFofFormula
5142 { after(grammarAccess.getVampireModelAccess().getFormulasVLSFofFormulaParserRuleCall_2_0()); }
5143 )
5144;
5145finally {
5146 restoreStackSize(stackSize);
5147}
5148
5149rule__VLSInclude__FileNameAssignment_1
5150 @init {
5151 int stackSize = keepStackSize();
5152 }
5153:
5154 (
5155 { before(grammarAccess.getVLSIncludeAccess().getFileNameSINGLE_QUOTETerminalRuleCall_1_0()); }
5156 RULE_SINGLE_QUOTE
5157 { after(grammarAccess.getVLSIncludeAccess().getFileNameSINGLE_QUOTETerminalRuleCall_1_0()); }
5158 )
5159;
5160finally {
5161 restoreStackSize(stackSize);
5162}
5163
5164rule__VLSInclude__NamesAssignment_2_1
5165 @init {
5166 int stackSize = keepStackSize();
5167 }
5168:
5169 (
5170 { before(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_1_0()); }
5171 ruleVLSName
5172 { after(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_1_0()); }
5173 )
5174;
5175finally {
5176 restoreStackSize(stackSize);
5177}
5178
5179rule__VLSInclude__NamesAssignment_2_2_1
5180 @init {
5181 int stackSize = keepStackSize();
5182 }
5183:
5184 (
5185 { before(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_2_1_0()); }
5186 ruleVLSName
5187 { after(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_2_1_0()); }
5188 )
5189;
5190finally {
5191 restoreStackSize(stackSize);
5192}
5193
5194rule__VLSName__NameAssignment
5195 @init {
5196 int stackSize = keepStackSize();
5197 }
5198:
5199 (
5200 { before(grammarAccess.getVLSNameAccess().getNameAlternatives_0()); }
5201 (rule__VLSName__NameAlternatives_0)
5202 { after(grammarAccess.getVLSNameAccess().getNameAlternatives_0()); }
5203 )
5204;
5205finally {
5206 restoreStackSize(stackSize);
5207}
5208
5209rule__VLSComment__CommentAssignment
5210 @init {
5211 int stackSize = keepStackSize();
5212 }
5213:
5214 (
5215 { before(grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_0()); }
5216 RULE_SINGLE_COMMENT
5217 { after(grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_0()); }
5218 )
5219;
5220finally {
5221 restoreStackSize(stackSize);
5222}
5223
5224rule__VLSFofFormula__NameAssignment_2
5225 @init {
5226 int stackSize = keepStackSize();
5227 }
5228:
5229 (
5230 { before(grammarAccess.getVLSFofFormulaAccess().getNameAlternatives_2_0()); }
5231 (rule__VLSFofFormula__NameAlternatives_2_0)
5232 { after(grammarAccess.getVLSFofFormulaAccess().getNameAlternatives_2_0()); }
5233 )
5234;
5235finally {
5236 restoreStackSize(stackSize);
5237}
5238
5239rule__VLSFofFormula__FofRoleAssignment_4
5240 @init {
5241 int stackSize = keepStackSize();
5242 }
5243:
5244 (
5245 { before(grammarAccess.getVLSFofFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0()); }
5246 ruleVLSRole
5247 { after(grammarAccess.getVLSFofFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0()); }
5248 )
5249;
5250finally {
5251 restoreStackSize(stackSize);
5252}
5253
5254rule__VLSFofFormula__FofFormulaAssignment_6
5255 @init {
5256 int stackSize = keepStackSize();
5257 }
5258:
5259 (
5260 { before(grammarAccess.getVLSFofFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0()); }
5261 ruleVLSTerm
5262 { after(grammarAccess.getVLSFofFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0()); }
5263 )
5264;
5265finally {
5266 restoreStackSize(stackSize);
5267}
5268
5269rule__VLSFofFormula__AnnotationsAssignment_7_1
5270 @init {
5271 int stackSize = keepStackSize();
5272 }
5273:
5274 (
5275 { before(grammarAccess.getVLSFofFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0()); }
5276 ruleVLSAnnotation
5277 { after(grammarAccess.getVLSFofFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0()); }
5278 )
5279;
5280finally {
5281 restoreStackSize(stackSize);
5282}
5283
5284rule__VLSAnnotation__NameAssignment_1
5285 @init {
5286 int stackSize = keepStackSize();
5287 }
5288:
5289 (
5290 { before(grammarAccess.getVLSAnnotationAccess().getNameAlternatives_1_0()); }
5291 (rule__VLSAnnotation__NameAlternatives_1_0)
5292 { after(grammarAccess.getVLSAnnotationAccess().getNameAlternatives_1_0()); }
5293 )
5294;
5295finally {
5296 restoreStackSize(stackSize);
5297}
5298
5299rule__VLSAnnotation__FollowupAssignment_2_1
5300 @init {
5301 int stackSize = keepStackSize();
5302 }
5303:
5304 (
5305 { before(grammarAccess.getVLSAnnotationAccess().getFollowupVLSAnnotationTermsParserRuleCall_2_1_0()); }
5306 ruleVLSAnnotationTerms
5307 { after(grammarAccess.getVLSAnnotationAccess().getFollowupVLSAnnotationTermsParserRuleCall_2_1_0()); }
5308 )
5309;
5310finally {
5311 restoreStackSize(stackSize);
5312}
5313
5314rule__VLSAnnotationTerms__TermsAssignment_0
5315 @init {
5316 int stackSize = keepStackSize();
5317 }
5318:
5319 (
5320 { before(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_0_0()); }
5321 ruleVLSAnnotation
5322 { after(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_0_0()); }
5323 )
5324;
5325finally {
5326 restoreStackSize(stackSize);
5327}
5328
5329rule__VLSAnnotationTerms__TermsAssignment_1_1
5330 @init {
5331 int stackSize = keepStackSize();
5332 }
5333:
5334 (
5335 { before(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_1_1_0()); }
5336 ruleVLSAnnotation
5337 { after(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_1_1_0()); }
5338 )
5339;
5340finally {
5341 restoreStackSize(stackSize);
5342}
5343
5344rule__VLSBinary__RightAssignment_1_0_1
5345 @init {
5346 int stackSize = keepStackSize();
5347 }
5348:
5349 (
5350 { before(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0()); }
5351 ruleVLSUnitaryFormula
5352 { after(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0()); }
5353 )
5354;
5355finally {
5356 restoreStackSize(stackSize);
5357}
5358
5359rule__VLSBinary__RightAssignment_1_1_2
5360 @init {
5361 int stackSize = keepStackSize();
5362 }
5363:
5364 (
5365 { before(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0()); }
5366 ruleVLSUnitaryFormula
5367 { after(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0()); }
5368 )
5369;
5370finally {
5371 restoreStackSize(stackSize);
5372}
5373
5374rule__VLSBinary__RightAssignment_1_2_2
5375 @init {
5376 int stackSize = keepStackSize();
5377 }
5378:
5379 (
5380 { before(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0()); }
5381 ruleVLSUnitaryFormula
5382 { after(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0()); }
5383 )
5384;
5385finally {
5386 restoreStackSize(stackSize);
5387}
5388
5389rule__VLSUniversalQuantifier__VariablesAssignment_1_2
5390 @init {
5391 int stackSize = keepStackSize();
5392 }
5393:
5394 (
5395 { before(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0()); }
5396 ruleVLSVariable
5397 { after(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0()); }
5398 )
5399;
5400finally {
5401 restoreStackSize(stackSize);
5402}
5403
5404rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1
5405 @init {
5406 int stackSize = keepStackSize();
5407 }
5408:
5409 (
5410 { before(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0()); }
5411 ruleVLSVariable
5412 { after(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0()); }
5413 )
5414;
5415finally {
5416 restoreStackSize(stackSize);
5417}
5418
5419rule__VLSUniversalQuantifier__OperandAssignment_2
5420 @init {
5421 int stackSize = keepStackSize();
5422 }
5423:
5424 (
5425 { before(grammarAccess.getVLSUniversalQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0()); }
5426 ruleVLSUnitaryFormula
5427 { after(grammarAccess.getVLSUniversalQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0()); }
5428 )
5429;
5430finally {
5431 restoreStackSize(stackSize);
5432}
5433
5434rule__VLSExistentialQuantifier__VariablesAssignment_1_2
5435 @init {
5436 int stackSize = keepStackSize();
5437 }
5438:
5439 (
5440 { before(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0()); }
5441 ruleVLSVariable
5442 { after(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0()); }
5443 )
5444;
5445finally {
5446 restoreStackSize(stackSize);
5447}
5448
5449rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1
5450 @init {
5451 int stackSize = keepStackSize();
5452 }
5453:
5454 (
5455 { before(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0()); }
5456 ruleVLSVariable
5457 { after(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0()); }
5458 )
5459;
5460finally {
5461 restoreStackSize(stackSize);
5462}
5463
5464rule__VLSExistentialQuantifier__OperandAssignment_2
5465 @init {
5466 int stackSize = keepStackSize();
5467 }
5468:
5469 (
5470 { before(grammarAccess.getVLSExistentialQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0()); }
5471 ruleVLSUnitaryFormula
5472 { after(grammarAccess.getVLSExistentialQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0()); }
5473 )
5474;
5475finally {
5476 restoreStackSize(stackSize);
5477}
5478
5479rule__VLSUnaryNegation__OperandAssignment_2
5480 @init {
5481 int stackSize = keepStackSize();
5482 }
5483:
5484 (
5485 { before(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0()); }
5486 ruleVLSUnitaryFormula
5487 { after(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0()); }
5488 )
5489;
5490finally {
5491 restoreStackSize(stackSize);
5492}
5493
5494rule__VLSUnaryInfix__RightAssignment_1_1
5495 @init {
5496 int stackSize = keepStackSize();
5497 }
5498:
5499 (
5500 { before(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0()); }
5501 ruleVLSAtomic
5502 { after(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0()); }
5503 )
5504;
5505finally {
5506 restoreStackSize(stackSize);
5507}
5508
5509rule__VLSAtomicConstant__NameAssignment_0_1
5510 @init {
5511 int stackSize = keepStackSize();
5512 }
5513:
5514 (
5515 { before(grammarAccess.getVLSAtomicConstantAccess().getNameAlternatives_0_1_0()); }
5516 (rule__VLSAtomicConstant__NameAlternatives_0_1_0)
5517 { after(grammarAccess.getVLSAtomicConstantAccess().getNameAlternatives_0_1_0()); }
5518 )
5519;
5520finally {
5521 restoreStackSize(stackSize);
5522}
5523
5524rule__VLSAtomicFunction__ConstantAssignment_0_1
5525 @init {
5526 int stackSize = keepStackSize();
5527 }
5528:
5529 (
5530 { before(grammarAccess.getVLSAtomicFunctionAccess().getConstantAlternatives_0_1_0()); }
5531 (rule__VLSAtomicFunction__ConstantAlternatives_0_1_0)
5532 { after(grammarAccess.getVLSAtomicFunctionAccess().getConstantAlternatives_0_1_0()); }
5533 )
5534;
5535finally {
5536 restoreStackSize(stackSize);
5537}
5538
5539rule__VLSAtomicFunction__TermsAssignment_0_2_1
5540 @init {
5541 int stackSize = keepStackSize();
5542 }
5543:
5544 (
5545 { before(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_1_0()); }
5546 ruleVLSFofTerm
5547 { after(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_1_0()); }
5548 )
5549;
5550finally {
5551 restoreStackSize(stackSize);
5552}
5553
5554rule__VLSAtomicFunction__TermsAssignment_0_2_2_1
5555 @init {
5556 int stackSize = keepStackSize();
5557 }
5558:
5559 (
5560 { before(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_2_1_0()); }
5561 ruleVLSFofTerm
5562 { after(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_2_1_0()); }
5563 )
5564;
5565finally {
5566 restoreStackSize(stackSize);
5567}
5568
5569rule__VLSAtomicFunction__NameAssignment_1_1
5570 @init {
5571 int stackSize = keepStackSize();
5572 }
5573:
5574 (
5575 { before(grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0()); }
5576 (
5577 { before(grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0()); }
5578 '$less'
5579 { after(grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0()); }
5580 )
5581 { after(grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0()); }
5582 )
5583;
5584finally {
5585 restoreStackSize(stackSize);
5586}
5587
5588rule__VLSAtomicFunction__TermsAssignment_1_3
5589 @init {
5590 int stackSize = keepStackSize();
5591 }
5592:
5593 (
5594 { before(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_3_0()); }
5595 ruleVLSFofTerm
5596 { after(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_3_0()); }
5597 )
5598;
5599finally {
5600 restoreStackSize(stackSize);
5601}
5602
5603rule__VLSAtomicFunction__TermsAssignment_1_5
5604 @init {
5605 int stackSize = keepStackSize();
5606 }
5607:
5608 (
5609 { before(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_5_0()); }
5610 ruleVLSFofTerm
5611 { after(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_5_0()); }
5612 )
5613;
5614finally {
5615 restoreStackSize(stackSize);
5616}
5617
5618rule__VLSVariable__NameAssignment
5619 @init {
5620 int stackSize = keepStackSize();
5621 }
5622:
5623 (
5624 { before(grammarAccess.getVLSVariableAccess().getNameUPPER_WORD_IDTerminalRuleCall_0()); }
5625 RULE_UPPER_WORD_ID
5626 { after(grammarAccess.getVLSVariableAccess().getNameUPPER_WORD_IDTerminalRuleCall_0()); }
5627 )
5628;
5629finally {
5630 restoreStackSize(stackSize);
5631}
5632
5633rule__VLSFunctionFof__FunctorAssignment_0
5634 @init {
5635 int stackSize = keepStackSize();
5636 }
5637:
5638 (
5639 { before(grammarAccess.getVLSFunctionFofAccess().getFunctorAlternatives_0_0()); }
5640 (rule__VLSFunctionFof__FunctorAlternatives_0_0)
5641 { after(grammarAccess.getVLSFunctionFofAccess().getFunctorAlternatives_0_0()); }
5642 )
5643;
5644finally {
5645 restoreStackSize(stackSize);
5646}
5647
5648rule__VLSFunctionFof__TermsAssignment_1_1
5649 @init {
5650 int stackSize = keepStackSize();
5651 }
5652:
5653 (
5654 { before(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_1_0()); }
5655 ruleVLSFofTerm
5656 { after(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_1_0()); }
5657 )
5658;
5659finally {
5660 restoreStackSize(stackSize);
5661}
5662
5663rule__VLSFunctionFof__TermsAssignment_1_2_1
5664 @init {
5665 int stackSize = keepStackSize();
5666 }
5667:
5668 (
5669 { before(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_2_1_0()); }
5670 ruleVLSFofTerm
5671 { after(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_2_1_0()); }
5672 )
5673;
5674finally {
5675 restoreStackSize(stackSize);
5676}
5677
5678rule__VLSDefinedTerm__ValueAssignment_0_1
5679 @init {
5680 int stackSize = keepStackSize();
5681 }
5682:
5683 (
5684 { before(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_LITERALTerminalRuleCall_0_1_0()); }
5685 RULE_SIGNED_LITERAL
5686 { after(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_LITERALTerminalRuleCall_0_1_0()); }
5687 )
5688;
5689finally {
5690 restoreStackSize(stackSize);
5691}
5692
5693rule__VLSDefinedTerm__ValueAssignment_1_1
5694 @init {
5695 int stackSize = keepStackSize();
5696 }
5697:
5698 (
5699 { before(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0()); }
5700 RULE_SIGNED_REAL_ID
5701 { after(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0()); }
5702 )
5703;
5704finally {
5705 restoreStackSize(stackSize);
5706}
5707
5708rule__VLSDefinedTerm__ValueAssignment_2_1
5709 @init {
5710 int stackSize = keepStackSize();
5711 }
5712:
5713 (
5714 { before(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0()); }
5715 RULE_SIGNED_RAT_ID
5716 { after(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0()); }
5717 )
5718;
5719finally {
5720 restoreStackSize(stackSize);
5721}
5722
5723rule__VLSDefinedTerm__ValueAssignment_3_1
5724 @init {
5725 int stackSize = keepStackSize();
5726 }
5727:
5728 (
5729 { before(grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_3_1_0()); }
5730 RULE_DOUBLE_QUOTE
5731 { after(grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_3_1_0()); }
5732 )
5733;
5734finally {
5735 restoreStackSize(stackSize);
5736}
5737
5738fragment RULE_ALPHA_NUMERIC : ('a'..'z'|'A'..'Z'|'0'..'9'|'_');
5739
5740RULE_UPPER_WORD_ID : 'A'..'Z' RULE_ALPHA_NUMERIC*;
5741
5742RULE_LOWER_WORD_ID : 'a'..'z' RULE_ALPHA_NUMERIC*;
5743
5744RULE_DOUBLE_QUOTE : '"' ('\\' ('"'|'\\')|~(('\\'|'"')))* '"';
5745
5746RULE_SINGLE_QUOTE : '\'' ('\\' ('\''|'\\')|~(('\\'|'\'')))+ '\'';
5747
5748fragment RULE_SIGN : ('+'|'-');
5749
5750RULE_DOLLAR_ID : '$' RULE_LOWER_WORD_ID;
5751
5752RULE_DOUBLE_DOLLAR_ID : '$$' RULE_LOWER_WORD_ID;
5753
5754RULE_LITERAL : ('0'|'1'..'9' RULE_INT?);
5755
5756RULE_SIGNED_LITERAL : RULE_SIGN* RULE_LITERAL;
5757
5758fragment RULE_UNSIGNED_REAL_FRAC_ID : RULE_LITERAL '.' RULE_INT;
5759
5760fragment RULE_UNSIGNED_REAL_EXP_ID : (RULE_LITERAL|RULE_UNSIGNED_REAL_FRAC_ID) 'Ee' RULE_SIGN* RULE_INT;
5761
5762RULE_SIGNED_REAL_ID : RULE_SIGN* (RULE_UNSIGNED_REAL_FRAC_ID|RULE_UNSIGNED_REAL_EXP_ID);
5763
5764fragment RULE_UNSIGNED_RAT_ID : RULE_LITERAL '/' '1'..'9' RULE_INT?;
5765
5766RULE_SIGNED_RAT_ID : RULE_SIGN* RULE_UNSIGNED_RAT_ID;
5767
5768fragment RULE_ANY_OTHER : '%' ~(('\n'|'\r'))* '\r';
5769
5770RULE_SINGLE_COMMENT : RULE_ANY_OTHER;
5771
5772RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
5773
5774fragment RULE_INT : ('0'..'9')+;
5775
5776RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
5777
5778RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
5779
5780RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
5781
5782RULE_WS : (' '|'\t'|'\r'|'\n')+;
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguage.tokens b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguage.tokens
new file mode 100644
index 00000000..72d5159d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguage.tokens
@@ -0,0 +1,107 @@
1'!'=59
2'!='=63
3'$false'=67
4'$less'=68
5'$true'=66
6'&'=57
7'('=47
8')'=48
9','=45
10',['=43
11'.'=49
12':'=60
13':='=65
14'<='=53
15'<=>'=51
16'<~>'=54
17'='=64
18'=>'=52
19'?'=61
20'['=50
21']'=44
22'assumption'=31
23'axiom'=27
24'conjecture'=28
25'corollary'=34
26'definition'=30
27'fi_domain'=38
28'fi_functors'=39
29'fi_predicates'=40
30'fof'=46
31'hypothesis'=29
32'include('=42
33'lemma'=32
34'negated_conjecture'=35
35'plain'=36
36'theorem'=33
37'type'=37
38'unknown'=41
39'|'=58
40'~&'=56
41'~'=62
42'~|'=55
43RULE_ALPHA_NUMERIC=15
44RULE_ANY_OTHER=21
45RULE_DOLLAR_ID=8
46RULE_DOUBLE_DOLLAR_ID=9
47RULE_DOUBLE_QUOTE=14
48RULE_ID=22
49RULE_INT=17
50RULE_LITERAL=6
51RULE_LOWER_WORD_ID=4
52RULE_ML_COMMENT=24
53RULE_SIGN=16
54RULE_SIGNED_LITERAL=7
55RULE_SIGNED_RAT_ID=13
56RULE_SIGNED_REAL_ID=12
57RULE_SINGLE_COMMENT=10
58RULE_SINGLE_QUOTE=5
59RULE_SL_COMMENT=25
60RULE_STRING=23
61RULE_UNSIGNED_RAT_ID=20
62RULE_UNSIGNED_REAL_EXP_ID=19
63RULE_UNSIGNED_REAL_FRAC_ID=18
64RULE_UPPER_WORD_ID=11
65RULE_WS=26
66T__27=27
67T__28=28
68T__29=29
69T__30=30
70T__31=31
71T__32=32
72T__33=33
73T__34=34
74T__35=35
75T__36=36
76T__37=37
77T__38=38
78T__39=39
79T__40=40
80T__41=41
81T__42=42
82T__43=43
83T__44=44
84T__45=45
85T__46=46
86T__47=47
87T__48=48
88T__49=49
89T__50=50
90T__51=51
91T__52=52
92T__53=53
93T__54=54
94T__55=55
95T__56=56
96T__57=57
97T__58=58
98T__59=59
99T__60=60
100T__61=61
101T__62=62
102T__63=63
103T__64=64
104T__65=65
105T__66=66
106T__67=67
107T__68=68
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguageLexer.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguageLexer.java
new file mode 100644
index 00000000..dd053b21
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguageLexer.java
@@ -0,0 +1,3100 @@
1package ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.internal;
2
3// Hack: Use our own Lexer superclass by means of import.
4// Currently there is no other way to specify the superclass for the lexer.
5import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
6
7
8import org.antlr.runtime.*;
9import java.util.Stack;
10import java.util.List;
11import java.util.ArrayList;
12
13@SuppressWarnings("all")
14public class InternalVampireLanguageLexer extends Lexer {
15 public static final int RULE_UNSIGNED_RAT_ID=20;
16 public static final int T__50=50;
17 public static final int RULE_SIGN=16;
18 public static final int T__59=59;
19 public static final int RULE_SIGNED_LITERAL=7;
20 public static final int T__55=55;
21 public static final int T__56=56;
22 public static final int T__57=57;
23 public static final int T__58=58;
24 public static final int T__51=51;
25 public static final int RULE_DOUBLE_QUOTE=14;
26 public static final int T__52=52;
27 public static final int RULE_LITERAL=6;
28 public static final int T__53=53;
29 public static final int RULE_UNSIGNED_REAL_FRAC_ID=18;
30 public static final int T__54=54;
31 public static final int T__60=60;
32 public static final int T__61=61;
33 public static final int RULE_ID=22;
34 public static final int RULE_SINGLE_QUOTE=5;
35 public static final int RULE_SINGLE_COMMENT=10;
36 public static final int T__27=27;
37 public static final int T__28=28;
38 public static final int RULE_INT=17;
39 public static final int T__29=29;
40 public static final int T__66=66;
41 public static final int RULE_ML_COMMENT=24;
42 public static final int T__67=67;
43 public static final int RULE_SIGNED_RAT_ID=13;
44 public static final int T__68=68;
45 public static final int T__62=62;
46 public static final int T__63=63;
47 public static final int T__64=64;
48 public static final int T__65=65;
49 public static final int RULE_LOWER_WORD_ID=4;
50 public static final int RULE_STRING=23;
51 public static final int RULE_SL_COMMENT=25;
52 public static final int T__37=37;
53 public static final int T__38=38;
54 public static final int T__39=39;
55 public static final int T__33=33;
56 public static final int T__34=34;
57 public static final int T__35=35;
58 public static final int T__36=36;
59 public static final int EOF=-1;
60 public static final int T__30=30;
61 public static final int RULE_UNSIGNED_REAL_EXP_ID=19;
62 public static final int T__31=31;
63 public static final int T__32=32;
64 public static final int RULE_UPPER_WORD_ID=11;
65 public static final int RULE_WS=26;
66 public static final int RULE_DOLLAR_ID=8;
67 public static final int RULE_ALPHA_NUMERIC=15;
68 public static final int RULE_ANY_OTHER=21;
69 public static final int RULE_DOUBLE_DOLLAR_ID=9;
70 public static final int T__48=48;
71 public static final int T__49=49;
72 public static final int T__44=44;
73 public static final int T__45=45;
74 public static final int RULE_SIGNED_REAL_ID=12;
75 public static final int T__46=46;
76 public static final int T__47=47;
77 public static final int T__40=40;
78 public static final int T__41=41;
79 public static final int T__42=42;
80 public static final int T__43=43;
81
82 // delegates
83 // delegators
84
85 public InternalVampireLanguageLexer() {;}
86 public InternalVampireLanguageLexer(CharStream input) {
87 this(input, new RecognizerSharedState());
88 }
89 public InternalVampireLanguageLexer(CharStream input, RecognizerSharedState state) {
90 super(input,state);
91
92 }
93 public String getGrammarFileName() { return "InternalVampireLanguage.g"; }
94
95 // $ANTLR start "T__27"
96 public final void mT__27() throws RecognitionException {
97 try {
98 int _type = T__27;
99 int _channel = DEFAULT_TOKEN_CHANNEL;
100 // InternalVampireLanguage.g:11:7: ( 'axiom' )
101 // InternalVampireLanguage.g:11:9: 'axiom'
102 {
103 match("axiom");
104
105
106 }
107
108 state.type = _type;
109 state.channel = _channel;
110 }
111 finally {
112 }
113 }
114 // $ANTLR end "T__27"
115
116 // $ANTLR start "T__28"
117 public final void mT__28() throws RecognitionException {
118 try {
119 int _type = T__28;
120 int _channel = DEFAULT_TOKEN_CHANNEL;
121 // InternalVampireLanguage.g:12:7: ( 'conjecture' )
122 // InternalVampireLanguage.g:12:9: 'conjecture'
123 {
124 match("conjecture");
125
126
127 }
128
129 state.type = _type;
130 state.channel = _channel;
131 }
132 finally {
133 }
134 }
135 // $ANTLR end "T__28"
136
137 // $ANTLR start "T__29"
138 public final void mT__29() throws RecognitionException {
139 try {
140 int _type = T__29;
141 int _channel = DEFAULT_TOKEN_CHANNEL;
142 // InternalVampireLanguage.g:13:7: ( 'hypothesis' )
143 // InternalVampireLanguage.g:13:9: 'hypothesis'
144 {
145 match("hypothesis");
146
147
148 }
149
150 state.type = _type;
151 state.channel = _channel;
152 }
153 finally {
154 }
155 }
156 // $ANTLR end "T__29"
157
158 // $ANTLR start "T__30"
159 public final void mT__30() throws RecognitionException {
160 try {
161 int _type = T__30;
162 int _channel = DEFAULT_TOKEN_CHANNEL;
163 // InternalVampireLanguage.g:14:7: ( 'definition' )
164 // InternalVampireLanguage.g:14:9: 'definition'
165 {
166 match("definition");
167
168
169 }
170
171 state.type = _type;
172 state.channel = _channel;
173 }
174 finally {
175 }
176 }
177 // $ANTLR end "T__30"
178
179 // $ANTLR start "T__31"
180 public final void mT__31() throws RecognitionException {
181 try {
182 int _type = T__31;
183 int _channel = DEFAULT_TOKEN_CHANNEL;
184 // InternalVampireLanguage.g:15:7: ( 'assumption' )
185 // InternalVampireLanguage.g:15:9: 'assumption'
186 {
187 match("assumption");
188
189
190 }
191
192 state.type = _type;
193 state.channel = _channel;
194 }
195 finally {
196 }
197 }
198 // $ANTLR end "T__31"
199
200 // $ANTLR start "T__32"
201 public final void mT__32() throws RecognitionException {
202 try {
203 int _type = T__32;
204 int _channel = DEFAULT_TOKEN_CHANNEL;
205 // InternalVampireLanguage.g:16:7: ( 'lemma' )
206 // InternalVampireLanguage.g:16:9: 'lemma'
207 {
208 match("lemma");
209
210
211 }
212
213 state.type = _type;
214 state.channel = _channel;
215 }
216 finally {
217 }
218 }
219 // $ANTLR end "T__32"
220
221 // $ANTLR start "T__33"
222 public final void mT__33() throws RecognitionException {
223 try {
224 int _type = T__33;
225 int _channel = DEFAULT_TOKEN_CHANNEL;
226 // InternalVampireLanguage.g:17:7: ( 'theorem' )
227 // InternalVampireLanguage.g:17:9: 'theorem'
228 {
229 match("theorem");
230
231
232 }
233
234 state.type = _type;
235 state.channel = _channel;
236 }
237 finally {
238 }
239 }
240 // $ANTLR end "T__33"
241
242 // $ANTLR start "T__34"
243 public final void mT__34() throws RecognitionException {
244 try {
245 int _type = T__34;
246 int _channel = DEFAULT_TOKEN_CHANNEL;
247 // InternalVampireLanguage.g:18:7: ( 'corollary' )
248 // InternalVampireLanguage.g:18:9: 'corollary'
249 {
250 match("corollary");
251
252
253 }
254
255 state.type = _type;
256 state.channel = _channel;
257 }
258 finally {
259 }
260 }
261 // $ANTLR end "T__34"
262
263 // $ANTLR start "T__35"
264 public final void mT__35() throws RecognitionException {
265 try {
266 int _type = T__35;
267 int _channel = DEFAULT_TOKEN_CHANNEL;
268 // InternalVampireLanguage.g:19:7: ( 'negated_conjecture' )
269 // InternalVampireLanguage.g:19:9: 'negated_conjecture'
270 {
271 match("negated_conjecture");
272
273
274 }
275
276 state.type = _type;
277 state.channel = _channel;
278 }
279 finally {
280 }
281 }
282 // $ANTLR end "T__35"
283
284 // $ANTLR start "T__36"
285 public final void mT__36() throws RecognitionException {
286 try {
287 int _type = T__36;
288 int _channel = DEFAULT_TOKEN_CHANNEL;
289 // InternalVampireLanguage.g:20:7: ( 'plain' )
290 // InternalVampireLanguage.g:20:9: 'plain'
291 {
292 match("plain");
293
294
295 }
296
297 state.type = _type;
298 state.channel = _channel;
299 }
300 finally {
301 }
302 }
303 // $ANTLR end "T__36"
304
305 // $ANTLR start "T__37"
306 public final void mT__37() throws RecognitionException {
307 try {
308 int _type = T__37;
309 int _channel = DEFAULT_TOKEN_CHANNEL;
310 // InternalVampireLanguage.g:21:7: ( 'type' )
311 // InternalVampireLanguage.g:21:9: 'type'
312 {
313 match("type");
314
315
316 }
317
318 state.type = _type;
319 state.channel = _channel;
320 }
321 finally {
322 }
323 }
324 // $ANTLR end "T__37"
325
326 // $ANTLR start "T__38"
327 public final void mT__38() throws RecognitionException {
328 try {
329 int _type = T__38;
330 int _channel = DEFAULT_TOKEN_CHANNEL;
331 // InternalVampireLanguage.g:22:7: ( 'fi_domain' )
332 // InternalVampireLanguage.g:22:9: 'fi_domain'
333 {
334 match("fi_domain");
335
336
337 }
338
339 state.type = _type;
340 state.channel = _channel;
341 }
342 finally {
343 }
344 }
345 // $ANTLR end "T__38"
346
347 // $ANTLR start "T__39"
348 public final void mT__39() throws RecognitionException {
349 try {
350 int _type = T__39;
351 int _channel = DEFAULT_TOKEN_CHANNEL;
352 // InternalVampireLanguage.g:23:7: ( 'fi_functors' )
353 // InternalVampireLanguage.g:23:9: 'fi_functors'
354 {
355 match("fi_functors");
356
357
358 }
359
360 state.type = _type;
361 state.channel = _channel;
362 }
363 finally {
364 }
365 }
366 // $ANTLR end "T__39"
367
368 // $ANTLR start "T__40"
369 public final void mT__40() throws RecognitionException {
370 try {
371 int _type = T__40;
372 int _channel = DEFAULT_TOKEN_CHANNEL;
373 // InternalVampireLanguage.g:24:7: ( 'fi_predicates' )
374 // InternalVampireLanguage.g:24:9: 'fi_predicates'
375 {
376 match("fi_predicates");
377
378
379 }
380
381 state.type = _type;
382 state.channel = _channel;
383 }
384 finally {
385 }
386 }
387 // $ANTLR end "T__40"
388
389 // $ANTLR start "T__41"
390 public final void mT__41() throws RecognitionException {
391 try {
392 int _type = T__41;
393 int _channel = DEFAULT_TOKEN_CHANNEL;
394 // InternalVampireLanguage.g:25:7: ( 'unknown' )
395 // InternalVampireLanguage.g:25:9: 'unknown'
396 {
397 match("unknown");
398
399
400 }
401
402 state.type = _type;
403 state.channel = _channel;
404 }
405 finally {
406 }
407 }
408 // $ANTLR end "T__41"
409
410 // $ANTLR start "T__42"
411 public final void mT__42() throws RecognitionException {
412 try {
413 int _type = T__42;
414 int _channel = DEFAULT_TOKEN_CHANNEL;
415 // InternalVampireLanguage.g:26:7: ( 'include(' )
416 // InternalVampireLanguage.g:26:9: 'include('
417 {
418 match("include(");
419
420
421 }
422
423 state.type = _type;
424 state.channel = _channel;
425 }
426 finally {
427 }
428 }
429 // $ANTLR end "T__42"
430
431 // $ANTLR start "T__43"
432 public final void mT__43() throws RecognitionException {
433 try {
434 int _type = T__43;
435 int _channel = DEFAULT_TOKEN_CHANNEL;
436 // InternalVampireLanguage.g:27:7: ( ',[' )
437 // InternalVampireLanguage.g:27:9: ',['
438 {
439 match(",[");
440
441
442 }
443
444 state.type = _type;
445 state.channel = _channel;
446 }
447 finally {
448 }
449 }
450 // $ANTLR end "T__43"
451
452 // $ANTLR start "T__44"
453 public final void mT__44() throws RecognitionException {
454 try {
455 int _type = T__44;
456 int _channel = DEFAULT_TOKEN_CHANNEL;
457 // InternalVampireLanguage.g:28:7: ( ']' )
458 // InternalVampireLanguage.g:28:9: ']'
459 {
460 match(']');
461
462 }
463
464 state.type = _type;
465 state.channel = _channel;
466 }
467 finally {
468 }
469 }
470 // $ANTLR end "T__44"
471
472 // $ANTLR start "T__45"
473 public final void mT__45() throws RecognitionException {
474 try {
475 int _type = T__45;
476 int _channel = DEFAULT_TOKEN_CHANNEL;
477 // InternalVampireLanguage.g:29:7: ( ',' )
478 // InternalVampireLanguage.g:29:9: ','
479 {
480 match(',');
481
482 }
483
484 state.type = _type;
485 state.channel = _channel;
486 }
487 finally {
488 }
489 }
490 // $ANTLR end "T__45"
491
492 // $ANTLR start "T__46"
493 public final void mT__46() throws RecognitionException {
494 try {
495 int _type = T__46;
496 int _channel = DEFAULT_TOKEN_CHANNEL;
497 // InternalVampireLanguage.g:30:7: ( 'fof' )
498 // InternalVampireLanguage.g:30:9: 'fof'
499 {
500 match("fof");
501
502
503 }
504
505 state.type = _type;
506 state.channel = _channel;
507 }
508 finally {
509 }
510 }
511 // $ANTLR end "T__46"
512
513 // $ANTLR start "T__47"
514 public final void mT__47() throws RecognitionException {
515 try {
516 int _type = T__47;
517 int _channel = DEFAULT_TOKEN_CHANNEL;
518 // InternalVampireLanguage.g:31:7: ( '(' )
519 // InternalVampireLanguage.g:31:9: '('
520 {
521 match('(');
522
523 }
524
525 state.type = _type;
526 state.channel = _channel;
527 }
528 finally {
529 }
530 }
531 // $ANTLR end "T__47"
532
533 // $ANTLR start "T__48"
534 public final void mT__48() throws RecognitionException {
535 try {
536 int _type = T__48;
537 int _channel = DEFAULT_TOKEN_CHANNEL;
538 // InternalVampireLanguage.g:32:7: ( ')' )
539 // InternalVampireLanguage.g:32:9: ')'
540 {
541 match(')');
542
543 }
544
545 state.type = _type;
546 state.channel = _channel;
547 }
548 finally {
549 }
550 }
551 // $ANTLR end "T__48"
552
553 // $ANTLR start "T__49"
554 public final void mT__49() throws RecognitionException {
555 try {
556 int _type = T__49;
557 int _channel = DEFAULT_TOKEN_CHANNEL;
558 // InternalVampireLanguage.g:33:7: ( '.' )
559 // InternalVampireLanguage.g:33:9: '.'
560 {
561 match('.');
562
563 }
564
565 state.type = _type;
566 state.channel = _channel;
567 }
568 finally {
569 }
570 }
571 // $ANTLR end "T__49"
572
573 // $ANTLR start "T__50"
574 public final void mT__50() throws RecognitionException {
575 try {
576 int _type = T__50;
577 int _channel = DEFAULT_TOKEN_CHANNEL;
578 // InternalVampireLanguage.g:34:7: ( '[' )
579 // InternalVampireLanguage.g:34:9: '['
580 {
581 match('[');
582
583 }
584
585 state.type = _type;
586 state.channel = _channel;
587 }
588 finally {
589 }
590 }
591 // $ANTLR end "T__50"
592
593 // $ANTLR start "T__51"
594 public final void mT__51() throws RecognitionException {
595 try {
596 int _type = T__51;
597 int _channel = DEFAULT_TOKEN_CHANNEL;
598 // InternalVampireLanguage.g:35:7: ( '<=>' )
599 // InternalVampireLanguage.g:35:9: '<=>'
600 {
601 match("<=>");
602
603
604 }
605
606 state.type = _type;
607 state.channel = _channel;
608 }
609 finally {
610 }
611 }
612 // $ANTLR end "T__51"
613
614 // $ANTLR start "T__52"
615 public final void mT__52() throws RecognitionException {
616 try {
617 int _type = T__52;
618 int _channel = DEFAULT_TOKEN_CHANNEL;
619 // InternalVampireLanguage.g:36:7: ( '=>' )
620 // InternalVampireLanguage.g:36:9: '=>'
621 {
622 match("=>");
623
624
625 }
626
627 state.type = _type;
628 state.channel = _channel;
629 }
630 finally {
631 }
632 }
633 // $ANTLR end "T__52"
634
635 // $ANTLR start "T__53"
636 public final void mT__53() throws RecognitionException {
637 try {
638 int _type = T__53;
639 int _channel = DEFAULT_TOKEN_CHANNEL;
640 // InternalVampireLanguage.g:37:7: ( '<=' )
641 // InternalVampireLanguage.g:37:9: '<='
642 {
643 match("<=");
644
645
646 }
647
648 state.type = _type;
649 state.channel = _channel;
650 }
651 finally {
652 }
653 }
654 // $ANTLR end "T__53"
655
656 // $ANTLR start "T__54"
657 public final void mT__54() throws RecognitionException {
658 try {
659 int _type = T__54;
660 int _channel = DEFAULT_TOKEN_CHANNEL;
661 // InternalVampireLanguage.g:38:7: ( '<~>' )
662 // InternalVampireLanguage.g:38:9: '<~>'
663 {
664 match("<~>");
665
666
667 }
668
669 state.type = _type;
670 state.channel = _channel;
671 }
672 finally {
673 }
674 }
675 // $ANTLR end "T__54"
676
677 // $ANTLR start "T__55"
678 public final void mT__55() throws RecognitionException {
679 try {
680 int _type = T__55;
681 int _channel = DEFAULT_TOKEN_CHANNEL;
682 // InternalVampireLanguage.g:39:7: ( '~|' )
683 // InternalVampireLanguage.g:39:9: '~|'
684 {
685 match("~|");
686
687
688 }
689
690 state.type = _type;
691 state.channel = _channel;
692 }
693 finally {
694 }
695 }
696 // $ANTLR end "T__55"
697
698 // $ANTLR start "T__56"
699 public final void mT__56() throws RecognitionException {
700 try {
701 int _type = T__56;
702 int _channel = DEFAULT_TOKEN_CHANNEL;
703 // InternalVampireLanguage.g:40:7: ( '~&' )
704 // InternalVampireLanguage.g:40:9: '~&'
705 {
706 match("~&");
707
708
709 }
710
711 state.type = _type;
712 state.channel = _channel;
713 }
714 finally {
715 }
716 }
717 // $ANTLR end "T__56"
718
719 // $ANTLR start "T__57"
720 public final void mT__57() throws RecognitionException {
721 try {
722 int _type = T__57;
723 int _channel = DEFAULT_TOKEN_CHANNEL;
724 // InternalVampireLanguage.g:41:7: ( '&' )
725 // InternalVampireLanguage.g:41:9: '&'
726 {
727 match('&');
728
729 }
730
731 state.type = _type;
732 state.channel = _channel;
733 }
734 finally {
735 }
736 }
737 // $ANTLR end "T__57"
738
739 // $ANTLR start "T__58"
740 public final void mT__58() throws RecognitionException {
741 try {
742 int _type = T__58;
743 int _channel = DEFAULT_TOKEN_CHANNEL;
744 // InternalVampireLanguage.g:42:7: ( '|' )
745 // InternalVampireLanguage.g:42:9: '|'
746 {
747 match('|');
748
749 }
750
751 state.type = _type;
752 state.channel = _channel;
753 }
754 finally {
755 }
756 }
757 // $ANTLR end "T__58"
758
759 // $ANTLR start "T__59"
760 public final void mT__59() throws RecognitionException {
761 try {
762 int _type = T__59;
763 int _channel = DEFAULT_TOKEN_CHANNEL;
764 // InternalVampireLanguage.g:43:7: ( '!' )
765 // InternalVampireLanguage.g:43:9: '!'
766 {
767 match('!');
768
769 }
770
771 state.type = _type;
772 state.channel = _channel;
773 }
774 finally {
775 }
776 }
777 // $ANTLR end "T__59"
778
779 // $ANTLR start "T__60"
780 public final void mT__60() throws RecognitionException {
781 try {
782 int _type = T__60;
783 int _channel = DEFAULT_TOKEN_CHANNEL;
784 // InternalVampireLanguage.g:44:7: ( ':' )
785 // InternalVampireLanguage.g:44:9: ':'
786 {
787 match(':');
788
789 }
790
791 state.type = _type;
792 state.channel = _channel;
793 }
794 finally {
795 }
796 }
797 // $ANTLR end "T__60"
798
799 // $ANTLR start "T__61"
800 public final void mT__61() throws RecognitionException {
801 try {
802 int _type = T__61;
803 int _channel = DEFAULT_TOKEN_CHANNEL;
804 // InternalVampireLanguage.g:45:7: ( '?' )
805 // InternalVampireLanguage.g:45:9: '?'
806 {
807 match('?');
808
809 }
810
811 state.type = _type;
812 state.channel = _channel;
813 }
814 finally {
815 }
816 }
817 // $ANTLR end "T__61"
818
819 // $ANTLR start "T__62"
820 public final void mT__62() throws RecognitionException {
821 try {
822 int _type = T__62;
823 int _channel = DEFAULT_TOKEN_CHANNEL;
824 // InternalVampireLanguage.g:46:7: ( '~' )
825 // InternalVampireLanguage.g:46:9: '~'
826 {
827 match('~');
828
829 }
830
831 state.type = _type;
832 state.channel = _channel;
833 }
834 finally {
835 }
836 }
837 // $ANTLR end "T__62"
838
839 // $ANTLR start "T__63"
840 public final void mT__63() throws RecognitionException {
841 try {
842 int _type = T__63;
843 int _channel = DEFAULT_TOKEN_CHANNEL;
844 // InternalVampireLanguage.g:47:7: ( '!=' )
845 // InternalVampireLanguage.g:47:9: '!='
846 {
847 match("!=");
848
849
850 }
851
852 state.type = _type;
853 state.channel = _channel;
854 }
855 finally {
856 }
857 }
858 // $ANTLR end "T__63"
859
860 // $ANTLR start "T__64"
861 public final void mT__64() throws RecognitionException {
862 try {
863 int _type = T__64;
864 int _channel = DEFAULT_TOKEN_CHANNEL;
865 // InternalVampireLanguage.g:48:7: ( '=' )
866 // InternalVampireLanguage.g:48:9: '='
867 {
868 match('=');
869
870 }
871
872 state.type = _type;
873 state.channel = _channel;
874 }
875 finally {
876 }
877 }
878 // $ANTLR end "T__64"
879
880 // $ANTLR start "T__65"
881 public final void mT__65() throws RecognitionException {
882 try {
883 int _type = T__65;
884 int _channel = DEFAULT_TOKEN_CHANNEL;
885 // InternalVampireLanguage.g:49:7: ( ':=' )
886 // InternalVampireLanguage.g:49:9: ':='
887 {
888 match(":=");
889
890
891 }
892
893 state.type = _type;
894 state.channel = _channel;
895 }
896 finally {
897 }
898 }
899 // $ANTLR end "T__65"
900
901 // $ANTLR start "T__66"
902 public final void mT__66() throws RecognitionException {
903 try {
904 int _type = T__66;
905 int _channel = DEFAULT_TOKEN_CHANNEL;
906 // InternalVampireLanguage.g:50:7: ( '$true' )
907 // InternalVampireLanguage.g:50:9: '$true'
908 {
909 match("$true");
910
911
912 }
913
914 state.type = _type;
915 state.channel = _channel;
916 }
917 finally {
918 }
919 }
920 // $ANTLR end "T__66"
921
922 // $ANTLR start "T__67"
923 public final void mT__67() throws RecognitionException {
924 try {
925 int _type = T__67;
926 int _channel = DEFAULT_TOKEN_CHANNEL;
927 // InternalVampireLanguage.g:51:7: ( '$false' )
928 // InternalVampireLanguage.g:51:9: '$false'
929 {
930 match("$false");
931
932
933 }
934
935 state.type = _type;
936 state.channel = _channel;
937 }
938 finally {
939 }
940 }
941 // $ANTLR end "T__67"
942
943 // $ANTLR start "T__68"
944 public final void mT__68() throws RecognitionException {
945 try {
946 int _type = T__68;
947 int _channel = DEFAULT_TOKEN_CHANNEL;
948 // InternalVampireLanguage.g:52:7: ( '$less' )
949 // InternalVampireLanguage.g:52:9: '$less'
950 {
951 match("$less");
952
953
954 }
955
956 state.type = _type;
957 state.channel = _channel;
958 }
959 finally {
960 }
961 }
962 // $ANTLR end "T__68"
963
964 // $ANTLR start "RULE_ALPHA_NUMERIC"
965 public final void mRULE_ALPHA_NUMERIC() throws RecognitionException {
966 try {
967 // InternalVampireLanguage.g:5738:29: ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' ) )
968 // InternalVampireLanguage.g:5738:31: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )
969 {
970 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
971 input.consume();
972
973 }
974 else {
975 MismatchedSetException mse = new MismatchedSetException(null,input);
976 recover(mse);
977 throw mse;}
978
979
980 }
981
982 }
983 finally {
984 }
985 }
986 // $ANTLR end "RULE_ALPHA_NUMERIC"
987
988 // $ANTLR start "RULE_UPPER_WORD_ID"
989 public final void mRULE_UPPER_WORD_ID() throws RecognitionException {
990 try {
991 int _type = RULE_UPPER_WORD_ID;
992 int _channel = DEFAULT_TOKEN_CHANNEL;
993 // InternalVampireLanguage.g:5740:20: ( 'A' .. 'Z' ( RULE_ALPHA_NUMERIC )* )
994 // InternalVampireLanguage.g:5740:22: 'A' .. 'Z' ( RULE_ALPHA_NUMERIC )*
995 {
996 matchRange('A','Z');
997 // InternalVampireLanguage.g:5740:31: ( RULE_ALPHA_NUMERIC )*
998 loop1:
999 do {
1000 int alt1=2;
1001 int LA1_0 = input.LA(1);
1002
1003 if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) {
1004 alt1=1;
1005 }
1006
1007
1008 switch (alt1) {
1009 case 1 :
1010 // InternalVampireLanguage.g:5740:31: RULE_ALPHA_NUMERIC
1011 {
1012 mRULE_ALPHA_NUMERIC();
1013
1014 }
1015 break;
1016
1017 default :
1018 break loop1;
1019 }
1020 } while (true);
1021
1022
1023 }
1024
1025 state.type = _type;
1026 state.channel = _channel;
1027 }
1028 finally {
1029 }
1030 }
1031 // $ANTLR end "RULE_UPPER_WORD_ID"
1032
1033 // $ANTLR start "RULE_LOWER_WORD_ID"
1034 public final void mRULE_LOWER_WORD_ID() throws RecognitionException {
1035 try {
1036 int _type = RULE_LOWER_WORD_ID;
1037 int _channel = DEFAULT_TOKEN_CHANNEL;
1038 // InternalVampireLanguage.g:5742:20: ( 'a' .. 'z' ( RULE_ALPHA_NUMERIC )* )
1039 // InternalVampireLanguage.g:5742:22: 'a' .. 'z' ( RULE_ALPHA_NUMERIC )*
1040 {
1041 matchRange('a','z');
1042 // InternalVampireLanguage.g:5742:31: ( RULE_ALPHA_NUMERIC )*
1043 loop2:
1044 do {
1045 int alt2=2;
1046 int LA2_0 = input.LA(1);
1047
1048 if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
1049 alt2=1;
1050 }
1051
1052
1053 switch (alt2) {
1054 case 1 :
1055 // InternalVampireLanguage.g:5742:31: RULE_ALPHA_NUMERIC
1056 {
1057 mRULE_ALPHA_NUMERIC();
1058
1059 }
1060 break;
1061
1062 default :
1063 break loop2;
1064 }
1065 } while (true);
1066
1067
1068 }
1069
1070 state.type = _type;
1071 state.channel = _channel;
1072 }
1073 finally {
1074 }
1075 }
1076 // $ANTLR end "RULE_LOWER_WORD_ID"
1077
1078 // $ANTLR start "RULE_DOUBLE_QUOTE"
1079 public final void mRULE_DOUBLE_QUOTE() throws RecognitionException {
1080 try {
1081 int _type = RULE_DOUBLE_QUOTE;
1082 int _channel = DEFAULT_TOKEN_CHANNEL;
1083 // InternalVampireLanguage.g:5744:19: ( '\"' ( '\\\\' ( '\"' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
1084 // InternalVampireLanguage.g:5744:21: '\"' ( '\\\\' ( '\"' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1085 {
1086 match('\"');
1087 // InternalVampireLanguage.g:5744:25: ( '\\\\' ( '\"' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
1088 loop3:
1089 do {
1090 int alt3=3;
1091 int LA3_0 = input.LA(1);
1092
1093 if ( (LA3_0=='\\') ) {
1094 alt3=1;
1095 }
1096 else if ( ((LA3_0>='\u0000' && LA3_0<='!')||(LA3_0>='#' && LA3_0<='[')||(LA3_0>=']' && LA3_0<='\uFFFF')) ) {
1097 alt3=2;
1098 }
1099
1100
1101 switch (alt3) {
1102 case 1 :
1103 // InternalVampireLanguage.g:5744:26: '\\\\' ( '\"' | '\\\\' )
1104 {
1105 match('\\');
1106 if ( input.LA(1)=='\"'||input.LA(1)=='\\' ) {
1107 input.consume();
1108
1109 }
1110 else {
1111 MismatchedSetException mse = new MismatchedSetException(null,input);
1112 recover(mse);
1113 throw mse;}
1114
1115
1116 }
1117 break;
1118 case 2 :
1119 // InternalVampireLanguage.g:5744:42: ~ ( ( '\\\\' | '\"' ) )
1120 {
1121 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1122 input.consume();
1123
1124 }
1125 else {
1126 MismatchedSetException mse = new MismatchedSetException(null,input);
1127 recover(mse);
1128 throw mse;}
1129
1130
1131 }
1132 break;
1133
1134 default :
1135 break loop3;
1136 }
1137 } while (true);
1138
1139 match('\"');
1140
1141 }
1142
1143 state.type = _type;
1144 state.channel = _channel;
1145 }
1146 finally {
1147 }
1148 }
1149 // $ANTLR end "RULE_DOUBLE_QUOTE"
1150
1151 // $ANTLR start "RULE_SINGLE_QUOTE"
1152 public final void mRULE_SINGLE_QUOTE() throws RecognitionException {
1153 try {
1154 int _type = RULE_SINGLE_QUOTE;
1155 int _channel = DEFAULT_TOKEN_CHANNEL;
1156 // InternalVampireLanguage.g:5746:19: ( '\\'' ( '\\\\' ( '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )+ '\\'' )
1157 // InternalVampireLanguage.g:5746:21: '\\'' ( '\\\\' ( '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )+ '\\''
1158 {
1159 match('\'');
1160 // InternalVampireLanguage.g:5746:26: ( '\\\\' ( '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )+
1161 int cnt4=0;
1162 loop4:
1163 do {
1164 int alt4=3;
1165 int LA4_0 = input.LA(1);
1166
1167 if ( (LA4_0=='\\') ) {
1168 alt4=1;
1169 }
1170 else if ( ((LA4_0>='\u0000' && LA4_0<='&')||(LA4_0>='(' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
1171 alt4=2;
1172 }
1173
1174
1175 switch (alt4) {
1176 case 1 :
1177 // InternalVampireLanguage.g:5746:27: '\\\\' ( '\\'' | '\\\\' )
1178 {
1179 match('\\');
1180 if ( input.LA(1)=='\''||input.LA(1)=='\\' ) {
1181 input.consume();
1182
1183 }
1184 else {
1185 MismatchedSetException mse = new MismatchedSetException(null,input);
1186 recover(mse);
1187 throw mse;}
1188
1189
1190 }
1191 break;
1192 case 2 :
1193 // InternalVampireLanguage.g:5746:44: ~ ( ( '\\\\' | '\\'' ) )
1194 {
1195 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1196 input.consume();
1197
1198 }
1199 else {
1200 MismatchedSetException mse = new MismatchedSetException(null,input);
1201 recover(mse);
1202 throw mse;}
1203
1204
1205 }
1206 break;
1207
1208 default :
1209 if ( cnt4 >= 1 ) break loop4;
1210 EarlyExitException eee =
1211 new EarlyExitException(4, input);
1212 throw eee;
1213 }
1214 cnt4++;
1215 } while (true);
1216
1217 match('\'');
1218
1219 }
1220
1221 state.type = _type;
1222 state.channel = _channel;
1223 }
1224 finally {
1225 }
1226 }
1227 // $ANTLR end "RULE_SINGLE_QUOTE"
1228
1229 // $ANTLR start "RULE_SIGN"
1230 public final void mRULE_SIGN() throws RecognitionException {
1231 try {
1232 // InternalVampireLanguage.g:5748:20: ( ( '+' | '-' ) )
1233 // InternalVampireLanguage.g:5748:22: ( '+' | '-' )
1234 {
1235 if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
1236 input.consume();
1237
1238 }
1239 else {
1240 MismatchedSetException mse = new MismatchedSetException(null,input);
1241 recover(mse);
1242 throw mse;}
1243
1244
1245 }
1246
1247 }
1248 finally {
1249 }
1250 }
1251 // $ANTLR end "RULE_SIGN"
1252
1253 // $ANTLR start "RULE_DOLLAR_ID"
1254 public final void mRULE_DOLLAR_ID() throws RecognitionException {
1255 try {
1256 int _type = RULE_DOLLAR_ID;
1257 int _channel = DEFAULT_TOKEN_CHANNEL;
1258 // InternalVampireLanguage.g:5750:16: ( '$' RULE_LOWER_WORD_ID )
1259 // InternalVampireLanguage.g:5750:18: '$' RULE_LOWER_WORD_ID
1260 {
1261 match('$');
1262 mRULE_LOWER_WORD_ID();
1263
1264 }
1265
1266 state.type = _type;
1267 state.channel = _channel;
1268 }
1269 finally {
1270 }
1271 }
1272 // $ANTLR end "RULE_DOLLAR_ID"
1273
1274 // $ANTLR start "RULE_DOUBLE_DOLLAR_ID"
1275 public final void mRULE_DOUBLE_DOLLAR_ID() throws RecognitionException {
1276 try {
1277 int _type = RULE_DOUBLE_DOLLAR_ID;
1278 int _channel = DEFAULT_TOKEN_CHANNEL;
1279 // InternalVampireLanguage.g:5752:23: ( '$$' RULE_LOWER_WORD_ID )
1280 // InternalVampireLanguage.g:5752:25: '$$' RULE_LOWER_WORD_ID
1281 {
1282 match("$$");
1283
1284 mRULE_LOWER_WORD_ID();
1285
1286 }
1287
1288 state.type = _type;
1289 state.channel = _channel;
1290 }
1291 finally {
1292 }
1293 }
1294 // $ANTLR end "RULE_DOUBLE_DOLLAR_ID"
1295
1296 // $ANTLR start "RULE_LITERAL"
1297 public final void mRULE_LITERAL() throws RecognitionException {
1298 try {
1299 int _type = RULE_LITERAL;
1300 int _channel = DEFAULT_TOKEN_CHANNEL;
1301 // InternalVampireLanguage.g:5754:14: ( ( '0' | '1' .. '9' ( RULE_INT )? ) )
1302 // InternalVampireLanguage.g:5754:16: ( '0' | '1' .. '9' ( RULE_INT )? )
1303 {
1304 // InternalVampireLanguage.g:5754:16: ( '0' | '1' .. '9' ( RULE_INT )? )
1305 int alt6=2;
1306 int LA6_0 = input.LA(1);
1307
1308 if ( (LA6_0=='0') ) {
1309 alt6=1;
1310 }
1311 else if ( ((LA6_0>='1' && LA6_0<='9')) ) {
1312 alt6=2;
1313 }
1314 else {
1315 NoViableAltException nvae =
1316 new NoViableAltException("", 6, 0, input);
1317
1318 throw nvae;
1319 }
1320 switch (alt6) {
1321 case 1 :
1322 // InternalVampireLanguage.g:5754:17: '0'
1323 {
1324 match('0');
1325
1326 }
1327 break;
1328 case 2 :
1329 // InternalVampireLanguage.g:5754:21: '1' .. '9' ( RULE_INT )?
1330 {
1331 matchRange('1','9');
1332 // InternalVampireLanguage.g:5754:30: ( RULE_INT )?
1333 int alt5=2;
1334 int LA5_0 = input.LA(1);
1335
1336 if ( ((LA5_0>='0' && LA5_0<='9')) ) {
1337 alt5=1;
1338 }
1339 switch (alt5) {
1340 case 1 :
1341 // InternalVampireLanguage.g:5754:30: RULE_INT
1342 {
1343 mRULE_INT();
1344
1345 }
1346 break;
1347
1348 }
1349
1350
1351 }
1352 break;
1353
1354 }
1355
1356
1357 }
1358
1359 state.type = _type;
1360 state.channel = _channel;
1361 }
1362 finally {
1363 }
1364 }
1365 // $ANTLR end "RULE_LITERAL"
1366
1367 // $ANTLR start "RULE_SIGNED_LITERAL"
1368 public final void mRULE_SIGNED_LITERAL() throws RecognitionException {
1369 try {
1370 int _type = RULE_SIGNED_LITERAL;
1371 int _channel = DEFAULT_TOKEN_CHANNEL;
1372 // InternalVampireLanguage.g:5756:21: ( ( RULE_SIGN )* RULE_LITERAL )
1373 // InternalVampireLanguage.g:5756:23: ( RULE_SIGN )* RULE_LITERAL
1374 {
1375 // InternalVampireLanguage.g:5756:23: ( RULE_SIGN )*
1376 loop7:
1377 do {
1378 int alt7=2;
1379 int LA7_0 = input.LA(1);
1380
1381 if ( (LA7_0=='+'||LA7_0=='-') ) {
1382 alt7=1;
1383 }
1384
1385
1386 switch (alt7) {
1387 case 1 :
1388 // InternalVampireLanguage.g:5756:23: RULE_SIGN
1389 {
1390 mRULE_SIGN();
1391
1392 }
1393 break;
1394
1395 default :
1396 break loop7;
1397 }
1398 } while (true);
1399
1400 mRULE_LITERAL();
1401
1402 }
1403
1404 state.type = _type;
1405 state.channel = _channel;
1406 }
1407 finally {
1408 }
1409 }
1410 // $ANTLR end "RULE_SIGNED_LITERAL"
1411
1412 // $ANTLR start "RULE_UNSIGNED_REAL_FRAC_ID"
1413 public final void mRULE_UNSIGNED_REAL_FRAC_ID() throws RecognitionException {
1414 try {
1415 // InternalVampireLanguage.g:5758:37: ( RULE_LITERAL '.' RULE_INT )
1416 // InternalVampireLanguage.g:5758:39: RULE_LITERAL '.' RULE_INT
1417 {
1418 mRULE_LITERAL();
1419 match('.');
1420 mRULE_INT();
1421
1422 }
1423
1424 }
1425 finally {
1426 }
1427 }
1428 // $ANTLR end "RULE_UNSIGNED_REAL_FRAC_ID"
1429
1430 // $ANTLR start "RULE_UNSIGNED_REAL_EXP_ID"
1431 public final void mRULE_UNSIGNED_REAL_EXP_ID() throws RecognitionException {
1432 try {
1433 // InternalVampireLanguage.g:5760:36: ( ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID ) 'Ee' ( RULE_SIGN )* RULE_INT )
1434 // InternalVampireLanguage.g:5760:38: ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID ) 'Ee' ( RULE_SIGN )* RULE_INT
1435 {
1436 // InternalVampireLanguage.g:5760:38: ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID )
1437 int alt8=2;
1438 alt8 = dfa8.predict(input);
1439 switch (alt8) {
1440 case 1 :
1441 // InternalVampireLanguage.g:5760:39: RULE_LITERAL
1442 {
1443 mRULE_LITERAL();
1444
1445 }
1446 break;
1447 case 2 :
1448 // InternalVampireLanguage.g:5760:52: RULE_UNSIGNED_REAL_FRAC_ID
1449 {
1450 mRULE_UNSIGNED_REAL_FRAC_ID();
1451
1452 }
1453 break;
1454
1455 }
1456
1457 match("Ee");
1458
1459 // InternalVampireLanguage.g:5760:85: ( RULE_SIGN )*
1460 loop9:
1461 do {
1462 int alt9=2;
1463 int LA9_0 = input.LA(1);
1464
1465 if ( (LA9_0=='+'||LA9_0=='-') ) {
1466 alt9=1;
1467 }
1468
1469
1470 switch (alt9) {
1471 case 1 :
1472 // InternalVampireLanguage.g:5760:85: RULE_SIGN
1473 {
1474 mRULE_SIGN();
1475
1476 }
1477 break;
1478
1479 default :
1480 break loop9;
1481 }
1482 } while (true);
1483
1484 mRULE_INT();
1485
1486 }
1487
1488 }
1489 finally {
1490 }
1491 }
1492 // $ANTLR end "RULE_UNSIGNED_REAL_EXP_ID"
1493
1494 // $ANTLR start "RULE_SIGNED_REAL_ID"
1495 public final void mRULE_SIGNED_REAL_ID() throws RecognitionException {
1496 try {
1497 int _type = RULE_SIGNED_REAL_ID;
1498 int _channel = DEFAULT_TOKEN_CHANNEL;
1499 // InternalVampireLanguage.g:5762:21: ( ( RULE_SIGN )* ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID ) )
1500 // InternalVampireLanguage.g:5762:23: ( RULE_SIGN )* ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID )
1501 {
1502 // InternalVampireLanguage.g:5762:23: ( RULE_SIGN )*
1503 loop10:
1504 do {
1505 int alt10=2;
1506 int LA10_0 = input.LA(1);
1507
1508 if ( (LA10_0=='+'||LA10_0=='-') ) {
1509 alt10=1;
1510 }
1511
1512
1513 switch (alt10) {
1514 case 1 :
1515 // InternalVampireLanguage.g:5762:23: RULE_SIGN
1516 {
1517 mRULE_SIGN();
1518
1519 }
1520 break;
1521
1522 default :
1523 break loop10;
1524 }
1525 } while (true);
1526
1527 // InternalVampireLanguage.g:5762:34: ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID )
1528 int alt11=2;
1529 alt11 = dfa11.predict(input);
1530 switch (alt11) {
1531 case 1 :
1532 // InternalVampireLanguage.g:5762:35: RULE_UNSIGNED_REAL_FRAC_ID
1533 {
1534 mRULE_UNSIGNED_REAL_FRAC_ID();
1535
1536 }
1537 break;
1538 case 2 :
1539 // InternalVampireLanguage.g:5762:62: RULE_UNSIGNED_REAL_EXP_ID
1540 {
1541 mRULE_UNSIGNED_REAL_EXP_ID();
1542
1543 }
1544 break;
1545
1546 }
1547
1548
1549 }
1550
1551 state.type = _type;
1552 state.channel = _channel;
1553 }
1554 finally {
1555 }
1556 }
1557 // $ANTLR end "RULE_SIGNED_REAL_ID"
1558
1559 // $ANTLR start "RULE_UNSIGNED_RAT_ID"
1560 public final void mRULE_UNSIGNED_RAT_ID() throws RecognitionException {
1561 try {
1562 // InternalVampireLanguage.g:5764:31: ( RULE_LITERAL '/' '1' .. '9' ( RULE_INT )? )
1563 // InternalVampireLanguage.g:5764:33: RULE_LITERAL '/' '1' .. '9' ( RULE_INT )?
1564 {
1565 mRULE_LITERAL();
1566 match('/');
1567 matchRange('1','9');
1568 // InternalVampireLanguage.g:5764:59: ( RULE_INT )?
1569 int alt12=2;
1570 int LA12_0 = input.LA(1);
1571
1572 if ( ((LA12_0>='0' && LA12_0<='9')) ) {
1573 alt12=1;
1574 }
1575 switch (alt12) {
1576 case 1 :
1577 // InternalVampireLanguage.g:5764:59: RULE_INT
1578 {
1579 mRULE_INT();
1580
1581 }
1582 break;
1583
1584 }
1585
1586
1587 }
1588
1589 }
1590 finally {
1591 }
1592 }
1593 // $ANTLR end "RULE_UNSIGNED_RAT_ID"
1594
1595 // $ANTLR start "RULE_SIGNED_RAT_ID"
1596 public final void mRULE_SIGNED_RAT_ID() throws RecognitionException {
1597 try {
1598 int _type = RULE_SIGNED_RAT_ID;
1599 int _channel = DEFAULT_TOKEN_CHANNEL;
1600 // InternalVampireLanguage.g:5766:20: ( ( RULE_SIGN )* RULE_UNSIGNED_RAT_ID )
1601 // InternalVampireLanguage.g:5766:22: ( RULE_SIGN )* RULE_UNSIGNED_RAT_ID
1602 {
1603 // InternalVampireLanguage.g:5766:22: ( RULE_SIGN )*
1604 loop13:
1605 do {
1606 int alt13=2;
1607 int LA13_0 = input.LA(1);
1608
1609 if ( (LA13_0=='+'||LA13_0=='-') ) {
1610 alt13=1;
1611 }
1612
1613
1614 switch (alt13) {
1615 case 1 :
1616 // InternalVampireLanguage.g:5766:22: RULE_SIGN
1617 {
1618 mRULE_SIGN();
1619
1620 }
1621 break;
1622
1623 default :
1624 break loop13;
1625 }
1626 } while (true);
1627
1628 mRULE_UNSIGNED_RAT_ID();
1629
1630 }
1631
1632 state.type = _type;
1633 state.channel = _channel;
1634 }
1635 finally {
1636 }
1637 }
1638 // $ANTLR end "RULE_SIGNED_RAT_ID"
1639
1640 // $ANTLR start "RULE_ANY_OTHER"
1641 public final void mRULE_ANY_OTHER() throws RecognitionException {
1642 try {
1643 // InternalVampireLanguage.g:5768:25: ( '%' (~ ( ( '\\n' | '\\r' ) ) )* '\\r' )
1644 // InternalVampireLanguage.g:5768:27: '%' (~ ( ( '\\n' | '\\r' ) ) )* '\\r'
1645 {
1646 match('%');
1647 // InternalVampireLanguage.g:5768:31: (~ ( ( '\\n' | '\\r' ) ) )*
1648 loop14:
1649 do {
1650 int alt14=2;
1651 int LA14_0 = input.LA(1);
1652
1653 if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFF')) ) {
1654 alt14=1;
1655 }
1656
1657
1658 switch (alt14) {
1659 case 1 :
1660 // InternalVampireLanguage.g:5768:31: ~ ( ( '\\n' | '\\r' ) )
1661 {
1662 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
1663 input.consume();
1664
1665 }
1666 else {
1667 MismatchedSetException mse = new MismatchedSetException(null,input);
1668 recover(mse);
1669 throw mse;}
1670
1671
1672 }
1673 break;
1674
1675 default :
1676 break loop14;
1677 }
1678 } while (true);
1679
1680 match('\r');
1681
1682 }
1683
1684 }
1685 finally {
1686 }
1687 }
1688 // $ANTLR end "RULE_ANY_OTHER"
1689
1690 // $ANTLR start "RULE_SINGLE_COMMENT"
1691 public final void mRULE_SINGLE_COMMENT() throws RecognitionException {
1692 try {
1693 int _type = RULE_SINGLE_COMMENT;
1694 int _channel = DEFAULT_TOKEN_CHANNEL;
1695 // InternalVampireLanguage.g:5770:21: ( RULE_ANY_OTHER )
1696 // InternalVampireLanguage.g:5770:23: RULE_ANY_OTHER
1697 {
1698 mRULE_ANY_OTHER();
1699
1700 }
1701
1702 state.type = _type;
1703 state.channel = _channel;
1704 }
1705 finally {
1706 }
1707 }
1708 // $ANTLR end "RULE_SINGLE_COMMENT"
1709
1710 // $ANTLR start "RULE_ID"
1711 public final void mRULE_ID() throws RecognitionException {
1712 try {
1713 int _type = RULE_ID;
1714 int _channel = DEFAULT_TOKEN_CHANNEL;
1715 // InternalVampireLanguage.g:5772:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
1716 // InternalVampireLanguage.g:5772:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1717 {
1718 // InternalVampireLanguage.g:5772:11: ( '^' )?
1719 int alt15=2;
1720 int LA15_0 = input.LA(1);
1721
1722 if ( (LA15_0=='^') ) {
1723 alt15=1;
1724 }
1725 switch (alt15) {
1726 case 1 :
1727 // InternalVampireLanguage.g:5772:11: '^'
1728 {
1729 match('^');
1730
1731 }
1732 break;
1733
1734 }
1735
1736 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
1737 input.consume();
1738
1739 }
1740 else {
1741 MismatchedSetException mse = new MismatchedSetException(null,input);
1742 recover(mse);
1743 throw mse;}
1744
1745 // InternalVampireLanguage.g:5772:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1746 loop16:
1747 do {
1748 int alt16=2;
1749 int LA16_0 = input.LA(1);
1750
1751 if ( ((LA16_0>='0' && LA16_0<='9')||(LA16_0>='A' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='a' && LA16_0<='z')) ) {
1752 alt16=1;
1753 }
1754
1755
1756 switch (alt16) {
1757 case 1 :
1758 // InternalVampireLanguage.g:
1759 {
1760 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
1761 input.consume();
1762
1763 }
1764 else {
1765 MismatchedSetException mse = new MismatchedSetException(null,input);
1766 recover(mse);
1767 throw mse;}
1768
1769
1770 }
1771 break;
1772
1773 default :
1774 break loop16;
1775 }
1776 } while (true);
1777
1778
1779 }
1780
1781 state.type = _type;
1782 state.channel = _channel;
1783 }
1784 finally {
1785 }
1786 }
1787 // $ANTLR end "RULE_ID"
1788
1789 // $ANTLR start "RULE_INT"
1790 public final void mRULE_INT() throws RecognitionException {
1791 try {
1792 // InternalVampireLanguage.g:5774:19: ( ( '0' .. '9' )+ )
1793 // InternalVampireLanguage.g:5774:21: ( '0' .. '9' )+
1794 {
1795 // InternalVampireLanguage.g:5774:21: ( '0' .. '9' )+
1796 int cnt17=0;
1797 loop17:
1798 do {
1799 int alt17=2;
1800 int LA17_0 = input.LA(1);
1801
1802 if ( ((LA17_0>='0' && LA17_0<='9')) ) {
1803 alt17=1;
1804 }
1805
1806
1807 switch (alt17) {
1808 case 1 :
1809 // InternalVampireLanguage.g:5774:22: '0' .. '9'
1810 {
1811 matchRange('0','9');
1812
1813 }
1814 break;
1815
1816 default :
1817 if ( cnt17 >= 1 ) break loop17;
1818 EarlyExitException eee =
1819 new EarlyExitException(17, input);
1820 throw eee;
1821 }
1822 cnt17++;
1823 } while (true);
1824
1825
1826 }
1827
1828 }
1829 finally {
1830 }
1831 }
1832 // $ANTLR end "RULE_INT"
1833
1834 // $ANTLR start "RULE_STRING"
1835 public final void mRULE_STRING() throws RecognitionException {
1836 try {
1837 int _type = RULE_STRING;
1838 int _channel = DEFAULT_TOKEN_CHANNEL;
1839 // InternalVampireLanguage.g:5776:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
1840 // InternalVampireLanguage.g:5776:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1841 {
1842 // InternalVampireLanguage.g:5776:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1843 int alt20=2;
1844 int LA20_0 = input.LA(1);
1845
1846 if ( (LA20_0=='\"') ) {
1847 alt20=1;
1848 }
1849 else if ( (LA20_0=='\'') ) {
1850 alt20=2;
1851 }
1852 else {
1853 NoViableAltException nvae =
1854 new NoViableAltException("", 20, 0, input);
1855
1856 throw nvae;
1857 }
1858 switch (alt20) {
1859 case 1 :
1860 // InternalVampireLanguage.g:5776:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1861 {
1862 match('\"');
1863 // InternalVampireLanguage.g:5776:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
1864 loop18:
1865 do {
1866 int alt18=3;
1867 int LA18_0 = input.LA(1);
1868
1869 if ( (LA18_0=='\\') ) {
1870 alt18=1;
1871 }
1872 else if ( ((LA18_0>='\u0000' && LA18_0<='!')||(LA18_0>='#' && LA18_0<='[')||(LA18_0>=']' && LA18_0<='\uFFFF')) ) {
1873 alt18=2;
1874 }
1875
1876
1877 switch (alt18) {
1878 case 1 :
1879 // InternalVampireLanguage.g:5776:21: '\\\\' .
1880 {
1881 match('\\');
1882 matchAny();
1883
1884 }
1885 break;
1886 case 2 :
1887 // InternalVampireLanguage.g:5776:28: ~ ( ( '\\\\' | '\"' ) )
1888 {
1889 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1890 input.consume();
1891
1892 }
1893 else {
1894 MismatchedSetException mse = new MismatchedSetException(null,input);
1895 recover(mse);
1896 throw mse;}
1897
1898
1899 }
1900 break;
1901
1902 default :
1903 break loop18;
1904 }
1905 } while (true);
1906
1907 match('\"');
1908
1909 }
1910 break;
1911 case 2 :
1912 // InternalVampireLanguage.g:5776:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
1913 {
1914 match('\'');
1915 // InternalVampireLanguage.g:5776:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
1916 loop19:
1917 do {
1918 int alt19=3;
1919 int LA19_0 = input.LA(1);
1920
1921 if ( (LA19_0=='\\') ) {
1922 alt19=1;
1923 }
1924 else if ( ((LA19_0>='\u0000' && LA19_0<='&')||(LA19_0>='(' && LA19_0<='[')||(LA19_0>=']' && LA19_0<='\uFFFF')) ) {
1925 alt19=2;
1926 }
1927
1928
1929 switch (alt19) {
1930 case 1 :
1931 // InternalVampireLanguage.g:5776:54: '\\\\' .
1932 {
1933 match('\\');
1934 matchAny();
1935
1936 }
1937 break;
1938 case 2 :
1939 // InternalVampireLanguage.g:5776:61: ~ ( ( '\\\\' | '\\'' ) )
1940 {
1941 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1942 input.consume();
1943
1944 }
1945 else {
1946 MismatchedSetException mse = new MismatchedSetException(null,input);
1947 recover(mse);
1948 throw mse;}
1949
1950
1951 }
1952 break;
1953
1954 default :
1955 break loop19;
1956 }
1957 } while (true);
1958
1959 match('\'');
1960
1961 }
1962 break;
1963
1964 }
1965
1966
1967 }
1968
1969 state.type = _type;
1970 state.channel = _channel;
1971 }
1972 finally {
1973 }
1974 }
1975 // $ANTLR end "RULE_STRING"
1976
1977 // $ANTLR start "RULE_ML_COMMENT"
1978 public final void mRULE_ML_COMMENT() throws RecognitionException {
1979 try {
1980 int _type = RULE_ML_COMMENT;
1981 int _channel = DEFAULT_TOKEN_CHANNEL;
1982 // InternalVampireLanguage.g:5778:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
1983 // InternalVampireLanguage.g:5778:19: '/*' ( options {greedy=false; } : . )* '*/'
1984 {
1985 match("/*");
1986
1987 // InternalVampireLanguage.g:5778:24: ( options {greedy=false; } : . )*
1988 loop21:
1989 do {
1990 int alt21=2;
1991 int LA21_0 = input.LA(1);
1992
1993 if ( (LA21_0=='*') ) {
1994 int LA21_1 = input.LA(2);
1995
1996 if ( (LA21_1=='/') ) {
1997 alt21=2;
1998 }
1999 else if ( ((LA21_1>='\u0000' && LA21_1<='.')||(LA21_1>='0' && LA21_1<='\uFFFF')) ) {
2000 alt21=1;
2001 }
2002
2003
2004 }
2005 else if ( ((LA21_0>='\u0000' && LA21_0<=')')||(LA21_0>='+' && LA21_0<='\uFFFF')) ) {
2006 alt21=1;
2007 }
2008
2009
2010 switch (alt21) {
2011 case 1 :
2012 // InternalVampireLanguage.g:5778:52: .
2013 {
2014 matchAny();
2015
2016 }
2017 break;
2018
2019 default :
2020 break loop21;
2021 }
2022 } while (true);
2023
2024 match("*/");
2025
2026
2027 }
2028
2029 state.type = _type;
2030 state.channel = _channel;
2031 }
2032 finally {
2033 }
2034 }
2035 // $ANTLR end "RULE_ML_COMMENT"
2036
2037 // $ANTLR start "RULE_SL_COMMENT"
2038 public final void mRULE_SL_COMMENT() throws RecognitionException {
2039 try {
2040 int _type = RULE_SL_COMMENT;
2041 int _channel = DEFAULT_TOKEN_CHANNEL;
2042 // InternalVampireLanguage.g:5780:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
2043 // InternalVampireLanguage.g:5780:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
2044 {
2045 match("//");
2046
2047 // InternalVampireLanguage.g:5780:24: (~ ( ( '\\n' | '\\r' ) ) )*
2048 loop22:
2049 do {
2050 int alt22=2;
2051 int LA22_0 = input.LA(1);
2052
2053 if ( ((LA22_0>='\u0000' && LA22_0<='\t')||(LA22_0>='\u000B' && LA22_0<='\f')||(LA22_0>='\u000E' && LA22_0<='\uFFFF')) ) {
2054 alt22=1;
2055 }
2056
2057
2058 switch (alt22) {
2059 case 1 :
2060 // InternalVampireLanguage.g:5780:24: ~ ( ( '\\n' | '\\r' ) )
2061 {
2062 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
2063 input.consume();
2064
2065 }
2066 else {
2067 MismatchedSetException mse = new MismatchedSetException(null,input);
2068 recover(mse);
2069 throw mse;}
2070
2071
2072 }
2073 break;
2074
2075 default :
2076 break loop22;
2077 }
2078 } while (true);
2079
2080 // InternalVampireLanguage.g:5780:40: ( ( '\\r' )? '\\n' )?
2081 int alt24=2;
2082 int LA24_0 = input.LA(1);
2083
2084 if ( (LA24_0=='\n'||LA24_0=='\r') ) {
2085 alt24=1;
2086 }
2087 switch (alt24) {
2088 case 1 :
2089 // InternalVampireLanguage.g:5780:41: ( '\\r' )? '\\n'
2090 {
2091 // InternalVampireLanguage.g:5780:41: ( '\\r' )?
2092 int alt23=2;
2093 int LA23_0 = input.LA(1);
2094
2095 if ( (LA23_0=='\r') ) {
2096 alt23=1;
2097 }
2098 switch (alt23) {
2099 case 1 :
2100 // InternalVampireLanguage.g:5780:41: '\\r'
2101 {
2102 match('\r');
2103
2104 }
2105 break;
2106
2107 }
2108
2109 match('\n');
2110
2111 }
2112 break;
2113
2114 }
2115
2116
2117 }
2118
2119 state.type = _type;
2120 state.channel = _channel;
2121 }
2122 finally {
2123 }
2124 }
2125 // $ANTLR end "RULE_SL_COMMENT"
2126
2127 // $ANTLR start "RULE_WS"
2128 public final void mRULE_WS() throws RecognitionException {
2129 try {
2130 int _type = RULE_WS;
2131 int _channel = DEFAULT_TOKEN_CHANNEL;
2132 // InternalVampireLanguage.g:5782:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
2133 // InternalVampireLanguage.g:5782:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2134 {
2135 // InternalVampireLanguage.g:5782:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2136 int cnt25=0;
2137 loop25:
2138 do {
2139 int alt25=2;
2140 int LA25_0 = input.LA(1);
2141
2142 if ( ((LA25_0>='\t' && LA25_0<='\n')||LA25_0=='\r'||LA25_0==' ') ) {
2143 alt25=1;
2144 }
2145
2146
2147 switch (alt25) {
2148 case 1 :
2149 // InternalVampireLanguage.g:
2150 {
2151 if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
2152 input.consume();
2153
2154 }
2155 else {
2156 MismatchedSetException mse = new MismatchedSetException(null,input);
2157 recover(mse);
2158 throw mse;}
2159
2160
2161 }
2162 break;
2163
2164 default :
2165 if ( cnt25 >= 1 ) break loop25;
2166 EarlyExitException eee =
2167 new EarlyExitException(25, input);
2168 throw eee;
2169 }
2170 cnt25++;
2171 } while (true);
2172
2173
2174 }
2175
2176 state.type = _type;
2177 state.channel = _channel;
2178 }
2179 finally {
2180 }
2181 }
2182 // $ANTLR end "RULE_WS"
2183
2184 public void mTokens() throws RecognitionException {
2185 // InternalVampireLanguage.g:1:8: ( T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_UPPER_WORD_ID | RULE_LOWER_WORD_ID | RULE_DOUBLE_QUOTE | RULE_SINGLE_QUOTE | RULE_DOLLAR_ID | RULE_DOUBLE_DOLLAR_ID | RULE_LITERAL | RULE_SIGNED_LITERAL | RULE_SIGNED_REAL_ID | RULE_SIGNED_RAT_ID | RULE_SINGLE_COMMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS )
2186 int alt26=58;
2187 alt26 = dfa26.predict(input);
2188 switch (alt26) {
2189 case 1 :
2190 // InternalVampireLanguage.g:1:10: T__27
2191 {
2192 mT__27();
2193
2194 }
2195 break;
2196 case 2 :
2197 // InternalVampireLanguage.g:1:16: T__28
2198 {
2199 mT__28();
2200
2201 }
2202 break;
2203 case 3 :
2204 // InternalVampireLanguage.g:1:22: T__29
2205 {
2206 mT__29();
2207
2208 }
2209 break;
2210 case 4 :
2211 // InternalVampireLanguage.g:1:28: T__30
2212 {
2213 mT__30();
2214
2215 }
2216 break;
2217 case 5 :
2218 // InternalVampireLanguage.g:1:34: T__31
2219 {
2220 mT__31();
2221
2222 }
2223 break;
2224 case 6 :
2225 // InternalVampireLanguage.g:1:40: T__32
2226 {
2227 mT__32();
2228
2229 }
2230 break;
2231 case 7 :
2232 // InternalVampireLanguage.g:1:46: T__33
2233 {
2234 mT__33();
2235
2236 }
2237 break;
2238 case 8 :
2239 // InternalVampireLanguage.g:1:52: T__34
2240 {
2241 mT__34();
2242
2243 }
2244 break;
2245 case 9 :
2246 // InternalVampireLanguage.g:1:58: T__35
2247 {
2248 mT__35();
2249
2250 }
2251 break;
2252 case 10 :
2253 // InternalVampireLanguage.g:1:64: T__36
2254 {
2255 mT__36();
2256
2257 }
2258 break;
2259 case 11 :
2260 // InternalVampireLanguage.g:1:70: T__37
2261 {
2262 mT__37();
2263
2264 }
2265 break;
2266 case 12 :
2267 // InternalVampireLanguage.g:1:76: T__38
2268 {
2269 mT__38();
2270
2271 }
2272 break;
2273 case 13 :
2274 // InternalVampireLanguage.g:1:82: T__39
2275 {
2276 mT__39();
2277
2278 }
2279 break;
2280 case 14 :
2281 // InternalVampireLanguage.g:1:88: T__40
2282 {
2283 mT__40();
2284
2285 }
2286 break;
2287 case 15 :
2288 // InternalVampireLanguage.g:1:94: T__41
2289 {
2290 mT__41();
2291
2292 }
2293 break;
2294 case 16 :
2295 // InternalVampireLanguage.g:1:100: T__42
2296 {
2297 mT__42();
2298
2299 }
2300 break;
2301 case 17 :
2302 // InternalVampireLanguage.g:1:106: T__43
2303 {
2304 mT__43();
2305
2306 }
2307 break;
2308 case 18 :
2309 // InternalVampireLanguage.g:1:112: T__44
2310 {
2311 mT__44();
2312
2313 }
2314 break;
2315 case 19 :
2316 // InternalVampireLanguage.g:1:118: T__45
2317 {
2318 mT__45();
2319
2320 }
2321 break;
2322 case 20 :
2323 // InternalVampireLanguage.g:1:124: T__46
2324 {
2325 mT__46();
2326
2327 }
2328 break;
2329 case 21 :
2330 // InternalVampireLanguage.g:1:130: T__47
2331 {
2332 mT__47();
2333
2334 }
2335 break;
2336 case 22 :
2337 // InternalVampireLanguage.g:1:136: T__48
2338 {
2339 mT__48();
2340
2341 }
2342 break;
2343 case 23 :
2344 // InternalVampireLanguage.g:1:142: T__49
2345 {
2346 mT__49();
2347
2348 }
2349 break;
2350 case 24 :
2351 // InternalVampireLanguage.g:1:148: T__50
2352 {
2353 mT__50();
2354
2355 }
2356 break;
2357 case 25 :
2358 // InternalVampireLanguage.g:1:154: T__51
2359 {
2360 mT__51();
2361
2362 }
2363 break;
2364 case 26 :
2365 // InternalVampireLanguage.g:1:160: T__52
2366 {
2367 mT__52();
2368
2369 }
2370 break;
2371 case 27 :
2372 // InternalVampireLanguage.g:1:166: T__53
2373 {
2374 mT__53();
2375
2376 }
2377 break;
2378 case 28 :
2379 // InternalVampireLanguage.g:1:172: T__54
2380 {
2381 mT__54();
2382
2383 }
2384 break;
2385 case 29 :
2386 // InternalVampireLanguage.g:1:178: T__55
2387 {
2388 mT__55();
2389
2390 }
2391 break;
2392 case 30 :
2393 // InternalVampireLanguage.g:1:184: T__56
2394 {
2395 mT__56();
2396
2397 }
2398 break;
2399 case 31 :
2400 // InternalVampireLanguage.g:1:190: T__57
2401 {
2402 mT__57();
2403
2404 }
2405 break;
2406 case 32 :
2407 // InternalVampireLanguage.g:1:196: T__58
2408 {
2409 mT__58();
2410
2411 }
2412 break;
2413 case 33 :
2414 // InternalVampireLanguage.g:1:202: T__59
2415 {
2416 mT__59();
2417
2418 }
2419 break;
2420 case 34 :
2421 // InternalVampireLanguage.g:1:208: T__60
2422 {
2423 mT__60();
2424
2425 }
2426 break;
2427 case 35 :
2428 // InternalVampireLanguage.g:1:214: T__61
2429 {
2430 mT__61();
2431
2432 }
2433 break;
2434 case 36 :
2435 // InternalVampireLanguage.g:1:220: T__62
2436 {
2437 mT__62();
2438
2439 }
2440 break;
2441 case 37 :
2442 // InternalVampireLanguage.g:1:226: T__63
2443 {
2444 mT__63();
2445
2446 }
2447 break;
2448 case 38 :
2449 // InternalVampireLanguage.g:1:232: T__64
2450 {
2451 mT__64();
2452
2453 }
2454 break;
2455 case 39 :
2456 // InternalVampireLanguage.g:1:238: T__65
2457 {
2458 mT__65();
2459
2460 }
2461 break;
2462 case 40 :
2463 // InternalVampireLanguage.g:1:244: T__66
2464 {
2465 mT__66();
2466
2467 }
2468 break;
2469 case 41 :
2470 // InternalVampireLanguage.g:1:250: T__67
2471 {
2472 mT__67();
2473
2474 }
2475 break;
2476 case 42 :
2477 // InternalVampireLanguage.g:1:256: T__68
2478 {
2479 mT__68();
2480
2481 }
2482 break;
2483 case 43 :
2484 // InternalVampireLanguage.g:1:262: RULE_UPPER_WORD_ID
2485 {
2486 mRULE_UPPER_WORD_ID();
2487
2488 }
2489 break;
2490 case 44 :
2491 // InternalVampireLanguage.g:1:281: RULE_LOWER_WORD_ID
2492 {
2493 mRULE_LOWER_WORD_ID();
2494
2495 }
2496 break;
2497 case 45 :
2498 // InternalVampireLanguage.g:1:300: RULE_DOUBLE_QUOTE
2499 {
2500 mRULE_DOUBLE_QUOTE();
2501
2502 }
2503 break;
2504 case 46 :
2505 // InternalVampireLanguage.g:1:318: RULE_SINGLE_QUOTE
2506 {
2507 mRULE_SINGLE_QUOTE();
2508
2509 }
2510 break;
2511 case 47 :
2512 // InternalVampireLanguage.g:1:336: RULE_DOLLAR_ID
2513 {
2514 mRULE_DOLLAR_ID();
2515
2516 }
2517 break;
2518 case 48 :
2519 // InternalVampireLanguage.g:1:351: RULE_DOUBLE_DOLLAR_ID
2520 {
2521 mRULE_DOUBLE_DOLLAR_ID();
2522
2523 }
2524 break;
2525 case 49 :
2526 // InternalVampireLanguage.g:1:373: RULE_LITERAL
2527 {
2528 mRULE_LITERAL();
2529
2530 }
2531 break;
2532 case 50 :
2533 // InternalVampireLanguage.g:1:386: RULE_SIGNED_LITERAL
2534 {
2535 mRULE_SIGNED_LITERAL();
2536
2537 }
2538 break;
2539 case 51 :
2540 // InternalVampireLanguage.g:1:406: RULE_SIGNED_REAL_ID
2541 {
2542 mRULE_SIGNED_REAL_ID();
2543
2544 }
2545 break;
2546 case 52 :
2547 // InternalVampireLanguage.g:1:426: RULE_SIGNED_RAT_ID
2548 {
2549 mRULE_SIGNED_RAT_ID();
2550
2551 }
2552 break;
2553 case 53 :
2554 // InternalVampireLanguage.g:1:445: RULE_SINGLE_COMMENT
2555 {
2556 mRULE_SINGLE_COMMENT();
2557
2558 }
2559 break;
2560 case 54 :
2561 // InternalVampireLanguage.g:1:465: RULE_ID
2562 {
2563 mRULE_ID();
2564
2565 }
2566 break;
2567 case 55 :
2568 // InternalVampireLanguage.g:1:473: RULE_STRING
2569 {
2570 mRULE_STRING();
2571
2572 }
2573 break;
2574 case 56 :
2575 // InternalVampireLanguage.g:1:485: RULE_ML_COMMENT
2576 {
2577 mRULE_ML_COMMENT();
2578
2579 }
2580 break;
2581 case 57 :
2582 // InternalVampireLanguage.g:1:501: RULE_SL_COMMENT
2583 {
2584 mRULE_SL_COMMENT();
2585
2586 }
2587 break;
2588 case 58 :
2589 // InternalVampireLanguage.g:1:517: RULE_WS
2590 {
2591 mRULE_WS();
2592
2593 }
2594 break;
2595
2596 }
2597
2598 }
2599
2600
2601 protected DFA8 dfa8 = new DFA8(this);
2602 protected DFA11 dfa11 = new DFA11(this);
2603 protected DFA26 dfa26 = new DFA26(this);
2604 static final String DFA8_eotS =
2605 "\6\uffff";
2606 static final String DFA8_eofS =
2607 "\6\uffff";
2608 static final String DFA8_minS =
2609 "\1\60\2\56\2\uffff\1\56";
2610 static final String DFA8_maxS =
2611 "\1\71\2\105\2\uffff\1\105";
2612 static final String DFA8_acceptS =
2613 "\3\uffff\1\2\1\1\1\uffff";
2614 static final String DFA8_specialS =
2615 "\6\uffff}>";
2616 static final String[] DFA8_transitionS = {
2617 "\1\1\11\2",
2618 "\1\3\26\uffff\1\4",
2619 "\1\3\1\uffff\12\5\13\uffff\1\4",
2620 "",
2621 "",
2622 "\1\3\1\uffff\12\5\13\uffff\1\4"
2623 };
2624
2625 static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
2626 static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);
2627 static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS);
2628 static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS);
2629 static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS);
2630 static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS);
2631 static final short[][] DFA8_transition;
2632
2633 static {
2634 int numStates = DFA8_transitionS.length;
2635 DFA8_transition = new short[numStates][];
2636 for (int i=0; i<numStates; i++) {
2637 DFA8_transition[i] = DFA.unpackEncodedString(DFA8_transitionS[i]);
2638 }
2639 }
2640
2641 class DFA8 extends DFA {
2642
2643 public DFA8(BaseRecognizer recognizer) {
2644 this.recognizer = recognizer;
2645 this.decisionNumber = 8;
2646 this.eot = DFA8_eot;
2647 this.eof = DFA8_eof;
2648 this.min = DFA8_min;
2649 this.max = DFA8_max;
2650 this.accept = DFA8_accept;
2651 this.special = DFA8_special;
2652 this.transition = DFA8_transition;
2653 }
2654 public String getDescription() {
2655 return "5760:38: ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID )";
2656 }
2657 }
2658 static final String DFA11_eotS =
2659 "\6\uffff\1\7\1\uffff";
2660 static final String DFA11_eofS =
2661 "\10\uffff";
2662 static final String DFA11_minS =
2663 "\1\60\2\56\1\60\1\uffff\1\56\1\60\1\uffff";
2664 static final String DFA11_maxS =
2665 "\1\71\2\105\1\71\1\uffff\2\105\1\uffff";
2666 static final String DFA11_acceptS =
2667 "\4\uffff\1\2\2\uffff\1\1";
2668 static final String DFA11_specialS =
2669 "\10\uffff}>";
2670 static final String[] DFA11_transitionS = {
2671 "\1\1\11\2",
2672 "\1\3\26\uffff\1\4",
2673 "\1\3\1\uffff\12\5\13\uffff\1\4",
2674 "\12\6",
2675 "",
2676 "\1\3\1\uffff\12\5\13\uffff\1\4",
2677 "\12\6\13\uffff\1\4",
2678 ""
2679 };
2680
2681 static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
2682 static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
2683 static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
2684 static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
2685 static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
2686 static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
2687 static final short[][] DFA11_transition;
2688
2689 static {
2690 int numStates = DFA11_transitionS.length;
2691 DFA11_transition = new short[numStates][];
2692 for (int i=0; i<numStates; i++) {
2693 DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
2694 }
2695 }
2696
2697 class DFA11 extends DFA {
2698
2699 public DFA11(BaseRecognizer recognizer) {
2700 this.recognizer = recognizer;
2701 this.decisionNumber = 11;
2702 this.eot = DFA11_eot;
2703 this.eof = DFA11_eof;
2704 this.min = DFA11_min;
2705 this.max = DFA11_max;
2706 this.accept = DFA11_accept;
2707 this.special = DFA11_special;
2708 this.transition = DFA11_transition;
2709 }
2710 public String getDescription() {
2711 return "5762:34: ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID )";
2712 }
2713 }
2714 static final String DFA26_eotS =
2715 "\1\uffff\13\51\1\67\6\uffff\1\73\1\76\2\uffff\1\100\1\102\2\uffff\1\111\1\51\2\uffff\2\120\5\uffff\3\51\1\uffff\14\51\2\uffff\1\150\12\uffff\3\107\2\uffff\1\111\12\uffff\1\120\2\160\2\uffff\14\51\1\u0080\2\51\2\uffff\3\107\5\uffff\1\160\10\51\1\u008f\5\51\1\uffff\2\51\3\107\1\uffff\1\u009a\5\51\1\u00a0\1\51\1\uffff\1\51\1\u00a3\5\51\1\u00a9\1\107\1\u00ab\1\uffff\5\51\1\uffff\2\51\1\uffff\5\51\1\uffff\1\u00b8\1\uffff\5\51\1\u00be\4\51\1\u00c3\1\51\1\uffff\5\51\1\uffff\4\51\2\uffff\2\51\1\u00d0\3\51\1\u00d4\2\51\1\u00d7\1\u00d8\1\uffff\1\u00d9\1\u00da\1\51\1\uffff\2\51\4\uffff\1\51\1\u00df\2\51\1\uffff\2\51\1\u00e4\1\51\1\uffff\3\51\1\u00e9\1\uffff";
2716 static final String DFA26_eofS =
2717 "\u00ea\uffff";
2718 static final String DFA26_minS =
2719 "\1\11\13\60\1\133\5\uffff\1\75\1\76\1\46\2\uffff\2\75\1\uffff\1\44\2\60\2\0\2\56\1\53\2\uffff\1\52\1\uffff\3\60\1\uffff\14\60\2\uffff\1\76\12\uffff\1\162\1\141\1\145\2\uffff\1\60\1\uffff\2\0\1\uffff\2\0\4\uffff\3\56\2\uffff\17\60\2\uffff\1\165\1\154\1\163\1\0\1\uffff\1\0\2\uffff\1\56\16\60\1\uffff\2\60\1\145\2\163\1\uffff\10\60\1\uffff\10\60\1\145\1\60\1\uffff\5\60\1\uffff\2\60\1\uffff\5\60\1\uffff\1\60\1\uffff\13\60\1\50\1\uffff\5\60\1\uffff\4\60\2\uffff\13\60\1\uffff\3\60\1\uffff\2\60\4\uffff\4\60\1\uffff\4\60\1\uffff\4\60\1\uffff";
2720 static final String DFA26_maxS =
2721 "\1\176\13\172\1\133\5\uffff\1\176\1\76\1\174\2\uffff\2\75\1\uffff\3\172\2\uffff\2\105\1\71\2\uffff\1\57\1\uffff\3\172\1\uffff\14\172\2\uffff\1\76\12\uffff\1\162\1\141\1\145\2\uffff\1\172\1\uffff\2\uffff\1\uffff\2\uffff\4\uffff\3\105\2\uffff\17\172\2\uffff\1\165\1\154\1\163\1\uffff\1\uffff\1\uffff\2\uffff\1\105\16\172\1\uffff\2\172\1\145\2\163\1\uffff\10\172\1\uffff\10\172\1\145\1\172\1\uffff\5\172\1\uffff\2\172\1\uffff\5\172\1\uffff\1\172\1\uffff\14\172\1\uffff\5\172\1\uffff\4\172\2\uffff\13\172\1\uffff\3\172\1\uffff\2\172\4\uffff\4\172\1\uffff\4\172\1\uffff\4\172\1\uffff";
2722 static final String DFA26_acceptS =
2723 "\15\uffff\1\22\1\25\1\26\1\27\1\30\3\uffff\1\37\1\40\2\uffff\1\43\10\uffff\1\65\1\66\1\uffff\1\72\3\uffff\1\54\14\uffff\1\21\1\23\1\uffff\1\34\1\32\1\46\1\35\1\36\1\44\1\45\1\41\1\47\1\42\3\uffff\1\60\1\57\1\uffff\1\53\2\uffff\1\55\2\uffff\1\67\1\61\1\63\1\64\3\uffff\1\70\1\71\17\uffff\1\31\1\33\4\uffff\1\55\1\uffff\1\56\1\62\17\uffff\1\24\5\uffff\1\56\10\uffff\1\13\12\uffff\1\1\5\uffff\1\6\2\uffff\1\12\5\uffff\1\50\1\uffff\1\52\14\uffff\1\51\5\uffff\1\7\4\uffff\1\17\1\20\13\uffff\1\10\3\uffff\1\14\2\uffff\1\5\1\2\1\3\1\4\4\uffff\1\15\4\uffff\1\16\4\uffff\1\11";
2724 static final String DFA26_specialS =
2725 "\35\uffff\1\0\1\5\53\uffff\1\1\1\7\1\uffff\1\2\1\4\35\uffff\1\6\1\uffff\1\3\173\uffff}>";
2726 static final String[] DFA26_transitionS = {
2727 "\2\45\2\uffff\1\45\22\uffff\1\45\1\27\1\35\1\uffff\1\32\1\42\1\25\1\36\1\16\1\17\1\uffff\1\41\1\14\1\41\1\20\1\44\1\37\11\40\1\30\1\uffff\1\22\1\23\1\uffff\1\31\1\uffff\32\33\1\21\1\uffff\1\15\2\43\1\uffff\1\1\1\34\1\2\1\4\1\34\1\11\1\34\1\3\1\13\2\34\1\5\1\34\1\7\1\34\1\10\3\34\1\6\1\12\5\34\1\uffff\1\26\1\uffff\1\24",
2728 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\22\50\1\47\4\50\1\46\2\50",
2729 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\52\13\50",
2730 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\30\50\1\53\1\50",
2731 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\54\25\50",
2732 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\55\25\50",
2733 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\7\50\1\56\20\50\1\57\1\50",
2734 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\60\25\50",
2735 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\13\50\1\61\16\50",
2736 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\62\5\50\1\63\13\50",
2737 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\64\14\50",
2738 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\65\14\50",
2739 "\1\66",
2740 "",
2741 "",
2742 "",
2743 "",
2744 "",
2745 "\1\70\100\uffff\1\71",
2746 "\1\72",
2747 "\1\75\125\uffff\1\74",
2748 "",
2749 "",
2750 "\1\77",
2751 "\1\101",
2752 "",
2753 "\1\106\74\uffff\5\107\1\104\5\107\1\105\7\107\1\103\6\107",
2754 "\12\110\7\uffff\32\110\4\uffff\1\110\1\uffff\32\110",
2755 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2756 "\42\113\1\114\71\113\1\112\uffa3\113",
2757 "\47\116\1\117\64\116\1\115\uffa3\116",
2758 "\1\121\1\122\25\uffff\1\121",
2759 "\1\121\1\122\12\123\13\uffff\1\121",
2760 "\1\41\1\uffff\1\41\2\uffff\1\124\11\125",
2761 "",
2762 "",
2763 "\1\126\4\uffff\1\127",
2764 "",
2765 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\130\21\50",
2766 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\22\50\1\131\7\50",
2767 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2768 "",
2769 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\132\3\50\1\133\10\50",
2770 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\17\50\1\134\12\50",
2771 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\5\50\1\135\24\50",
2772 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\14\50\1\136\15\50",
2773 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\137\25\50",
2774 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\17\50\1\140\12\50",
2775 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\6\50\1\141\23\50",
2776 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\1\142\31\50",
2777 "\12\50\7\uffff\32\50\4\uffff\1\143\1\uffff\32\50",
2778 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\5\50\1\144\24\50",
2779 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\12\50\1\145\17\50",
2780 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\2\50\1\146\27\50",
2781 "",
2782 "",
2783 "\1\147",
2784 "",
2785 "",
2786 "",
2787 "",
2788 "",
2789 "",
2790 "",
2791 "",
2792 "",
2793 "",
2794 "\1\151",
2795 "\1\152",
2796 "\1\153",
2797 "",
2798 "",
2799 "\12\110\7\uffff\32\110\4\uffff\1\110\1\uffff\32\110",
2800 "",
2801 "\42\117\1\154\71\117\1\154\uffa3\117",
2802 "\42\113\1\114\71\113\1\112\uffa3\113",
2803 "",
2804 "\47\117\1\156\64\117\1\156\uffa3\117",
2805 "\47\116\1\157\64\116\1\115\uffa3\116",
2806 "",
2807 "",
2808 "",
2809 "",
2810 "\1\121\1\122\12\123\13\uffff\1\121",
2811 "\1\121\1\122\25\uffff\1\121",
2812 "\1\121\1\122\12\161\13\uffff\1\121",
2813 "",
2814 "",
2815 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\162\13\50",
2816 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\24\50\1\163\5\50",
2817 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\11\50\1\164\20\50",
2818 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\165\13\50",
2819 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\166\13\50",
2820 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\167\21\50",
2821 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\14\50\1\170\15\50",
2822 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\171\13\50",
2823 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\172\25\50",
2824 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\1\173\31\50",
2825 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\174\21\50",
2826 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\3\50\1\175\1\50\1\176\11\50\1\177\12\50",
2827 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2828 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\u0081\14\50",
2829 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\13\50\1\u0082\16\50",
2830 "",
2831 "",
2832 "\1\u0083",
2833 "\1\u0084",
2834 "\1\u0085",
2835 "\42\113\1\114\71\113\1\112\uffa3\113",
2836 "",
2837 "\47\116\1\157\64\116\1\115\uffa3\116",
2838 "",
2839 "",
2840 "\1\121\1\122\12\161\13\uffff\1\121",
2841 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\14\50\1\u0087\15\50",
2842 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\14\50\1\u0088\15\50",
2843 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\u0089\25\50",
2844 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\13\50\1\u008a\16\50",
2845 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\23\50\1\u008b\6\50",
2846 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\u008c\14\50",
2847 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\1\u008d\31\50",
2848 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\21\50\1\u008e\10\50",
2849 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2850 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\23\50\1\u0090\6\50",
2851 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\u0091\14\50",
2852 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\u0092\13\50",
2853 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\24\50\1\u0093\5\50",
2854 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\21\50\1\u0094\10\50",
2855 "",
2856 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\u0095\13\50",
2857 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\24\50\1\u0096\5\50",
2858 "\1\u0097",
2859 "\1\u0098",
2860 "\1\u0099",
2861 "",
2862 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2863 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\17\50\1\u009b\12\50",
2864 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\2\50\1\u009c\27\50",
2865 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\13\50\1\u009d\16\50",
2866 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\7\50\1\u009e\22\50",
2867 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\u009f\21\50",
2868 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2869 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\u00a1\25\50",
2870 "",
2871 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\u00a2\25\50",
2872 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2873 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\14\50\1\u00a4\15\50",
2874 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\u00a5\14\50",
2875 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\u00a6\25\50",
2876 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\26\50\1\u00a7\3\50",
2877 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\3\50\1\u00a8\26\50",
2878 "\12\107\7\uffff\32\107\4\uffff\1\107\1\uffff\32\107",
2879 "\1\u00aa",
2880 "\12\107\7\uffff\32\107\4\uffff\1\107\1\uffff\32\107",
2881 "",
2882 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\23\50\1\u00ac\6\50",
2883 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\23\50\1\u00ad\6\50",
2884 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\1\u00ae\31\50",
2885 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\u00af\25\50",
2886 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\23\50\1\u00b0\6\50",
2887 "",
2888 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\14\50\1\u00b1\15\50",
2889 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\3\50\1\u00b2\26\50",
2890 "",
2891 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\1\u00b3\31\50",
2892 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\2\50\1\u00b4\27\50",
2893 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\3\50\1\u00b5\26\50",
2894 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\u00b6\14\50",
2895 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\u00b7\25\50",
2896 "",
2897 "\12\107\7\uffff\32\107\4\uffff\1\107\1\uffff\32\107",
2898 "",
2899 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\u00b9\21\50",
2900 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\24\50\1\u00ba\5\50",
2901 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\21\50\1\u00bb\10\50",
2902 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\22\50\1\u00bc\7\50",
2903 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\u00bd\21\50",
2904 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2905 "\12\50\7\uffff\32\50\4\uffff\1\u00bf\1\uffff\32\50",
2906 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\u00c0\21\50",
2907 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\23\50\1\u00c1\6\50",
2908 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\u00c2\21\50",
2909 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2910 "\1\u00c4\7\uffff\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2911 "",
2912 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\u00c5\13\50",
2913 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\21\50\1\u00c6\10\50",
2914 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\30\50\1\u00c7\1\50",
2915 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\u00c8\21\50",
2916 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\u00c9\13\50",
2917 "",
2918 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\2\50\1\u00ca\27\50",
2919 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\u00cb\14\50",
2920 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\u00cc\13\50",
2921 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\2\50\1\u00cd\27\50",
2922 "",
2923 "",
2924 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\u00ce\14\50",
2925 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\u00cf\25\50",
2926 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2927 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\22\50\1\u00d1\7\50",
2928 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\u00d2\14\50",
2929 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\16\50\1\u00d3\13\50",
2930 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2931 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\21\50\1\u00d5\10\50",
2932 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\1\u00d6\31\50",
2933 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2934 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2935 "",
2936 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2937 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2938 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\15\50\1\u00db\14\50",
2939 "",
2940 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\22\50\1\u00dc\7\50",
2941 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\23\50\1\u00dd\6\50",
2942 "",
2943 "",
2944 "",
2945 "",
2946 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\11\50\1\u00de\20\50",
2947 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2948 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\u00e0\25\50",
2949 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\u00e1\25\50",
2950 "",
2951 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\22\50\1\u00e2\7\50",
2952 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\2\50\1\u00e3\27\50",
2953 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2954 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\23\50\1\u00e5\6\50",
2955 "",
2956 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\24\50\1\u00e6\5\50",
2957 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\21\50\1\u00e7\10\50",
2958 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\4\50\1\u00e8\25\50",
2959 "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
2960 ""
2961 };
2962
2963 static final short[] DFA26_eot = DFA.unpackEncodedString(DFA26_eotS);
2964 static final short[] DFA26_eof = DFA.unpackEncodedString(DFA26_eofS);
2965 static final char[] DFA26_min = DFA.unpackEncodedStringToUnsignedChars(DFA26_minS);
2966 static final char[] DFA26_max = DFA.unpackEncodedStringToUnsignedChars(DFA26_maxS);
2967 static final short[] DFA26_accept = DFA.unpackEncodedString(DFA26_acceptS);
2968 static final short[] DFA26_special = DFA.unpackEncodedString(DFA26_specialS);
2969 static final short[][] DFA26_transition;
2970
2971 static {
2972 int numStates = DFA26_transitionS.length;
2973 DFA26_transition = new short[numStates][];
2974 for (int i=0; i<numStates; i++) {
2975 DFA26_transition[i] = DFA.unpackEncodedString(DFA26_transitionS[i]);
2976 }
2977 }
2978
2979 class DFA26 extends DFA {
2980
2981 public DFA26(BaseRecognizer recognizer) {
2982 this.recognizer = recognizer;
2983 this.decisionNumber = 26;
2984 this.eot = DFA26_eot;
2985 this.eof = DFA26_eof;
2986 this.min = DFA26_min;
2987 this.max = DFA26_max;
2988 this.accept = DFA26_accept;
2989 this.special = DFA26_special;
2990 this.transition = DFA26_transition;
2991 }
2992 public String getDescription() {
2993 return "1:1: Tokens : ( T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_UPPER_WORD_ID | RULE_LOWER_WORD_ID | RULE_DOUBLE_QUOTE | RULE_SINGLE_QUOTE | RULE_DOLLAR_ID | RULE_DOUBLE_DOLLAR_ID | RULE_LITERAL | RULE_SIGNED_LITERAL | RULE_SIGNED_REAL_ID | RULE_SIGNED_RAT_ID | RULE_SINGLE_COMMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS );";
2994 }
2995 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
2996 IntStream input = _input;
2997 int _s = s;
2998 switch ( s ) {
2999 case 0 :
3000 int LA26_29 = input.LA(1);
3001
3002 s = -1;
3003 if ( (LA26_29=='\\') ) {s = 74;}
3004
3005 else if ( ((LA26_29>='\u0000' && LA26_29<='!')||(LA26_29>='#' && LA26_29<='[')||(LA26_29>=']' && LA26_29<='\uFFFF')) ) {s = 75;}
3006
3007 else if ( (LA26_29=='\"') ) {s = 76;}
3008
3009 if ( s>=0 ) return s;
3010 break;
3011 case 1 :
3012 int LA26_74 = input.LA(1);
3013
3014 s = -1;
3015 if ( (LA26_74=='\"'||LA26_74=='\\') ) {s = 108;}
3016
3017 else if ( ((LA26_74>='\u0000' && LA26_74<='!')||(LA26_74>='#' && LA26_74<='[')||(LA26_74>=']' && LA26_74<='\uFFFF')) ) {s = 79;}
3018
3019 if ( s>=0 ) return s;
3020 break;
3021 case 2 :
3022 int LA26_77 = input.LA(1);
3023
3024 s = -1;
3025 if ( (LA26_77=='\''||LA26_77=='\\') ) {s = 110;}
3026
3027 else if ( ((LA26_77>='\u0000' && LA26_77<='&')||(LA26_77>='(' && LA26_77<='[')||(LA26_77>=']' && LA26_77<='\uFFFF')) ) {s = 79;}
3028
3029 if ( s>=0 ) return s;
3030 break;
3031 case 3 :
3032 int LA26_110 = input.LA(1);
3033
3034 s = -1;
3035 if ( (LA26_110=='\'') ) {s = 111;}
3036
3037 else if ( (LA26_110=='\\') ) {s = 77;}
3038
3039 else if ( ((LA26_110>='\u0000' && LA26_110<='&')||(LA26_110>='(' && LA26_110<='[')||(LA26_110>=']' && LA26_110<='\uFFFF')) ) {s = 78;}
3040
3041 if ( s>=0 ) return s;
3042 break;
3043 case 4 :
3044 int LA26_78 = input.LA(1);
3045
3046 s = -1;
3047 if ( (LA26_78=='\'') ) {s = 111;}
3048
3049 else if ( (LA26_78=='\\') ) {s = 77;}
3050
3051 else if ( ((LA26_78>='\u0000' && LA26_78<='&')||(LA26_78>='(' && LA26_78<='[')||(LA26_78>=']' && LA26_78<='\uFFFF')) ) {s = 78;}
3052
3053 if ( s>=0 ) return s;
3054 break;
3055 case 5 :
3056 int LA26_30 = input.LA(1);
3057
3058 s = -1;
3059 if ( (LA26_30=='\\') ) {s = 77;}
3060
3061 else if ( ((LA26_30>='\u0000' && LA26_30<='&')||(LA26_30>='(' && LA26_30<='[')||(LA26_30>=']' && LA26_30<='\uFFFF')) ) {s = 78;}
3062
3063 else if ( (LA26_30=='\'') ) {s = 79;}
3064
3065 if ( s>=0 ) return s;
3066 break;
3067 case 6 :
3068 int LA26_108 = input.LA(1);
3069
3070 s = -1;
3071 if ( (LA26_108=='\"') ) {s = 76;}
3072
3073 else if ( (LA26_108=='\\') ) {s = 74;}
3074
3075 else if ( ((LA26_108>='\u0000' && LA26_108<='!')||(LA26_108>='#' && LA26_108<='[')||(LA26_108>=']' && LA26_108<='\uFFFF')) ) {s = 75;}
3076
3077 if ( s>=0 ) return s;
3078 break;
3079 case 7 :
3080 int LA26_75 = input.LA(1);
3081
3082 s = -1;
3083 if ( (LA26_75=='\"') ) {s = 76;}
3084
3085 else if ( (LA26_75=='\\') ) {s = 74;}
3086
3087 else if ( ((LA26_75>='\u0000' && LA26_75<='!')||(LA26_75>='#' && LA26_75<='[')||(LA26_75>=']' && LA26_75<='\uFFFF')) ) {s = 75;}
3088
3089 if ( s>=0 ) return s;
3090 break;
3091 }
3092 NoViableAltException nvae =
3093 new NoViableAltException(getDescription(), 26, _s, input);
3094 error(nvae);
3095 throw nvae;
3096 }
3097 }
3098
3099
3100} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguageParser.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguageParser.java
new file mode 100644
index 00000000..8d39bf4b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/internal/InternalVampireLanguageParser.java
@@ -0,0 +1,17577 @@
1package ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.internal;
2
3import java.io.InputStream;
4import org.eclipse.xtext.*;
5import org.eclipse.xtext.parser.*;
6import org.eclipse.xtext.parser.impl.*;
7import org.eclipse.emf.ecore.util.EcoreUtil;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.xtext.parser.antlr.XtextTokenStream;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
11import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
12import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
13import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
14
15
16
17import org.antlr.runtime.*;
18import java.util.Stack;
19import java.util.List;
20import java.util.ArrayList;
21
22@SuppressWarnings("all")
23public class InternalVampireLanguageParser extends AbstractInternalContentAssistParser {
24 public static final String[] tokenNames = new String[] {
25 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_LOWER_WORD_ID", "RULE_SINGLE_QUOTE", "RULE_LITERAL", "RULE_SIGNED_LITERAL", "RULE_DOLLAR_ID", "RULE_DOUBLE_DOLLAR_ID", "RULE_SINGLE_COMMENT", "RULE_UPPER_WORD_ID", "RULE_SIGNED_REAL_ID", "RULE_SIGNED_RAT_ID", "RULE_DOUBLE_QUOTE", "RULE_ALPHA_NUMERIC", "RULE_SIGN", "RULE_INT", "RULE_UNSIGNED_REAL_FRAC_ID", "RULE_UNSIGNED_REAL_EXP_ID", "RULE_UNSIGNED_RAT_ID", "RULE_ANY_OTHER", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "'axiom'", "'conjecture'", "'hypothesis'", "'definition'", "'assumption'", "'lemma'", "'theorem'", "'corollary'", "'negated_conjecture'", "'plain'", "'type'", "'fi_domain'", "'fi_functors'", "'fi_predicates'", "'unknown'", "'include('", "',['", "']'", "','", "'fof'", "'('", "')'", "'.'", "'['", "'<=>'", "'=>'", "'<='", "'<~>'", "'~|'", "'~&'", "'&'", "'|'", "'!'", "':'", "'?'", "'~'", "'!='", "'='", "':='", "'$true'", "'$false'", "'$less'"
26 };
27 public static final int RULE_UNSIGNED_RAT_ID=20;
28 public static final int T__50=50;
29 public static final int RULE_SIGN=16;
30 public static final int T__59=59;
31 public static final int RULE_SIGNED_LITERAL=7;
32 public static final int T__55=55;
33 public static final int T__56=56;
34 public static final int T__57=57;
35 public static final int T__58=58;
36 public static final int T__51=51;
37 public static final int RULE_DOUBLE_QUOTE=14;
38 public static final int T__52=52;
39 public static final int RULE_LITERAL=6;
40 public static final int T__53=53;
41 public static final int RULE_UNSIGNED_REAL_FRAC_ID=18;
42 public static final int T__54=54;
43 public static final int T__60=60;
44 public static final int T__61=61;
45 public static final int RULE_ID=22;
46 public static final int RULE_SINGLE_QUOTE=5;
47 public static final int RULE_SINGLE_COMMENT=10;
48 public static final int T__27=27;
49 public static final int T__28=28;
50 public static final int RULE_INT=17;
51 public static final int T__29=29;
52 public static final int T__66=66;
53 public static final int RULE_ML_COMMENT=24;
54 public static final int T__67=67;
55 public static final int RULE_SIGNED_RAT_ID=13;
56 public static final int T__68=68;
57 public static final int T__62=62;
58 public static final int T__63=63;
59 public static final int T__64=64;
60 public static final int T__65=65;
61 public static final int RULE_LOWER_WORD_ID=4;
62 public static final int RULE_STRING=23;
63 public static final int RULE_SL_COMMENT=25;
64 public static final int T__37=37;
65 public static final int T__38=38;
66 public static final int T__39=39;
67 public static final int T__33=33;
68 public static final int T__34=34;
69 public static final int T__35=35;
70 public static final int T__36=36;
71 public static final int EOF=-1;
72 public static final int T__30=30;
73 public static final int RULE_UNSIGNED_REAL_EXP_ID=19;
74 public static final int T__31=31;
75 public static final int T__32=32;
76 public static final int RULE_UPPER_WORD_ID=11;
77 public static final int RULE_WS=26;
78 public static final int RULE_DOLLAR_ID=8;
79 public static final int RULE_ALPHA_NUMERIC=15;
80 public static final int RULE_ANY_OTHER=21;
81 public static final int RULE_DOUBLE_DOLLAR_ID=9;
82 public static final int T__48=48;
83 public static final int T__49=49;
84 public static final int T__44=44;
85 public static final int T__45=45;
86 public static final int RULE_SIGNED_REAL_ID=12;
87 public static final int T__46=46;
88 public static final int T__47=47;
89 public static final int T__40=40;
90 public static final int T__41=41;
91 public static final int T__42=42;
92 public static final int T__43=43;
93
94 // delegates
95 // delegators
96
97
98 public InternalVampireLanguageParser(TokenStream input) {
99 this(input, new RecognizerSharedState());
100 }
101 public InternalVampireLanguageParser(TokenStream input, RecognizerSharedState state) {
102 super(input, state);
103
104 }
105
106
107 public String[] getTokenNames() { return InternalVampireLanguageParser.tokenNames; }
108 public String getGrammarFileName() { return "InternalVampireLanguage.g"; }
109
110
111 private VampireLanguageGrammarAccess grammarAccess;
112
113 public void setGrammarAccess(VampireLanguageGrammarAccess grammarAccess) {
114 this.grammarAccess = grammarAccess;
115 }
116
117 @Override
118 protected Grammar getGrammar() {
119 return grammarAccess.getGrammar();
120 }
121
122 @Override
123 protected String getValueForTokenName(String tokenName) {
124 return tokenName;
125 }
126
127
128
129 // $ANTLR start "entryRuleVampireModel"
130 // InternalVampireLanguage.g:53:1: entryRuleVampireModel : ruleVampireModel EOF ;
131 public final void entryRuleVampireModel() throws RecognitionException {
132 try {
133 // InternalVampireLanguage.g:54:1: ( ruleVampireModel EOF )
134 // InternalVampireLanguage.g:55:1: ruleVampireModel EOF
135 {
136 before(grammarAccess.getVampireModelRule());
137 pushFollow(FOLLOW_1);
138 ruleVampireModel();
139
140 state._fsp--;
141
142 after(grammarAccess.getVampireModelRule());
143 match(input,EOF,FOLLOW_2);
144
145 }
146
147 }
148 catch (RecognitionException re) {
149 reportError(re);
150 recover(input,re);
151 }
152 finally {
153 }
154 return ;
155 }
156 // $ANTLR end "entryRuleVampireModel"
157
158
159 // $ANTLR start "ruleVampireModel"
160 // InternalVampireLanguage.g:62:1: ruleVampireModel : ( ( rule__VampireModel__Alternatives )* ) ;
161 public final void ruleVampireModel() throws RecognitionException {
162
163 int stackSize = keepStackSize();
164
165 try {
166 // InternalVampireLanguage.g:66:2: ( ( ( rule__VampireModel__Alternatives )* ) )
167 // InternalVampireLanguage.g:67:2: ( ( rule__VampireModel__Alternatives )* )
168 {
169 // InternalVampireLanguage.g:67:2: ( ( rule__VampireModel__Alternatives )* )
170 // InternalVampireLanguage.g:68:3: ( rule__VampireModel__Alternatives )*
171 {
172 before(grammarAccess.getVampireModelAccess().getAlternatives());
173 // InternalVampireLanguage.g:69:3: ( rule__VampireModel__Alternatives )*
174 loop1:
175 do {
176 int alt1=2;
177 int LA1_0 = input.LA(1);
178
179 if ( (LA1_0==RULE_SINGLE_COMMENT||LA1_0==42||LA1_0==46) ) {
180 alt1=1;
181 }
182
183
184 switch (alt1) {
185 case 1 :
186 // InternalVampireLanguage.g:69:4: rule__VampireModel__Alternatives
187 {
188 pushFollow(FOLLOW_3);
189 rule__VampireModel__Alternatives();
190
191 state._fsp--;
192
193
194 }
195 break;
196
197 default :
198 break loop1;
199 }
200 } while (true);
201
202 after(grammarAccess.getVampireModelAccess().getAlternatives());
203
204 }
205
206
207 }
208
209 }
210 catch (RecognitionException re) {
211 reportError(re);
212 recover(input,re);
213 }
214 finally {
215
216 restoreStackSize(stackSize);
217
218 }
219 return ;
220 }
221 // $ANTLR end "ruleVampireModel"
222
223
224 // $ANTLR start "entryRuleVLSInclude"
225 // InternalVampireLanguage.g:78:1: entryRuleVLSInclude : ruleVLSInclude EOF ;
226 public final void entryRuleVLSInclude() throws RecognitionException {
227 try {
228 // InternalVampireLanguage.g:79:1: ( ruleVLSInclude EOF )
229 // InternalVampireLanguage.g:80:1: ruleVLSInclude EOF
230 {
231 before(grammarAccess.getVLSIncludeRule());
232 pushFollow(FOLLOW_1);
233 ruleVLSInclude();
234
235 state._fsp--;
236
237 after(grammarAccess.getVLSIncludeRule());
238 match(input,EOF,FOLLOW_2);
239
240 }
241
242 }
243 catch (RecognitionException re) {
244 reportError(re);
245 recover(input,re);
246 }
247 finally {
248 }
249 return ;
250 }
251 // $ANTLR end "entryRuleVLSInclude"
252
253
254 // $ANTLR start "ruleVLSInclude"
255 // InternalVampireLanguage.g:87:1: ruleVLSInclude : ( ( rule__VLSInclude__Group__0 ) ) ;
256 public final void ruleVLSInclude() throws RecognitionException {
257
258 int stackSize = keepStackSize();
259
260 try {
261 // InternalVampireLanguage.g:91:2: ( ( ( rule__VLSInclude__Group__0 ) ) )
262 // InternalVampireLanguage.g:92:2: ( ( rule__VLSInclude__Group__0 ) )
263 {
264 // InternalVampireLanguage.g:92:2: ( ( rule__VLSInclude__Group__0 ) )
265 // InternalVampireLanguage.g:93:3: ( rule__VLSInclude__Group__0 )
266 {
267 before(grammarAccess.getVLSIncludeAccess().getGroup());
268 // InternalVampireLanguage.g:94:3: ( rule__VLSInclude__Group__0 )
269 // InternalVampireLanguage.g:94:4: rule__VLSInclude__Group__0
270 {
271 pushFollow(FOLLOW_2);
272 rule__VLSInclude__Group__0();
273
274 state._fsp--;
275
276
277 }
278
279 after(grammarAccess.getVLSIncludeAccess().getGroup());
280
281 }
282
283
284 }
285
286 }
287 catch (RecognitionException re) {
288 reportError(re);
289 recover(input,re);
290 }
291 finally {
292
293 restoreStackSize(stackSize);
294
295 }
296 return ;
297 }
298 // $ANTLR end "ruleVLSInclude"
299
300
301 // $ANTLR start "entryRuleVLSName"
302 // InternalVampireLanguage.g:103:1: entryRuleVLSName : ruleVLSName EOF ;
303 public final void entryRuleVLSName() throws RecognitionException {
304 try {
305 // InternalVampireLanguage.g:104:1: ( ruleVLSName EOF )
306 // InternalVampireLanguage.g:105:1: ruleVLSName EOF
307 {
308 before(grammarAccess.getVLSNameRule());
309 pushFollow(FOLLOW_1);
310 ruleVLSName();
311
312 state._fsp--;
313
314 after(grammarAccess.getVLSNameRule());
315 match(input,EOF,FOLLOW_2);
316
317 }
318
319 }
320 catch (RecognitionException re) {
321 reportError(re);
322 recover(input,re);
323 }
324 finally {
325 }
326 return ;
327 }
328 // $ANTLR end "entryRuleVLSName"
329
330
331 // $ANTLR start "ruleVLSName"
332 // InternalVampireLanguage.g:112:1: ruleVLSName : ( ( rule__VLSName__NameAssignment ) ) ;
333 public final void ruleVLSName() throws RecognitionException {
334
335 int stackSize = keepStackSize();
336
337 try {
338 // InternalVampireLanguage.g:116:2: ( ( ( rule__VLSName__NameAssignment ) ) )
339 // InternalVampireLanguage.g:117:2: ( ( rule__VLSName__NameAssignment ) )
340 {
341 // InternalVampireLanguage.g:117:2: ( ( rule__VLSName__NameAssignment ) )
342 // InternalVampireLanguage.g:118:3: ( rule__VLSName__NameAssignment )
343 {
344 before(grammarAccess.getVLSNameAccess().getNameAssignment());
345 // InternalVampireLanguage.g:119:3: ( rule__VLSName__NameAssignment )
346 // InternalVampireLanguage.g:119:4: rule__VLSName__NameAssignment
347 {
348 pushFollow(FOLLOW_2);
349 rule__VLSName__NameAssignment();
350
351 state._fsp--;
352
353
354 }
355
356 after(grammarAccess.getVLSNameAccess().getNameAssignment());
357
358 }
359
360
361 }
362
363 }
364 catch (RecognitionException re) {
365 reportError(re);
366 recover(input,re);
367 }
368 finally {
369
370 restoreStackSize(stackSize);
371
372 }
373 return ;
374 }
375 // $ANTLR end "ruleVLSName"
376
377
378 // $ANTLR start "entryRuleVLSComment"
379 // InternalVampireLanguage.g:128:1: entryRuleVLSComment : ruleVLSComment EOF ;
380 public final void entryRuleVLSComment() throws RecognitionException {
381 try {
382 // InternalVampireLanguage.g:129:1: ( ruleVLSComment EOF )
383 // InternalVampireLanguage.g:130:1: ruleVLSComment EOF
384 {
385 before(grammarAccess.getVLSCommentRule());
386 pushFollow(FOLLOW_1);
387 ruleVLSComment();
388
389 state._fsp--;
390
391 after(grammarAccess.getVLSCommentRule());
392 match(input,EOF,FOLLOW_2);
393
394 }
395
396 }
397 catch (RecognitionException re) {
398 reportError(re);
399 recover(input,re);
400 }
401 finally {
402 }
403 return ;
404 }
405 // $ANTLR end "entryRuleVLSComment"
406
407
408 // $ANTLR start "ruleVLSComment"
409 // InternalVampireLanguage.g:137:1: ruleVLSComment : ( ( rule__VLSComment__CommentAssignment ) ) ;
410 public final void ruleVLSComment() throws RecognitionException {
411
412 int stackSize = keepStackSize();
413
414 try {
415 // InternalVampireLanguage.g:141:2: ( ( ( rule__VLSComment__CommentAssignment ) ) )
416 // InternalVampireLanguage.g:142:2: ( ( rule__VLSComment__CommentAssignment ) )
417 {
418 // InternalVampireLanguage.g:142:2: ( ( rule__VLSComment__CommentAssignment ) )
419 // InternalVampireLanguage.g:143:3: ( rule__VLSComment__CommentAssignment )
420 {
421 before(grammarAccess.getVLSCommentAccess().getCommentAssignment());
422 // InternalVampireLanguage.g:144:3: ( rule__VLSComment__CommentAssignment )
423 // InternalVampireLanguage.g:144:4: rule__VLSComment__CommentAssignment
424 {
425 pushFollow(FOLLOW_2);
426 rule__VLSComment__CommentAssignment();
427
428 state._fsp--;
429
430
431 }
432
433 after(grammarAccess.getVLSCommentAccess().getCommentAssignment());
434
435 }
436
437
438 }
439
440 }
441 catch (RecognitionException re) {
442 reportError(re);
443 recover(input,re);
444 }
445 finally {
446
447 restoreStackSize(stackSize);
448
449 }
450 return ;
451 }
452 // $ANTLR end "ruleVLSComment"
453
454
455 // $ANTLR start "entryRuleVLSFofFormula"
456 // InternalVampireLanguage.g:153:1: entryRuleVLSFofFormula : ruleVLSFofFormula EOF ;
457 public final void entryRuleVLSFofFormula() throws RecognitionException {
458 try {
459 // InternalVampireLanguage.g:154:1: ( ruleVLSFofFormula EOF )
460 // InternalVampireLanguage.g:155:1: ruleVLSFofFormula EOF
461 {
462 before(grammarAccess.getVLSFofFormulaRule());
463 pushFollow(FOLLOW_1);
464 ruleVLSFofFormula();
465
466 state._fsp--;
467
468 after(grammarAccess.getVLSFofFormulaRule());
469 match(input,EOF,FOLLOW_2);
470
471 }
472
473 }
474 catch (RecognitionException re) {
475 reportError(re);
476 recover(input,re);
477 }
478 finally {
479 }
480 return ;
481 }
482 // $ANTLR end "entryRuleVLSFofFormula"
483
484
485 // $ANTLR start "ruleVLSFofFormula"
486 // InternalVampireLanguage.g:162:1: ruleVLSFofFormula : ( ( rule__VLSFofFormula__Group__0 ) ) ;
487 public final void ruleVLSFofFormula() throws RecognitionException {
488
489 int stackSize = keepStackSize();
490
491 try {
492 // InternalVampireLanguage.g:166:2: ( ( ( rule__VLSFofFormula__Group__0 ) ) )
493 // InternalVampireLanguage.g:167:2: ( ( rule__VLSFofFormula__Group__0 ) )
494 {
495 // InternalVampireLanguage.g:167:2: ( ( rule__VLSFofFormula__Group__0 ) )
496 // InternalVampireLanguage.g:168:3: ( rule__VLSFofFormula__Group__0 )
497 {
498 before(grammarAccess.getVLSFofFormulaAccess().getGroup());
499 // InternalVampireLanguage.g:169:3: ( rule__VLSFofFormula__Group__0 )
500 // InternalVampireLanguage.g:169:4: rule__VLSFofFormula__Group__0
501 {
502 pushFollow(FOLLOW_2);
503 rule__VLSFofFormula__Group__0();
504
505 state._fsp--;
506
507
508 }
509
510 after(grammarAccess.getVLSFofFormulaAccess().getGroup());
511
512 }
513
514
515 }
516
517 }
518 catch (RecognitionException re) {
519 reportError(re);
520 recover(input,re);
521 }
522 finally {
523
524 restoreStackSize(stackSize);
525
526 }
527 return ;
528 }
529 // $ANTLR end "ruleVLSFofFormula"
530
531
532 // $ANTLR start "entryRuleVLSRole"
533 // InternalVampireLanguage.g:178:1: entryRuleVLSRole : ruleVLSRole EOF ;
534 public final void entryRuleVLSRole() throws RecognitionException {
535 try {
536 // InternalVampireLanguage.g:179:1: ( ruleVLSRole EOF )
537 // InternalVampireLanguage.g:180:1: ruleVLSRole EOF
538 {
539 before(grammarAccess.getVLSRoleRule());
540 pushFollow(FOLLOW_1);
541 ruleVLSRole();
542
543 state._fsp--;
544
545 after(grammarAccess.getVLSRoleRule());
546 match(input,EOF,FOLLOW_2);
547
548 }
549
550 }
551 catch (RecognitionException re) {
552 reportError(re);
553 recover(input,re);
554 }
555 finally {
556 }
557 return ;
558 }
559 // $ANTLR end "entryRuleVLSRole"
560
561
562 // $ANTLR start "ruleVLSRole"
563 // InternalVampireLanguage.g:187:1: ruleVLSRole : ( ( rule__VLSRole__Alternatives ) ) ;
564 public final void ruleVLSRole() throws RecognitionException {
565
566 int stackSize = keepStackSize();
567
568 try {
569 // InternalVampireLanguage.g:191:2: ( ( ( rule__VLSRole__Alternatives ) ) )
570 // InternalVampireLanguage.g:192:2: ( ( rule__VLSRole__Alternatives ) )
571 {
572 // InternalVampireLanguage.g:192:2: ( ( rule__VLSRole__Alternatives ) )
573 // InternalVampireLanguage.g:193:3: ( rule__VLSRole__Alternatives )
574 {
575 before(grammarAccess.getVLSRoleAccess().getAlternatives());
576 // InternalVampireLanguage.g:194:3: ( rule__VLSRole__Alternatives )
577 // InternalVampireLanguage.g:194:4: rule__VLSRole__Alternatives
578 {
579 pushFollow(FOLLOW_2);
580 rule__VLSRole__Alternatives();
581
582 state._fsp--;
583
584
585 }
586
587 after(grammarAccess.getVLSRoleAccess().getAlternatives());
588
589 }
590
591
592 }
593
594 }
595 catch (RecognitionException re) {
596 reportError(re);
597 recover(input,re);
598 }
599 finally {
600
601 restoreStackSize(stackSize);
602
603 }
604 return ;
605 }
606 // $ANTLR end "ruleVLSRole"
607
608
609 // $ANTLR start "entryRuleVLSAxiom"
610 // InternalVampireLanguage.g:203:1: entryRuleVLSAxiom : ruleVLSAxiom EOF ;
611 public final void entryRuleVLSAxiom() throws RecognitionException {
612 try {
613 // InternalVampireLanguage.g:204:1: ( ruleVLSAxiom EOF )
614 // InternalVampireLanguage.g:205:1: ruleVLSAxiom EOF
615 {
616 before(grammarAccess.getVLSAxiomRule());
617 pushFollow(FOLLOW_1);
618 ruleVLSAxiom();
619
620 state._fsp--;
621
622 after(grammarAccess.getVLSAxiomRule());
623 match(input,EOF,FOLLOW_2);
624
625 }
626
627 }
628 catch (RecognitionException re) {
629 reportError(re);
630 recover(input,re);
631 }
632 finally {
633 }
634 return ;
635 }
636 // $ANTLR end "entryRuleVLSAxiom"
637
638
639 // $ANTLR start "ruleVLSAxiom"
640 // InternalVampireLanguage.g:212:1: ruleVLSAxiom : ( 'axiom' ) ;
641 public final void ruleVLSAxiom() throws RecognitionException {
642
643 int stackSize = keepStackSize();
644
645 try {
646 // InternalVampireLanguage.g:216:2: ( ( 'axiom' ) )
647 // InternalVampireLanguage.g:217:2: ( 'axiom' )
648 {
649 // InternalVampireLanguage.g:217:2: ( 'axiom' )
650 // InternalVampireLanguage.g:218:3: 'axiom'
651 {
652 before(grammarAccess.getVLSAxiomAccess().getAxiomKeyword());
653 match(input,27,FOLLOW_2);
654 after(grammarAccess.getVLSAxiomAccess().getAxiomKeyword());
655
656 }
657
658
659 }
660
661 }
662 catch (RecognitionException re) {
663 reportError(re);
664 recover(input,re);
665 }
666 finally {
667
668 restoreStackSize(stackSize);
669
670 }
671 return ;
672 }
673 // $ANTLR end "ruleVLSAxiom"
674
675
676 // $ANTLR start "entryRuleVLSConjecture"
677 // InternalVampireLanguage.g:228:1: entryRuleVLSConjecture : ruleVLSConjecture EOF ;
678 public final void entryRuleVLSConjecture() throws RecognitionException {
679 try {
680 // InternalVampireLanguage.g:229:1: ( ruleVLSConjecture EOF )
681 // InternalVampireLanguage.g:230:1: ruleVLSConjecture EOF
682 {
683 before(grammarAccess.getVLSConjectureRule());
684 pushFollow(FOLLOW_1);
685 ruleVLSConjecture();
686
687 state._fsp--;
688
689 after(grammarAccess.getVLSConjectureRule());
690 match(input,EOF,FOLLOW_2);
691
692 }
693
694 }
695 catch (RecognitionException re) {
696 reportError(re);
697 recover(input,re);
698 }
699 finally {
700 }
701 return ;
702 }
703 // $ANTLR end "entryRuleVLSConjecture"
704
705
706 // $ANTLR start "ruleVLSConjecture"
707 // InternalVampireLanguage.g:237:1: ruleVLSConjecture : ( 'conjecture' ) ;
708 public final void ruleVLSConjecture() throws RecognitionException {
709
710 int stackSize = keepStackSize();
711
712 try {
713 // InternalVampireLanguage.g:241:2: ( ( 'conjecture' ) )
714 // InternalVampireLanguage.g:242:2: ( 'conjecture' )
715 {
716 // InternalVampireLanguage.g:242:2: ( 'conjecture' )
717 // InternalVampireLanguage.g:243:3: 'conjecture'
718 {
719 before(grammarAccess.getVLSConjectureAccess().getConjectureKeyword());
720 match(input,28,FOLLOW_2);
721 after(grammarAccess.getVLSConjectureAccess().getConjectureKeyword());
722
723 }
724
725
726 }
727
728 }
729 catch (RecognitionException re) {
730 reportError(re);
731 recover(input,re);
732 }
733 finally {
734
735 restoreStackSize(stackSize);
736
737 }
738 return ;
739 }
740 // $ANTLR end "ruleVLSConjecture"
741
742
743 // $ANTLR start "entryRuleVLSHypothesis"
744 // InternalVampireLanguage.g:253:1: entryRuleVLSHypothesis : ruleVLSHypothesis EOF ;
745 public final void entryRuleVLSHypothesis() throws RecognitionException {
746 try {
747 // InternalVampireLanguage.g:254:1: ( ruleVLSHypothesis EOF )
748 // InternalVampireLanguage.g:255:1: ruleVLSHypothesis EOF
749 {
750 before(grammarAccess.getVLSHypothesisRule());
751 pushFollow(FOLLOW_1);
752 ruleVLSHypothesis();
753
754 state._fsp--;
755
756 after(grammarAccess.getVLSHypothesisRule());
757 match(input,EOF,FOLLOW_2);
758
759 }
760
761 }
762 catch (RecognitionException re) {
763 reportError(re);
764 recover(input,re);
765 }
766 finally {
767 }
768 return ;
769 }
770 // $ANTLR end "entryRuleVLSHypothesis"
771
772
773 // $ANTLR start "ruleVLSHypothesis"
774 // InternalVampireLanguage.g:262:1: ruleVLSHypothesis : ( 'hypothesis' ) ;
775 public final void ruleVLSHypothesis() throws RecognitionException {
776
777 int stackSize = keepStackSize();
778
779 try {
780 // InternalVampireLanguage.g:266:2: ( ( 'hypothesis' ) )
781 // InternalVampireLanguage.g:267:2: ( 'hypothesis' )
782 {
783 // InternalVampireLanguage.g:267:2: ( 'hypothesis' )
784 // InternalVampireLanguage.g:268:3: 'hypothesis'
785 {
786 before(grammarAccess.getVLSHypothesisAccess().getHypothesisKeyword());
787 match(input,29,FOLLOW_2);
788 after(grammarAccess.getVLSHypothesisAccess().getHypothesisKeyword());
789
790 }
791
792
793 }
794
795 }
796 catch (RecognitionException re) {
797 reportError(re);
798 recover(input,re);
799 }
800 finally {
801
802 restoreStackSize(stackSize);
803
804 }
805 return ;
806 }
807 // $ANTLR end "ruleVLSHypothesis"
808
809
810 // $ANTLR start "entryRuleVLSDefinition"
811 // InternalVampireLanguage.g:278:1: entryRuleVLSDefinition : ruleVLSDefinition EOF ;
812 public final void entryRuleVLSDefinition() throws RecognitionException {
813 try {
814 // InternalVampireLanguage.g:279:1: ( ruleVLSDefinition EOF )
815 // InternalVampireLanguage.g:280:1: ruleVLSDefinition EOF
816 {
817 before(grammarAccess.getVLSDefinitionRule());
818 pushFollow(FOLLOW_1);
819 ruleVLSDefinition();
820
821 state._fsp--;
822
823 after(grammarAccess.getVLSDefinitionRule());
824 match(input,EOF,FOLLOW_2);
825
826 }
827
828 }
829 catch (RecognitionException re) {
830 reportError(re);
831 recover(input,re);
832 }
833 finally {
834 }
835 return ;
836 }
837 // $ANTLR end "entryRuleVLSDefinition"
838
839
840 // $ANTLR start "ruleVLSDefinition"
841 // InternalVampireLanguage.g:287:1: ruleVLSDefinition : ( 'definition' ) ;
842 public final void ruleVLSDefinition() throws RecognitionException {
843
844 int stackSize = keepStackSize();
845
846 try {
847 // InternalVampireLanguage.g:291:2: ( ( 'definition' ) )
848 // InternalVampireLanguage.g:292:2: ( 'definition' )
849 {
850 // InternalVampireLanguage.g:292:2: ( 'definition' )
851 // InternalVampireLanguage.g:293:3: 'definition'
852 {
853 before(grammarAccess.getVLSDefinitionAccess().getDefinitionKeyword());
854 match(input,30,FOLLOW_2);
855 after(grammarAccess.getVLSDefinitionAccess().getDefinitionKeyword());
856
857 }
858
859
860 }
861
862 }
863 catch (RecognitionException re) {
864 reportError(re);
865 recover(input,re);
866 }
867 finally {
868
869 restoreStackSize(stackSize);
870
871 }
872 return ;
873 }
874 // $ANTLR end "ruleVLSDefinition"
875
876
877 // $ANTLR start "entryRuleVLSAssumption"
878 // InternalVampireLanguage.g:303:1: entryRuleVLSAssumption : ruleVLSAssumption EOF ;
879 public final void entryRuleVLSAssumption() throws RecognitionException {
880 try {
881 // InternalVampireLanguage.g:304:1: ( ruleVLSAssumption EOF )
882 // InternalVampireLanguage.g:305:1: ruleVLSAssumption EOF
883 {
884 before(grammarAccess.getVLSAssumptionRule());
885 pushFollow(FOLLOW_1);
886 ruleVLSAssumption();
887
888 state._fsp--;
889
890 after(grammarAccess.getVLSAssumptionRule());
891 match(input,EOF,FOLLOW_2);
892
893 }
894
895 }
896 catch (RecognitionException re) {
897 reportError(re);
898 recover(input,re);
899 }
900 finally {
901 }
902 return ;
903 }
904 // $ANTLR end "entryRuleVLSAssumption"
905
906
907 // $ANTLR start "ruleVLSAssumption"
908 // InternalVampireLanguage.g:312:1: ruleVLSAssumption : ( 'assumption' ) ;
909 public final void ruleVLSAssumption() throws RecognitionException {
910
911 int stackSize = keepStackSize();
912
913 try {
914 // InternalVampireLanguage.g:316:2: ( ( 'assumption' ) )
915 // InternalVampireLanguage.g:317:2: ( 'assumption' )
916 {
917 // InternalVampireLanguage.g:317:2: ( 'assumption' )
918 // InternalVampireLanguage.g:318:3: 'assumption'
919 {
920 before(grammarAccess.getVLSAssumptionAccess().getAssumptionKeyword());
921 match(input,31,FOLLOW_2);
922 after(grammarAccess.getVLSAssumptionAccess().getAssumptionKeyword());
923
924 }
925
926
927 }
928
929 }
930 catch (RecognitionException re) {
931 reportError(re);
932 recover(input,re);
933 }
934 finally {
935
936 restoreStackSize(stackSize);
937
938 }
939 return ;
940 }
941 // $ANTLR end "ruleVLSAssumption"
942
943
944 // $ANTLR start "entryRuleVLSLemma"
945 // InternalVampireLanguage.g:328:1: entryRuleVLSLemma : ruleVLSLemma EOF ;
946 public final void entryRuleVLSLemma() throws RecognitionException {
947 try {
948 // InternalVampireLanguage.g:329:1: ( ruleVLSLemma EOF )
949 // InternalVampireLanguage.g:330:1: ruleVLSLemma EOF
950 {
951 before(grammarAccess.getVLSLemmaRule());
952 pushFollow(FOLLOW_1);
953 ruleVLSLemma();
954
955 state._fsp--;
956
957 after(grammarAccess.getVLSLemmaRule());
958 match(input,EOF,FOLLOW_2);
959
960 }
961
962 }
963 catch (RecognitionException re) {
964 reportError(re);
965 recover(input,re);
966 }
967 finally {
968 }
969 return ;
970 }
971 // $ANTLR end "entryRuleVLSLemma"
972
973
974 // $ANTLR start "ruleVLSLemma"
975 // InternalVampireLanguage.g:337:1: ruleVLSLemma : ( 'lemma' ) ;
976 public final void ruleVLSLemma() throws RecognitionException {
977
978 int stackSize = keepStackSize();
979
980 try {
981 // InternalVampireLanguage.g:341:2: ( ( 'lemma' ) )
982 // InternalVampireLanguage.g:342:2: ( 'lemma' )
983 {
984 // InternalVampireLanguage.g:342:2: ( 'lemma' )
985 // InternalVampireLanguage.g:343:3: 'lemma'
986 {
987 before(grammarAccess.getVLSLemmaAccess().getLemmaKeyword());
988 match(input,32,FOLLOW_2);
989 after(grammarAccess.getVLSLemmaAccess().getLemmaKeyword());
990
991 }
992
993
994 }
995
996 }
997 catch (RecognitionException re) {
998 reportError(re);
999 recover(input,re);
1000 }
1001 finally {
1002
1003 restoreStackSize(stackSize);
1004
1005 }
1006 return ;
1007 }
1008 // $ANTLR end "ruleVLSLemma"
1009
1010
1011 // $ANTLR start "entryRuleVLSTheorem"
1012 // InternalVampireLanguage.g:353:1: entryRuleVLSTheorem : ruleVLSTheorem EOF ;
1013 public final void entryRuleVLSTheorem() throws RecognitionException {
1014 try {
1015 // InternalVampireLanguage.g:354:1: ( ruleVLSTheorem EOF )
1016 // InternalVampireLanguage.g:355:1: ruleVLSTheorem EOF
1017 {
1018 before(grammarAccess.getVLSTheoremRule());
1019 pushFollow(FOLLOW_1);
1020 ruleVLSTheorem();
1021
1022 state._fsp--;
1023
1024 after(grammarAccess.getVLSTheoremRule());
1025 match(input,EOF,FOLLOW_2);
1026
1027 }
1028
1029 }
1030 catch (RecognitionException re) {
1031 reportError(re);
1032 recover(input,re);
1033 }
1034 finally {
1035 }
1036 return ;
1037 }
1038 // $ANTLR end "entryRuleVLSTheorem"
1039
1040
1041 // $ANTLR start "ruleVLSTheorem"
1042 // InternalVampireLanguage.g:362:1: ruleVLSTheorem : ( 'theorem' ) ;
1043 public final void ruleVLSTheorem() throws RecognitionException {
1044
1045 int stackSize = keepStackSize();
1046
1047 try {
1048 // InternalVampireLanguage.g:366:2: ( ( 'theorem' ) )
1049 // InternalVampireLanguage.g:367:2: ( 'theorem' )
1050 {
1051 // InternalVampireLanguage.g:367:2: ( 'theorem' )
1052 // InternalVampireLanguage.g:368:3: 'theorem'
1053 {
1054 before(grammarAccess.getVLSTheoremAccess().getTheoremKeyword());
1055 match(input,33,FOLLOW_2);
1056 after(grammarAccess.getVLSTheoremAccess().getTheoremKeyword());
1057
1058 }
1059
1060
1061 }
1062
1063 }
1064 catch (RecognitionException re) {
1065 reportError(re);
1066 recover(input,re);
1067 }
1068 finally {
1069
1070 restoreStackSize(stackSize);
1071
1072 }
1073 return ;
1074 }
1075 // $ANTLR end "ruleVLSTheorem"
1076
1077
1078 // $ANTLR start "entryRuleVLSCorollary"
1079 // InternalVampireLanguage.g:378:1: entryRuleVLSCorollary : ruleVLSCorollary EOF ;
1080 public final void entryRuleVLSCorollary() throws RecognitionException {
1081 try {
1082 // InternalVampireLanguage.g:379:1: ( ruleVLSCorollary EOF )
1083 // InternalVampireLanguage.g:380:1: ruleVLSCorollary EOF
1084 {
1085 before(grammarAccess.getVLSCorollaryRule());
1086 pushFollow(FOLLOW_1);
1087 ruleVLSCorollary();
1088
1089 state._fsp--;
1090
1091 after(grammarAccess.getVLSCorollaryRule());
1092 match(input,EOF,FOLLOW_2);
1093
1094 }
1095
1096 }
1097 catch (RecognitionException re) {
1098 reportError(re);
1099 recover(input,re);
1100 }
1101 finally {
1102 }
1103 return ;
1104 }
1105 // $ANTLR end "entryRuleVLSCorollary"
1106
1107
1108 // $ANTLR start "ruleVLSCorollary"
1109 // InternalVampireLanguage.g:387:1: ruleVLSCorollary : ( 'corollary' ) ;
1110 public final void ruleVLSCorollary() throws RecognitionException {
1111
1112 int stackSize = keepStackSize();
1113
1114 try {
1115 // InternalVampireLanguage.g:391:2: ( ( 'corollary' ) )
1116 // InternalVampireLanguage.g:392:2: ( 'corollary' )
1117 {
1118 // InternalVampireLanguage.g:392:2: ( 'corollary' )
1119 // InternalVampireLanguage.g:393:3: 'corollary'
1120 {
1121 before(grammarAccess.getVLSCorollaryAccess().getCorollaryKeyword());
1122 match(input,34,FOLLOW_2);
1123 after(grammarAccess.getVLSCorollaryAccess().getCorollaryKeyword());
1124
1125 }
1126
1127
1128 }
1129
1130 }
1131 catch (RecognitionException re) {
1132 reportError(re);
1133 recover(input,re);
1134 }
1135 finally {
1136
1137 restoreStackSize(stackSize);
1138
1139 }
1140 return ;
1141 }
1142 // $ANTLR end "ruleVLSCorollary"
1143
1144
1145 // $ANTLR start "entryRuleVLSNegated_Conjecture"
1146 // InternalVampireLanguage.g:403:1: entryRuleVLSNegated_Conjecture : ruleVLSNegated_Conjecture EOF ;
1147 public final void entryRuleVLSNegated_Conjecture() throws RecognitionException {
1148 try {
1149 // InternalVampireLanguage.g:404:1: ( ruleVLSNegated_Conjecture EOF )
1150 // InternalVampireLanguage.g:405:1: ruleVLSNegated_Conjecture EOF
1151 {
1152 before(grammarAccess.getVLSNegated_ConjectureRule());
1153 pushFollow(FOLLOW_1);
1154 ruleVLSNegated_Conjecture();
1155
1156 state._fsp--;
1157
1158 after(grammarAccess.getVLSNegated_ConjectureRule());
1159 match(input,EOF,FOLLOW_2);
1160
1161 }
1162
1163 }
1164 catch (RecognitionException re) {
1165 reportError(re);
1166 recover(input,re);
1167 }
1168 finally {
1169 }
1170 return ;
1171 }
1172 // $ANTLR end "entryRuleVLSNegated_Conjecture"
1173
1174
1175 // $ANTLR start "ruleVLSNegated_Conjecture"
1176 // InternalVampireLanguage.g:412:1: ruleVLSNegated_Conjecture : ( 'negated_conjecture' ) ;
1177 public final void ruleVLSNegated_Conjecture() throws RecognitionException {
1178
1179 int stackSize = keepStackSize();
1180
1181 try {
1182 // InternalVampireLanguage.g:416:2: ( ( 'negated_conjecture' ) )
1183 // InternalVampireLanguage.g:417:2: ( 'negated_conjecture' )
1184 {
1185 // InternalVampireLanguage.g:417:2: ( 'negated_conjecture' )
1186 // InternalVampireLanguage.g:418:3: 'negated_conjecture'
1187 {
1188 before(grammarAccess.getVLSNegated_ConjectureAccess().getNegated_conjectureKeyword());
1189 match(input,35,FOLLOW_2);
1190 after(grammarAccess.getVLSNegated_ConjectureAccess().getNegated_conjectureKeyword());
1191
1192 }
1193
1194
1195 }
1196
1197 }
1198 catch (RecognitionException re) {
1199 reportError(re);
1200 recover(input,re);
1201 }
1202 finally {
1203
1204 restoreStackSize(stackSize);
1205
1206 }
1207 return ;
1208 }
1209 // $ANTLR end "ruleVLSNegated_Conjecture"
1210
1211
1212 // $ANTLR start "entryRuleVLSPlain"
1213 // InternalVampireLanguage.g:428:1: entryRuleVLSPlain : ruleVLSPlain EOF ;
1214 public final void entryRuleVLSPlain() throws RecognitionException {
1215 try {
1216 // InternalVampireLanguage.g:429:1: ( ruleVLSPlain EOF )
1217 // InternalVampireLanguage.g:430:1: ruleVLSPlain EOF
1218 {
1219 before(grammarAccess.getVLSPlainRule());
1220 pushFollow(FOLLOW_1);
1221 ruleVLSPlain();
1222
1223 state._fsp--;
1224
1225 after(grammarAccess.getVLSPlainRule());
1226 match(input,EOF,FOLLOW_2);
1227
1228 }
1229
1230 }
1231 catch (RecognitionException re) {
1232 reportError(re);
1233 recover(input,re);
1234 }
1235 finally {
1236 }
1237 return ;
1238 }
1239 // $ANTLR end "entryRuleVLSPlain"
1240
1241
1242 // $ANTLR start "ruleVLSPlain"
1243 // InternalVampireLanguage.g:437:1: ruleVLSPlain : ( 'plain' ) ;
1244 public final void ruleVLSPlain() throws RecognitionException {
1245
1246 int stackSize = keepStackSize();
1247
1248 try {
1249 // InternalVampireLanguage.g:441:2: ( ( 'plain' ) )
1250 // InternalVampireLanguage.g:442:2: ( 'plain' )
1251 {
1252 // InternalVampireLanguage.g:442:2: ( 'plain' )
1253 // InternalVampireLanguage.g:443:3: 'plain'
1254 {
1255 before(grammarAccess.getVLSPlainAccess().getPlainKeyword());
1256 match(input,36,FOLLOW_2);
1257 after(grammarAccess.getVLSPlainAccess().getPlainKeyword());
1258
1259 }
1260
1261
1262 }
1263
1264 }
1265 catch (RecognitionException re) {
1266 reportError(re);
1267 recover(input,re);
1268 }
1269 finally {
1270
1271 restoreStackSize(stackSize);
1272
1273 }
1274 return ;
1275 }
1276 // $ANTLR end "ruleVLSPlain"
1277
1278
1279 // $ANTLR start "entryRuleVLSType"
1280 // InternalVampireLanguage.g:453:1: entryRuleVLSType : ruleVLSType EOF ;
1281 public final void entryRuleVLSType() throws RecognitionException {
1282 try {
1283 // InternalVampireLanguage.g:454:1: ( ruleVLSType EOF )
1284 // InternalVampireLanguage.g:455:1: ruleVLSType EOF
1285 {
1286 before(grammarAccess.getVLSTypeRule());
1287 pushFollow(FOLLOW_1);
1288 ruleVLSType();
1289
1290 state._fsp--;
1291
1292 after(grammarAccess.getVLSTypeRule());
1293 match(input,EOF,FOLLOW_2);
1294
1295 }
1296
1297 }
1298 catch (RecognitionException re) {
1299 reportError(re);
1300 recover(input,re);
1301 }
1302 finally {
1303 }
1304 return ;
1305 }
1306 // $ANTLR end "entryRuleVLSType"
1307
1308
1309 // $ANTLR start "ruleVLSType"
1310 // InternalVampireLanguage.g:462:1: ruleVLSType : ( 'type' ) ;
1311 public final void ruleVLSType() throws RecognitionException {
1312
1313 int stackSize = keepStackSize();
1314
1315 try {
1316 // InternalVampireLanguage.g:466:2: ( ( 'type' ) )
1317 // InternalVampireLanguage.g:467:2: ( 'type' )
1318 {
1319 // InternalVampireLanguage.g:467:2: ( 'type' )
1320 // InternalVampireLanguage.g:468:3: 'type'
1321 {
1322 before(grammarAccess.getVLSTypeAccess().getTypeKeyword());
1323 match(input,37,FOLLOW_2);
1324 after(grammarAccess.getVLSTypeAccess().getTypeKeyword());
1325
1326 }
1327
1328
1329 }
1330
1331 }
1332 catch (RecognitionException re) {
1333 reportError(re);
1334 recover(input,re);
1335 }
1336 finally {
1337
1338 restoreStackSize(stackSize);
1339
1340 }
1341 return ;
1342 }
1343 // $ANTLR end "ruleVLSType"
1344
1345
1346 // $ANTLR start "entryRuleVLSFi_Domain"
1347 // InternalVampireLanguage.g:478:1: entryRuleVLSFi_Domain : ruleVLSFi_Domain EOF ;
1348 public final void entryRuleVLSFi_Domain() throws RecognitionException {
1349 try {
1350 // InternalVampireLanguage.g:479:1: ( ruleVLSFi_Domain EOF )
1351 // InternalVampireLanguage.g:480:1: ruleVLSFi_Domain EOF
1352 {
1353 before(grammarAccess.getVLSFi_DomainRule());
1354 pushFollow(FOLLOW_1);
1355 ruleVLSFi_Domain();
1356
1357 state._fsp--;
1358
1359 after(grammarAccess.getVLSFi_DomainRule());
1360 match(input,EOF,FOLLOW_2);
1361
1362 }
1363
1364 }
1365 catch (RecognitionException re) {
1366 reportError(re);
1367 recover(input,re);
1368 }
1369 finally {
1370 }
1371 return ;
1372 }
1373 // $ANTLR end "entryRuleVLSFi_Domain"
1374
1375
1376 // $ANTLR start "ruleVLSFi_Domain"
1377 // InternalVampireLanguage.g:487:1: ruleVLSFi_Domain : ( 'fi_domain' ) ;
1378 public final void ruleVLSFi_Domain() throws RecognitionException {
1379
1380 int stackSize = keepStackSize();
1381
1382 try {
1383 // InternalVampireLanguage.g:491:2: ( ( 'fi_domain' ) )
1384 // InternalVampireLanguage.g:492:2: ( 'fi_domain' )
1385 {
1386 // InternalVampireLanguage.g:492:2: ( 'fi_domain' )
1387 // InternalVampireLanguage.g:493:3: 'fi_domain'
1388 {
1389 before(grammarAccess.getVLSFi_DomainAccess().getFi_domainKeyword());
1390 match(input,38,FOLLOW_2);
1391 after(grammarAccess.getVLSFi_DomainAccess().getFi_domainKeyword());
1392
1393 }
1394
1395
1396 }
1397
1398 }
1399 catch (RecognitionException re) {
1400 reportError(re);
1401 recover(input,re);
1402 }
1403 finally {
1404
1405 restoreStackSize(stackSize);
1406
1407 }
1408 return ;
1409 }
1410 // $ANTLR end "ruleVLSFi_Domain"
1411
1412
1413 // $ANTLR start "entryRuleVLSFi_Functors"
1414 // InternalVampireLanguage.g:503:1: entryRuleVLSFi_Functors : ruleVLSFi_Functors EOF ;
1415 public final void entryRuleVLSFi_Functors() throws RecognitionException {
1416 try {
1417 // InternalVampireLanguage.g:504:1: ( ruleVLSFi_Functors EOF )
1418 // InternalVampireLanguage.g:505:1: ruleVLSFi_Functors EOF
1419 {
1420 before(grammarAccess.getVLSFi_FunctorsRule());
1421 pushFollow(FOLLOW_1);
1422 ruleVLSFi_Functors();
1423
1424 state._fsp--;
1425
1426 after(grammarAccess.getVLSFi_FunctorsRule());
1427 match(input,EOF,FOLLOW_2);
1428
1429 }
1430
1431 }
1432 catch (RecognitionException re) {
1433 reportError(re);
1434 recover(input,re);
1435 }
1436 finally {
1437 }
1438 return ;
1439 }
1440 // $ANTLR end "entryRuleVLSFi_Functors"
1441
1442
1443 // $ANTLR start "ruleVLSFi_Functors"
1444 // InternalVampireLanguage.g:512:1: ruleVLSFi_Functors : ( 'fi_functors' ) ;
1445 public final void ruleVLSFi_Functors() throws RecognitionException {
1446
1447 int stackSize = keepStackSize();
1448
1449 try {
1450 // InternalVampireLanguage.g:516:2: ( ( 'fi_functors' ) )
1451 // InternalVampireLanguage.g:517:2: ( 'fi_functors' )
1452 {
1453 // InternalVampireLanguage.g:517:2: ( 'fi_functors' )
1454 // InternalVampireLanguage.g:518:3: 'fi_functors'
1455 {
1456 before(grammarAccess.getVLSFi_FunctorsAccess().getFi_functorsKeyword());
1457 match(input,39,FOLLOW_2);
1458 after(grammarAccess.getVLSFi_FunctorsAccess().getFi_functorsKeyword());
1459
1460 }
1461
1462
1463 }
1464
1465 }
1466 catch (RecognitionException re) {
1467 reportError(re);
1468 recover(input,re);
1469 }
1470 finally {
1471
1472 restoreStackSize(stackSize);
1473
1474 }
1475 return ;
1476 }
1477 // $ANTLR end "ruleVLSFi_Functors"
1478
1479
1480 // $ANTLR start "entryRuleVLSFi_Predicates"
1481 // InternalVampireLanguage.g:528:1: entryRuleVLSFi_Predicates : ruleVLSFi_Predicates EOF ;
1482 public final void entryRuleVLSFi_Predicates() throws RecognitionException {
1483 try {
1484 // InternalVampireLanguage.g:529:1: ( ruleVLSFi_Predicates EOF )
1485 // InternalVampireLanguage.g:530:1: ruleVLSFi_Predicates EOF
1486 {
1487 before(grammarAccess.getVLSFi_PredicatesRule());
1488 pushFollow(FOLLOW_1);
1489 ruleVLSFi_Predicates();
1490
1491 state._fsp--;
1492
1493 after(grammarAccess.getVLSFi_PredicatesRule());
1494 match(input,EOF,FOLLOW_2);
1495
1496 }
1497
1498 }
1499 catch (RecognitionException re) {
1500 reportError(re);
1501 recover(input,re);
1502 }
1503 finally {
1504 }
1505 return ;
1506 }
1507 // $ANTLR end "entryRuleVLSFi_Predicates"
1508
1509
1510 // $ANTLR start "ruleVLSFi_Predicates"
1511 // InternalVampireLanguage.g:537:1: ruleVLSFi_Predicates : ( 'fi_predicates' ) ;
1512 public final void ruleVLSFi_Predicates() throws RecognitionException {
1513
1514 int stackSize = keepStackSize();
1515
1516 try {
1517 // InternalVampireLanguage.g:541:2: ( ( 'fi_predicates' ) )
1518 // InternalVampireLanguage.g:542:2: ( 'fi_predicates' )
1519 {
1520 // InternalVampireLanguage.g:542:2: ( 'fi_predicates' )
1521 // InternalVampireLanguage.g:543:3: 'fi_predicates'
1522 {
1523 before(grammarAccess.getVLSFi_PredicatesAccess().getFi_predicatesKeyword());
1524 match(input,40,FOLLOW_2);
1525 after(grammarAccess.getVLSFi_PredicatesAccess().getFi_predicatesKeyword());
1526
1527 }
1528
1529
1530 }
1531
1532 }
1533 catch (RecognitionException re) {
1534 reportError(re);
1535 recover(input,re);
1536 }
1537 finally {
1538
1539 restoreStackSize(stackSize);
1540
1541 }
1542 return ;
1543 }
1544 // $ANTLR end "ruleVLSFi_Predicates"
1545
1546
1547 // $ANTLR start "entryRuleVLSUnknown"
1548 // InternalVampireLanguage.g:553:1: entryRuleVLSUnknown : ruleVLSUnknown EOF ;
1549 public final void entryRuleVLSUnknown() throws RecognitionException {
1550 try {
1551 // InternalVampireLanguage.g:554:1: ( ruleVLSUnknown EOF )
1552 // InternalVampireLanguage.g:555:1: ruleVLSUnknown EOF
1553 {
1554 before(grammarAccess.getVLSUnknownRule());
1555 pushFollow(FOLLOW_1);
1556 ruleVLSUnknown();
1557
1558 state._fsp--;
1559
1560 after(grammarAccess.getVLSUnknownRule());
1561 match(input,EOF,FOLLOW_2);
1562
1563 }
1564
1565 }
1566 catch (RecognitionException re) {
1567 reportError(re);
1568 recover(input,re);
1569 }
1570 finally {
1571 }
1572 return ;
1573 }
1574 // $ANTLR end "entryRuleVLSUnknown"
1575
1576
1577 // $ANTLR start "ruleVLSUnknown"
1578 // InternalVampireLanguage.g:562:1: ruleVLSUnknown : ( 'unknown' ) ;
1579 public final void ruleVLSUnknown() throws RecognitionException {
1580
1581 int stackSize = keepStackSize();
1582
1583 try {
1584 // InternalVampireLanguage.g:566:2: ( ( 'unknown' ) )
1585 // InternalVampireLanguage.g:567:2: ( 'unknown' )
1586 {
1587 // InternalVampireLanguage.g:567:2: ( 'unknown' )
1588 // InternalVampireLanguage.g:568:3: 'unknown'
1589 {
1590 before(grammarAccess.getVLSUnknownAccess().getUnknownKeyword());
1591 match(input,41,FOLLOW_2);
1592 after(grammarAccess.getVLSUnknownAccess().getUnknownKeyword());
1593
1594 }
1595
1596
1597 }
1598
1599 }
1600 catch (RecognitionException re) {
1601 reportError(re);
1602 recover(input,re);
1603 }
1604 finally {
1605
1606 restoreStackSize(stackSize);
1607
1608 }
1609 return ;
1610 }
1611 // $ANTLR end "ruleVLSUnknown"
1612
1613
1614 // $ANTLR start "entryRuleVLSAnnotation"
1615 // InternalVampireLanguage.g:578:1: entryRuleVLSAnnotation : ruleVLSAnnotation EOF ;
1616 public final void entryRuleVLSAnnotation() throws RecognitionException {
1617 try {
1618 // InternalVampireLanguage.g:579:1: ( ruleVLSAnnotation EOF )
1619 // InternalVampireLanguage.g:580:1: ruleVLSAnnotation EOF
1620 {
1621 before(grammarAccess.getVLSAnnotationRule());
1622 pushFollow(FOLLOW_1);
1623 ruleVLSAnnotation();
1624
1625 state._fsp--;
1626
1627 after(grammarAccess.getVLSAnnotationRule());
1628 match(input,EOF,FOLLOW_2);
1629
1630 }
1631
1632 }
1633 catch (RecognitionException re) {
1634 reportError(re);
1635 recover(input,re);
1636 }
1637 finally {
1638 }
1639 return ;
1640 }
1641 // $ANTLR end "entryRuleVLSAnnotation"
1642
1643
1644 // $ANTLR start "ruleVLSAnnotation"
1645 // InternalVampireLanguage.g:587:1: ruleVLSAnnotation : ( ( rule__VLSAnnotation__Group__0 ) ) ;
1646 public final void ruleVLSAnnotation() throws RecognitionException {
1647
1648 int stackSize = keepStackSize();
1649
1650 try {
1651 // InternalVampireLanguage.g:591:2: ( ( ( rule__VLSAnnotation__Group__0 ) ) )
1652 // InternalVampireLanguage.g:592:2: ( ( rule__VLSAnnotation__Group__0 ) )
1653 {
1654 // InternalVampireLanguage.g:592:2: ( ( rule__VLSAnnotation__Group__0 ) )
1655 // InternalVampireLanguage.g:593:3: ( rule__VLSAnnotation__Group__0 )
1656 {
1657 before(grammarAccess.getVLSAnnotationAccess().getGroup());
1658 // InternalVampireLanguage.g:594:3: ( rule__VLSAnnotation__Group__0 )
1659 // InternalVampireLanguage.g:594:4: rule__VLSAnnotation__Group__0
1660 {
1661 pushFollow(FOLLOW_2);
1662 rule__VLSAnnotation__Group__0();
1663
1664 state._fsp--;
1665
1666
1667 }
1668
1669 after(grammarAccess.getVLSAnnotationAccess().getGroup());
1670
1671 }
1672
1673
1674 }
1675
1676 }
1677 catch (RecognitionException re) {
1678 reportError(re);
1679 recover(input,re);
1680 }
1681 finally {
1682
1683 restoreStackSize(stackSize);
1684
1685 }
1686 return ;
1687 }
1688 // $ANTLR end "ruleVLSAnnotation"
1689
1690
1691 // $ANTLR start "entryRuleVLSAnnotationTerms"
1692 // InternalVampireLanguage.g:603:1: entryRuleVLSAnnotationTerms : ruleVLSAnnotationTerms EOF ;
1693 public final void entryRuleVLSAnnotationTerms() throws RecognitionException {
1694 try {
1695 // InternalVampireLanguage.g:604:1: ( ruleVLSAnnotationTerms EOF )
1696 // InternalVampireLanguage.g:605:1: ruleVLSAnnotationTerms EOF
1697 {
1698 before(grammarAccess.getVLSAnnotationTermsRule());
1699 pushFollow(FOLLOW_1);
1700 ruleVLSAnnotationTerms();
1701
1702 state._fsp--;
1703
1704 after(grammarAccess.getVLSAnnotationTermsRule());
1705 match(input,EOF,FOLLOW_2);
1706
1707 }
1708
1709 }
1710 catch (RecognitionException re) {
1711 reportError(re);
1712 recover(input,re);
1713 }
1714 finally {
1715 }
1716 return ;
1717 }
1718 // $ANTLR end "entryRuleVLSAnnotationTerms"
1719
1720
1721 // $ANTLR start "ruleVLSAnnotationTerms"
1722 // InternalVampireLanguage.g:612:1: ruleVLSAnnotationTerms : ( ( rule__VLSAnnotationTerms__Group__0 ) ) ;
1723 public final void ruleVLSAnnotationTerms() throws RecognitionException {
1724
1725 int stackSize = keepStackSize();
1726
1727 try {
1728 // InternalVampireLanguage.g:616:2: ( ( ( rule__VLSAnnotationTerms__Group__0 ) ) )
1729 // InternalVampireLanguage.g:617:2: ( ( rule__VLSAnnotationTerms__Group__0 ) )
1730 {
1731 // InternalVampireLanguage.g:617:2: ( ( rule__VLSAnnotationTerms__Group__0 ) )
1732 // InternalVampireLanguage.g:618:3: ( rule__VLSAnnotationTerms__Group__0 )
1733 {
1734 before(grammarAccess.getVLSAnnotationTermsAccess().getGroup());
1735 // InternalVampireLanguage.g:619:3: ( rule__VLSAnnotationTerms__Group__0 )
1736 // InternalVampireLanguage.g:619:4: rule__VLSAnnotationTerms__Group__0
1737 {
1738 pushFollow(FOLLOW_2);
1739 rule__VLSAnnotationTerms__Group__0();
1740
1741 state._fsp--;
1742
1743
1744 }
1745
1746 after(grammarAccess.getVLSAnnotationTermsAccess().getGroup());
1747
1748 }
1749
1750
1751 }
1752
1753 }
1754 catch (RecognitionException re) {
1755 reportError(re);
1756 recover(input,re);
1757 }
1758 finally {
1759
1760 restoreStackSize(stackSize);
1761
1762 }
1763 return ;
1764 }
1765 // $ANTLR end "ruleVLSAnnotationTerms"
1766
1767
1768 // $ANTLR start "entryRuleVLSTerm"
1769 // InternalVampireLanguage.g:628:1: entryRuleVLSTerm : ruleVLSTerm EOF ;
1770 public final void entryRuleVLSTerm() throws RecognitionException {
1771 try {
1772 // InternalVampireLanguage.g:629:1: ( ruleVLSTerm EOF )
1773 // InternalVampireLanguage.g:630:1: ruleVLSTerm EOF
1774 {
1775 before(grammarAccess.getVLSTermRule());
1776 pushFollow(FOLLOW_1);
1777 ruleVLSTerm();
1778
1779 state._fsp--;
1780
1781 after(grammarAccess.getVLSTermRule());
1782 match(input,EOF,FOLLOW_2);
1783
1784 }
1785
1786 }
1787 catch (RecognitionException re) {
1788 reportError(re);
1789 recover(input,re);
1790 }
1791 finally {
1792 }
1793 return ;
1794 }
1795 // $ANTLR end "entryRuleVLSTerm"
1796
1797
1798 // $ANTLR start "ruleVLSTerm"
1799 // InternalVampireLanguage.g:637:1: ruleVLSTerm : ( ruleVLSBinary ) ;
1800 public final void ruleVLSTerm() throws RecognitionException {
1801
1802 int stackSize = keepStackSize();
1803
1804 try {
1805 // InternalVampireLanguage.g:641:2: ( ( ruleVLSBinary ) )
1806 // InternalVampireLanguage.g:642:2: ( ruleVLSBinary )
1807 {
1808 // InternalVampireLanguage.g:642:2: ( ruleVLSBinary )
1809 // InternalVampireLanguage.g:643:3: ruleVLSBinary
1810 {
1811 before(grammarAccess.getVLSTermAccess().getVLSBinaryParserRuleCall());
1812 pushFollow(FOLLOW_2);
1813 ruleVLSBinary();
1814
1815 state._fsp--;
1816
1817 after(grammarAccess.getVLSTermAccess().getVLSBinaryParserRuleCall());
1818
1819 }
1820
1821
1822 }
1823
1824 }
1825 catch (RecognitionException re) {
1826 reportError(re);
1827 recover(input,re);
1828 }
1829 finally {
1830
1831 restoreStackSize(stackSize);
1832
1833 }
1834 return ;
1835 }
1836 // $ANTLR end "ruleVLSTerm"
1837
1838
1839 // $ANTLR start "entryRuleVLSBinary"
1840 // InternalVampireLanguage.g:653:1: entryRuleVLSBinary : ruleVLSBinary EOF ;
1841 public final void entryRuleVLSBinary() throws RecognitionException {
1842 try {
1843 // InternalVampireLanguage.g:654:1: ( ruleVLSBinary EOF )
1844 // InternalVampireLanguage.g:655:1: ruleVLSBinary EOF
1845 {
1846 before(grammarAccess.getVLSBinaryRule());
1847 pushFollow(FOLLOW_1);
1848 ruleVLSBinary();
1849
1850 state._fsp--;
1851
1852 after(grammarAccess.getVLSBinaryRule());
1853 match(input,EOF,FOLLOW_2);
1854
1855 }
1856
1857 }
1858 catch (RecognitionException re) {
1859 reportError(re);
1860 recover(input,re);
1861 }
1862 finally {
1863 }
1864 return ;
1865 }
1866 // $ANTLR end "entryRuleVLSBinary"
1867
1868
1869 // $ANTLR start "ruleVLSBinary"
1870 // InternalVampireLanguage.g:662:1: ruleVLSBinary : ( ( rule__VLSBinary__Group__0 ) ) ;
1871 public final void ruleVLSBinary() throws RecognitionException {
1872
1873 int stackSize = keepStackSize();
1874
1875 try {
1876 // InternalVampireLanguage.g:666:2: ( ( ( rule__VLSBinary__Group__0 ) ) )
1877 // InternalVampireLanguage.g:667:2: ( ( rule__VLSBinary__Group__0 ) )
1878 {
1879 // InternalVampireLanguage.g:667:2: ( ( rule__VLSBinary__Group__0 ) )
1880 // InternalVampireLanguage.g:668:3: ( rule__VLSBinary__Group__0 )
1881 {
1882 before(grammarAccess.getVLSBinaryAccess().getGroup());
1883 // InternalVampireLanguage.g:669:3: ( rule__VLSBinary__Group__0 )
1884 // InternalVampireLanguage.g:669:4: rule__VLSBinary__Group__0
1885 {
1886 pushFollow(FOLLOW_2);
1887 rule__VLSBinary__Group__0();
1888
1889 state._fsp--;
1890
1891
1892 }
1893
1894 after(grammarAccess.getVLSBinaryAccess().getGroup());
1895
1896 }
1897
1898
1899 }
1900
1901 }
1902 catch (RecognitionException re) {
1903 reportError(re);
1904 recover(input,re);
1905 }
1906 finally {
1907
1908 restoreStackSize(stackSize);
1909
1910 }
1911 return ;
1912 }
1913 // $ANTLR end "ruleVLSBinary"
1914
1915
1916 // $ANTLR start "entryRuleVLSUnitaryFormula"
1917 // InternalVampireLanguage.g:678:1: entryRuleVLSUnitaryFormula : ruleVLSUnitaryFormula EOF ;
1918 public final void entryRuleVLSUnitaryFormula() throws RecognitionException {
1919 try {
1920 // InternalVampireLanguage.g:679:1: ( ruleVLSUnitaryFormula EOF )
1921 // InternalVampireLanguage.g:680:1: ruleVLSUnitaryFormula EOF
1922 {
1923 before(grammarAccess.getVLSUnitaryFormulaRule());
1924 pushFollow(FOLLOW_1);
1925 ruleVLSUnitaryFormula();
1926
1927 state._fsp--;
1928
1929 after(grammarAccess.getVLSUnitaryFormulaRule());
1930 match(input,EOF,FOLLOW_2);
1931
1932 }
1933
1934 }
1935 catch (RecognitionException re) {
1936 reportError(re);
1937 recover(input,re);
1938 }
1939 finally {
1940 }
1941 return ;
1942 }
1943 // $ANTLR end "entryRuleVLSUnitaryFormula"
1944
1945
1946 // $ANTLR start "ruleVLSUnitaryFormula"
1947 // InternalVampireLanguage.g:687:1: ruleVLSUnitaryFormula : ( ( rule__VLSUnitaryFormula__Alternatives ) ) ;
1948 public final void ruleVLSUnitaryFormula() throws RecognitionException {
1949
1950 int stackSize = keepStackSize();
1951
1952 try {
1953 // InternalVampireLanguage.g:691:2: ( ( ( rule__VLSUnitaryFormula__Alternatives ) ) )
1954 // InternalVampireLanguage.g:692:2: ( ( rule__VLSUnitaryFormula__Alternatives ) )
1955 {
1956 // InternalVampireLanguage.g:692:2: ( ( rule__VLSUnitaryFormula__Alternatives ) )
1957 // InternalVampireLanguage.g:693:3: ( rule__VLSUnitaryFormula__Alternatives )
1958 {
1959 before(grammarAccess.getVLSUnitaryFormulaAccess().getAlternatives());
1960 // InternalVampireLanguage.g:694:3: ( rule__VLSUnitaryFormula__Alternatives )
1961 // InternalVampireLanguage.g:694:4: rule__VLSUnitaryFormula__Alternatives
1962 {
1963 pushFollow(FOLLOW_2);
1964 rule__VLSUnitaryFormula__Alternatives();
1965
1966 state._fsp--;
1967
1968
1969 }
1970
1971 after(grammarAccess.getVLSUnitaryFormulaAccess().getAlternatives());
1972
1973 }
1974
1975
1976 }
1977
1978 }
1979 catch (RecognitionException re) {
1980 reportError(re);
1981 recover(input,re);
1982 }
1983 finally {
1984
1985 restoreStackSize(stackSize);
1986
1987 }
1988 return ;
1989 }
1990 // $ANTLR end "ruleVLSUnitaryFormula"
1991
1992
1993 // $ANTLR start "entryRuleVLSUniversalQuantifier"
1994 // InternalVampireLanguage.g:703:1: entryRuleVLSUniversalQuantifier : ruleVLSUniversalQuantifier EOF ;
1995 public final void entryRuleVLSUniversalQuantifier() throws RecognitionException {
1996 try {
1997 // InternalVampireLanguage.g:704:1: ( ruleVLSUniversalQuantifier EOF )
1998 // InternalVampireLanguage.g:705:1: ruleVLSUniversalQuantifier EOF
1999 {
2000 before(grammarAccess.getVLSUniversalQuantifierRule());
2001 pushFollow(FOLLOW_1);
2002 ruleVLSUniversalQuantifier();
2003
2004 state._fsp--;
2005
2006 after(grammarAccess.getVLSUniversalQuantifierRule());
2007 match(input,EOF,FOLLOW_2);
2008
2009 }
2010
2011 }
2012 catch (RecognitionException re) {
2013 reportError(re);
2014 recover(input,re);
2015 }
2016 finally {
2017 }
2018 return ;
2019 }
2020 // $ANTLR end "entryRuleVLSUniversalQuantifier"
2021
2022
2023 // $ANTLR start "ruleVLSUniversalQuantifier"
2024 // InternalVampireLanguage.g:712:1: ruleVLSUniversalQuantifier : ( ( rule__VLSUniversalQuantifier__Group__0 ) ) ;
2025 public final void ruleVLSUniversalQuantifier() throws RecognitionException {
2026
2027 int stackSize = keepStackSize();
2028
2029 try {
2030 // InternalVampireLanguage.g:716:2: ( ( ( rule__VLSUniversalQuantifier__Group__0 ) ) )
2031 // InternalVampireLanguage.g:717:2: ( ( rule__VLSUniversalQuantifier__Group__0 ) )
2032 {
2033 // InternalVampireLanguage.g:717:2: ( ( rule__VLSUniversalQuantifier__Group__0 ) )
2034 // InternalVampireLanguage.g:718:3: ( rule__VLSUniversalQuantifier__Group__0 )
2035 {
2036 before(grammarAccess.getVLSUniversalQuantifierAccess().getGroup());
2037 // InternalVampireLanguage.g:719:3: ( rule__VLSUniversalQuantifier__Group__0 )
2038 // InternalVampireLanguage.g:719:4: rule__VLSUniversalQuantifier__Group__0
2039 {
2040 pushFollow(FOLLOW_2);
2041 rule__VLSUniversalQuantifier__Group__0();
2042
2043 state._fsp--;
2044
2045
2046 }
2047
2048 after(grammarAccess.getVLSUniversalQuantifierAccess().getGroup());
2049
2050 }
2051
2052
2053 }
2054
2055 }
2056 catch (RecognitionException re) {
2057 reportError(re);
2058 recover(input,re);
2059 }
2060 finally {
2061
2062 restoreStackSize(stackSize);
2063
2064 }
2065 return ;
2066 }
2067 // $ANTLR end "ruleVLSUniversalQuantifier"
2068
2069
2070 // $ANTLR start "entryRuleVLSExistentialQuantifier"
2071 // InternalVampireLanguage.g:728:1: entryRuleVLSExistentialQuantifier : ruleVLSExistentialQuantifier EOF ;
2072 public final void entryRuleVLSExistentialQuantifier() throws RecognitionException {
2073 try {
2074 // InternalVampireLanguage.g:729:1: ( ruleVLSExistentialQuantifier EOF )
2075 // InternalVampireLanguage.g:730:1: ruleVLSExistentialQuantifier EOF
2076 {
2077 before(grammarAccess.getVLSExistentialQuantifierRule());
2078 pushFollow(FOLLOW_1);
2079 ruleVLSExistentialQuantifier();
2080
2081 state._fsp--;
2082
2083 after(grammarAccess.getVLSExistentialQuantifierRule());
2084 match(input,EOF,FOLLOW_2);
2085
2086 }
2087
2088 }
2089 catch (RecognitionException re) {
2090 reportError(re);
2091 recover(input,re);
2092 }
2093 finally {
2094 }
2095 return ;
2096 }
2097 // $ANTLR end "entryRuleVLSExistentialQuantifier"
2098
2099
2100 // $ANTLR start "ruleVLSExistentialQuantifier"
2101 // InternalVampireLanguage.g:737:1: ruleVLSExistentialQuantifier : ( ( rule__VLSExistentialQuantifier__Group__0 ) ) ;
2102 public final void ruleVLSExistentialQuantifier() throws RecognitionException {
2103
2104 int stackSize = keepStackSize();
2105
2106 try {
2107 // InternalVampireLanguage.g:741:2: ( ( ( rule__VLSExistentialQuantifier__Group__0 ) ) )
2108 // InternalVampireLanguage.g:742:2: ( ( rule__VLSExistentialQuantifier__Group__0 ) )
2109 {
2110 // InternalVampireLanguage.g:742:2: ( ( rule__VLSExistentialQuantifier__Group__0 ) )
2111 // InternalVampireLanguage.g:743:3: ( rule__VLSExistentialQuantifier__Group__0 )
2112 {
2113 before(grammarAccess.getVLSExistentialQuantifierAccess().getGroup());
2114 // InternalVampireLanguage.g:744:3: ( rule__VLSExistentialQuantifier__Group__0 )
2115 // InternalVampireLanguage.g:744:4: rule__VLSExistentialQuantifier__Group__0
2116 {
2117 pushFollow(FOLLOW_2);
2118 rule__VLSExistentialQuantifier__Group__0();
2119
2120 state._fsp--;
2121
2122
2123 }
2124
2125 after(grammarAccess.getVLSExistentialQuantifierAccess().getGroup());
2126
2127 }
2128
2129
2130 }
2131
2132 }
2133 catch (RecognitionException re) {
2134 reportError(re);
2135 recover(input,re);
2136 }
2137 finally {
2138
2139 restoreStackSize(stackSize);
2140
2141 }
2142 return ;
2143 }
2144 // $ANTLR end "ruleVLSExistentialQuantifier"
2145
2146
2147 // $ANTLR start "entryRuleVLSUnaryNegation"
2148 // InternalVampireLanguage.g:753:1: entryRuleVLSUnaryNegation : ruleVLSUnaryNegation EOF ;
2149 public final void entryRuleVLSUnaryNegation() throws RecognitionException {
2150 try {
2151 // InternalVampireLanguage.g:754:1: ( ruleVLSUnaryNegation EOF )
2152 // InternalVampireLanguage.g:755:1: ruleVLSUnaryNegation EOF
2153 {
2154 before(grammarAccess.getVLSUnaryNegationRule());
2155 pushFollow(FOLLOW_1);
2156 ruleVLSUnaryNegation();
2157
2158 state._fsp--;
2159
2160 after(grammarAccess.getVLSUnaryNegationRule());
2161 match(input,EOF,FOLLOW_2);
2162
2163 }
2164
2165 }
2166 catch (RecognitionException re) {
2167 reportError(re);
2168 recover(input,re);
2169 }
2170 finally {
2171 }
2172 return ;
2173 }
2174 // $ANTLR end "entryRuleVLSUnaryNegation"
2175
2176
2177 // $ANTLR start "ruleVLSUnaryNegation"
2178 // InternalVampireLanguage.g:762:1: ruleVLSUnaryNegation : ( ( rule__VLSUnaryNegation__Group__0 ) ) ;
2179 public final void ruleVLSUnaryNegation() throws RecognitionException {
2180
2181 int stackSize = keepStackSize();
2182
2183 try {
2184 // InternalVampireLanguage.g:766:2: ( ( ( rule__VLSUnaryNegation__Group__0 ) ) )
2185 // InternalVampireLanguage.g:767:2: ( ( rule__VLSUnaryNegation__Group__0 ) )
2186 {
2187 // InternalVampireLanguage.g:767:2: ( ( rule__VLSUnaryNegation__Group__0 ) )
2188 // InternalVampireLanguage.g:768:3: ( rule__VLSUnaryNegation__Group__0 )
2189 {
2190 before(grammarAccess.getVLSUnaryNegationAccess().getGroup());
2191 // InternalVampireLanguage.g:769:3: ( rule__VLSUnaryNegation__Group__0 )
2192 // InternalVampireLanguage.g:769:4: rule__VLSUnaryNegation__Group__0
2193 {
2194 pushFollow(FOLLOW_2);
2195 rule__VLSUnaryNegation__Group__0();
2196
2197 state._fsp--;
2198
2199
2200 }
2201
2202 after(grammarAccess.getVLSUnaryNegationAccess().getGroup());
2203
2204 }
2205
2206
2207 }
2208
2209 }
2210 catch (RecognitionException re) {
2211 reportError(re);
2212 recover(input,re);
2213 }
2214 finally {
2215
2216 restoreStackSize(stackSize);
2217
2218 }
2219 return ;
2220 }
2221 // $ANTLR end "ruleVLSUnaryNegation"
2222
2223
2224 // $ANTLR start "entryRuleVLSUnaryInfix"
2225 // InternalVampireLanguage.g:778:1: entryRuleVLSUnaryInfix : ruleVLSUnaryInfix EOF ;
2226 public final void entryRuleVLSUnaryInfix() throws RecognitionException {
2227 try {
2228 // InternalVampireLanguage.g:779:1: ( ruleVLSUnaryInfix EOF )
2229 // InternalVampireLanguage.g:780:1: ruleVLSUnaryInfix EOF
2230 {
2231 before(grammarAccess.getVLSUnaryInfixRule());
2232 pushFollow(FOLLOW_1);
2233 ruleVLSUnaryInfix();
2234
2235 state._fsp--;
2236
2237 after(grammarAccess.getVLSUnaryInfixRule());
2238 match(input,EOF,FOLLOW_2);
2239
2240 }
2241
2242 }
2243 catch (RecognitionException re) {
2244 reportError(re);
2245 recover(input,re);
2246 }
2247 finally {
2248 }
2249 return ;
2250 }
2251 // $ANTLR end "entryRuleVLSUnaryInfix"
2252
2253
2254 // $ANTLR start "ruleVLSUnaryInfix"
2255 // InternalVampireLanguage.g:787:1: ruleVLSUnaryInfix : ( ( rule__VLSUnaryInfix__Group__0 ) ) ;
2256 public final void ruleVLSUnaryInfix() throws RecognitionException {
2257
2258 int stackSize = keepStackSize();
2259
2260 try {
2261 // InternalVampireLanguage.g:791:2: ( ( ( rule__VLSUnaryInfix__Group__0 ) ) )
2262 // InternalVampireLanguage.g:792:2: ( ( rule__VLSUnaryInfix__Group__0 ) )
2263 {
2264 // InternalVampireLanguage.g:792:2: ( ( rule__VLSUnaryInfix__Group__0 ) )
2265 // InternalVampireLanguage.g:793:3: ( rule__VLSUnaryInfix__Group__0 )
2266 {
2267 before(grammarAccess.getVLSUnaryInfixAccess().getGroup());
2268 // InternalVampireLanguage.g:794:3: ( rule__VLSUnaryInfix__Group__0 )
2269 // InternalVampireLanguage.g:794:4: rule__VLSUnaryInfix__Group__0
2270 {
2271 pushFollow(FOLLOW_2);
2272 rule__VLSUnaryInfix__Group__0();
2273
2274 state._fsp--;
2275
2276
2277 }
2278
2279 after(grammarAccess.getVLSUnaryInfixAccess().getGroup());
2280
2281 }
2282
2283
2284 }
2285
2286 }
2287 catch (RecognitionException re) {
2288 reportError(re);
2289 recover(input,re);
2290 }
2291 finally {
2292
2293 restoreStackSize(stackSize);
2294
2295 }
2296 return ;
2297 }
2298 // $ANTLR end "ruleVLSUnaryInfix"
2299
2300
2301 // $ANTLR start "entryRuleVLSAtomic"
2302 // InternalVampireLanguage.g:803:1: entryRuleVLSAtomic : ruleVLSAtomic EOF ;
2303 public final void entryRuleVLSAtomic() throws RecognitionException {
2304 try {
2305 // InternalVampireLanguage.g:804:1: ( ruleVLSAtomic EOF )
2306 // InternalVampireLanguage.g:805:1: ruleVLSAtomic EOF
2307 {
2308 before(grammarAccess.getVLSAtomicRule());
2309 pushFollow(FOLLOW_1);
2310 ruleVLSAtomic();
2311
2312 state._fsp--;
2313
2314 after(grammarAccess.getVLSAtomicRule());
2315 match(input,EOF,FOLLOW_2);
2316
2317 }
2318
2319 }
2320 catch (RecognitionException re) {
2321 reportError(re);
2322 recover(input,re);
2323 }
2324 finally {
2325 }
2326 return ;
2327 }
2328 // $ANTLR end "entryRuleVLSAtomic"
2329
2330
2331 // $ANTLR start "ruleVLSAtomic"
2332 // InternalVampireLanguage.g:812:1: ruleVLSAtomic : ( ( rule__VLSAtomic__Alternatives ) ) ;
2333 public final void ruleVLSAtomic() throws RecognitionException {
2334
2335 int stackSize = keepStackSize();
2336
2337 try {
2338 // InternalVampireLanguage.g:816:2: ( ( ( rule__VLSAtomic__Alternatives ) ) )
2339 // InternalVampireLanguage.g:817:2: ( ( rule__VLSAtomic__Alternatives ) )
2340 {
2341 // InternalVampireLanguage.g:817:2: ( ( rule__VLSAtomic__Alternatives ) )
2342 // InternalVampireLanguage.g:818:3: ( rule__VLSAtomic__Alternatives )
2343 {
2344 before(grammarAccess.getVLSAtomicAccess().getAlternatives());
2345 // InternalVampireLanguage.g:819:3: ( rule__VLSAtomic__Alternatives )
2346 // InternalVampireLanguage.g:819:4: rule__VLSAtomic__Alternatives
2347 {
2348 pushFollow(FOLLOW_2);
2349 rule__VLSAtomic__Alternatives();
2350
2351 state._fsp--;
2352
2353
2354 }
2355
2356 after(grammarAccess.getVLSAtomicAccess().getAlternatives());
2357
2358 }
2359
2360
2361 }
2362
2363 }
2364 catch (RecognitionException re) {
2365 reportError(re);
2366 recover(input,re);
2367 }
2368 finally {
2369
2370 restoreStackSize(stackSize);
2371
2372 }
2373 return ;
2374 }
2375 // $ANTLR end "ruleVLSAtomic"
2376
2377
2378 // $ANTLR start "entryRuleVLSAtomicConstant"
2379 // InternalVampireLanguage.g:828:1: entryRuleVLSAtomicConstant : ruleVLSAtomicConstant EOF ;
2380 public final void entryRuleVLSAtomicConstant() throws RecognitionException {
2381 try {
2382 // InternalVampireLanguage.g:829:1: ( ruleVLSAtomicConstant EOF )
2383 // InternalVampireLanguage.g:830:1: ruleVLSAtomicConstant EOF
2384 {
2385 before(grammarAccess.getVLSAtomicConstantRule());
2386 pushFollow(FOLLOW_1);
2387 ruleVLSAtomicConstant();
2388
2389 state._fsp--;
2390
2391 after(grammarAccess.getVLSAtomicConstantRule());
2392 match(input,EOF,FOLLOW_2);
2393
2394 }
2395
2396 }
2397 catch (RecognitionException re) {
2398 reportError(re);
2399 recover(input,re);
2400 }
2401 finally {
2402 }
2403 return ;
2404 }
2405 // $ANTLR end "entryRuleVLSAtomicConstant"
2406
2407
2408 // $ANTLR start "ruleVLSAtomicConstant"
2409 // InternalVampireLanguage.g:837:1: ruleVLSAtomicConstant : ( ( rule__VLSAtomicConstant__Alternatives ) ) ;
2410 public final void ruleVLSAtomicConstant() throws RecognitionException {
2411
2412 int stackSize = keepStackSize();
2413
2414 try {
2415 // InternalVampireLanguage.g:841:2: ( ( ( rule__VLSAtomicConstant__Alternatives ) ) )
2416 // InternalVampireLanguage.g:842:2: ( ( rule__VLSAtomicConstant__Alternatives ) )
2417 {
2418 // InternalVampireLanguage.g:842:2: ( ( rule__VLSAtomicConstant__Alternatives ) )
2419 // InternalVampireLanguage.g:843:3: ( rule__VLSAtomicConstant__Alternatives )
2420 {
2421 before(grammarAccess.getVLSAtomicConstantAccess().getAlternatives());
2422 // InternalVampireLanguage.g:844:3: ( rule__VLSAtomicConstant__Alternatives )
2423 // InternalVampireLanguage.g:844:4: rule__VLSAtomicConstant__Alternatives
2424 {
2425 pushFollow(FOLLOW_2);
2426 rule__VLSAtomicConstant__Alternatives();
2427
2428 state._fsp--;
2429
2430
2431 }
2432
2433 after(grammarAccess.getVLSAtomicConstantAccess().getAlternatives());
2434
2435 }
2436
2437
2438 }
2439
2440 }
2441 catch (RecognitionException re) {
2442 reportError(re);
2443 recover(input,re);
2444 }
2445 finally {
2446
2447 restoreStackSize(stackSize);
2448
2449 }
2450 return ;
2451 }
2452 // $ANTLR end "ruleVLSAtomicConstant"
2453
2454
2455 // $ANTLR start "entryRuleVLSAtomicFunction"
2456 // InternalVampireLanguage.g:853:1: entryRuleVLSAtomicFunction : ruleVLSAtomicFunction EOF ;
2457 public final void entryRuleVLSAtomicFunction() throws RecognitionException {
2458 try {
2459 // InternalVampireLanguage.g:854:1: ( ruleVLSAtomicFunction EOF )
2460 // InternalVampireLanguage.g:855:1: ruleVLSAtomicFunction EOF
2461 {
2462 before(grammarAccess.getVLSAtomicFunctionRule());
2463 pushFollow(FOLLOW_1);
2464 ruleVLSAtomicFunction();
2465
2466 state._fsp--;
2467
2468 after(grammarAccess.getVLSAtomicFunctionRule());
2469 match(input,EOF,FOLLOW_2);
2470
2471 }
2472
2473 }
2474 catch (RecognitionException re) {
2475 reportError(re);
2476 recover(input,re);
2477 }
2478 finally {
2479 }
2480 return ;
2481 }
2482 // $ANTLR end "entryRuleVLSAtomicFunction"
2483
2484
2485 // $ANTLR start "ruleVLSAtomicFunction"
2486 // InternalVampireLanguage.g:862:1: ruleVLSAtomicFunction : ( ( rule__VLSAtomicFunction__Alternatives ) ) ;
2487 public final void ruleVLSAtomicFunction() throws RecognitionException {
2488
2489 int stackSize = keepStackSize();
2490
2491 try {
2492 // InternalVampireLanguage.g:866:2: ( ( ( rule__VLSAtomicFunction__Alternatives ) ) )
2493 // InternalVampireLanguage.g:867:2: ( ( rule__VLSAtomicFunction__Alternatives ) )
2494 {
2495 // InternalVampireLanguage.g:867:2: ( ( rule__VLSAtomicFunction__Alternatives ) )
2496 // InternalVampireLanguage.g:868:3: ( rule__VLSAtomicFunction__Alternatives )
2497 {
2498 before(grammarAccess.getVLSAtomicFunctionAccess().getAlternatives());
2499 // InternalVampireLanguage.g:869:3: ( rule__VLSAtomicFunction__Alternatives )
2500 // InternalVampireLanguage.g:869:4: rule__VLSAtomicFunction__Alternatives
2501 {
2502 pushFollow(FOLLOW_2);
2503 rule__VLSAtomicFunction__Alternatives();
2504
2505 state._fsp--;
2506
2507
2508 }
2509
2510 after(grammarAccess.getVLSAtomicFunctionAccess().getAlternatives());
2511
2512 }
2513
2514
2515 }
2516
2517 }
2518 catch (RecognitionException re) {
2519 reportError(re);
2520 recover(input,re);
2521 }
2522 finally {
2523
2524 restoreStackSize(stackSize);
2525
2526 }
2527 return ;
2528 }
2529 // $ANTLR end "ruleVLSAtomicFunction"
2530
2531
2532 // $ANTLR start "entryRuleVLSVariable"
2533 // InternalVampireLanguage.g:878:1: entryRuleVLSVariable : ruleVLSVariable EOF ;
2534 public final void entryRuleVLSVariable() throws RecognitionException {
2535 try {
2536 // InternalVampireLanguage.g:879:1: ( ruleVLSVariable EOF )
2537 // InternalVampireLanguage.g:880:1: ruleVLSVariable EOF
2538 {
2539 before(grammarAccess.getVLSVariableRule());
2540 pushFollow(FOLLOW_1);
2541 ruleVLSVariable();
2542
2543 state._fsp--;
2544
2545 after(grammarAccess.getVLSVariableRule());
2546 match(input,EOF,FOLLOW_2);
2547
2548 }
2549
2550 }
2551 catch (RecognitionException re) {
2552 reportError(re);
2553 recover(input,re);
2554 }
2555 finally {
2556 }
2557 return ;
2558 }
2559 // $ANTLR end "entryRuleVLSVariable"
2560
2561
2562 // $ANTLR start "ruleVLSVariable"
2563 // InternalVampireLanguage.g:887:1: ruleVLSVariable : ( ( rule__VLSVariable__NameAssignment ) ) ;
2564 public final void ruleVLSVariable() throws RecognitionException {
2565
2566 int stackSize = keepStackSize();
2567
2568 try {
2569 // InternalVampireLanguage.g:891:2: ( ( ( rule__VLSVariable__NameAssignment ) ) )
2570 // InternalVampireLanguage.g:892:2: ( ( rule__VLSVariable__NameAssignment ) )
2571 {
2572 // InternalVampireLanguage.g:892:2: ( ( rule__VLSVariable__NameAssignment ) )
2573 // InternalVampireLanguage.g:893:3: ( rule__VLSVariable__NameAssignment )
2574 {
2575 before(grammarAccess.getVLSVariableAccess().getNameAssignment());
2576 // InternalVampireLanguage.g:894:3: ( rule__VLSVariable__NameAssignment )
2577 // InternalVampireLanguage.g:894:4: rule__VLSVariable__NameAssignment
2578 {
2579 pushFollow(FOLLOW_2);
2580 rule__VLSVariable__NameAssignment();
2581
2582 state._fsp--;
2583
2584
2585 }
2586
2587 after(grammarAccess.getVLSVariableAccess().getNameAssignment());
2588
2589 }
2590
2591
2592 }
2593
2594 }
2595 catch (RecognitionException re) {
2596 reportError(re);
2597 recover(input,re);
2598 }
2599 finally {
2600
2601 restoreStackSize(stackSize);
2602
2603 }
2604 return ;
2605 }
2606 // $ANTLR end "ruleVLSVariable"
2607
2608
2609 // $ANTLR start "entryRuleVLSFofTerm"
2610 // InternalVampireLanguage.g:903:1: entryRuleVLSFofTerm : ruleVLSFofTerm EOF ;
2611 public final void entryRuleVLSFofTerm() throws RecognitionException {
2612 try {
2613 // InternalVampireLanguage.g:904:1: ( ruleVLSFofTerm EOF )
2614 // InternalVampireLanguage.g:905:1: ruleVLSFofTerm EOF
2615 {
2616 before(grammarAccess.getVLSFofTermRule());
2617 pushFollow(FOLLOW_1);
2618 ruleVLSFofTerm();
2619
2620 state._fsp--;
2621
2622 after(grammarAccess.getVLSFofTermRule());
2623 match(input,EOF,FOLLOW_2);
2624
2625 }
2626
2627 }
2628 catch (RecognitionException re) {
2629 reportError(re);
2630 recover(input,re);
2631 }
2632 finally {
2633 }
2634 return ;
2635 }
2636 // $ANTLR end "entryRuleVLSFofTerm"
2637
2638
2639 // $ANTLR start "ruleVLSFofTerm"
2640 // InternalVampireLanguage.g:912:1: ruleVLSFofTerm : ( ( rule__VLSFofTerm__Alternatives ) ) ;
2641 public final void ruleVLSFofTerm() throws RecognitionException {
2642
2643 int stackSize = keepStackSize();
2644
2645 try {
2646 // InternalVampireLanguage.g:916:2: ( ( ( rule__VLSFofTerm__Alternatives ) ) )
2647 // InternalVampireLanguage.g:917:2: ( ( rule__VLSFofTerm__Alternatives ) )
2648 {
2649 // InternalVampireLanguage.g:917:2: ( ( rule__VLSFofTerm__Alternatives ) )
2650 // InternalVampireLanguage.g:918:3: ( rule__VLSFofTerm__Alternatives )
2651 {
2652 before(grammarAccess.getVLSFofTermAccess().getAlternatives());
2653 // InternalVampireLanguage.g:919:3: ( rule__VLSFofTerm__Alternatives )
2654 // InternalVampireLanguage.g:919:4: rule__VLSFofTerm__Alternatives
2655 {
2656 pushFollow(FOLLOW_2);
2657 rule__VLSFofTerm__Alternatives();
2658
2659 state._fsp--;
2660
2661
2662 }
2663
2664 after(grammarAccess.getVLSFofTermAccess().getAlternatives());
2665
2666 }
2667
2668
2669 }
2670
2671 }
2672 catch (RecognitionException re) {
2673 reportError(re);
2674 recover(input,re);
2675 }
2676 finally {
2677
2678 restoreStackSize(stackSize);
2679
2680 }
2681 return ;
2682 }
2683 // $ANTLR end "ruleVLSFofTerm"
2684
2685
2686 // $ANTLR start "entryRuleVLSFunctionFof"
2687 // InternalVampireLanguage.g:928:1: entryRuleVLSFunctionFof : ruleVLSFunctionFof EOF ;
2688 public final void entryRuleVLSFunctionFof() throws RecognitionException {
2689 try {
2690 // InternalVampireLanguage.g:929:1: ( ruleVLSFunctionFof EOF )
2691 // InternalVampireLanguage.g:930:1: ruleVLSFunctionFof EOF
2692 {
2693 before(grammarAccess.getVLSFunctionFofRule());
2694 pushFollow(FOLLOW_1);
2695 ruleVLSFunctionFof();
2696
2697 state._fsp--;
2698
2699 after(grammarAccess.getVLSFunctionFofRule());
2700 match(input,EOF,FOLLOW_2);
2701
2702 }
2703
2704 }
2705 catch (RecognitionException re) {
2706 reportError(re);
2707 recover(input,re);
2708 }
2709 finally {
2710 }
2711 return ;
2712 }
2713 // $ANTLR end "entryRuleVLSFunctionFof"
2714
2715
2716 // $ANTLR start "ruleVLSFunctionFof"
2717 // InternalVampireLanguage.g:937:1: ruleVLSFunctionFof : ( ( rule__VLSFunctionFof__Group__0 ) ) ;
2718 public final void ruleVLSFunctionFof() throws RecognitionException {
2719
2720 int stackSize = keepStackSize();
2721
2722 try {
2723 // InternalVampireLanguage.g:941:2: ( ( ( rule__VLSFunctionFof__Group__0 ) ) )
2724 // InternalVampireLanguage.g:942:2: ( ( rule__VLSFunctionFof__Group__0 ) )
2725 {
2726 // InternalVampireLanguage.g:942:2: ( ( rule__VLSFunctionFof__Group__0 ) )
2727 // InternalVampireLanguage.g:943:3: ( rule__VLSFunctionFof__Group__0 )
2728 {
2729 before(grammarAccess.getVLSFunctionFofAccess().getGroup());
2730 // InternalVampireLanguage.g:944:3: ( rule__VLSFunctionFof__Group__0 )
2731 // InternalVampireLanguage.g:944:4: rule__VLSFunctionFof__Group__0
2732 {
2733 pushFollow(FOLLOW_2);
2734 rule__VLSFunctionFof__Group__0();
2735
2736 state._fsp--;
2737
2738
2739 }
2740
2741 after(grammarAccess.getVLSFunctionFofAccess().getGroup());
2742
2743 }
2744
2745
2746 }
2747
2748 }
2749 catch (RecognitionException re) {
2750 reportError(re);
2751 recover(input,re);
2752 }
2753 finally {
2754
2755 restoreStackSize(stackSize);
2756
2757 }
2758 return ;
2759 }
2760 // $ANTLR end "ruleVLSFunctionFof"
2761
2762
2763 // $ANTLR start "entryRuleVLSDefinedTerm"
2764 // InternalVampireLanguage.g:953:1: entryRuleVLSDefinedTerm : ruleVLSDefinedTerm EOF ;
2765 public final void entryRuleVLSDefinedTerm() throws RecognitionException {
2766 try {
2767 // InternalVampireLanguage.g:954:1: ( ruleVLSDefinedTerm EOF )
2768 // InternalVampireLanguage.g:955:1: ruleVLSDefinedTerm EOF
2769 {
2770 before(grammarAccess.getVLSDefinedTermRule());
2771 pushFollow(FOLLOW_1);
2772 ruleVLSDefinedTerm();
2773
2774 state._fsp--;
2775
2776 after(grammarAccess.getVLSDefinedTermRule());
2777 match(input,EOF,FOLLOW_2);
2778
2779 }
2780
2781 }
2782 catch (RecognitionException re) {
2783 reportError(re);
2784 recover(input,re);
2785 }
2786 finally {
2787 }
2788 return ;
2789 }
2790 // $ANTLR end "entryRuleVLSDefinedTerm"
2791
2792
2793 // $ANTLR start "ruleVLSDefinedTerm"
2794 // InternalVampireLanguage.g:962:1: ruleVLSDefinedTerm : ( ( rule__VLSDefinedTerm__Alternatives ) ) ;
2795 public final void ruleVLSDefinedTerm() throws RecognitionException {
2796
2797 int stackSize = keepStackSize();
2798
2799 try {
2800 // InternalVampireLanguage.g:966:2: ( ( ( rule__VLSDefinedTerm__Alternatives ) ) )
2801 // InternalVampireLanguage.g:967:2: ( ( rule__VLSDefinedTerm__Alternatives ) )
2802 {
2803 // InternalVampireLanguage.g:967:2: ( ( rule__VLSDefinedTerm__Alternatives ) )
2804 // InternalVampireLanguage.g:968:3: ( rule__VLSDefinedTerm__Alternatives )
2805 {
2806 before(grammarAccess.getVLSDefinedTermAccess().getAlternatives());
2807 // InternalVampireLanguage.g:969:3: ( rule__VLSDefinedTerm__Alternatives )
2808 // InternalVampireLanguage.g:969:4: rule__VLSDefinedTerm__Alternatives
2809 {
2810 pushFollow(FOLLOW_2);
2811 rule__VLSDefinedTerm__Alternatives();
2812
2813 state._fsp--;
2814
2815
2816 }
2817
2818 after(grammarAccess.getVLSDefinedTermAccess().getAlternatives());
2819
2820 }
2821
2822
2823 }
2824
2825 }
2826 catch (RecognitionException re) {
2827 reportError(re);
2828 recover(input,re);
2829 }
2830 finally {
2831
2832 restoreStackSize(stackSize);
2833
2834 }
2835 return ;
2836 }
2837 // $ANTLR end "ruleVLSDefinedTerm"
2838
2839
2840 // $ANTLR start "rule__VampireModel__Alternatives"
2841 // InternalVampireLanguage.g:977:1: rule__VampireModel__Alternatives : ( ( ( rule__VampireModel__IncludesAssignment_0 ) ) | ( ( rule__VampireModel__CommentsAssignment_1 ) ) | ( ( rule__VampireModel__FormulasAssignment_2 ) ) );
2842 public final void rule__VampireModel__Alternatives() throws RecognitionException {
2843
2844 int stackSize = keepStackSize();
2845
2846 try {
2847 // InternalVampireLanguage.g:981:1: ( ( ( rule__VampireModel__IncludesAssignment_0 ) ) | ( ( rule__VampireModel__CommentsAssignment_1 ) ) | ( ( rule__VampireModel__FormulasAssignment_2 ) ) )
2848 int alt2=3;
2849 switch ( input.LA(1) ) {
2850 case 42:
2851 {
2852 alt2=1;
2853 }
2854 break;
2855 case RULE_SINGLE_COMMENT:
2856 {
2857 alt2=2;
2858 }
2859 break;
2860 case 46:
2861 {
2862 alt2=3;
2863 }
2864 break;
2865 default:
2866 NoViableAltException nvae =
2867 new NoViableAltException("", 2, 0, input);
2868
2869 throw nvae;
2870 }
2871
2872 switch (alt2) {
2873 case 1 :
2874 // InternalVampireLanguage.g:982:2: ( ( rule__VampireModel__IncludesAssignment_0 ) )
2875 {
2876 // InternalVampireLanguage.g:982:2: ( ( rule__VampireModel__IncludesAssignment_0 ) )
2877 // InternalVampireLanguage.g:983:3: ( rule__VampireModel__IncludesAssignment_0 )
2878 {
2879 before(grammarAccess.getVampireModelAccess().getIncludesAssignment_0());
2880 // InternalVampireLanguage.g:984:3: ( rule__VampireModel__IncludesAssignment_0 )
2881 // InternalVampireLanguage.g:984:4: rule__VampireModel__IncludesAssignment_0
2882 {
2883 pushFollow(FOLLOW_2);
2884 rule__VampireModel__IncludesAssignment_0();
2885
2886 state._fsp--;
2887
2888
2889 }
2890
2891 after(grammarAccess.getVampireModelAccess().getIncludesAssignment_0());
2892
2893 }
2894
2895
2896 }
2897 break;
2898 case 2 :
2899 // InternalVampireLanguage.g:988:2: ( ( rule__VampireModel__CommentsAssignment_1 ) )
2900 {
2901 // InternalVampireLanguage.g:988:2: ( ( rule__VampireModel__CommentsAssignment_1 ) )
2902 // InternalVampireLanguage.g:989:3: ( rule__VampireModel__CommentsAssignment_1 )
2903 {
2904 before(grammarAccess.getVampireModelAccess().getCommentsAssignment_1());
2905 // InternalVampireLanguage.g:990:3: ( rule__VampireModel__CommentsAssignment_1 )
2906 // InternalVampireLanguage.g:990:4: rule__VampireModel__CommentsAssignment_1
2907 {
2908 pushFollow(FOLLOW_2);
2909 rule__VampireModel__CommentsAssignment_1();
2910
2911 state._fsp--;
2912
2913
2914 }
2915
2916 after(grammarAccess.getVampireModelAccess().getCommentsAssignment_1());
2917
2918 }
2919
2920
2921 }
2922 break;
2923 case 3 :
2924 // InternalVampireLanguage.g:994:2: ( ( rule__VampireModel__FormulasAssignment_2 ) )
2925 {
2926 // InternalVampireLanguage.g:994:2: ( ( rule__VampireModel__FormulasAssignment_2 ) )
2927 // InternalVampireLanguage.g:995:3: ( rule__VampireModel__FormulasAssignment_2 )
2928 {
2929 before(grammarAccess.getVampireModelAccess().getFormulasAssignment_2());
2930 // InternalVampireLanguage.g:996:3: ( rule__VampireModel__FormulasAssignment_2 )
2931 // InternalVampireLanguage.g:996:4: rule__VampireModel__FormulasAssignment_2
2932 {
2933 pushFollow(FOLLOW_2);
2934 rule__VampireModel__FormulasAssignment_2();
2935
2936 state._fsp--;
2937
2938
2939 }
2940
2941 after(grammarAccess.getVampireModelAccess().getFormulasAssignment_2());
2942
2943 }
2944
2945
2946 }
2947 break;
2948
2949 }
2950 }
2951 catch (RecognitionException re) {
2952 reportError(re);
2953 recover(input,re);
2954 }
2955 finally {
2956
2957 restoreStackSize(stackSize);
2958
2959 }
2960 return ;
2961 }
2962 // $ANTLR end "rule__VampireModel__Alternatives"
2963
2964
2965 // $ANTLR start "rule__VLSName__NameAlternatives_0"
2966 // InternalVampireLanguage.g:1004:1: rule__VLSName__NameAlternatives_0 : ( ( RULE_LOWER_WORD_ID ) | ( RULE_SINGLE_QUOTE ) | ( RULE_LITERAL ) | ( RULE_SIGNED_LITERAL ) );
2967 public final void rule__VLSName__NameAlternatives_0() throws RecognitionException {
2968
2969 int stackSize = keepStackSize();
2970
2971 try {
2972 // InternalVampireLanguage.g:1008:1: ( ( RULE_LOWER_WORD_ID ) | ( RULE_SINGLE_QUOTE ) | ( RULE_LITERAL ) | ( RULE_SIGNED_LITERAL ) )
2973 int alt3=4;
2974 switch ( input.LA(1) ) {
2975 case RULE_LOWER_WORD_ID:
2976 {
2977 alt3=1;
2978 }
2979 break;
2980 case RULE_SINGLE_QUOTE:
2981 {
2982 alt3=2;
2983 }
2984 break;
2985 case RULE_LITERAL:
2986 {
2987 alt3=3;
2988 }
2989 break;
2990 case RULE_SIGNED_LITERAL:
2991 {
2992 alt3=4;
2993 }
2994 break;
2995 default:
2996 NoViableAltException nvae =
2997 new NoViableAltException("", 3, 0, input);
2998
2999 throw nvae;
3000 }
3001
3002 switch (alt3) {
3003 case 1 :
3004 // InternalVampireLanguage.g:1009:2: ( RULE_LOWER_WORD_ID )
3005 {
3006 // InternalVampireLanguage.g:1009:2: ( RULE_LOWER_WORD_ID )
3007 // InternalVampireLanguage.g:1010:3: RULE_LOWER_WORD_ID
3008 {
3009 before(grammarAccess.getVLSNameAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_0());
3010 match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
3011 after(grammarAccess.getVLSNameAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_0());
3012
3013 }
3014
3015
3016 }
3017 break;
3018 case 2 :
3019 // InternalVampireLanguage.g:1015:2: ( RULE_SINGLE_QUOTE )
3020 {
3021 // InternalVampireLanguage.g:1015:2: ( RULE_SINGLE_QUOTE )
3022 // InternalVampireLanguage.g:1016:3: RULE_SINGLE_QUOTE
3023 {
3024 before(grammarAccess.getVLSNameAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1());
3025 match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
3026 after(grammarAccess.getVLSNameAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1());
3027
3028 }
3029
3030
3031 }
3032 break;
3033 case 3 :
3034 // InternalVampireLanguage.g:1021:2: ( RULE_LITERAL )
3035 {
3036 // InternalVampireLanguage.g:1021:2: ( RULE_LITERAL )
3037 // InternalVampireLanguage.g:1022:3: RULE_LITERAL
3038 {
3039 before(grammarAccess.getVLSNameAccess().getNameLITERALTerminalRuleCall_0_2());
3040 match(input,RULE_LITERAL,FOLLOW_2);
3041 after(grammarAccess.getVLSNameAccess().getNameLITERALTerminalRuleCall_0_2());
3042
3043 }
3044
3045
3046 }
3047 break;
3048 case 4 :
3049 // InternalVampireLanguage.g:1027:2: ( RULE_SIGNED_LITERAL )
3050 {
3051 // InternalVampireLanguage.g:1027:2: ( RULE_SIGNED_LITERAL )
3052 // InternalVampireLanguage.g:1028:3: RULE_SIGNED_LITERAL
3053 {
3054 before(grammarAccess.getVLSNameAccess().getNameSIGNED_LITERALTerminalRuleCall_0_3());
3055 match(input,RULE_SIGNED_LITERAL,FOLLOW_2);
3056 after(grammarAccess.getVLSNameAccess().getNameSIGNED_LITERALTerminalRuleCall_0_3());
3057
3058 }
3059
3060
3061 }
3062 break;
3063
3064 }
3065 }
3066 catch (RecognitionException re) {
3067 reportError(re);
3068 recover(input,re);
3069 }
3070 finally {
3071
3072 restoreStackSize(stackSize);
3073
3074 }
3075 return ;
3076 }
3077 // $ANTLR end "rule__VLSName__NameAlternatives_0"
3078
3079
3080 // $ANTLR start "rule__VLSFofFormula__NameAlternatives_2_0"
3081 // InternalVampireLanguage.g:1037:1: rule__VLSFofFormula__NameAlternatives_2_0 : ( ( RULE_LOWER_WORD_ID ) | ( RULE_SIGNED_LITERAL ) | ( RULE_SINGLE_QUOTE ) );
3082 public final void rule__VLSFofFormula__NameAlternatives_2_0() throws RecognitionException {
3083
3084 int stackSize = keepStackSize();
3085
3086 try {
3087 // InternalVampireLanguage.g:1041:1: ( ( RULE_LOWER_WORD_ID ) | ( RULE_SIGNED_LITERAL ) | ( RULE_SINGLE_QUOTE ) )
3088 int alt4=3;
3089 switch ( input.LA(1) ) {
3090 case RULE_LOWER_WORD_ID:
3091 {
3092 alt4=1;
3093 }
3094 break;
3095 case RULE_SIGNED_LITERAL:
3096 {
3097 alt4=2;
3098 }
3099 break;
3100 case RULE_SINGLE_QUOTE:
3101 {
3102 alt4=3;
3103 }
3104 break;
3105 default:
3106 NoViableAltException nvae =
3107 new NoViableAltException("", 4, 0, input);
3108
3109 throw nvae;
3110 }
3111
3112 switch (alt4) {
3113 case 1 :
3114 // InternalVampireLanguage.g:1042:2: ( RULE_LOWER_WORD_ID )
3115 {
3116 // InternalVampireLanguage.g:1042:2: ( RULE_LOWER_WORD_ID )
3117 // InternalVampireLanguage.g:1043:3: RULE_LOWER_WORD_ID
3118 {
3119 before(grammarAccess.getVLSFofFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0());
3120 match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
3121 after(grammarAccess.getVLSFofFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0());
3122
3123 }
3124
3125
3126 }
3127 break;
3128 case 2 :
3129 // InternalVampireLanguage.g:1048:2: ( RULE_SIGNED_LITERAL )
3130 {
3131 // InternalVampireLanguage.g:1048:2: ( RULE_SIGNED_LITERAL )
3132 // InternalVampireLanguage.g:1049:3: RULE_SIGNED_LITERAL
3133 {
3134 before(grammarAccess.getVLSFofFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1());
3135 match(input,RULE_SIGNED_LITERAL,FOLLOW_2);
3136 after(grammarAccess.getVLSFofFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1());
3137
3138 }
3139
3140
3141 }
3142 break;
3143 case 3 :
3144 // InternalVampireLanguage.g:1054:2: ( RULE_SINGLE_QUOTE )
3145 {
3146 // InternalVampireLanguage.g:1054:2: ( RULE_SINGLE_QUOTE )
3147 // InternalVampireLanguage.g:1055:3: RULE_SINGLE_QUOTE
3148 {
3149 before(grammarAccess.getVLSFofFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2());
3150 match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
3151 after(grammarAccess.getVLSFofFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2());
3152
3153 }
3154
3155
3156 }
3157 break;
3158
3159 }
3160 }
3161 catch (RecognitionException re) {
3162 reportError(re);
3163 recover(input,re);
3164 }
3165 finally {
3166
3167 restoreStackSize(stackSize);
3168
3169 }
3170 return ;
3171 }
3172 // $ANTLR end "rule__VLSFofFormula__NameAlternatives_2_0"
3173
3174
3175 // $ANTLR start "rule__VLSRole__Alternatives"
3176 // InternalVampireLanguage.g:1064:1: rule__VLSRole__Alternatives : ( ( ruleVLSAxiom ) | ( ruleVLSConjecture ) | ( ruleVLSHypothesis ) | ( ruleVLSDefinition ) | ( ruleVLSAssumption ) | ( ruleVLSLemma ) | ( ruleVLSTheorem ) | ( ruleVLSCorollary ) | ( ruleVLSNegated_Conjecture ) | ( ruleVLSPlain ) | ( ruleVLSType ) | ( ruleVLSFi_Domain ) | ( ruleVLSFi_Functors ) | ( ruleVLSFi_Predicates ) | ( ruleVLSUnknown ) );
3177 public final void rule__VLSRole__Alternatives() throws RecognitionException {
3178
3179 int stackSize = keepStackSize();
3180
3181 try {
3182 // InternalVampireLanguage.g:1068:1: ( ( ruleVLSAxiom ) | ( ruleVLSConjecture ) | ( ruleVLSHypothesis ) | ( ruleVLSDefinition ) | ( ruleVLSAssumption ) | ( ruleVLSLemma ) | ( ruleVLSTheorem ) | ( ruleVLSCorollary ) | ( ruleVLSNegated_Conjecture ) | ( ruleVLSPlain ) | ( ruleVLSType ) | ( ruleVLSFi_Domain ) | ( ruleVLSFi_Functors ) | ( ruleVLSFi_Predicates ) | ( ruleVLSUnknown ) )
3183 int alt5=15;
3184 switch ( input.LA(1) ) {
3185 case 27:
3186 {
3187 alt5=1;
3188 }
3189 break;
3190 case 28:
3191 {
3192 alt5=2;
3193 }
3194 break;
3195 case 29:
3196 {
3197 alt5=3;
3198 }
3199 break;
3200 case 30:
3201 {
3202 alt5=4;
3203 }
3204 break;
3205 case 31:
3206 {
3207 alt5=5;
3208 }
3209 break;
3210 case 32:
3211 {
3212 alt5=6;
3213 }
3214 break;
3215 case 33:
3216 {
3217 alt5=7;
3218 }
3219 break;
3220 case 34:
3221 {
3222 alt5=8;
3223 }
3224 break;
3225 case 35:
3226 {
3227 alt5=9;
3228 }
3229 break;
3230 case 36:
3231 {
3232 alt5=10;
3233 }
3234 break;
3235 case 37:
3236 {
3237 alt5=11;
3238 }
3239 break;
3240 case 38:
3241 {
3242 alt5=12;
3243 }
3244 break;
3245 case 39:
3246 {
3247 alt5=13;
3248 }
3249 break;
3250 case 40:
3251 {
3252 alt5=14;
3253 }
3254 break;
3255 case 41:
3256 {
3257 alt5=15;
3258 }
3259 break;
3260 default:
3261 NoViableAltException nvae =
3262 new NoViableAltException("", 5, 0, input);
3263
3264 throw nvae;
3265 }
3266
3267 switch (alt5) {
3268 case 1 :
3269 // InternalVampireLanguage.g:1069:2: ( ruleVLSAxiom )
3270 {
3271 // InternalVampireLanguage.g:1069:2: ( ruleVLSAxiom )
3272 // InternalVampireLanguage.g:1070:3: ruleVLSAxiom
3273 {
3274 before(grammarAccess.getVLSRoleAccess().getVLSAxiomParserRuleCall_0());
3275 pushFollow(FOLLOW_2);
3276 ruleVLSAxiom();
3277
3278 state._fsp--;
3279
3280 after(grammarAccess.getVLSRoleAccess().getVLSAxiomParserRuleCall_0());
3281
3282 }
3283
3284
3285 }
3286 break;
3287 case 2 :
3288 // InternalVampireLanguage.g:1075:2: ( ruleVLSConjecture )
3289 {
3290 // InternalVampireLanguage.g:1075:2: ( ruleVLSConjecture )
3291 // InternalVampireLanguage.g:1076:3: ruleVLSConjecture
3292 {
3293 before(grammarAccess.getVLSRoleAccess().getVLSConjectureParserRuleCall_1());
3294 pushFollow(FOLLOW_2);
3295 ruleVLSConjecture();
3296
3297 state._fsp--;
3298
3299 after(grammarAccess.getVLSRoleAccess().getVLSConjectureParserRuleCall_1());
3300
3301 }
3302
3303
3304 }
3305 break;
3306 case 3 :
3307 // InternalVampireLanguage.g:1081:2: ( ruleVLSHypothesis )
3308 {
3309 // InternalVampireLanguage.g:1081:2: ( ruleVLSHypothesis )
3310 // InternalVampireLanguage.g:1082:3: ruleVLSHypothesis
3311 {
3312 before(grammarAccess.getVLSRoleAccess().getVLSHypothesisParserRuleCall_2());
3313 pushFollow(FOLLOW_2);
3314 ruleVLSHypothesis();
3315
3316 state._fsp--;
3317
3318 after(grammarAccess.getVLSRoleAccess().getVLSHypothesisParserRuleCall_2());
3319
3320 }
3321
3322
3323 }
3324 break;
3325 case 4 :
3326 // InternalVampireLanguage.g:1087:2: ( ruleVLSDefinition )
3327 {
3328 // InternalVampireLanguage.g:1087:2: ( ruleVLSDefinition )
3329 // InternalVampireLanguage.g:1088:3: ruleVLSDefinition
3330 {
3331 before(grammarAccess.getVLSRoleAccess().getVLSDefinitionParserRuleCall_3());
3332 pushFollow(FOLLOW_2);
3333 ruleVLSDefinition();
3334
3335 state._fsp--;
3336
3337 after(grammarAccess.getVLSRoleAccess().getVLSDefinitionParserRuleCall_3());
3338
3339 }
3340
3341
3342 }
3343 break;
3344 case 5 :
3345 // InternalVampireLanguage.g:1093:2: ( ruleVLSAssumption )
3346 {
3347 // InternalVampireLanguage.g:1093:2: ( ruleVLSAssumption )
3348 // InternalVampireLanguage.g:1094:3: ruleVLSAssumption
3349 {
3350 before(grammarAccess.getVLSRoleAccess().getVLSAssumptionParserRuleCall_4());
3351 pushFollow(FOLLOW_2);
3352 ruleVLSAssumption();
3353
3354 state._fsp--;
3355
3356 after(grammarAccess.getVLSRoleAccess().getVLSAssumptionParserRuleCall_4());
3357
3358 }
3359
3360
3361 }
3362 break;
3363 case 6 :
3364 // InternalVampireLanguage.g:1099:2: ( ruleVLSLemma )
3365 {
3366 // InternalVampireLanguage.g:1099:2: ( ruleVLSLemma )
3367 // InternalVampireLanguage.g:1100:3: ruleVLSLemma
3368 {
3369 before(grammarAccess.getVLSRoleAccess().getVLSLemmaParserRuleCall_5());
3370 pushFollow(FOLLOW_2);
3371 ruleVLSLemma();
3372
3373 state._fsp--;
3374
3375 after(grammarAccess.getVLSRoleAccess().getVLSLemmaParserRuleCall_5());
3376
3377 }
3378
3379
3380 }
3381 break;
3382 case 7 :
3383 // InternalVampireLanguage.g:1105:2: ( ruleVLSTheorem )
3384 {
3385 // InternalVampireLanguage.g:1105:2: ( ruleVLSTheorem )
3386 // InternalVampireLanguage.g:1106:3: ruleVLSTheorem
3387 {
3388 before(grammarAccess.getVLSRoleAccess().getVLSTheoremParserRuleCall_6());
3389 pushFollow(FOLLOW_2);
3390 ruleVLSTheorem();
3391
3392 state._fsp--;
3393
3394 after(grammarAccess.getVLSRoleAccess().getVLSTheoremParserRuleCall_6());
3395
3396 }
3397
3398
3399 }
3400 break;
3401 case 8 :
3402 // InternalVampireLanguage.g:1111:2: ( ruleVLSCorollary )
3403 {
3404 // InternalVampireLanguage.g:1111:2: ( ruleVLSCorollary )
3405 // InternalVampireLanguage.g:1112:3: ruleVLSCorollary
3406 {
3407 before(grammarAccess.getVLSRoleAccess().getVLSCorollaryParserRuleCall_7());
3408 pushFollow(FOLLOW_2);
3409 ruleVLSCorollary();
3410
3411 state._fsp--;
3412
3413 after(grammarAccess.getVLSRoleAccess().getVLSCorollaryParserRuleCall_7());
3414
3415 }
3416
3417
3418 }
3419 break;
3420 case 9 :
3421 // InternalVampireLanguage.g:1117:2: ( ruleVLSNegated_Conjecture )
3422 {
3423 // InternalVampireLanguage.g:1117:2: ( ruleVLSNegated_Conjecture )
3424 // InternalVampireLanguage.g:1118:3: ruleVLSNegated_Conjecture
3425 {
3426 before(grammarAccess.getVLSRoleAccess().getVLSNegated_ConjectureParserRuleCall_8());
3427 pushFollow(FOLLOW_2);
3428 ruleVLSNegated_Conjecture();
3429
3430 state._fsp--;
3431
3432 after(grammarAccess.getVLSRoleAccess().getVLSNegated_ConjectureParserRuleCall_8());
3433
3434 }
3435
3436
3437 }
3438 break;
3439 case 10 :
3440 // InternalVampireLanguage.g:1123:2: ( ruleVLSPlain )
3441 {
3442 // InternalVampireLanguage.g:1123:2: ( ruleVLSPlain )
3443 // InternalVampireLanguage.g:1124:3: ruleVLSPlain
3444 {
3445 before(grammarAccess.getVLSRoleAccess().getVLSPlainParserRuleCall_9());
3446 pushFollow(FOLLOW_2);
3447 ruleVLSPlain();
3448
3449 state._fsp--;
3450
3451 after(grammarAccess.getVLSRoleAccess().getVLSPlainParserRuleCall_9());
3452
3453 }
3454
3455
3456 }
3457 break;
3458 case 11 :
3459 // InternalVampireLanguage.g:1129:2: ( ruleVLSType )
3460 {
3461 // InternalVampireLanguage.g:1129:2: ( ruleVLSType )
3462 // InternalVampireLanguage.g:1130:3: ruleVLSType
3463 {
3464 before(grammarAccess.getVLSRoleAccess().getVLSTypeParserRuleCall_10());
3465 pushFollow(FOLLOW_2);
3466 ruleVLSType();
3467
3468 state._fsp--;
3469
3470 after(grammarAccess.getVLSRoleAccess().getVLSTypeParserRuleCall_10());
3471
3472 }
3473
3474
3475 }
3476 break;
3477 case 12 :
3478 // InternalVampireLanguage.g:1135:2: ( ruleVLSFi_Domain )
3479 {
3480 // InternalVampireLanguage.g:1135:2: ( ruleVLSFi_Domain )
3481 // InternalVampireLanguage.g:1136:3: ruleVLSFi_Domain
3482 {
3483 before(grammarAccess.getVLSRoleAccess().getVLSFi_DomainParserRuleCall_11());
3484 pushFollow(FOLLOW_2);
3485 ruleVLSFi_Domain();
3486
3487 state._fsp--;
3488
3489 after(grammarAccess.getVLSRoleAccess().getVLSFi_DomainParserRuleCall_11());
3490
3491 }
3492
3493
3494 }
3495 break;
3496 case 13 :
3497 // InternalVampireLanguage.g:1141:2: ( ruleVLSFi_Functors )
3498 {
3499 // InternalVampireLanguage.g:1141:2: ( ruleVLSFi_Functors )
3500 // InternalVampireLanguage.g:1142:3: ruleVLSFi_Functors
3501 {
3502 before(grammarAccess.getVLSRoleAccess().getVLSFi_FunctorsParserRuleCall_12());
3503 pushFollow(FOLLOW_2);
3504 ruleVLSFi_Functors();
3505
3506 state._fsp--;
3507
3508 after(grammarAccess.getVLSRoleAccess().getVLSFi_FunctorsParserRuleCall_12());
3509
3510 }
3511
3512
3513 }
3514 break;
3515 case 14 :
3516 // InternalVampireLanguage.g:1147:2: ( ruleVLSFi_Predicates )
3517 {
3518 // InternalVampireLanguage.g:1147:2: ( ruleVLSFi_Predicates )
3519 // InternalVampireLanguage.g:1148:3: ruleVLSFi_Predicates
3520 {
3521 before(grammarAccess.getVLSRoleAccess().getVLSFi_PredicatesParserRuleCall_13());
3522 pushFollow(FOLLOW_2);
3523 ruleVLSFi_Predicates();
3524
3525 state._fsp--;
3526
3527 after(grammarAccess.getVLSRoleAccess().getVLSFi_PredicatesParserRuleCall_13());
3528
3529 }
3530
3531
3532 }
3533 break;
3534 case 15 :
3535 // InternalVampireLanguage.g:1153:2: ( ruleVLSUnknown )
3536 {
3537 // InternalVampireLanguage.g:1153:2: ( ruleVLSUnknown )
3538 // InternalVampireLanguage.g:1154:3: ruleVLSUnknown
3539 {
3540 before(grammarAccess.getVLSRoleAccess().getVLSUnknownParserRuleCall_14());
3541 pushFollow(FOLLOW_2);
3542 ruleVLSUnknown();
3543
3544 state._fsp--;
3545
3546 after(grammarAccess.getVLSRoleAccess().getVLSUnknownParserRuleCall_14());
3547
3548 }
3549
3550
3551 }
3552 break;
3553
3554 }
3555 }
3556 catch (RecognitionException re) {
3557 reportError(re);
3558 recover(input,re);
3559 }
3560 finally {
3561
3562 restoreStackSize(stackSize);
3563
3564 }
3565 return ;
3566 }
3567 // $ANTLR end "rule__VLSRole__Alternatives"
3568
3569
3570 // $ANTLR start "rule__VLSAnnotation__NameAlternatives_1_0"
3571 // InternalVampireLanguage.g:1163:1: rule__VLSAnnotation__NameAlternatives_1_0 : ( ( RULE_LOWER_WORD_ID ) | ( RULE_SINGLE_QUOTE ) | ( ruleVLSRole ) );
3572 public final void rule__VLSAnnotation__NameAlternatives_1_0() throws RecognitionException {
3573
3574 int stackSize = keepStackSize();
3575
3576 try {
3577 // InternalVampireLanguage.g:1167:1: ( ( RULE_LOWER_WORD_ID ) | ( RULE_SINGLE_QUOTE ) | ( ruleVLSRole ) )
3578 int alt6=3;
3579 switch ( input.LA(1) ) {
3580 case RULE_LOWER_WORD_ID:
3581 {
3582 alt6=1;
3583 }
3584 break;
3585 case RULE_SINGLE_QUOTE:
3586 {
3587 alt6=2;
3588 }
3589 break;
3590 case 27:
3591 case 28:
3592 case 29:
3593 case 30:
3594 case 31:
3595 case 32:
3596 case 33:
3597 case 34:
3598 case 35:
3599 case 36:
3600 case 37:
3601 case 38:
3602 case 39:
3603 case 40:
3604 case 41:
3605 {
3606 alt6=3;
3607 }
3608 break;
3609 default:
3610 NoViableAltException nvae =
3611 new NoViableAltException("", 6, 0, input);
3612
3613 throw nvae;
3614 }
3615
3616 switch (alt6) {
3617 case 1 :
3618 // InternalVampireLanguage.g:1168:2: ( RULE_LOWER_WORD_ID )
3619 {
3620 // InternalVampireLanguage.g:1168:2: ( RULE_LOWER_WORD_ID )
3621 // InternalVampireLanguage.g:1169:3: RULE_LOWER_WORD_ID
3622 {
3623 before(grammarAccess.getVLSAnnotationAccess().getNameLOWER_WORD_IDTerminalRuleCall_1_0_0());
3624 match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
3625 after(grammarAccess.getVLSAnnotationAccess().getNameLOWER_WORD_IDTerminalRuleCall_1_0_0());
3626
3627 }
3628
3629
3630 }
3631 break;
3632 case 2 :
3633 // InternalVampireLanguage.g:1174:2: ( RULE_SINGLE_QUOTE )
3634 {
3635 // InternalVampireLanguage.g:1174:2: ( RULE_SINGLE_QUOTE )
3636 // InternalVampireLanguage.g:1175:3: RULE_SINGLE_QUOTE
3637 {
3638 before(grammarAccess.getVLSAnnotationAccess().getNameSINGLE_QUOTETerminalRuleCall_1_0_1());
3639 match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
3640 after(grammarAccess.getVLSAnnotationAccess().getNameSINGLE_QUOTETerminalRuleCall_1_0_1());
3641
3642 }
3643
3644
3645 }
3646 break;
3647 case 3 :
3648 // InternalVampireLanguage.g:1180:2: ( ruleVLSRole )
3649 {
3650 // InternalVampireLanguage.g:1180:2: ( ruleVLSRole )
3651 // InternalVampireLanguage.g:1181:3: ruleVLSRole
3652 {
3653 before(grammarAccess.getVLSAnnotationAccess().getNameVLSRoleParserRuleCall_1_0_2());
3654 pushFollow(FOLLOW_2);
3655 ruleVLSRole();
3656
3657 state._fsp--;
3658
3659 after(grammarAccess.getVLSAnnotationAccess().getNameVLSRoleParserRuleCall_1_0_2());
3660
3661 }
3662
3663
3664 }
3665 break;
3666
3667 }
3668 }
3669 catch (RecognitionException re) {
3670 reportError(re);
3671 recover(input,re);
3672 }
3673 finally {
3674
3675 restoreStackSize(stackSize);
3676
3677 }
3678 return ;
3679 }
3680 // $ANTLR end "rule__VLSAnnotation__NameAlternatives_1_0"
3681
3682
3683 // $ANTLR start "rule__VLSBinary__Alternatives_1"
3684 // InternalVampireLanguage.g:1190:1: rule__VLSBinary__Alternatives_1 : ( ( ( rule__VLSBinary__Group_1_0__0 ) ) | ( ( ( rule__VLSBinary__Group_1_1__0 ) ) ( ( rule__VLSBinary__Group_1_1__0 )* ) ) | ( ( ( rule__VLSBinary__Group_1_2__0 ) ) ( ( rule__VLSBinary__Group_1_2__0 )* ) ) );
3685 public final void rule__VLSBinary__Alternatives_1() throws RecognitionException {
3686
3687 int stackSize = keepStackSize();
3688
3689 try {
3690 // InternalVampireLanguage.g:1194:1: ( ( ( rule__VLSBinary__Group_1_0__0 ) ) | ( ( ( rule__VLSBinary__Group_1_1__0 ) ) ( ( rule__VLSBinary__Group_1_1__0 )* ) ) | ( ( ( rule__VLSBinary__Group_1_2__0 ) ) ( ( rule__VLSBinary__Group_1_2__0 )* ) ) )
3691 int alt9=3;
3692 switch ( input.LA(1) ) {
3693 case 51:
3694 case 52:
3695 case 53:
3696 case 54:
3697 case 55:
3698 case 56:
3699 {
3700 alt9=1;
3701 }
3702 break;
3703 case 57:
3704 {
3705 alt9=2;
3706 }
3707 break;
3708 case 58:
3709 {
3710 alt9=3;
3711 }
3712 break;
3713 default:
3714 NoViableAltException nvae =
3715 new NoViableAltException("", 9, 0, input);
3716
3717 throw nvae;
3718 }
3719
3720 switch (alt9) {
3721 case 1 :
3722 // InternalVampireLanguage.g:1195:2: ( ( rule__VLSBinary__Group_1_0__0 ) )
3723 {
3724 // InternalVampireLanguage.g:1195:2: ( ( rule__VLSBinary__Group_1_0__0 ) )
3725 // InternalVampireLanguage.g:1196:3: ( rule__VLSBinary__Group_1_0__0 )
3726 {
3727 before(grammarAccess.getVLSBinaryAccess().getGroup_1_0());
3728 // InternalVampireLanguage.g:1197:3: ( rule__VLSBinary__Group_1_0__0 )
3729 // InternalVampireLanguage.g:1197:4: rule__VLSBinary__Group_1_0__0
3730 {
3731 pushFollow(FOLLOW_2);
3732 rule__VLSBinary__Group_1_0__0();
3733
3734 state._fsp--;
3735
3736
3737 }
3738
3739 after(grammarAccess.getVLSBinaryAccess().getGroup_1_0());
3740
3741 }
3742
3743
3744 }
3745 break;
3746 case 2 :
3747 // InternalVampireLanguage.g:1201:2: ( ( ( rule__VLSBinary__Group_1_1__0 ) ) ( ( rule__VLSBinary__Group_1_1__0 )* ) )
3748 {
3749 // InternalVampireLanguage.g:1201:2: ( ( ( rule__VLSBinary__Group_1_1__0 ) ) ( ( rule__VLSBinary__Group_1_1__0 )* ) )
3750 // InternalVampireLanguage.g:1202:3: ( ( rule__VLSBinary__Group_1_1__0 ) ) ( ( rule__VLSBinary__Group_1_1__0 )* )
3751 {
3752 // InternalVampireLanguage.g:1202:3: ( ( rule__VLSBinary__Group_1_1__0 ) )
3753 // InternalVampireLanguage.g:1203:4: ( rule__VLSBinary__Group_1_1__0 )
3754 {
3755 before(grammarAccess.getVLSBinaryAccess().getGroup_1_1());
3756 // InternalVampireLanguage.g:1204:4: ( rule__VLSBinary__Group_1_1__0 )
3757 // InternalVampireLanguage.g:1204:5: rule__VLSBinary__Group_1_1__0
3758 {
3759 pushFollow(FOLLOW_4);
3760 rule__VLSBinary__Group_1_1__0();
3761
3762 state._fsp--;
3763
3764
3765 }
3766
3767 after(grammarAccess.getVLSBinaryAccess().getGroup_1_1());
3768
3769 }
3770
3771 // InternalVampireLanguage.g:1207:3: ( ( rule__VLSBinary__Group_1_1__0 )* )
3772 // InternalVampireLanguage.g:1208:4: ( rule__VLSBinary__Group_1_1__0 )*
3773 {
3774 before(grammarAccess.getVLSBinaryAccess().getGroup_1_1());
3775 // InternalVampireLanguage.g:1209:4: ( rule__VLSBinary__Group_1_1__0 )*
3776 loop7:
3777 do {
3778 int alt7=2;
3779 int LA7_0 = input.LA(1);
3780
3781 if ( (LA7_0==57) ) {
3782 alt7=1;
3783 }
3784
3785
3786 switch (alt7) {
3787 case 1 :
3788 // InternalVampireLanguage.g:1209:5: rule__VLSBinary__Group_1_1__0
3789 {
3790 pushFollow(FOLLOW_4);
3791 rule__VLSBinary__Group_1_1__0();
3792
3793 state._fsp--;
3794
3795
3796 }
3797 break;
3798
3799 default :
3800 break loop7;
3801 }
3802 } while (true);
3803
3804 after(grammarAccess.getVLSBinaryAccess().getGroup_1_1());
3805
3806 }
3807
3808
3809 }
3810
3811
3812 }
3813 break;
3814 case 3 :
3815 // InternalVampireLanguage.g:1214:2: ( ( ( rule__VLSBinary__Group_1_2__0 ) ) ( ( rule__VLSBinary__Group_1_2__0 )* ) )
3816 {
3817 // InternalVampireLanguage.g:1214:2: ( ( ( rule__VLSBinary__Group_1_2__0 ) ) ( ( rule__VLSBinary__Group_1_2__0 )* ) )
3818 // InternalVampireLanguage.g:1215:3: ( ( rule__VLSBinary__Group_1_2__0 ) ) ( ( rule__VLSBinary__Group_1_2__0 )* )
3819 {
3820 // InternalVampireLanguage.g:1215:3: ( ( rule__VLSBinary__Group_1_2__0 ) )
3821 // InternalVampireLanguage.g:1216:4: ( rule__VLSBinary__Group_1_2__0 )
3822 {
3823 before(grammarAccess.getVLSBinaryAccess().getGroup_1_2());
3824 // InternalVampireLanguage.g:1217:4: ( rule__VLSBinary__Group_1_2__0 )
3825 // InternalVampireLanguage.g:1217:5: rule__VLSBinary__Group_1_2__0
3826 {
3827 pushFollow(FOLLOW_5);
3828 rule__VLSBinary__Group_1_2__0();
3829
3830 state._fsp--;
3831
3832
3833 }
3834
3835 after(grammarAccess.getVLSBinaryAccess().getGroup_1_2());
3836
3837 }
3838
3839 // InternalVampireLanguage.g:1220:3: ( ( rule__VLSBinary__Group_1_2__0 )* )
3840 // InternalVampireLanguage.g:1221:4: ( rule__VLSBinary__Group_1_2__0 )*
3841 {
3842 before(grammarAccess.getVLSBinaryAccess().getGroup_1_2());
3843 // InternalVampireLanguage.g:1222:4: ( rule__VLSBinary__Group_1_2__0 )*
3844 loop8:
3845 do {
3846 int alt8=2;
3847 int LA8_0 = input.LA(1);
3848
3849 if ( (LA8_0==58) ) {
3850 alt8=1;
3851 }
3852
3853
3854 switch (alt8) {
3855 case 1 :
3856 // InternalVampireLanguage.g:1222:5: rule__VLSBinary__Group_1_2__0
3857 {
3858 pushFollow(FOLLOW_5);
3859 rule__VLSBinary__Group_1_2__0();
3860
3861 state._fsp--;
3862
3863
3864 }
3865 break;
3866
3867 default :
3868 break loop8;
3869 }
3870 } while (true);
3871
3872 after(grammarAccess.getVLSBinaryAccess().getGroup_1_2());
3873
3874 }
3875
3876
3877 }
3878
3879
3880 }
3881 break;
3882
3883 }
3884 }
3885 catch (RecognitionException re) {
3886 reportError(re);
3887 recover(input,re);
3888 }
3889 finally {
3890
3891 restoreStackSize(stackSize);
3892
3893 }
3894 return ;
3895 }
3896 // $ANTLR end "rule__VLSBinary__Alternatives_1"
3897
3898
3899 // $ANTLR start "rule__VLSBinary__Alternatives_1_0_0"
3900 // InternalVampireLanguage.g:1231:1: rule__VLSBinary__Alternatives_1_0_0 : ( ( ( rule__VLSBinary__Group_1_0_0_0__0 ) ) | ( ( rule__VLSBinary__Group_1_0_0_1__0 ) ) | ( ( rule__VLSBinary__Group_1_0_0_2__0 ) ) | ( ( rule__VLSBinary__Group_1_0_0_3__0 ) ) | ( ( rule__VLSBinary__Group_1_0_0_4__0 ) ) | ( ( rule__VLSBinary__Group_1_0_0_5__0 ) ) );
3901 public final void rule__VLSBinary__Alternatives_1_0_0() throws RecognitionException {
3902
3903 int stackSize = keepStackSize();
3904
3905 try {
3906 // InternalVampireLanguage.g:1235:1: ( ( ( rule__VLSBinary__Group_1_0_0_0__0 ) ) | ( ( rule__VLSBinary__Group_1_0_0_1__0 ) ) | ( ( rule__VLSBinary__Group_1_0_0_2__0 ) ) | ( ( rule__VLSBinary__Group_1_0_0_3__0 ) ) | ( ( rule__VLSBinary__Group_1_0_0_4__0 ) ) | ( ( rule__VLSBinary__Group_1_0_0_5__0 ) ) )
3907 int alt10=6;
3908 switch ( input.LA(1) ) {
3909 case 51:
3910 {
3911 alt10=1;
3912 }
3913 break;
3914 case 52:
3915 {
3916 alt10=2;
3917 }
3918 break;
3919 case 53:
3920 {
3921 alt10=3;
3922 }
3923 break;
3924 case 54:
3925 {
3926 alt10=4;
3927 }
3928 break;
3929 case 55:
3930 {
3931 alt10=5;
3932 }
3933 break;
3934 case 56:
3935 {
3936 alt10=6;
3937 }
3938 break;
3939 default:
3940 NoViableAltException nvae =
3941 new NoViableAltException("", 10, 0, input);
3942
3943 throw nvae;
3944 }
3945
3946 switch (alt10) {
3947 case 1 :
3948 // InternalVampireLanguage.g:1236:2: ( ( rule__VLSBinary__Group_1_0_0_0__0 ) )
3949 {
3950 // InternalVampireLanguage.g:1236:2: ( ( rule__VLSBinary__Group_1_0_0_0__0 ) )
3951 // InternalVampireLanguage.g:1237:3: ( rule__VLSBinary__Group_1_0_0_0__0 )
3952 {
3953 before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_0());
3954 // InternalVampireLanguage.g:1238:3: ( rule__VLSBinary__Group_1_0_0_0__0 )
3955 // InternalVampireLanguage.g:1238:4: rule__VLSBinary__Group_1_0_0_0__0
3956 {
3957 pushFollow(FOLLOW_2);
3958 rule__VLSBinary__Group_1_0_0_0__0();
3959
3960 state._fsp--;
3961
3962
3963 }
3964
3965 after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_0());
3966
3967 }
3968
3969
3970 }
3971 break;
3972 case 2 :
3973 // InternalVampireLanguage.g:1242:2: ( ( rule__VLSBinary__Group_1_0_0_1__0 ) )
3974 {
3975 // InternalVampireLanguage.g:1242:2: ( ( rule__VLSBinary__Group_1_0_0_1__0 ) )
3976 // InternalVampireLanguage.g:1243:3: ( rule__VLSBinary__Group_1_0_0_1__0 )
3977 {
3978 before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_1());
3979 // InternalVampireLanguage.g:1244:3: ( rule__VLSBinary__Group_1_0_0_1__0 )
3980 // InternalVampireLanguage.g:1244:4: rule__VLSBinary__Group_1_0_0_1__0
3981 {
3982 pushFollow(FOLLOW_2);
3983 rule__VLSBinary__Group_1_0_0_1__0();
3984
3985 state._fsp--;
3986
3987
3988 }
3989
3990 after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_1());
3991
3992 }
3993
3994
3995 }
3996 break;
3997 case 3 :
3998 // InternalVampireLanguage.g:1248:2: ( ( rule__VLSBinary__Group_1_0_0_2__0 ) )
3999 {
4000 // InternalVampireLanguage.g:1248:2: ( ( rule__VLSBinary__Group_1_0_0_2__0 ) )
4001 // InternalVampireLanguage.g:1249:3: ( rule__VLSBinary__Group_1_0_0_2__0 )
4002 {
4003 before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_2());
4004 // InternalVampireLanguage.g:1250:3: ( rule__VLSBinary__Group_1_0_0_2__0 )
4005 // InternalVampireLanguage.g:1250:4: rule__VLSBinary__Group_1_0_0_2__0
4006 {
4007 pushFollow(FOLLOW_2);
4008 rule__VLSBinary__Group_1_0_0_2__0();
4009
4010 state._fsp--;
4011
4012
4013 }
4014
4015 after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_2());
4016
4017 }
4018
4019
4020 }
4021 break;
4022 case 4 :
4023 // InternalVampireLanguage.g:1254:2: ( ( rule__VLSBinary__Group_1_0_0_3__0 ) )
4024 {
4025 // InternalVampireLanguage.g:1254:2: ( ( rule__VLSBinary__Group_1_0_0_3__0 ) )
4026 // InternalVampireLanguage.g:1255:3: ( rule__VLSBinary__Group_1_0_0_3__0 )
4027 {
4028 before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_3());
4029 // InternalVampireLanguage.g:1256:3: ( rule__VLSBinary__Group_1_0_0_3__0 )
4030 // InternalVampireLanguage.g:1256:4: rule__VLSBinary__Group_1_0_0_3__0
4031 {
4032 pushFollow(FOLLOW_2);
4033 rule__VLSBinary__Group_1_0_0_3__0();
4034
4035 state._fsp--;
4036
4037
4038 }
4039
4040 after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_3());
4041
4042 }
4043
4044
4045 }
4046 break;
4047 case 5 :
4048 // InternalVampireLanguage.g:1260:2: ( ( rule__VLSBinary__Group_1_0_0_4__0 ) )
4049 {
4050 // InternalVampireLanguage.g:1260:2: ( ( rule__VLSBinary__Group_1_0_0_4__0 ) )
4051 // InternalVampireLanguage.g:1261:3: ( rule__VLSBinary__Group_1_0_0_4__0 )
4052 {
4053 before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_4());
4054 // InternalVampireLanguage.g:1262:3: ( rule__VLSBinary__Group_1_0_0_4__0 )
4055 // InternalVampireLanguage.g:1262:4: rule__VLSBinary__Group_1_0_0_4__0
4056 {
4057 pushFollow(FOLLOW_2);
4058 rule__VLSBinary__Group_1_0_0_4__0();
4059
4060 state._fsp--;
4061
4062
4063 }
4064
4065 after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_4());
4066
4067 }
4068
4069
4070 }
4071 break;
4072 case 6 :
4073 // InternalVampireLanguage.g:1266:2: ( ( rule__VLSBinary__Group_1_0_0_5__0 ) )
4074 {
4075 // InternalVampireLanguage.g:1266:2: ( ( rule__VLSBinary__Group_1_0_0_5__0 ) )
4076 // InternalVampireLanguage.g:1267:3: ( rule__VLSBinary__Group_1_0_0_5__0 )
4077 {
4078 before(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_5());
4079 // InternalVampireLanguage.g:1268:3: ( rule__VLSBinary__Group_1_0_0_5__0 )
4080 // InternalVampireLanguage.g:1268:4: rule__VLSBinary__Group_1_0_0_5__0
4081 {
4082 pushFollow(FOLLOW_2);
4083 rule__VLSBinary__Group_1_0_0_5__0();
4084
4085 state._fsp--;
4086
4087
4088 }
4089
4090 after(grammarAccess.getVLSBinaryAccess().getGroup_1_0_0_5());
4091
4092 }
4093
4094
4095 }
4096 break;
4097
4098 }
4099 }
4100 catch (RecognitionException re) {
4101 reportError(re);
4102 recover(input,re);
4103 }
4104 finally {
4105
4106 restoreStackSize(stackSize);
4107
4108 }
4109 return ;
4110 }
4111 // $ANTLR end "rule__VLSBinary__Alternatives_1_0_0"
4112
4113
4114 // $ANTLR start "rule__VLSUnitaryFormula__Alternatives"
4115 // InternalVampireLanguage.g:1276:1: rule__VLSUnitaryFormula__Alternatives : ( ( ruleVLSUniversalQuantifier ) | ( ruleVLSExistentialQuantifier ) | ( ruleVLSUnaryNegation ) | ( ruleVLSUnaryInfix ) | ( ( rule__VLSUnitaryFormula__Group_4__0 ) ) );
4116 public final void rule__VLSUnitaryFormula__Alternatives() throws RecognitionException {
4117
4118 int stackSize = keepStackSize();
4119
4120 try {
4121 // InternalVampireLanguage.g:1280:1: ( ( ruleVLSUniversalQuantifier ) | ( ruleVLSExistentialQuantifier ) | ( ruleVLSUnaryNegation ) | ( ruleVLSUnaryInfix ) | ( ( rule__VLSUnitaryFormula__Group_4__0 ) ) )
4122 int alt11=5;
4123 switch ( input.LA(1) ) {
4124 case 59:
4125 {
4126 alt11=1;
4127 }
4128 break;
4129 case 61:
4130 {
4131 alt11=2;
4132 }
4133 break;
4134 case 62:
4135 {
4136 alt11=3;
4137 }
4138 break;
4139 case RULE_LOWER_WORD_ID:
4140 case RULE_SINGLE_QUOTE:
4141 case RULE_SIGNED_LITERAL:
4142 case RULE_DOLLAR_ID:
4143 case RULE_DOUBLE_DOLLAR_ID:
4144 case RULE_UPPER_WORD_ID:
4145 case RULE_SIGNED_REAL_ID:
4146 case RULE_SIGNED_RAT_ID:
4147 case RULE_DOUBLE_QUOTE:
4148 case 27:
4149 case 28:
4150 case 29:
4151 case 30:
4152 case 31:
4153 case 32:
4154 case 33:
4155 case 34:
4156 case 35:
4157 case 36:
4158 case 37:
4159 case 38:
4160 case 39:
4161 case 40:
4162 case 41:
4163 case 66:
4164 case 67:
4165 case 68:
4166 {
4167 alt11=4;
4168 }
4169 break;
4170 case 47:
4171 {
4172 alt11=5;
4173 }
4174 break;
4175 default:
4176 NoViableAltException nvae =
4177 new NoViableAltException("", 11, 0, input);
4178
4179 throw nvae;
4180 }
4181
4182 switch (alt11) {
4183 case 1 :
4184 // InternalVampireLanguage.g:1281:2: ( ruleVLSUniversalQuantifier )
4185 {
4186 // InternalVampireLanguage.g:1281:2: ( ruleVLSUniversalQuantifier )
4187 // InternalVampireLanguage.g:1282:3: ruleVLSUniversalQuantifier
4188 {
4189 before(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUniversalQuantifierParserRuleCall_0());
4190 pushFollow(FOLLOW_2);
4191 ruleVLSUniversalQuantifier();
4192
4193 state._fsp--;
4194
4195 after(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUniversalQuantifierParserRuleCall_0());
4196
4197 }
4198
4199
4200 }
4201 break;
4202 case 2 :
4203 // InternalVampireLanguage.g:1287:2: ( ruleVLSExistentialQuantifier )
4204 {
4205 // InternalVampireLanguage.g:1287:2: ( ruleVLSExistentialQuantifier )
4206 // InternalVampireLanguage.g:1288:3: ruleVLSExistentialQuantifier
4207 {
4208 before(grammarAccess.getVLSUnitaryFormulaAccess().getVLSExistentialQuantifierParserRuleCall_1());
4209 pushFollow(FOLLOW_2);
4210 ruleVLSExistentialQuantifier();
4211
4212 state._fsp--;
4213
4214 after(grammarAccess.getVLSUnitaryFormulaAccess().getVLSExistentialQuantifierParserRuleCall_1());
4215
4216 }
4217
4218
4219 }
4220 break;
4221 case 3 :
4222 // InternalVampireLanguage.g:1293:2: ( ruleVLSUnaryNegation )
4223 {
4224 // InternalVampireLanguage.g:1293:2: ( ruleVLSUnaryNegation )
4225 // InternalVampireLanguage.g:1294:3: ruleVLSUnaryNegation
4226 {
4227 before(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryNegationParserRuleCall_2());
4228 pushFollow(FOLLOW_2);
4229 ruleVLSUnaryNegation();
4230
4231 state._fsp--;
4232
4233 after(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryNegationParserRuleCall_2());
4234
4235 }
4236
4237
4238 }
4239 break;
4240 case 4 :
4241 // InternalVampireLanguage.g:1299:2: ( ruleVLSUnaryInfix )
4242 {
4243 // InternalVampireLanguage.g:1299:2: ( ruleVLSUnaryInfix )
4244 // InternalVampireLanguage.g:1300:3: ruleVLSUnaryInfix
4245 {
4246 before(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryInfixParserRuleCall_3());
4247 pushFollow(FOLLOW_2);
4248 ruleVLSUnaryInfix();
4249
4250 state._fsp--;
4251
4252 after(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryInfixParserRuleCall_3());
4253
4254 }
4255
4256
4257 }
4258 break;
4259 case 5 :
4260 // InternalVampireLanguage.g:1305:2: ( ( rule__VLSUnitaryFormula__Group_4__0 ) )
4261 {
4262 // InternalVampireLanguage.g:1305:2: ( ( rule__VLSUnitaryFormula__Group_4__0 ) )
4263 // InternalVampireLanguage.g:1306:3: ( rule__VLSUnitaryFormula__Group_4__0 )
4264 {
4265 before(grammarAccess.getVLSUnitaryFormulaAccess().getGroup_4());
4266 // InternalVampireLanguage.g:1307:3: ( rule__VLSUnitaryFormula__Group_4__0 )
4267 // InternalVampireLanguage.g:1307:4: rule__VLSUnitaryFormula__Group_4__0
4268 {
4269 pushFollow(FOLLOW_2);
4270 rule__VLSUnitaryFormula__Group_4__0();
4271
4272 state._fsp--;
4273
4274
4275 }
4276
4277 after(grammarAccess.getVLSUnitaryFormulaAccess().getGroup_4());
4278
4279 }
4280
4281
4282 }
4283 break;
4284
4285 }
4286 }
4287 catch (RecognitionException re) {
4288 reportError(re);
4289 recover(input,re);
4290 }
4291 finally {
4292
4293 restoreStackSize(stackSize);
4294
4295 }
4296 return ;
4297 }
4298 // $ANTLR end "rule__VLSUnitaryFormula__Alternatives"
4299
4300
4301 // $ANTLR start "rule__VLSUnaryInfix__Alternatives_1_0"
4302 // InternalVampireLanguage.g:1315:1: rule__VLSUnaryInfix__Alternatives_1_0 : ( ( ( rule__VLSUnaryInfix__Group_1_0_0__0 ) ) | ( ( rule__VLSUnaryInfix__Group_1_0_1__0 ) ) | ( ( rule__VLSUnaryInfix__Group_1_0_2__0 ) ) );
4303 public final void rule__VLSUnaryInfix__Alternatives_1_0() throws RecognitionException {
4304
4305 int stackSize = keepStackSize();
4306
4307 try {
4308 // InternalVampireLanguage.g:1319:1: ( ( ( rule__VLSUnaryInfix__Group_1_0_0__0 ) ) | ( ( rule__VLSUnaryInfix__Group_1_0_1__0 ) ) | ( ( rule__VLSUnaryInfix__Group_1_0_2__0 ) ) )
4309 int alt12=3;
4310 switch ( input.LA(1) ) {
4311 case 63:
4312 {
4313 alt12=1;
4314 }
4315 break;
4316 case 64:
4317 {
4318 alt12=2;
4319 }
4320 break;
4321 case 65:
4322 {
4323 alt12=3;
4324 }
4325 break;
4326 default:
4327 NoViableAltException nvae =
4328 new NoViableAltException("", 12, 0, input);
4329
4330 throw nvae;
4331 }
4332
4333 switch (alt12) {
4334 case 1 :
4335 // InternalVampireLanguage.g:1320:2: ( ( rule__VLSUnaryInfix__Group_1_0_0__0 ) )
4336 {
4337 // InternalVampireLanguage.g:1320:2: ( ( rule__VLSUnaryInfix__Group_1_0_0__0 ) )
4338 // InternalVampireLanguage.g:1321:3: ( rule__VLSUnaryInfix__Group_1_0_0__0 )
4339 {
4340 before(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_0());
4341 // InternalVampireLanguage.g:1322:3: ( rule__VLSUnaryInfix__Group_1_0_0__0 )
4342 // InternalVampireLanguage.g:1322:4: rule__VLSUnaryInfix__Group_1_0_0__0
4343 {
4344 pushFollow(FOLLOW_2);
4345 rule__VLSUnaryInfix__Group_1_0_0__0();
4346
4347 state._fsp--;
4348
4349
4350 }
4351
4352 after(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_0());
4353
4354 }
4355
4356
4357 }
4358 break;
4359 case 2 :
4360 // InternalVampireLanguage.g:1326:2: ( ( rule__VLSUnaryInfix__Group_1_0_1__0 ) )
4361 {
4362 // InternalVampireLanguage.g:1326:2: ( ( rule__VLSUnaryInfix__Group_1_0_1__0 ) )
4363 // InternalVampireLanguage.g:1327:3: ( rule__VLSUnaryInfix__Group_1_0_1__0 )
4364 {
4365 before(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_1());
4366 // InternalVampireLanguage.g:1328:3: ( rule__VLSUnaryInfix__Group_1_0_1__0 )
4367 // InternalVampireLanguage.g:1328:4: rule__VLSUnaryInfix__Group_1_0_1__0
4368 {
4369 pushFollow(FOLLOW_2);
4370 rule__VLSUnaryInfix__Group_1_0_1__0();
4371
4372 state._fsp--;
4373
4374
4375 }
4376
4377 after(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_1());
4378
4379 }
4380
4381
4382 }
4383 break;
4384 case 3 :
4385 // InternalVampireLanguage.g:1332:2: ( ( rule__VLSUnaryInfix__Group_1_0_2__0 ) )
4386 {
4387 // InternalVampireLanguage.g:1332:2: ( ( rule__VLSUnaryInfix__Group_1_0_2__0 ) )
4388 // InternalVampireLanguage.g:1333:3: ( rule__VLSUnaryInfix__Group_1_0_2__0 )
4389 {
4390 before(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_2());
4391 // InternalVampireLanguage.g:1334:3: ( rule__VLSUnaryInfix__Group_1_0_2__0 )
4392 // InternalVampireLanguage.g:1334:4: rule__VLSUnaryInfix__Group_1_0_2__0
4393 {
4394 pushFollow(FOLLOW_2);
4395 rule__VLSUnaryInfix__Group_1_0_2__0();
4396
4397 state._fsp--;
4398
4399
4400 }
4401
4402 after(grammarAccess.getVLSUnaryInfixAccess().getGroup_1_0_2());
4403
4404 }
4405
4406
4407 }
4408 break;
4409
4410 }
4411 }
4412 catch (RecognitionException re) {
4413 reportError(re);
4414 recover(input,re);
4415 }
4416 finally {
4417
4418 restoreStackSize(stackSize);
4419
4420 }
4421 return ;
4422 }
4423 // $ANTLR end "rule__VLSUnaryInfix__Alternatives_1_0"
4424
4425
4426 // $ANTLR start "rule__VLSAtomic__Alternatives"
4427 // InternalVampireLanguage.g:1342:1: rule__VLSAtomic__Alternatives : ( ( ruleVLSAtomicConstant ) | ( ruleVLSAtomicFunction ) | ( ruleVLSVariable ) | ( ruleVLSDefinedTerm ) );
4428 public final void rule__VLSAtomic__Alternatives() throws RecognitionException {
4429
4430 int stackSize = keepStackSize();
4431
4432 try {
4433 // InternalVampireLanguage.g:1346:1: ( ( ruleVLSAtomicConstant ) | ( ruleVLSAtomicFunction ) | ( ruleVLSVariable ) | ( ruleVLSDefinedTerm ) )
4434 int alt13=4;
4435 alt13 = dfa13.predict(input);
4436 switch (alt13) {
4437 case 1 :
4438 // InternalVampireLanguage.g:1347:2: ( ruleVLSAtomicConstant )
4439 {
4440 // InternalVampireLanguage.g:1347:2: ( ruleVLSAtomicConstant )
4441 // InternalVampireLanguage.g:1348:3: ruleVLSAtomicConstant
4442 {
4443 before(grammarAccess.getVLSAtomicAccess().getVLSAtomicConstantParserRuleCall_0());
4444 pushFollow(FOLLOW_2);
4445 ruleVLSAtomicConstant();
4446
4447 state._fsp--;
4448
4449 after(grammarAccess.getVLSAtomicAccess().getVLSAtomicConstantParserRuleCall_0());
4450
4451 }
4452
4453
4454 }
4455 break;
4456 case 2 :
4457 // InternalVampireLanguage.g:1353:2: ( ruleVLSAtomicFunction )
4458 {
4459 // InternalVampireLanguage.g:1353:2: ( ruleVLSAtomicFunction )
4460 // InternalVampireLanguage.g:1354:3: ruleVLSAtomicFunction
4461 {
4462 before(grammarAccess.getVLSAtomicAccess().getVLSAtomicFunctionParserRuleCall_1());
4463 pushFollow(FOLLOW_2);
4464 ruleVLSAtomicFunction();
4465
4466 state._fsp--;
4467
4468 after(grammarAccess.getVLSAtomicAccess().getVLSAtomicFunctionParserRuleCall_1());
4469
4470 }
4471
4472
4473 }
4474 break;
4475 case 3 :
4476 // InternalVampireLanguage.g:1359:2: ( ruleVLSVariable )
4477 {
4478 // InternalVampireLanguage.g:1359:2: ( ruleVLSVariable )
4479 // InternalVampireLanguage.g:1360:3: ruleVLSVariable
4480 {
4481 before(grammarAccess.getVLSAtomicAccess().getVLSVariableParserRuleCall_2());
4482 pushFollow(FOLLOW_2);
4483 ruleVLSVariable();
4484
4485 state._fsp--;
4486
4487 after(grammarAccess.getVLSAtomicAccess().getVLSVariableParserRuleCall_2());
4488
4489 }
4490
4491
4492 }
4493 break;
4494 case 4 :
4495 // InternalVampireLanguage.g:1365:2: ( ruleVLSDefinedTerm )
4496 {
4497 // InternalVampireLanguage.g:1365:2: ( ruleVLSDefinedTerm )
4498 // InternalVampireLanguage.g:1366:3: ruleVLSDefinedTerm
4499 {
4500 before(grammarAccess.getVLSAtomicAccess().getVLSDefinedTermParserRuleCall_3());
4501 pushFollow(FOLLOW_2);
4502 ruleVLSDefinedTerm();
4503
4504 state._fsp--;
4505
4506 after(grammarAccess.getVLSAtomicAccess().getVLSDefinedTermParserRuleCall_3());
4507
4508 }
4509
4510
4511 }
4512 break;
4513
4514 }
4515 }
4516 catch (RecognitionException re) {
4517 reportError(re);
4518 recover(input,re);
4519 }
4520 finally {
4521
4522 restoreStackSize(stackSize);
4523
4524 }
4525 return ;
4526 }
4527 // $ANTLR end "rule__VLSAtomic__Alternatives"
4528
4529
4530 // $ANTLR start "rule__VLSAtomicConstant__Alternatives"
4531 // InternalVampireLanguage.g:1375:1: rule__VLSAtomicConstant__Alternatives : ( ( ( rule__VLSAtomicConstant__Group_0__0 ) ) | ( ( rule__VLSAtomicConstant__Group_1__0 ) ) | ( ( rule__VLSAtomicConstant__Group_2__0 ) ) );
4532 public final void rule__VLSAtomicConstant__Alternatives() throws RecognitionException {
4533
4534 int stackSize = keepStackSize();
4535
4536 try {
4537 // InternalVampireLanguage.g:1379:1: ( ( ( rule__VLSAtomicConstant__Group_0__0 ) ) | ( ( rule__VLSAtomicConstant__Group_1__0 ) ) | ( ( rule__VLSAtomicConstant__Group_2__0 ) ) )
4538 int alt14=3;
4539 switch ( input.LA(1) ) {
4540 case RULE_LOWER_WORD_ID:
4541 case RULE_SINGLE_QUOTE:
4542 case RULE_DOLLAR_ID:
4543 case RULE_DOUBLE_DOLLAR_ID:
4544 case 27:
4545 case 28:
4546 case 29:
4547 case 30:
4548 case 31:
4549 case 32:
4550 case 33:
4551 case 34:
4552 case 35:
4553 case 36:
4554 case 37:
4555 case 38:
4556 case 39:
4557 case 40:
4558 case 41:
4559 {
4560 alt14=1;
4561 }
4562 break;
4563 case 66:
4564 {
4565 alt14=2;
4566 }
4567 break;
4568 case 67:
4569 {
4570 alt14=3;
4571 }
4572 break;
4573 default:
4574 NoViableAltException nvae =
4575 new NoViableAltException("", 14, 0, input);
4576
4577 throw nvae;
4578 }
4579
4580 switch (alt14) {
4581 case 1 :
4582 // InternalVampireLanguage.g:1380:2: ( ( rule__VLSAtomicConstant__Group_0__0 ) )
4583 {
4584 // InternalVampireLanguage.g:1380:2: ( ( rule__VLSAtomicConstant__Group_0__0 ) )
4585 // InternalVampireLanguage.g:1381:3: ( rule__VLSAtomicConstant__Group_0__0 )
4586 {
4587 before(grammarAccess.getVLSAtomicConstantAccess().getGroup_0());
4588 // InternalVampireLanguage.g:1382:3: ( rule__VLSAtomicConstant__Group_0__0 )
4589 // InternalVampireLanguage.g:1382:4: rule__VLSAtomicConstant__Group_0__0
4590 {
4591 pushFollow(FOLLOW_2);
4592 rule__VLSAtomicConstant__Group_0__0();
4593
4594 state._fsp--;
4595
4596
4597 }
4598
4599 after(grammarAccess.getVLSAtomicConstantAccess().getGroup_0());
4600
4601 }
4602
4603
4604 }
4605 break;
4606 case 2 :
4607 // InternalVampireLanguage.g:1386:2: ( ( rule__VLSAtomicConstant__Group_1__0 ) )
4608 {
4609 // InternalVampireLanguage.g:1386:2: ( ( rule__VLSAtomicConstant__Group_1__0 ) )
4610 // InternalVampireLanguage.g:1387:3: ( rule__VLSAtomicConstant__Group_1__0 )
4611 {
4612 before(grammarAccess.getVLSAtomicConstantAccess().getGroup_1());
4613 // InternalVampireLanguage.g:1388:3: ( rule__VLSAtomicConstant__Group_1__0 )
4614 // InternalVampireLanguage.g:1388:4: rule__VLSAtomicConstant__Group_1__0
4615 {
4616 pushFollow(FOLLOW_2);
4617 rule__VLSAtomicConstant__Group_1__0();
4618
4619 state._fsp--;
4620
4621
4622 }
4623
4624 after(grammarAccess.getVLSAtomicConstantAccess().getGroup_1());
4625
4626 }
4627
4628
4629 }
4630 break;
4631 case 3 :
4632 // InternalVampireLanguage.g:1392:2: ( ( rule__VLSAtomicConstant__Group_2__0 ) )
4633 {
4634 // InternalVampireLanguage.g:1392:2: ( ( rule__VLSAtomicConstant__Group_2__0 ) )
4635 // InternalVampireLanguage.g:1393:3: ( rule__VLSAtomicConstant__Group_2__0 )
4636 {
4637 before(grammarAccess.getVLSAtomicConstantAccess().getGroup_2());
4638 // InternalVampireLanguage.g:1394:3: ( rule__VLSAtomicConstant__Group_2__0 )
4639 // InternalVampireLanguage.g:1394:4: rule__VLSAtomicConstant__Group_2__0
4640 {
4641 pushFollow(FOLLOW_2);
4642 rule__VLSAtomicConstant__Group_2__0();
4643
4644 state._fsp--;
4645
4646
4647 }
4648
4649 after(grammarAccess.getVLSAtomicConstantAccess().getGroup_2());
4650
4651 }
4652
4653
4654 }
4655 break;
4656
4657 }
4658 }
4659 catch (RecognitionException re) {
4660 reportError(re);
4661 recover(input,re);
4662 }
4663 finally {
4664
4665 restoreStackSize(stackSize);
4666
4667 }
4668 return ;
4669 }
4670 // $ANTLR end "rule__VLSAtomicConstant__Alternatives"
4671
4672
4673 // $ANTLR start "rule__VLSAtomicConstant__NameAlternatives_0_1_0"
4674 // InternalVampireLanguage.g:1402:1: rule__VLSAtomicConstant__NameAlternatives_0_1_0 : ( ( RULE_LOWER_WORD_ID ) | ( RULE_SINGLE_QUOTE ) | ( RULE_DOLLAR_ID ) | ( RULE_DOUBLE_DOLLAR_ID ) | ( ruleVLSRole ) );
4675 public final void rule__VLSAtomicConstant__NameAlternatives_0_1_0() throws RecognitionException {
4676
4677 int stackSize = keepStackSize();
4678
4679 try {
4680 // InternalVampireLanguage.g:1406:1: ( ( RULE_LOWER_WORD_ID ) | ( RULE_SINGLE_QUOTE ) | ( RULE_DOLLAR_ID ) | ( RULE_DOUBLE_DOLLAR_ID ) | ( ruleVLSRole ) )
4681 int alt15=5;
4682 switch ( input.LA(1) ) {
4683 case RULE_LOWER_WORD_ID:
4684 {
4685 alt15=1;
4686 }
4687 break;
4688 case RULE_SINGLE_QUOTE:
4689 {
4690 alt15=2;
4691 }
4692 break;
4693 case RULE_DOLLAR_ID:
4694 {
4695 alt15=3;
4696 }
4697 break;
4698 case RULE_DOUBLE_DOLLAR_ID:
4699 {
4700 alt15=4;
4701 }
4702 break;
4703 case 27:
4704 case 28:
4705 case 29:
4706 case 30:
4707 case 31:
4708 case 32:
4709 case 33:
4710 case 34:
4711 case 35:
4712 case 36:
4713 case 37:
4714 case 38:
4715 case 39:
4716 case 40:
4717 case 41:
4718 {
4719 alt15=5;
4720 }
4721 break;
4722 default:
4723 NoViableAltException nvae =
4724 new NoViableAltException("", 15, 0, input);
4725
4726 throw nvae;
4727 }
4728
4729 switch (alt15) {
4730 case 1 :
4731 // InternalVampireLanguage.g:1407:2: ( RULE_LOWER_WORD_ID )
4732 {
4733 // InternalVampireLanguage.g:1407:2: ( RULE_LOWER_WORD_ID )
4734 // InternalVampireLanguage.g:1408:3: RULE_LOWER_WORD_ID
4735 {
4736 before(grammarAccess.getVLSAtomicConstantAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
4737 match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
4738 after(grammarAccess.getVLSAtomicConstantAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
4739
4740 }
4741
4742
4743 }
4744 break;
4745 case 2 :
4746 // InternalVampireLanguage.g:1413:2: ( RULE_SINGLE_QUOTE )
4747 {
4748 // InternalVampireLanguage.g:1413:2: ( RULE_SINGLE_QUOTE )
4749 // InternalVampireLanguage.g:1414:3: RULE_SINGLE_QUOTE
4750 {
4751 before(grammarAccess.getVLSAtomicConstantAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1_0_1());
4752 match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
4753 after(grammarAccess.getVLSAtomicConstantAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1_0_1());
4754
4755 }
4756
4757
4758 }
4759 break;
4760 case 3 :
4761 // InternalVampireLanguage.g:1419:2: ( RULE_DOLLAR_ID )
4762 {
4763 // InternalVampireLanguage.g:1419:2: ( RULE_DOLLAR_ID )
4764 // InternalVampireLanguage.g:1420:3: RULE_DOLLAR_ID
4765 {
4766 before(grammarAccess.getVLSAtomicConstantAccess().getNameDOLLAR_IDTerminalRuleCall_0_1_0_2());
4767 match(input,RULE_DOLLAR_ID,FOLLOW_2);
4768 after(grammarAccess.getVLSAtomicConstantAccess().getNameDOLLAR_IDTerminalRuleCall_0_1_0_2());
4769
4770 }
4771
4772
4773 }
4774 break;
4775 case 4 :
4776 // InternalVampireLanguage.g:1425:2: ( RULE_DOUBLE_DOLLAR_ID )
4777 {
4778 // InternalVampireLanguage.g:1425:2: ( RULE_DOUBLE_DOLLAR_ID )
4779 // InternalVampireLanguage.g:1426:3: RULE_DOUBLE_DOLLAR_ID
4780 {
4781 before(grammarAccess.getVLSAtomicConstantAccess().getNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
4782 match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_2);
4783 after(grammarAccess.getVLSAtomicConstantAccess().getNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
4784
4785 }
4786
4787
4788 }
4789 break;
4790 case 5 :
4791 // InternalVampireLanguage.g:1431:2: ( ruleVLSRole )
4792 {
4793 // InternalVampireLanguage.g:1431:2: ( ruleVLSRole )
4794 // InternalVampireLanguage.g:1432:3: ruleVLSRole
4795 {
4796 before(grammarAccess.getVLSAtomicConstantAccess().getNameVLSRoleParserRuleCall_0_1_0_4());
4797 pushFollow(FOLLOW_2);
4798 ruleVLSRole();
4799
4800 state._fsp--;
4801
4802 after(grammarAccess.getVLSAtomicConstantAccess().getNameVLSRoleParserRuleCall_0_1_0_4());
4803
4804 }
4805
4806
4807 }
4808 break;
4809
4810 }
4811 }
4812 catch (RecognitionException re) {
4813 reportError(re);
4814 recover(input,re);
4815 }
4816 finally {
4817
4818 restoreStackSize(stackSize);
4819
4820 }
4821 return ;
4822 }
4823 // $ANTLR end "rule__VLSAtomicConstant__NameAlternatives_0_1_0"
4824
4825
4826 // $ANTLR start "rule__VLSAtomicFunction__Alternatives"
4827 // InternalVampireLanguage.g:1441:1: rule__VLSAtomicFunction__Alternatives : ( ( ( rule__VLSAtomicFunction__Group_0__0 ) ) | ( ( rule__VLSAtomicFunction__Group_1__0 ) ) );
4828 public final void rule__VLSAtomicFunction__Alternatives() throws RecognitionException {
4829
4830 int stackSize = keepStackSize();
4831
4832 try {
4833 // InternalVampireLanguage.g:1445:1: ( ( ( rule__VLSAtomicFunction__Group_0__0 ) ) | ( ( rule__VLSAtomicFunction__Group_1__0 ) ) )
4834 int alt16=2;
4835 int LA16_0 = input.LA(1);
4836
4837 if ( ((LA16_0>=RULE_LOWER_WORD_ID && LA16_0<=RULE_SINGLE_QUOTE)||(LA16_0>=RULE_DOLLAR_ID && LA16_0<=RULE_DOUBLE_DOLLAR_ID)||(LA16_0>=27 && LA16_0<=41)) ) {
4838 alt16=1;
4839 }
4840 else if ( (LA16_0==68) ) {
4841 alt16=2;
4842 }
4843 else {
4844 NoViableAltException nvae =
4845 new NoViableAltException("", 16, 0, input);
4846
4847 throw nvae;
4848 }
4849 switch (alt16) {
4850 case 1 :
4851 // InternalVampireLanguage.g:1446:2: ( ( rule__VLSAtomicFunction__Group_0__0 ) )
4852 {
4853 // InternalVampireLanguage.g:1446:2: ( ( rule__VLSAtomicFunction__Group_0__0 ) )
4854 // InternalVampireLanguage.g:1447:3: ( rule__VLSAtomicFunction__Group_0__0 )
4855 {
4856 before(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0());
4857 // InternalVampireLanguage.g:1448:3: ( rule__VLSAtomicFunction__Group_0__0 )
4858 // InternalVampireLanguage.g:1448:4: rule__VLSAtomicFunction__Group_0__0
4859 {
4860 pushFollow(FOLLOW_2);
4861 rule__VLSAtomicFunction__Group_0__0();
4862
4863 state._fsp--;
4864
4865
4866 }
4867
4868 after(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0());
4869
4870 }
4871
4872
4873 }
4874 break;
4875 case 2 :
4876 // InternalVampireLanguage.g:1452:2: ( ( rule__VLSAtomicFunction__Group_1__0 ) )
4877 {
4878 // InternalVampireLanguage.g:1452:2: ( ( rule__VLSAtomicFunction__Group_1__0 ) )
4879 // InternalVampireLanguage.g:1453:3: ( rule__VLSAtomicFunction__Group_1__0 )
4880 {
4881 before(grammarAccess.getVLSAtomicFunctionAccess().getGroup_1());
4882 // InternalVampireLanguage.g:1454:3: ( rule__VLSAtomicFunction__Group_1__0 )
4883 // InternalVampireLanguage.g:1454:4: rule__VLSAtomicFunction__Group_1__0
4884 {
4885 pushFollow(FOLLOW_2);
4886 rule__VLSAtomicFunction__Group_1__0();
4887
4888 state._fsp--;
4889
4890
4891 }
4892
4893 after(grammarAccess.getVLSAtomicFunctionAccess().getGroup_1());
4894
4895 }
4896
4897
4898 }
4899 break;
4900
4901 }
4902 }
4903 catch (RecognitionException re) {
4904 reportError(re);
4905 recover(input,re);
4906 }
4907 finally {
4908
4909 restoreStackSize(stackSize);
4910
4911 }
4912 return ;
4913 }
4914 // $ANTLR end "rule__VLSAtomicFunction__Alternatives"
4915
4916
4917 // $ANTLR start "rule__VLSAtomicFunction__ConstantAlternatives_0_1_0"
4918 // InternalVampireLanguage.g:1462:1: rule__VLSAtomicFunction__ConstantAlternatives_0_1_0 : ( ( RULE_LOWER_WORD_ID ) | ( RULE_SINGLE_QUOTE ) | ( RULE_DOLLAR_ID ) | ( RULE_DOUBLE_DOLLAR_ID ) | ( ruleVLSRole ) );
4919 public final void rule__VLSAtomicFunction__ConstantAlternatives_0_1_0() throws RecognitionException {
4920
4921 int stackSize = keepStackSize();
4922
4923 try {
4924 // InternalVampireLanguage.g:1466:1: ( ( RULE_LOWER_WORD_ID ) | ( RULE_SINGLE_QUOTE ) | ( RULE_DOLLAR_ID ) | ( RULE_DOUBLE_DOLLAR_ID ) | ( ruleVLSRole ) )
4925 int alt17=5;
4926 switch ( input.LA(1) ) {
4927 case RULE_LOWER_WORD_ID:
4928 {
4929 alt17=1;
4930 }
4931 break;
4932 case RULE_SINGLE_QUOTE:
4933 {
4934 alt17=2;
4935 }
4936 break;
4937 case RULE_DOLLAR_ID:
4938 {
4939 alt17=3;
4940 }
4941 break;
4942 case RULE_DOUBLE_DOLLAR_ID:
4943 {
4944 alt17=4;
4945 }
4946 break;
4947 case 27:
4948 case 28:
4949 case 29:
4950 case 30:
4951 case 31:
4952 case 32:
4953 case 33:
4954 case 34:
4955 case 35:
4956 case 36:
4957 case 37:
4958 case 38:
4959 case 39:
4960 case 40:
4961 case 41:
4962 {
4963 alt17=5;
4964 }
4965 break;
4966 default:
4967 NoViableAltException nvae =
4968 new NoViableAltException("", 17, 0, input);
4969
4970 throw nvae;
4971 }
4972
4973 switch (alt17) {
4974 case 1 :
4975 // InternalVampireLanguage.g:1467:2: ( RULE_LOWER_WORD_ID )
4976 {
4977 // InternalVampireLanguage.g:1467:2: ( RULE_LOWER_WORD_ID )
4978 // InternalVampireLanguage.g:1468:3: RULE_LOWER_WORD_ID
4979 {
4980 before(grammarAccess.getVLSAtomicFunctionAccess().getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
4981 match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
4982 after(grammarAccess.getVLSAtomicFunctionAccess().getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
4983
4984 }
4985
4986
4987 }
4988 break;
4989 case 2 :
4990 // InternalVampireLanguage.g:1473:2: ( RULE_SINGLE_QUOTE )
4991 {
4992 // InternalVampireLanguage.g:1473:2: ( RULE_SINGLE_QUOTE )
4993 // InternalVampireLanguage.g:1474:3: RULE_SINGLE_QUOTE
4994 {
4995 before(grammarAccess.getVLSAtomicFunctionAccess().getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1());
4996 match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
4997 after(grammarAccess.getVLSAtomicFunctionAccess().getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1());
4998
4999 }
5000
5001
5002 }
5003 break;
5004 case 3 :
5005 // InternalVampireLanguage.g:1479:2: ( RULE_DOLLAR_ID )
5006 {
5007 // InternalVampireLanguage.g:1479:2: ( RULE_DOLLAR_ID )
5008 // InternalVampireLanguage.g:1480:3: RULE_DOLLAR_ID
5009 {
5010 before(grammarAccess.getVLSAtomicFunctionAccess().getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2());
5011 match(input,RULE_DOLLAR_ID,FOLLOW_2);
5012 after(grammarAccess.getVLSAtomicFunctionAccess().getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2());
5013
5014 }
5015
5016
5017 }
5018 break;
5019 case 4 :
5020 // InternalVampireLanguage.g:1485:2: ( RULE_DOUBLE_DOLLAR_ID )
5021 {
5022 // InternalVampireLanguage.g:1485:2: ( RULE_DOUBLE_DOLLAR_ID )
5023 // InternalVampireLanguage.g:1486:3: RULE_DOUBLE_DOLLAR_ID
5024 {
5025 before(grammarAccess.getVLSAtomicFunctionAccess().getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
5026 match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_2);
5027 after(grammarAccess.getVLSAtomicFunctionAccess().getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
5028
5029 }
5030
5031
5032 }
5033 break;
5034 case 5 :
5035 // InternalVampireLanguage.g:1491:2: ( ruleVLSRole )
5036 {
5037 // InternalVampireLanguage.g:1491:2: ( ruleVLSRole )
5038 // InternalVampireLanguage.g:1492:3: ruleVLSRole
5039 {
5040 before(grammarAccess.getVLSAtomicFunctionAccess().getConstantVLSRoleParserRuleCall_0_1_0_4());
5041 pushFollow(FOLLOW_2);
5042 ruleVLSRole();
5043
5044 state._fsp--;
5045
5046 after(grammarAccess.getVLSAtomicFunctionAccess().getConstantVLSRoleParserRuleCall_0_1_0_4());
5047
5048 }
5049
5050
5051 }
5052 break;
5053
5054 }
5055 }
5056 catch (RecognitionException re) {
5057 reportError(re);
5058 recover(input,re);
5059 }
5060 finally {
5061
5062 restoreStackSize(stackSize);
5063
5064 }
5065 return ;
5066 }
5067 // $ANTLR end "rule__VLSAtomicFunction__ConstantAlternatives_0_1_0"
5068
5069
5070 // $ANTLR start "rule__VLSFofTerm__Alternatives"
5071 // InternalVampireLanguage.g:1501:1: rule__VLSFofTerm__Alternatives : ( ( ruleVLSVariable ) | ( ruleVLSFunctionFof ) | ( ruleVLSDefinedTerm ) );
5072 public final void rule__VLSFofTerm__Alternatives() throws RecognitionException {
5073
5074 int stackSize = keepStackSize();
5075
5076 try {
5077 // InternalVampireLanguage.g:1505:1: ( ( ruleVLSVariable ) | ( ruleVLSFunctionFof ) | ( ruleVLSDefinedTerm ) )
5078 int alt18=3;
5079 switch ( input.LA(1) ) {
5080 case RULE_UPPER_WORD_ID:
5081 {
5082 alt18=1;
5083 }
5084 break;
5085 case RULE_LOWER_WORD_ID:
5086 case RULE_SINGLE_QUOTE:
5087 case RULE_DOLLAR_ID:
5088 case RULE_DOUBLE_DOLLAR_ID:
5089 {
5090 alt18=2;
5091 }
5092 break;
5093 case RULE_SIGNED_LITERAL:
5094 case RULE_SIGNED_REAL_ID:
5095 case RULE_SIGNED_RAT_ID:
5096 case RULE_DOUBLE_QUOTE:
5097 {
5098 alt18=3;
5099 }
5100 break;
5101 default:
5102 NoViableAltException nvae =
5103 new NoViableAltException("", 18, 0, input);
5104
5105 throw nvae;
5106 }
5107
5108 switch (alt18) {
5109 case 1 :
5110 // InternalVampireLanguage.g:1506:2: ( ruleVLSVariable )
5111 {
5112 // InternalVampireLanguage.g:1506:2: ( ruleVLSVariable )
5113 // InternalVampireLanguage.g:1507:3: ruleVLSVariable
5114 {
5115 before(grammarAccess.getVLSFofTermAccess().getVLSVariableParserRuleCall_0());
5116 pushFollow(FOLLOW_2);
5117 ruleVLSVariable();
5118
5119 state._fsp--;
5120
5121 after(grammarAccess.getVLSFofTermAccess().getVLSVariableParserRuleCall_0());
5122
5123 }
5124
5125
5126 }
5127 break;
5128 case 2 :
5129 // InternalVampireLanguage.g:1512:2: ( ruleVLSFunctionFof )
5130 {
5131 // InternalVampireLanguage.g:1512:2: ( ruleVLSFunctionFof )
5132 // InternalVampireLanguage.g:1513:3: ruleVLSFunctionFof
5133 {
5134 before(grammarAccess.getVLSFofTermAccess().getVLSFunctionFofParserRuleCall_1());
5135 pushFollow(FOLLOW_2);
5136 ruleVLSFunctionFof();
5137
5138 state._fsp--;
5139
5140 after(grammarAccess.getVLSFofTermAccess().getVLSFunctionFofParserRuleCall_1());
5141
5142 }
5143
5144
5145 }
5146 break;
5147 case 3 :
5148 // InternalVampireLanguage.g:1518:2: ( ruleVLSDefinedTerm )
5149 {
5150 // InternalVampireLanguage.g:1518:2: ( ruleVLSDefinedTerm )
5151 // InternalVampireLanguage.g:1519:3: ruleVLSDefinedTerm
5152 {
5153 before(grammarAccess.getVLSFofTermAccess().getVLSDefinedTermParserRuleCall_2());
5154 pushFollow(FOLLOW_2);
5155 ruleVLSDefinedTerm();
5156
5157 state._fsp--;
5158
5159 after(grammarAccess.getVLSFofTermAccess().getVLSDefinedTermParserRuleCall_2());
5160
5161 }
5162
5163
5164 }
5165 break;
5166
5167 }
5168 }
5169 catch (RecognitionException re) {
5170 reportError(re);
5171 recover(input,re);
5172 }
5173 finally {
5174
5175 restoreStackSize(stackSize);
5176
5177 }
5178 return ;
5179 }
5180 // $ANTLR end "rule__VLSFofTerm__Alternatives"
5181
5182
5183 // $ANTLR start "rule__VLSFunctionFof__FunctorAlternatives_0_0"
5184 // InternalVampireLanguage.g:1528:1: rule__VLSFunctionFof__FunctorAlternatives_0_0 : ( ( RULE_LOWER_WORD_ID ) | ( RULE_SINGLE_QUOTE ) | ( RULE_DOLLAR_ID ) | ( RULE_DOUBLE_DOLLAR_ID ) );
5185 public final void rule__VLSFunctionFof__FunctorAlternatives_0_0() throws RecognitionException {
5186
5187 int stackSize = keepStackSize();
5188
5189 try {
5190 // InternalVampireLanguage.g:1532:1: ( ( RULE_LOWER_WORD_ID ) | ( RULE_SINGLE_QUOTE ) | ( RULE_DOLLAR_ID ) | ( RULE_DOUBLE_DOLLAR_ID ) )
5191 int alt19=4;
5192 switch ( input.LA(1) ) {
5193 case RULE_LOWER_WORD_ID:
5194 {
5195 alt19=1;
5196 }
5197 break;
5198 case RULE_SINGLE_QUOTE:
5199 {
5200 alt19=2;
5201 }
5202 break;
5203 case RULE_DOLLAR_ID:
5204 {
5205 alt19=3;
5206 }
5207 break;
5208 case RULE_DOUBLE_DOLLAR_ID:
5209 {
5210 alt19=4;
5211 }
5212 break;
5213 default:
5214 NoViableAltException nvae =
5215 new NoViableAltException("", 19, 0, input);
5216
5217 throw nvae;
5218 }
5219
5220 switch (alt19) {
5221 case 1 :
5222 // InternalVampireLanguage.g:1533:2: ( RULE_LOWER_WORD_ID )
5223 {
5224 // InternalVampireLanguage.g:1533:2: ( RULE_LOWER_WORD_ID )
5225 // InternalVampireLanguage.g:1534:3: RULE_LOWER_WORD_ID
5226 {
5227 before(grammarAccess.getVLSFunctionFofAccess().getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0());
5228 match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
5229 after(grammarAccess.getVLSFunctionFofAccess().getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0());
5230
5231 }
5232
5233
5234 }
5235 break;
5236 case 2 :
5237 // InternalVampireLanguage.g:1539:2: ( RULE_SINGLE_QUOTE )
5238 {
5239 // InternalVampireLanguage.g:1539:2: ( RULE_SINGLE_QUOTE )
5240 // InternalVampireLanguage.g:1540:3: RULE_SINGLE_QUOTE
5241 {
5242 before(grammarAccess.getVLSFunctionFofAccess().getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1());
5243 match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
5244 after(grammarAccess.getVLSFunctionFofAccess().getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1());
5245
5246 }
5247
5248
5249 }
5250 break;
5251 case 3 :
5252 // InternalVampireLanguage.g:1545:2: ( RULE_DOLLAR_ID )
5253 {
5254 // InternalVampireLanguage.g:1545:2: ( RULE_DOLLAR_ID )
5255 // InternalVampireLanguage.g:1546:3: RULE_DOLLAR_ID
5256 {
5257 before(grammarAccess.getVLSFunctionFofAccess().getFunctorDOLLAR_IDTerminalRuleCall_0_0_2());
5258 match(input,RULE_DOLLAR_ID,FOLLOW_2);
5259 after(grammarAccess.getVLSFunctionFofAccess().getFunctorDOLLAR_IDTerminalRuleCall_0_0_2());
5260
5261 }
5262
5263
5264 }
5265 break;
5266 case 4 :
5267 // InternalVampireLanguage.g:1551:2: ( RULE_DOUBLE_DOLLAR_ID )
5268 {
5269 // InternalVampireLanguage.g:1551:2: ( RULE_DOUBLE_DOLLAR_ID )
5270 // InternalVampireLanguage.g:1552:3: RULE_DOUBLE_DOLLAR_ID
5271 {
5272 before(grammarAccess.getVLSFunctionFofAccess().getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3());
5273 match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_2);
5274 after(grammarAccess.getVLSFunctionFofAccess().getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3());
5275
5276 }
5277
5278
5279 }
5280 break;
5281
5282 }
5283 }
5284 catch (RecognitionException re) {
5285 reportError(re);
5286 recover(input,re);
5287 }
5288 finally {
5289
5290 restoreStackSize(stackSize);
5291
5292 }
5293 return ;
5294 }
5295 // $ANTLR end "rule__VLSFunctionFof__FunctorAlternatives_0_0"
5296
5297
5298 // $ANTLR start "rule__VLSDefinedTerm__Alternatives"
5299 // InternalVampireLanguage.g:1561:1: rule__VLSDefinedTerm__Alternatives : ( ( ( rule__VLSDefinedTerm__Group_0__0 ) ) | ( ( rule__VLSDefinedTerm__Group_1__0 ) ) | ( ( rule__VLSDefinedTerm__Group_2__0 ) ) | ( ( rule__VLSDefinedTerm__Group_3__0 ) ) );
5300 public final void rule__VLSDefinedTerm__Alternatives() throws RecognitionException {
5301
5302 int stackSize = keepStackSize();
5303
5304 try {
5305 // InternalVampireLanguage.g:1565:1: ( ( ( rule__VLSDefinedTerm__Group_0__0 ) ) | ( ( rule__VLSDefinedTerm__Group_1__0 ) ) | ( ( rule__VLSDefinedTerm__Group_2__0 ) ) | ( ( rule__VLSDefinedTerm__Group_3__0 ) ) )
5306 int alt20=4;
5307 switch ( input.LA(1) ) {
5308 case RULE_SIGNED_LITERAL:
5309 {
5310 alt20=1;
5311 }
5312 break;
5313 case RULE_SIGNED_REAL_ID:
5314 {
5315 alt20=2;
5316 }
5317 break;
5318 case RULE_SIGNED_RAT_ID:
5319 {
5320 alt20=3;
5321 }
5322 break;
5323 case RULE_DOUBLE_QUOTE:
5324 {
5325 alt20=4;
5326 }
5327 break;
5328 default:
5329 NoViableAltException nvae =
5330 new NoViableAltException("", 20, 0, input);
5331
5332 throw nvae;
5333 }
5334
5335 switch (alt20) {
5336 case 1 :
5337 // InternalVampireLanguage.g:1566:2: ( ( rule__VLSDefinedTerm__Group_0__0 ) )
5338 {
5339 // InternalVampireLanguage.g:1566:2: ( ( rule__VLSDefinedTerm__Group_0__0 ) )
5340 // InternalVampireLanguage.g:1567:3: ( rule__VLSDefinedTerm__Group_0__0 )
5341 {
5342 before(grammarAccess.getVLSDefinedTermAccess().getGroup_0());
5343 // InternalVampireLanguage.g:1568:3: ( rule__VLSDefinedTerm__Group_0__0 )
5344 // InternalVampireLanguage.g:1568:4: rule__VLSDefinedTerm__Group_0__0
5345 {
5346 pushFollow(FOLLOW_2);
5347 rule__VLSDefinedTerm__Group_0__0();
5348
5349 state._fsp--;
5350
5351
5352 }
5353
5354 after(grammarAccess.getVLSDefinedTermAccess().getGroup_0());
5355
5356 }
5357
5358
5359 }
5360 break;
5361 case 2 :
5362 // InternalVampireLanguage.g:1572:2: ( ( rule__VLSDefinedTerm__Group_1__0 ) )
5363 {
5364 // InternalVampireLanguage.g:1572:2: ( ( rule__VLSDefinedTerm__Group_1__0 ) )
5365 // InternalVampireLanguage.g:1573:3: ( rule__VLSDefinedTerm__Group_1__0 )
5366 {
5367 before(grammarAccess.getVLSDefinedTermAccess().getGroup_1());
5368 // InternalVampireLanguage.g:1574:3: ( rule__VLSDefinedTerm__Group_1__0 )
5369 // InternalVampireLanguage.g:1574:4: rule__VLSDefinedTerm__Group_1__0
5370 {
5371 pushFollow(FOLLOW_2);
5372 rule__VLSDefinedTerm__Group_1__0();
5373
5374 state._fsp--;
5375
5376
5377 }
5378
5379 after(grammarAccess.getVLSDefinedTermAccess().getGroup_1());
5380
5381 }
5382
5383
5384 }
5385 break;
5386 case 3 :
5387 // InternalVampireLanguage.g:1578:2: ( ( rule__VLSDefinedTerm__Group_2__0 ) )
5388 {
5389 // InternalVampireLanguage.g:1578:2: ( ( rule__VLSDefinedTerm__Group_2__0 ) )
5390 // InternalVampireLanguage.g:1579:3: ( rule__VLSDefinedTerm__Group_2__0 )
5391 {
5392 before(grammarAccess.getVLSDefinedTermAccess().getGroup_2());
5393 // InternalVampireLanguage.g:1580:3: ( rule__VLSDefinedTerm__Group_2__0 )
5394 // InternalVampireLanguage.g:1580:4: rule__VLSDefinedTerm__Group_2__0
5395 {
5396 pushFollow(FOLLOW_2);
5397 rule__VLSDefinedTerm__Group_2__0();
5398
5399 state._fsp--;
5400
5401
5402 }
5403
5404 after(grammarAccess.getVLSDefinedTermAccess().getGroup_2());
5405
5406 }
5407
5408
5409 }
5410 break;
5411 case 4 :
5412 // InternalVampireLanguage.g:1584:2: ( ( rule__VLSDefinedTerm__Group_3__0 ) )
5413 {
5414 // InternalVampireLanguage.g:1584:2: ( ( rule__VLSDefinedTerm__Group_3__0 ) )
5415 // InternalVampireLanguage.g:1585:3: ( rule__VLSDefinedTerm__Group_3__0 )
5416 {
5417 before(grammarAccess.getVLSDefinedTermAccess().getGroup_3());
5418 // InternalVampireLanguage.g:1586:3: ( rule__VLSDefinedTerm__Group_3__0 )
5419 // InternalVampireLanguage.g:1586:4: rule__VLSDefinedTerm__Group_3__0
5420 {
5421 pushFollow(FOLLOW_2);
5422 rule__VLSDefinedTerm__Group_3__0();
5423
5424 state._fsp--;
5425
5426
5427 }
5428
5429 after(grammarAccess.getVLSDefinedTermAccess().getGroup_3());
5430
5431 }
5432
5433
5434 }
5435 break;
5436
5437 }
5438 }
5439 catch (RecognitionException re) {
5440 reportError(re);
5441 recover(input,re);
5442 }
5443 finally {
5444
5445 restoreStackSize(stackSize);
5446
5447 }
5448 return ;
5449 }
5450 // $ANTLR end "rule__VLSDefinedTerm__Alternatives"
5451
5452
5453 // $ANTLR start "rule__VLSInclude__Group__0"
5454 // InternalVampireLanguage.g:1594:1: rule__VLSInclude__Group__0 : rule__VLSInclude__Group__0__Impl rule__VLSInclude__Group__1 ;
5455 public final void rule__VLSInclude__Group__0() throws RecognitionException {
5456
5457 int stackSize = keepStackSize();
5458
5459 try {
5460 // InternalVampireLanguage.g:1598:1: ( rule__VLSInclude__Group__0__Impl rule__VLSInclude__Group__1 )
5461 // InternalVampireLanguage.g:1599:2: rule__VLSInclude__Group__0__Impl rule__VLSInclude__Group__1
5462 {
5463 pushFollow(FOLLOW_6);
5464 rule__VLSInclude__Group__0__Impl();
5465
5466 state._fsp--;
5467
5468 pushFollow(FOLLOW_2);
5469 rule__VLSInclude__Group__1();
5470
5471 state._fsp--;
5472
5473
5474 }
5475
5476 }
5477 catch (RecognitionException re) {
5478 reportError(re);
5479 recover(input,re);
5480 }
5481 finally {
5482
5483 restoreStackSize(stackSize);
5484
5485 }
5486 return ;
5487 }
5488 // $ANTLR end "rule__VLSInclude__Group__0"
5489
5490
5491 // $ANTLR start "rule__VLSInclude__Group__0__Impl"
5492 // InternalVampireLanguage.g:1606:1: rule__VLSInclude__Group__0__Impl : ( 'include(' ) ;
5493 public final void rule__VLSInclude__Group__0__Impl() throws RecognitionException {
5494
5495 int stackSize = keepStackSize();
5496
5497 try {
5498 // InternalVampireLanguage.g:1610:1: ( ( 'include(' ) )
5499 // InternalVampireLanguage.g:1611:1: ( 'include(' )
5500 {
5501 // InternalVampireLanguage.g:1611:1: ( 'include(' )
5502 // InternalVampireLanguage.g:1612:2: 'include('
5503 {
5504 before(grammarAccess.getVLSIncludeAccess().getIncludeKeyword_0());
5505 match(input,42,FOLLOW_2);
5506 after(grammarAccess.getVLSIncludeAccess().getIncludeKeyword_0());
5507
5508 }
5509
5510
5511 }
5512
5513 }
5514 catch (RecognitionException re) {
5515 reportError(re);
5516 recover(input,re);
5517 }
5518 finally {
5519
5520 restoreStackSize(stackSize);
5521
5522 }
5523 return ;
5524 }
5525 // $ANTLR end "rule__VLSInclude__Group__0__Impl"
5526
5527
5528 // $ANTLR start "rule__VLSInclude__Group__1"
5529 // InternalVampireLanguage.g:1621:1: rule__VLSInclude__Group__1 : rule__VLSInclude__Group__1__Impl rule__VLSInclude__Group__2 ;
5530 public final void rule__VLSInclude__Group__1() throws RecognitionException {
5531
5532 int stackSize = keepStackSize();
5533
5534 try {
5535 // InternalVampireLanguage.g:1625:1: ( rule__VLSInclude__Group__1__Impl rule__VLSInclude__Group__2 )
5536 // InternalVampireLanguage.g:1626:2: rule__VLSInclude__Group__1__Impl rule__VLSInclude__Group__2
5537 {
5538 pushFollow(FOLLOW_7);
5539 rule__VLSInclude__Group__1__Impl();
5540
5541 state._fsp--;
5542
5543 pushFollow(FOLLOW_2);
5544 rule__VLSInclude__Group__2();
5545
5546 state._fsp--;
5547
5548
5549 }
5550
5551 }
5552 catch (RecognitionException re) {
5553 reportError(re);
5554 recover(input,re);
5555 }
5556 finally {
5557
5558 restoreStackSize(stackSize);
5559
5560 }
5561 return ;
5562 }
5563 // $ANTLR end "rule__VLSInclude__Group__1"
5564
5565
5566 // $ANTLR start "rule__VLSInclude__Group__1__Impl"
5567 // InternalVampireLanguage.g:1633:1: rule__VLSInclude__Group__1__Impl : ( ( rule__VLSInclude__FileNameAssignment_1 ) ) ;
5568 public final void rule__VLSInclude__Group__1__Impl() throws RecognitionException {
5569
5570 int stackSize = keepStackSize();
5571
5572 try {
5573 // InternalVampireLanguage.g:1637:1: ( ( ( rule__VLSInclude__FileNameAssignment_1 ) ) )
5574 // InternalVampireLanguage.g:1638:1: ( ( rule__VLSInclude__FileNameAssignment_1 ) )
5575 {
5576 // InternalVampireLanguage.g:1638:1: ( ( rule__VLSInclude__FileNameAssignment_1 ) )
5577 // InternalVampireLanguage.g:1639:2: ( rule__VLSInclude__FileNameAssignment_1 )
5578 {
5579 before(grammarAccess.getVLSIncludeAccess().getFileNameAssignment_1());
5580 // InternalVampireLanguage.g:1640:2: ( rule__VLSInclude__FileNameAssignment_1 )
5581 // InternalVampireLanguage.g:1640:3: rule__VLSInclude__FileNameAssignment_1
5582 {
5583 pushFollow(FOLLOW_2);
5584 rule__VLSInclude__FileNameAssignment_1();
5585
5586 state._fsp--;
5587
5588
5589 }
5590
5591 after(grammarAccess.getVLSIncludeAccess().getFileNameAssignment_1());
5592
5593 }
5594
5595
5596 }
5597
5598 }
5599 catch (RecognitionException re) {
5600 reportError(re);
5601 recover(input,re);
5602 }
5603 finally {
5604
5605 restoreStackSize(stackSize);
5606
5607 }
5608 return ;
5609 }
5610 // $ANTLR end "rule__VLSInclude__Group__1__Impl"
5611
5612
5613 // $ANTLR start "rule__VLSInclude__Group__2"
5614 // InternalVampireLanguage.g:1648:1: rule__VLSInclude__Group__2 : rule__VLSInclude__Group__2__Impl ;
5615 public final void rule__VLSInclude__Group__2() throws RecognitionException {
5616
5617 int stackSize = keepStackSize();
5618
5619 try {
5620 // InternalVampireLanguage.g:1652:1: ( rule__VLSInclude__Group__2__Impl )
5621 // InternalVampireLanguage.g:1653:2: rule__VLSInclude__Group__2__Impl
5622 {
5623 pushFollow(FOLLOW_2);
5624 rule__VLSInclude__Group__2__Impl();
5625
5626 state._fsp--;
5627
5628
5629 }
5630
5631 }
5632 catch (RecognitionException re) {
5633 reportError(re);
5634 recover(input,re);
5635 }
5636 finally {
5637
5638 restoreStackSize(stackSize);
5639
5640 }
5641 return ;
5642 }
5643 // $ANTLR end "rule__VLSInclude__Group__2"
5644
5645
5646 // $ANTLR start "rule__VLSInclude__Group__2__Impl"
5647 // InternalVampireLanguage.g:1659:1: rule__VLSInclude__Group__2__Impl : ( ( rule__VLSInclude__Group_2__0 )? ) ;
5648 public final void rule__VLSInclude__Group__2__Impl() throws RecognitionException {
5649
5650 int stackSize = keepStackSize();
5651
5652 try {
5653 // InternalVampireLanguage.g:1663:1: ( ( ( rule__VLSInclude__Group_2__0 )? ) )
5654 // InternalVampireLanguage.g:1664:1: ( ( rule__VLSInclude__Group_2__0 )? )
5655 {
5656 // InternalVampireLanguage.g:1664:1: ( ( rule__VLSInclude__Group_2__0 )? )
5657 // InternalVampireLanguage.g:1665:2: ( rule__VLSInclude__Group_2__0 )?
5658 {
5659 before(grammarAccess.getVLSIncludeAccess().getGroup_2());
5660 // InternalVampireLanguage.g:1666:2: ( rule__VLSInclude__Group_2__0 )?
5661 int alt21=2;
5662 int LA21_0 = input.LA(1);
5663
5664 if ( (LA21_0==43) ) {
5665 alt21=1;
5666 }
5667 switch (alt21) {
5668 case 1 :
5669 // InternalVampireLanguage.g:1666:3: rule__VLSInclude__Group_2__0
5670 {
5671 pushFollow(FOLLOW_2);
5672 rule__VLSInclude__Group_2__0();
5673
5674 state._fsp--;
5675
5676
5677 }
5678 break;
5679
5680 }
5681
5682 after(grammarAccess.getVLSIncludeAccess().getGroup_2());
5683
5684 }
5685
5686
5687 }
5688
5689 }
5690 catch (RecognitionException re) {
5691 reportError(re);
5692 recover(input,re);
5693 }
5694 finally {
5695
5696 restoreStackSize(stackSize);
5697
5698 }
5699 return ;
5700 }
5701 // $ANTLR end "rule__VLSInclude__Group__2__Impl"
5702
5703
5704 // $ANTLR start "rule__VLSInclude__Group_2__0"
5705 // InternalVampireLanguage.g:1675:1: rule__VLSInclude__Group_2__0 : rule__VLSInclude__Group_2__0__Impl rule__VLSInclude__Group_2__1 ;
5706 public final void rule__VLSInclude__Group_2__0() throws RecognitionException {
5707
5708 int stackSize = keepStackSize();
5709
5710 try {
5711 // InternalVampireLanguage.g:1679:1: ( rule__VLSInclude__Group_2__0__Impl rule__VLSInclude__Group_2__1 )
5712 // InternalVampireLanguage.g:1680:2: rule__VLSInclude__Group_2__0__Impl rule__VLSInclude__Group_2__1
5713 {
5714 pushFollow(FOLLOW_8);
5715 rule__VLSInclude__Group_2__0__Impl();
5716
5717 state._fsp--;
5718
5719 pushFollow(FOLLOW_2);
5720 rule__VLSInclude__Group_2__1();
5721
5722 state._fsp--;
5723
5724
5725 }
5726
5727 }
5728 catch (RecognitionException re) {
5729 reportError(re);
5730 recover(input,re);
5731 }
5732 finally {
5733
5734 restoreStackSize(stackSize);
5735
5736 }
5737 return ;
5738 }
5739 // $ANTLR end "rule__VLSInclude__Group_2__0"
5740
5741
5742 // $ANTLR start "rule__VLSInclude__Group_2__0__Impl"
5743 // InternalVampireLanguage.g:1687:1: rule__VLSInclude__Group_2__0__Impl : ( ',[' ) ;
5744 public final void rule__VLSInclude__Group_2__0__Impl() throws RecognitionException {
5745
5746 int stackSize = keepStackSize();
5747
5748 try {
5749 // InternalVampireLanguage.g:1691:1: ( ( ',[' ) )
5750 // InternalVampireLanguage.g:1692:1: ( ',[' )
5751 {
5752 // InternalVampireLanguage.g:1692:1: ( ',[' )
5753 // InternalVampireLanguage.g:1693:2: ',['
5754 {
5755 before(grammarAccess.getVLSIncludeAccess().getCommaLeftSquareBracketKeyword_2_0());
5756 match(input,43,FOLLOW_2);
5757 after(grammarAccess.getVLSIncludeAccess().getCommaLeftSquareBracketKeyword_2_0());
5758
5759 }
5760
5761
5762 }
5763
5764 }
5765 catch (RecognitionException re) {
5766 reportError(re);
5767 recover(input,re);
5768 }
5769 finally {
5770
5771 restoreStackSize(stackSize);
5772
5773 }
5774 return ;
5775 }
5776 // $ANTLR end "rule__VLSInclude__Group_2__0__Impl"
5777
5778
5779 // $ANTLR start "rule__VLSInclude__Group_2__1"
5780 // InternalVampireLanguage.g:1702:1: rule__VLSInclude__Group_2__1 : rule__VLSInclude__Group_2__1__Impl rule__VLSInclude__Group_2__2 ;
5781 public final void rule__VLSInclude__Group_2__1() throws RecognitionException {
5782
5783 int stackSize = keepStackSize();
5784
5785 try {
5786 // InternalVampireLanguage.g:1706:1: ( rule__VLSInclude__Group_2__1__Impl rule__VLSInclude__Group_2__2 )
5787 // InternalVampireLanguage.g:1707:2: rule__VLSInclude__Group_2__1__Impl rule__VLSInclude__Group_2__2
5788 {
5789 pushFollow(FOLLOW_9);
5790 rule__VLSInclude__Group_2__1__Impl();
5791
5792 state._fsp--;
5793
5794 pushFollow(FOLLOW_2);
5795 rule__VLSInclude__Group_2__2();
5796
5797 state._fsp--;
5798
5799
5800 }
5801
5802 }
5803 catch (RecognitionException re) {
5804 reportError(re);
5805 recover(input,re);
5806 }
5807 finally {
5808
5809 restoreStackSize(stackSize);
5810
5811 }
5812 return ;
5813 }
5814 // $ANTLR end "rule__VLSInclude__Group_2__1"
5815
5816
5817 // $ANTLR start "rule__VLSInclude__Group_2__1__Impl"
5818 // InternalVampireLanguage.g:1714:1: rule__VLSInclude__Group_2__1__Impl : ( ( rule__VLSInclude__NamesAssignment_2_1 ) ) ;
5819 public final void rule__VLSInclude__Group_2__1__Impl() throws RecognitionException {
5820
5821 int stackSize = keepStackSize();
5822
5823 try {
5824 // InternalVampireLanguage.g:1718:1: ( ( ( rule__VLSInclude__NamesAssignment_2_1 ) ) )
5825 // InternalVampireLanguage.g:1719:1: ( ( rule__VLSInclude__NamesAssignment_2_1 ) )
5826 {
5827 // InternalVampireLanguage.g:1719:1: ( ( rule__VLSInclude__NamesAssignment_2_1 ) )
5828 // InternalVampireLanguage.g:1720:2: ( rule__VLSInclude__NamesAssignment_2_1 )
5829 {
5830 before(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_1());
5831 // InternalVampireLanguage.g:1721:2: ( rule__VLSInclude__NamesAssignment_2_1 )
5832 // InternalVampireLanguage.g:1721:3: rule__VLSInclude__NamesAssignment_2_1
5833 {
5834 pushFollow(FOLLOW_2);
5835 rule__VLSInclude__NamesAssignment_2_1();
5836
5837 state._fsp--;
5838
5839
5840 }
5841
5842 after(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_1());
5843
5844 }
5845
5846
5847 }
5848
5849 }
5850 catch (RecognitionException re) {
5851 reportError(re);
5852 recover(input,re);
5853 }
5854 finally {
5855
5856 restoreStackSize(stackSize);
5857
5858 }
5859 return ;
5860 }
5861 // $ANTLR end "rule__VLSInclude__Group_2__1__Impl"
5862
5863
5864 // $ANTLR start "rule__VLSInclude__Group_2__2"
5865 // InternalVampireLanguage.g:1729:1: rule__VLSInclude__Group_2__2 : rule__VLSInclude__Group_2__2__Impl rule__VLSInclude__Group_2__3 ;
5866 public final void rule__VLSInclude__Group_2__2() throws RecognitionException {
5867
5868 int stackSize = keepStackSize();
5869
5870 try {
5871 // InternalVampireLanguage.g:1733:1: ( rule__VLSInclude__Group_2__2__Impl rule__VLSInclude__Group_2__3 )
5872 // InternalVampireLanguage.g:1734:2: rule__VLSInclude__Group_2__2__Impl rule__VLSInclude__Group_2__3
5873 {
5874 pushFollow(FOLLOW_9);
5875 rule__VLSInclude__Group_2__2__Impl();
5876
5877 state._fsp--;
5878
5879 pushFollow(FOLLOW_2);
5880 rule__VLSInclude__Group_2__3();
5881
5882 state._fsp--;
5883
5884
5885 }
5886
5887 }
5888 catch (RecognitionException re) {
5889 reportError(re);
5890 recover(input,re);
5891 }
5892 finally {
5893
5894 restoreStackSize(stackSize);
5895
5896 }
5897 return ;
5898 }
5899 // $ANTLR end "rule__VLSInclude__Group_2__2"
5900
5901
5902 // $ANTLR start "rule__VLSInclude__Group_2__2__Impl"
5903 // InternalVampireLanguage.g:1741:1: rule__VLSInclude__Group_2__2__Impl : ( ( rule__VLSInclude__Group_2_2__0 )* ) ;
5904 public final void rule__VLSInclude__Group_2__2__Impl() throws RecognitionException {
5905
5906 int stackSize = keepStackSize();
5907
5908 try {
5909 // InternalVampireLanguage.g:1745:1: ( ( ( rule__VLSInclude__Group_2_2__0 )* ) )
5910 // InternalVampireLanguage.g:1746:1: ( ( rule__VLSInclude__Group_2_2__0 )* )
5911 {
5912 // InternalVampireLanguage.g:1746:1: ( ( rule__VLSInclude__Group_2_2__0 )* )
5913 // InternalVampireLanguage.g:1747:2: ( rule__VLSInclude__Group_2_2__0 )*
5914 {
5915 before(grammarAccess.getVLSIncludeAccess().getGroup_2_2());
5916 // InternalVampireLanguage.g:1748:2: ( rule__VLSInclude__Group_2_2__0 )*
5917 loop22:
5918 do {
5919 int alt22=2;
5920 int LA22_0 = input.LA(1);
5921
5922 if ( (LA22_0==45) ) {
5923 alt22=1;
5924 }
5925
5926
5927 switch (alt22) {
5928 case 1 :
5929 // InternalVampireLanguage.g:1748:3: rule__VLSInclude__Group_2_2__0
5930 {
5931 pushFollow(FOLLOW_10);
5932 rule__VLSInclude__Group_2_2__0();
5933
5934 state._fsp--;
5935
5936
5937 }
5938 break;
5939
5940 default :
5941 break loop22;
5942 }
5943 } while (true);
5944
5945 after(grammarAccess.getVLSIncludeAccess().getGroup_2_2());
5946
5947 }
5948
5949
5950 }
5951
5952 }
5953 catch (RecognitionException re) {
5954 reportError(re);
5955 recover(input,re);
5956 }
5957 finally {
5958
5959 restoreStackSize(stackSize);
5960
5961 }
5962 return ;
5963 }
5964 // $ANTLR end "rule__VLSInclude__Group_2__2__Impl"
5965
5966
5967 // $ANTLR start "rule__VLSInclude__Group_2__3"
5968 // InternalVampireLanguage.g:1756:1: rule__VLSInclude__Group_2__3 : rule__VLSInclude__Group_2__3__Impl ;
5969 public final void rule__VLSInclude__Group_2__3() throws RecognitionException {
5970
5971 int stackSize = keepStackSize();
5972
5973 try {
5974 // InternalVampireLanguage.g:1760:1: ( rule__VLSInclude__Group_2__3__Impl )
5975 // InternalVampireLanguage.g:1761:2: rule__VLSInclude__Group_2__3__Impl
5976 {
5977 pushFollow(FOLLOW_2);
5978 rule__VLSInclude__Group_2__3__Impl();
5979
5980 state._fsp--;
5981
5982
5983 }
5984
5985 }
5986 catch (RecognitionException re) {
5987 reportError(re);
5988 recover(input,re);
5989 }
5990 finally {
5991
5992 restoreStackSize(stackSize);
5993
5994 }
5995 return ;
5996 }
5997 // $ANTLR end "rule__VLSInclude__Group_2__3"
5998
5999
6000 // $ANTLR start "rule__VLSInclude__Group_2__3__Impl"
6001 // InternalVampireLanguage.g:1767:1: rule__VLSInclude__Group_2__3__Impl : ( ']' ) ;
6002 public final void rule__VLSInclude__Group_2__3__Impl() throws RecognitionException {
6003
6004 int stackSize = keepStackSize();
6005
6006 try {
6007 // InternalVampireLanguage.g:1771:1: ( ( ']' ) )
6008 // InternalVampireLanguage.g:1772:1: ( ']' )
6009 {
6010 // InternalVampireLanguage.g:1772:1: ( ']' )
6011 // InternalVampireLanguage.g:1773:2: ']'
6012 {
6013 before(grammarAccess.getVLSIncludeAccess().getRightSquareBracketKeyword_2_3());
6014 match(input,44,FOLLOW_2);
6015 after(grammarAccess.getVLSIncludeAccess().getRightSquareBracketKeyword_2_3());
6016
6017 }
6018
6019
6020 }
6021
6022 }
6023 catch (RecognitionException re) {
6024 reportError(re);
6025 recover(input,re);
6026 }
6027 finally {
6028
6029 restoreStackSize(stackSize);
6030
6031 }
6032 return ;
6033 }
6034 // $ANTLR end "rule__VLSInclude__Group_2__3__Impl"
6035
6036
6037 // $ANTLR start "rule__VLSInclude__Group_2_2__0"
6038 // InternalVampireLanguage.g:1783:1: rule__VLSInclude__Group_2_2__0 : rule__VLSInclude__Group_2_2__0__Impl rule__VLSInclude__Group_2_2__1 ;
6039 public final void rule__VLSInclude__Group_2_2__0() throws RecognitionException {
6040
6041 int stackSize = keepStackSize();
6042
6043 try {
6044 // InternalVampireLanguage.g:1787:1: ( rule__VLSInclude__Group_2_2__0__Impl rule__VLSInclude__Group_2_2__1 )
6045 // InternalVampireLanguage.g:1788:2: rule__VLSInclude__Group_2_2__0__Impl rule__VLSInclude__Group_2_2__1
6046 {
6047 pushFollow(FOLLOW_8);
6048 rule__VLSInclude__Group_2_2__0__Impl();
6049
6050 state._fsp--;
6051
6052 pushFollow(FOLLOW_2);
6053 rule__VLSInclude__Group_2_2__1();
6054
6055 state._fsp--;
6056
6057
6058 }
6059
6060 }
6061 catch (RecognitionException re) {
6062 reportError(re);
6063 recover(input,re);
6064 }
6065 finally {
6066
6067 restoreStackSize(stackSize);
6068
6069 }
6070 return ;
6071 }
6072 // $ANTLR end "rule__VLSInclude__Group_2_2__0"
6073
6074
6075 // $ANTLR start "rule__VLSInclude__Group_2_2__0__Impl"
6076 // InternalVampireLanguage.g:1795:1: rule__VLSInclude__Group_2_2__0__Impl : ( ',' ) ;
6077 public final void rule__VLSInclude__Group_2_2__0__Impl() throws RecognitionException {
6078
6079 int stackSize = keepStackSize();
6080
6081 try {
6082 // InternalVampireLanguage.g:1799:1: ( ( ',' ) )
6083 // InternalVampireLanguage.g:1800:1: ( ',' )
6084 {
6085 // InternalVampireLanguage.g:1800:1: ( ',' )
6086 // InternalVampireLanguage.g:1801:2: ','
6087 {
6088 before(grammarAccess.getVLSIncludeAccess().getCommaKeyword_2_2_0());
6089 match(input,45,FOLLOW_2);
6090 after(grammarAccess.getVLSIncludeAccess().getCommaKeyword_2_2_0());
6091
6092 }
6093
6094
6095 }
6096
6097 }
6098 catch (RecognitionException re) {
6099 reportError(re);
6100 recover(input,re);
6101 }
6102 finally {
6103
6104 restoreStackSize(stackSize);
6105
6106 }
6107 return ;
6108 }
6109 // $ANTLR end "rule__VLSInclude__Group_2_2__0__Impl"
6110
6111
6112 // $ANTLR start "rule__VLSInclude__Group_2_2__1"
6113 // InternalVampireLanguage.g:1810:1: rule__VLSInclude__Group_2_2__1 : rule__VLSInclude__Group_2_2__1__Impl ;
6114 public final void rule__VLSInclude__Group_2_2__1() throws RecognitionException {
6115
6116 int stackSize = keepStackSize();
6117
6118 try {
6119 // InternalVampireLanguage.g:1814:1: ( rule__VLSInclude__Group_2_2__1__Impl )
6120 // InternalVampireLanguage.g:1815:2: rule__VLSInclude__Group_2_2__1__Impl
6121 {
6122 pushFollow(FOLLOW_2);
6123 rule__VLSInclude__Group_2_2__1__Impl();
6124
6125 state._fsp--;
6126
6127
6128 }
6129
6130 }
6131 catch (RecognitionException re) {
6132 reportError(re);
6133 recover(input,re);
6134 }
6135 finally {
6136
6137 restoreStackSize(stackSize);
6138
6139 }
6140 return ;
6141 }
6142 // $ANTLR end "rule__VLSInclude__Group_2_2__1"
6143
6144
6145 // $ANTLR start "rule__VLSInclude__Group_2_2__1__Impl"
6146 // InternalVampireLanguage.g:1821:1: rule__VLSInclude__Group_2_2__1__Impl : ( ( rule__VLSInclude__NamesAssignment_2_2_1 ) ) ;
6147 public final void rule__VLSInclude__Group_2_2__1__Impl() throws RecognitionException {
6148
6149 int stackSize = keepStackSize();
6150
6151 try {
6152 // InternalVampireLanguage.g:1825:1: ( ( ( rule__VLSInclude__NamesAssignment_2_2_1 ) ) )
6153 // InternalVampireLanguage.g:1826:1: ( ( rule__VLSInclude__NamesAssignment_2_2_1 ) )
6154 {
6155 // InternalVampireLanguage.g:1826:1: ( ( rule__VLSInclude__NamesAssignment_2_2_1 ) )
6156 // InternalVampireLanguage.g:1827:2: ( rule__VLSInclude__NamesAssignment_2_2_1 )
6157 {
6158 before(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_2_1());
6159 // InternalVampireLanguage.g:1828:2: ( rule__VLSInclude__NamesAssignment_2_2_1 )
6160 // InternalVampireLanguage.g:1828:3: rule__VLSInclude__NamesAssignment_2_2_1
6161 {
6162 pushFollow(FOLLOW_2);
6163 rule__VLSInclude__NamesAssignment_2_2_1();
6164
6165 state._fsp--;
6166
6167
6168 }
6169
6170 after(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_2_1());
6171
6172 }
6173
6174
6175 }
6176
6177 }
6178 catch (RecognitionException re) {
6179 reportError(re);
6180 recover(input,re);
6181 }
6182 finally {
6183
6184 restoreStackSize(stackSize);
6185
6186 }
6187 return ;
6188 }
6189 // $ANTLR end "rule__VLSInclude__Group_2_2__1__Impl"
6190
6191
6192 // $ANTLR start "rule__VLSFofFormula__Group__0"
6193 // InternalVampireLanguage.g:1837:1: rule__VLSFofFormula__Group__0 : rule__VLSFofFormula__Group__0__Impl rule__VLSFofFormula__Group__1 ;
6194 public final void rule__VLSFofFormula__Group__0() throws RecognitionException {
6195
6196 int stackSize = keepStackSize();
6197
6198 try {
6199 // InternalVampireLanguage.g:1841:1: ( rule__VLSFofFormula__Group__0__Impl rule__VLSFofFormula__Group__1 )
6200 // InternalVampireLanguage.g:1842:2: rule__VLSFofFormula__Group__0__Impl rule__VLSFofFormula__Group__1
6201 {
6202 pushFollow(FOLLOW_11);
6203 rule__VLSFofFormula__Group__0__Impl();
6204
6205 state._fsp--;
6206
6207 pushFollow(FOLLOW_2);
6208 rule__VLSFofFormula__Group__1();
6209
6210 state._fsp--;
6211
6212
6213 }
6214
6215 }
6216 catch (RecognitionException re) {
6217 reportError(re);
6218 recover(input,re);
6219 }
6220 finally {
6221
6222 restoreStackSize(stackSize);
6223
6224 }
6225 return ;
6226 }
6227 // $ANTLR end "rule__VLSFofFormula__Group__0"
6228
6229
6230 // $ANTLR start "rule__VLSFofFormula__Group__0__Impl"
6231 // InternalVampireLanguage.g:1849:1: rule__VLSFofFormula__Group__0__Impl : ( 'fof' ) ;
6232 public final void rule__VLSFofFormula__Group__0__Impl() throws RecognitionException {
6233
6234 int stackSize = keepStackSize();
6235
6236 try {
6237 // InternalVampireLanguage.g:1853:1: ( ( 'fof' ) )
6238 // InternalVampireLanguage.g:1854:1: ( 'fof' )
6239 {
6240 // InternalVampireLanguage.g:1854:1: ( 'fof' )
6241 // InternalVampireLanguage.g:1855:2: 'fof'
6242 {
6243 before(grammarAccess.getVLSFofFormulaAccess().getFofKeyword_0());
6244 match(input,46,FOLLOW_2);
6245 after(grammarAccess.getVLSFofFormulaAccess().getFofKeyword_0());
6246
6247 }
6248
6249
6250 }
6251
6252 }
6253 catch (RecognitionException re) {
6254 reportError(re);
6255 recover(input,re);
6256 }
6257 finally {
6258
6259 restoreStackSize(stackSize);
6260
6261 }
6262 return ;
6263 }
6264 // $ANTLR end "rule__VLSFofFormula__Group__0__Impl"
6265
6266
6267 // $ANTLR start "rule__VLSFofFormula__Group__1"
6268 // InternalVampireLanguage.g:1864:1: rule__VLSFofFormula__Group__1 : rule__VLSFofFormula__Group__1__Impl rule__VLSFofFormula__Group__2 ;
6269 public final void rule__VLSFofFormula__Group__1() throws RecognitionException {
6270
6271 int stackSize = keepStackSize();
6272
6273 try {
6274 // InternalVampireLanguage.g:1868:1: ( rule__VLSFofFormula__Group__1__Impl rule__VLSFofFormula__Group__2 )
6275 // InternalVampireLanguage.g:1869:2: rule__VLSFofFormula__Group__1__Impl rule__VLSFofFormula__Group__2
6276 {
6277 pushFollow(FOLLOW_12);
6278 rule__VLSFofFormula__Group__1__Impl();
6279
6280 state._fsp--;
6281
6282 pushFollow(FOLLOW_2);
6283 rule__VLSFofFormula__Group__2();
6284
6285 state._fsp--;
6286
6287
6288 }
6289
6290 }
6291 catch (RecognitionException re) {
6292 reportError(re);
6293 recover(input,re);
6294 }
6295 finally {
6296
6297 restoreStackSize(stackSize);
6298
6299 }
6300 return ;
6301 }
6302 // $ANTLR end "rule__VLSFofFormula__Group__1"
6303
6304
6305 // $ANTLR start "rule__VLSFofFormula__Group__1__Impl"
6306 // InternalVampireLanguage.g:1876:1: rule__VLSFofFormula__Group__1__Impl : ( '(' ) ;
6307 public final void rule__VLSFofFormula__Group__1__Impl() throws RecognitionException {
6308
6309 int stackSize = keepStackSize();
6310
6311 try {
6312 // InternalVampireLanguage.g:1880:1: ( ( '(' ) )
6313 // InternalVampireLanguage.g:1881:1: ( '(' )
6314 {
6315 // InternalVampireLanguage.g:1881:1: ( '(' )
6316 // InternalVampireLanguage.g:1882:2: '('
6317 {
6318 before(grammarAccess.getVLSFofFormulaAccess().getLeftParenthesisKeyword_1());
6319 match(input,47,FOLLOW_2);
6320 after(grammarAccess.getVLSFofFormulaAccess().getLeftParenthesisKeyword_1());
6321
6322 }
6323
6324
6325 }
6326
6327 }
6328 catch (RecognitionException re) {
6329 reportError(re);
6330 recover(input,re);
6331 }
6332 finally {
6333
6334 restoreStackSize(stackSize);
6335
6336 }
6337 return ;
6338 }
6339 // $ANTLR end "rule__VLSFofFormula__Group__1__Impl"
6340
6341
6342 // $ANTLR start "rule__VLSFofFormula__Group__2"
6343 // InternalVampireLanguage.g:1891:1: rule__VLSFofFormula__Group__2 : rule__VLSFofFormula__Group__2__Impl rule__VLSFofFormula__Group__3 ;
6344 public final void rule__VLSFofFormula__Group__2() throws RecognitionException {
6345
6346 int stackSize = keepStackSize();
6347
6348 try {
6349 // InternalVampireLanguage.g:1895:1: ( rule__VLSFofFormula__Group__2__Impl rule__VLSFofFormula__Group__3 )
6350 // InternalVampireLanguage.g:1896:2: rule__VLSFofFormula__Group__2__Impl rule__VLSFofFormula__Group__3
6351 {
6352 pushFollow(FOLLOW_13);
6353 rule__VLSFofFormula__Group__2__Impl();
6354
6355 state._fsp--;
6356
6357 pushFollow(FOLLOW_2);
6358 rule__VLSFofFormula__Group__3();
6359
6360 state._fsp--;
6361
6362
6363 }
6364
6365 }
6366 catch (RecognitionException re) {
6367 reportError(re);
6368 recover(input,re);
6369 }
6370 finally {
6371
6372 restoreStackSize(stackSize);
6373
6374 }
6375 return ;
6376 }
6377 // $ANTLR end "rule__VLSFofFormula__Group__2"
6378
6379
6380 // $ANTLR start "rule__VLSFofFormula__Group__2__Impl"
6381 // InternalVampireLanguage.g:1903:1: rule__VLSFofFormula__Group__2__Impl : ( ( rule__VLSFofFormula__NameAssignment_2 ) ) ;
6382 public final void rule__VLSFofFormula__Group__2__Impl() throws RecognitionException {
6383
6384 int stackSize = keepStackSize();
6385
6386 try {
6387 // InternalVampireLanguage.g:1907:1: ( ( ( rule__VLSFofFormula__NameAssignment_2 ) ) )
6388 // InternalVampireLanguage.g:1908:1: ( ( rule__VLSFofFormula__NameAssignment_2 ) )
6389 {
6390 // InternalVampireLanguage.g:1908:1: ( ( rule__VLSFofFormula__NameAssignment_2 ) )
6391 // InternalVampireLanguage.g:1909:2: ( rule__VLSFofFormula__NameAssignment_2 )
6392 {
6393 before(grammarAccess.getVLSFofFormulaAccess().getNameAssignment_2());
6394 // InternalVampireLanguage.g:1910:2: ( rule__VLSFofFormula__NameAssignment_2 )
6395 // InternalVampireLanguage.g:1910:3: rule__VLSFofFormula__NameAssignment_2
6396 {
6397 pushFollow(FOLLOW_2);
6398 rule__VLSFofFormula__NameAssignment_2();
6399
6400 state._fsp--;
6401
6402
6403 }
6404
6405 after(grammarAccess.getVLSFofFormulaAccess().getNameAssignment_2());
6406
6407 }
6408
6409
6410 }
6411
6412 }
6413 catch (RecognitionException re) {
6414 reportError(re);
6415 recover(input,re);
6416 }
6417 finally {
6418
6419 restoreStackSize(stackSize);
6420
6421 }
6422 return ;
6423 }
6424 // $ANTLR end "rule__VLSFofFormula__Group__2__Impl"
6425
6426
6427 // $ANTLR start "rule__VLSFofFormula__Group__3"
6428 // InternalVampireLanguage.g:1918:1: rule__VLSFofFormula__Group__3 : rule__VLSFofFormula__Group__3__Impl rule__VLSFofFormula__Group__4 ;
6429 public final void rule__VLSFofFormula__Group__3() throws RecognitionException {
6430
6431 int stackSize = keepStackSize();
6432
6433 try {
6434 // InternalVampireLanguage.g:1922:1: ( rule__VLSFofFormula__Group__3__Impl rule__VLSFofFormula__Group__4 )
6435 // InternalVampireLanguage.g:1923:2: rule__VLSFofFormula__Group__3__Impl rule__VLSFofFormula__Group__4
6436 {
6437 pushFollow(FOLLOW_14);
6438 rule__VLSFofFormula__Group__3__Impl();
6439
6440 state._fsp--;
6441
6442 pushFollow(FOLLOW_2);
6443 rule__VLSFofFormula__Group__4();
6444
6445 state._fsp--;
6446
6447
6448 }
6449
6450 }
6451 catch (RecognitionException re) {
6452 reportError(re);
6453 recover(input,re);
6454 }
6455 finally {
6456
6457 restoreStackSize(stackSize);
6458
6459 }
6460 return ;
6461 }
6462 // $ANTLR end "rule__VLSFofFormula__Group__3"
6463
6464
6465 // $ANTLR start "rule__VLSFofFormula__Group__3__Impl"
6466 // InternalVampireLanguage.g:1930:1: rule__VLSFofFormula__Group__3__Impl : ( ',' ) ;
6467 public final void rule__VLSFofFormula__Group__3__Impl() throws RecognitionException {
6468
6469 int stackSize = keepStackSize();
6470
6471 try {
6472 // InternalVampireLanguage.g:1934:1: ( ( ',' ) )
6473 // InternalVampireLanguage.g:1935:1: ( ',' )
6474 {
6475 // InternalVampireLanguage.g:1935:1: ( ',' )
6476 // InternalVampireLanguage.g:1936:2: ','
6477 {
6478 before(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_3());
6479 match(input,45,FOLLOW_2);
6480 after(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_3());
6481
6482 }
6483
6484
6485 }
6486
6487 }
6488 catch (RecognitionException re) {
6489 reportError(re);
6490 recover(input,re);
6491 }
6492 finally {
6493
6494 restoreStackSize(stackSize);
6495
6496 }
6497 return ;
6498 }
6499 // $ANTLR end "rule__VLSFofFormula__Group__3__Impl"
6500
6501
6502 // $ANTLR start "rule__VLSFofFormula__Group__4"
6503 // InternalVampireLanguage.g:1945:1: rule__VLSFofFormula__Group__4 : rule__VLSFofFormula__Group__4__Impl rule__VLSFofFormula__Group__5 ;
6504 public final void rule__VLSFofFormula__Group__4() throws RecognitionException {
6505
6506 int stackSize = keepStackSize();
6507
6508 try {
6509 // InternalVampireLanguage.g:1949:1: ( rule__VLSFofFormula__Group__4__Impl rule__VLSFofFormula__Group__5 )
6510 // InternalVampireLanguage.g:1950:2: rule__VLSFofFormula__Group__4__Impl rule__VLSFofFormula__Group__5
6511 {
6512 pushFollow(FOLLOW_13);
6513 rule__VLSFofFormula__Group__4__Impl();
6514
6515 state._fsp--;
6516
6517 pushFollow(FOLLOW_2);
6518 rule__VLSFofFormula__Group__5();
6519
6520 state._fsp--;
6521
6522
6523 }
6524
6525 }
6526 catch (RecognitionException re) {
6527 reportError(re);
6528 recover(input,re);
6529 }
6530 finally {
6531
6532 restoreStackSize(stackSize);
6533
6534 }
6535 return ;
6536 }
6537 // $ANTLR end "rule__VLSFofFormula__Group__4"
6538
6539
6540 // $ANTLR start "rule__VLSFofFormula__Group__4__Impl"
6541 // InternalVampireLanguage.g:1957:1: rule__VLSFofFormula__Group__4__Impl : ( ( rule__VLSFofFormula__FofRoleAssignment_4 ) ) ;
6542 public final void rule__VLSFofFormula__Group__4__Impl() throws RecognitionException {
6543
6544 int stackSize = keepStackSize();
6545
6546 try {
6547 // InternalVampireLanguage.g:1961:1: ( ( ( rule__VLSFofFormula__FofRoleAssignment_4 ) ) )
6548 // InternalVampireLanguage.g:1962:1: ( ( rule__VLSFofFormula__FofRoleAssignment_4 ) )
6549 {
6550 // InternalVampireLanguage.g:1962:1: ( ( rule__VLSFofFormula__FofRoleAssignment_4 ) )
6551 // InternalVampireLanguage.g:1963:2: ( rule__VLSFofFormula__FofRoleAssignment_4 )
6552 {
6553 before(grammarAccess.getVLSFofFormulaAccess().getFofRoleAssignment_4());
6554 // InternalVampireLanguage.g:1964:2: ( rule__VLSFofFormula__FofRoleAssignment_4 )
6555 // InternalVampireLanguage.g:1964:3: rule__VLSFofFormula__FofRoleAssignment_4
6556 {
6557 pushFollow(FOLLOW_2);
6558 rule__VLSFofFormula__FofRoleAssignment_4();
6559
6560 state._fsp--;
6561
6562
6563 }
6564
6565 after(grammarAccess.getVLSFofFormulaAccess().getFofRoleAssignment_4());
6566
6567 }
6568
6569
6570 }
6571
6572 }
6573 catch (RecognitionException re) {
6574 reportError(re);
6575 recover(input,re);
6576 }
6577 finally {
6578
6579 restoreStackSize(stackSize);
6580
6581 }
6582 return ;
6583 }
6584 // $ANTLR end "rule__VLSFofFormula__Group__4__Impl"
6585
6586
6587 // $ANTLR start "rule__VLSFofFormula__Group__5"
6588 // InternalVampireLanguage.g:1972:1: rule__VLSFofFormula__Group__5 : rule__VLSFofFormula__Group__5__Impl rule__VLSFofFormula__Group__6 ;
6589 public final void rule__VLSFofFormula__Group__5() throws RecognitionException {
6590
6591 int stackSize = keepStackSize();
6592
6593 try {
6594 // InternalVampireLanguage.g:1976:1: ( rule__VLSFofFormula__Group__5__Impl rule__VLSFofFormula__Group__6 )
6595 // InternalVampireLanguage.g:1977:2: rule__VLSFofFormula__Group__5__Impl rule__VLSFofFormula__Group__6
6596 {
6597 pushFollow(FOLLOW_15);
6598 rule__VLSFofFormula__Group__5__Impl();
6599
6600 state._fsp--;
6601
6602 pushFollow(FOLLOW_2);
6603 rule__VLSFofFormula__Group__6();
6604
6605 state._fsp--;
6606
6607
6608 }
6609
6610 }
6611 catch (RecognitionException re) {
6612 reportError(re);
6613 recover(input,re);
6614 }
6615 finally {
6616
6617 restoreStackSize(stackSize);
6618
6619 }
6620 return ;
6621 }
6622 // $ANTLR end "rule__VLSFofFormula__Group__5"
6623
6624
6625 // $ANTLR start "rule__VLSFofFormula__Group__5__Impl"
6626 // InternalVampireLanguage.g:1984:1: rule__VLSFofFormula__Group__5__Impl : ( ',' ) ;
6627 public final void rule__VLSFofFormula__Group__5__Impl() throws RecognitionException {
6628
6629 int stackSize = keepStackSize();
6630
6631 try {
6632 // InternalVampireLanguage.g:1988:1: ( ( ',' ) )
6633 // InternalVampireLanguage.g:1989:1: ( ',' )
6634 {
6635 // InternalVampireLanguage.g:1989:1: ( ',' )
6636 // InternalVampireLanguage.g:1990:2: ','
6637 {
6638 before(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_5());
6639 match(input,45,FOLLOW_2);
6640 after(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_5());
6641
6642 }
6643
6644
6645 }
6646
6647 }
6648 catch (RecognitionException re) {
6649 reportError(re);
6650 recover(input,re);
6651 }
6652 finally {
6653
6654 restoreStackSize(stackSize);
6655
6656 }
6657 return ;
6658 }
6659 // $ANTLR end "rule__VLSFofFormula__Group__5__Impl"
6660
6661
6662 // $ANTLR start "rule__VLSFofFormula__Group__6"
6663 // InternalVampireLanguage.g:1999:1: rule__VLSFofFormula__Group__6 : rule__VLSFofFormula__Group__6__Impl rule__VLSFofFormula__Group__7 ;
6664 public final void rule__VLSFofFormula__Group__6() throws RecognitionException {
6665
6666 int stackSize = keepStackSize();
6667
6668 try {
6669 // InternalVampireLanguage.g:2003:1: ( rule__VLSFofFormula__Group__6__Impl rule__VLSFofFormula__Group__7 )
6670 // InternalVampireLanguage.g:2004:2: rule__VLSFofFormula__Group__6__Impl rule__VLSFofFormula__Group__7
6671 {
6672 pushFollow(FOLLOW_16);
6673 rule__VLSFofFormula__Group__6__Impl();
6674
6675 state._fsp--;
6676
6677 pushFollow(FOLLOW_2);
6678 rule__VLSFofFormula__Group__7();
6679
6680 state._fsp--;
6681
6682
6683 }
6684
6685 }
6686 catch (RecognitionException re) {
6687 reportError(re);
6688 recover(input,re);
6689 }
6690 finally {
6691
6692 restoreStackSize(stackSize);
6693
6694 }
6695 return ;
6696 }
6697 // $ANTLR end "rule__VLSFofFormula__Group__6"
6698
6699
6700 // $ANTLR start "rule__VLSFofFormula__Group__6__Impl"
6701 // InternalVampireLanguage.g:2011:1: rule__VLSFofFormula__Group__6__Impl : ( ( rule__VLSFofFormula__FofFormulaAssignment_6 ) ) ;
6702 public final void rule__VLSFofFormula__Group__6__Impl() throws RecognitionException {
6703
6704 int stackSize = keepStackSize();
6705
6706 try {
6707 // InternalVampireLanguage.g:2015:1: ( ( ( rule__VLSFofFormula__FofFormulaAssignment_6 ) ) )
6708 // InternalVampireLanguage.g:2016:1: ( ( rule__VLSFofFormula__FofFormulaAssignment_6 ) )
6709 {
6710 // InternalVampireLanguage.g:2016:1: ( ( rule__VLSFofFormula__FofFormulaAssignment_6 ) )
6711 // InternalVampireLanguage.g:2017:2: ( rule__VLSFofFormula__FofFormulaAssignment_6 )
6712 {
6713 before(grammarAccess.getVLSFofFormulaAccess().getFofFormulaAssignment_6());
6714 // InternalVampireLanguage.g:2018:2: ( rule__VLSFofFormula__FofFormulaAssignment_6 )
6715 // InternalVampireLanguage.g:2018:3: rule__VLSFofFormula__FofFormulaAssignment_6
6716 {
6717 pushFollow(FOLLOW_2);
6718 rule__VLSFofFormula__FofFormulaAssignment_6();
6719
6720 state._fsp--;
6721
6722
6723 }
6724
6725 after(grammarAccess.getVLSFofFormulaAccess().getFofFormulaAssignment_6());
6726
6727 }
6728
6729
6730 }
6731
6732 }
6733 catch (RecognitionException re) {
6734 reportError(re);
6735 recover(input,re);
6736 }
6737 finally {
6738
6739 restoreStackSize(stackSize);
6740
6741 }
6742 return ;
6743 }
6744 // $ANTLR end "rule__VLSFofFormula__Group__6__Impl"
6745
6746
6747 // $ANTLR start "rule__VLSFofFormula__Group__7"
6748 // InternalVampireLanguage.g:2026:1: rule__VLSFofFormula__Group__7 : rule__VLSFofFormula__Group__7__Impl rule__VLSFofFormula__Group__8 ;
6749 public final void rule__VLSFofFormula__Group__7() throws RecognitionException {
6750
6751 int stackSize = keepStackSize();
6752
6753 try {
6754 // InternalVampireLanguage.g:2030:1: ( rule__VLSFofFormula__Group__7__Impl rule__VLSFofFormula__Group__8 )
6755 // InternalVampireLanguage.g:2031:2: rule__VLSFofFormula__Group__7__Impl rule__VLSFofFormula__Group__8
6756 {
6757 pushFollow(FOLLOW_16);
6758 rule__VLSFofFormula__Group__7__Impl();
6759
6760 state._fsp--;
6761
6762 pushFollow(FOLLOW_2);
6763 rule__VLSFofFormula__Group__8();
6764
6765 state._fsp--;
6766
6767
6768 }
6769
6770 }
6771 catch (RecognitionException re) {
6772 reportError(re);
6773 recover(input,re);
6774 }
6775 finally {
6776
6777 restoreStackSize(stackSize);
6778
6779 }
6780 return ;
6781 }
6782 // $ANTLR end "rule__VLSFofFormula__Group__7"
6783
6784
6785 // $ANTLR start "rule__VLSFofFormula__Group__7__Impl"
6786 // InternalVampireLanguage.g:2038:1: rule__VLSFofFormula__Group__7__Impl : ( ( rule__VLSFofFormula__Group_7__0 )? ) ;
6787 public final void rule__VLSFofFormula__Group__7__Impl() throws RecognitionException {
6788
6789 int stackSize = keepStackSize();
6790
6791 try {
6792 // InternalVampireLanguage.g:2042:1: ( ( ( rule__VLSFofFormula__Group_7__0 )? ) )
6793 // InternalVampireLanguage.g:2043:1: ( ( rule__VLSFofFormula__Group_7__0 )? )
6794 {
6795 // InternalVampireLanguage.g:2043:1: ( ( rule__VLSFofFormula__Group_7__0 )? )
6796 // InternalVampireLanguage.g:2044:2: ( rule__VLSFofFormula__Group_7__0 )?
6797 {
6798 before(grammarAccess.getVLSFofFormulaAccess().getGroup_7());
6799 // InternalVampireLanguage.g:2045:2: ( rule__VLSFofFormula__Group_7__0 )?
6800 int alt23=2;
6801 int LA23_0 = input.LA(1);
6802
6803 if ( (LA23_0==45) ) {
6804 alt23=1;
6805 }
6806 switch (alt23) {
6807 case 1 :
6808 // InternalVampireLanguage.g:2045:3: rule__VLSFofFormula__Group_7__0
6809 {
6810 pushFollow(FOLLOW_2);
6811 rule__VLSFofFormula__Group_7__0();
6812
6813 state._fsp--;
6814
6815
6816 }
6817 break;
6818
6819 }
6820
6821 after(grammarAccess.getVLSFofFormulaAccess().getGroup_7());
6822
6823 }
6824
6825
6826 }
6827
6828 }
6829 catch (RecognitionException re) {
6830 reportError(re);
6831 recover(input,re);
6832 }
6833 finally {
6834
6835 restoreStackSize(stackSize);
6836
6837 }
6838 return ;
6839 }
6840 // $ANTLR end "rule__VLSFofFormula__Group__7__Impl"
6841
6842
6843 // $ANTLR start "rule__VLSFofFormula__Group__8"
6844 // InternalVampireLanguage.g:2053:1: rule__VLSFofFormula__Group__8 : rule__VLSFofFormula__Group__8__Impl rule__VLSFofFormula__Group__9 ;
6845 public final void rule__VLSFofFormula__Group__8() throws RecognitionException {
6846
6847 int stackSize = keepStackSize();
6848
6849 try {
6850 // InternalVampireLanguage.g:2057:1: ( rule__VLSFofFormula__Group__8__Impl rule__VLSFofFormula__Group__9 )
6851 // InternalVampireLanguage.g:2058:2: rule__VLSFofFormula__Group__8__Impl rule__VLSFofFormula__Group__9
6852 {
6853 pushFollow(FOLLOW_17);
6854 rule__VLSFofFormula__Group__8__Impl();
6855
6856 state._fsp--;
6857
6858 pushFollow(FOLLOW_2);
6859 rule__VLSFofFormula__Group__9();
6860
6861 state._fsp--;
6862
6863
6864 }
6865
6866 }
6867 catch (RecognitionException re) {
6868 reportError(re);
6869 recover(input,re);
6870 }
6871 finally {
6872
6873 restoreStackSize(stackSize);
6874
6875 }
6876 return ;
6877 }
6878 // $ANTLR end "rule__VLSFofFormula__Group__8"
6879
6880
6881 // $ANTLR start "rule__VLSFofFormula__Group__8__Impl"
6882 // InternalVampireLanguage.g:2065:1: rule__VLSFofFormula__Group__8__Impl : ( ')' ) ;
6883 public final void rule__VLSFofFormula__Group__8__Impl() throws RecognitionException {
6884
6885 int stackSize = keepStackSize();
6886
6887 try {
6888 // InternalVampireLanguage.g:2069:1: ( ( ')' ) )
6889 // InternalVampireLanguage.g:2070:1: ( ')' )
6890 {
6891 // InternalVampireLanguage.g:2070:1: ( ')' )
6892 // InternalVampireLanguage.g:2071:2: ')'
6893 {
6894 before(grammarAccess.getVLSFofFormulaAccess().getRightParenthesisKeyword_8());
6895 match(input,48,FOLLOW_2);
6896 after(grammarAccess.getVLSFofFormulaAccess().getRightParenthesisKeyword_8());
6897
6898 }
6899
6900
6901 }
6902
6903 }
6904 catch (RecognitionException re) {
6905 reportError(re);
6906 recover(input,re);
6907 }
6908 finally {
6909
6910 restoreStackSize(stackSize);
6911
6912 }
6913 return ;
6914 }
6915 // $ANTLR end "rule__VLSFofFormula__Group__8__Impl"
6916
6917
6918 // $ANTLR start "rule__VLSFofFormula__Group__9"
6919 // InternalVampireLanguage.g:2080:1: rule__VLSFofFormula__Group__9 : rule__VLSFofFormula__Group__9__Impl ;
6920 public final void rule__VLSFofFormula__Group__9() throws RecognitionException {
6921
6922 int stackSize = keepStackSize();
6923
6924 try {
6925 // InternalVampireLanguage.g:2084:1: ( rule__VLSFofFormula__Group__9__Impl )
6926 // InternalVampireLanguage.g:2085:2: rule__VLSFofFormula__Group__9__Impl
6927 {
6928 pushFollow(FOLLOW_2);
6929 rule__VLSFofFormula__Group__9__Impl();
6930
6931 state._fsp--;
6932
6933
6934 }
6935
6936 }
6937 catch (RecognitionException re) {
6938 reportError(re);
6939 recover(input,re);
6940 }
6941 finally {
6942
6943 restoreStackSize(stackSize);
6944
6945 }
6946 return ;
6947 }
6948 // $ANTLR end "rule__VLSFofFormula__Group__9"
6949
6950
6951 // $ANTLR start "rule__VLSFofFormula__Group__9__Impl"
6952 // InternalVampireLanguage.g:2091:1: rule__VLSFofFormula__Group__9__Impl : ( '.' ) ;
6953 public final void rule__VLSFofFormula__Group__9__Impl() throws RecognitionException {
6954
6955 int stackSize = keepStackSize();
6956
6957 try {
6958 // InternalVampireLanguage.g:2095:1: ( ( '.' ) )
6959 // InternalVampireLanguage.g:2096:1: ( '.' )
6960 {
6961 // InternalVampireLanguage.g:2096:1: ( '.' )
6962 // InternalVampireLanguage.g:2097:2: '.'
6963 {
6964 before(grammarAccess.getVLSFofFormulaAccess().getFullStopKeyword_9());
6965 match(input,49,FOLLOW_2);
6966 after(grammarAccess.getVLSFofFormulaAccess().getFullStopKeyword_9());
6967
6968 }
6969
6970
6971 }
6972
6973 }
6974 catch (RecognitionException re) {
6975 reportError(re);
6976 recover(input,re);
6977 }
6978 finally {
6979
6980 restoreStackSize(stackSize);
6981
6982 }
6983 return ;
6984 }
6985 // $ANTLR end "rule__VLSFofFormula__Group__9__Impl"
6986
6987
6988 // $ANTLR start "rule__VLSFofFormula__Group_7__0"
6989 // InternalVampireLanguage.g:2107:1: rule__VLSFofFormula__Group_7__0 : rule__VLSFofFormula__Group_7__0__Impl rule__VLSFofFormula__Group_7__1 ;
6990 public final void rule__VLSFofFormula__Group_7__0() throws RecognitionException {
6991
6992 int stackSize = keepStackSize();
6993
6994 try {
6995 // InternalVampireLanguage.g:2111:1: ( rule__VLSFofFormula__Group_7__0__Impl rule__VLSFofFormula__Group_7__1 )
6996 // InternalVampireLanguage.g:2112:2: rule__VLSFofFormula__Group_7__0__Impl rule__VLSFofFormula__Group_7__1
6997 {
6998 pushFollow(FOLLOW_18);
6999 rule__VLSFofFormula__Group_7__0__Impl();
7000
7001 state._fsp--;
7002
7003 pushFollow(FOLLOW_2);
7004 rule__VLSFofFormula__Group_7__1();
7005
7006 state._fsp--;
7007
7008
7009 }
7010
7011 }
7012 catch (RecognitionException re) {
7013 reportError(re);
7014 recover(input,re);
7015 }
7016 finally {
7017
7018 restoreStackSize(stackSize);
7019
7020 }
7021 return ;
7022 }
7023 // $ANTLR end "rule__VLSFofFormula__Group_7__0"
7024
7025
7026 // $ANTLR start "rule__VLSFofFormula__Group_7__0__Impl"
7027 // InternalVampireLanguage.g:2119:1: rule__VLSFofFormula__Group_7__0__Impl : ( ',' ) ;
7028 public final void rule__VLSFofFormula__Group_7__0__Impl() throws RecognitionException {
7029
7030 int stackSize = keepStackSize();
7031
7032 try {
7033 // InternalVampireLanguage.g:2123:1: ( ( ',' ) )
7034 // InternalVampireLanguage.g:2124:1: ( ',' )
7035 {
7036 // InternalVampireLanguage.g:2124:1: ( ',' )
7037 // InternalVampireLanguage.g:2125:2: ','
7038 {
7039 before(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_7_0());
7040 match(input,45,FOLLOW_2);
7041 after(grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_7_0());
7042
7043 }
7044
7045
7046 }
7047
7048 }
7049 catch (RecognitionException re) {
7050 reportError(re);
7051 recover(input,re);
7052 }
7053 finally {
7054
7055 restoreStackSize(stackSize);
7056
7057 }
7058 return ;
7059 }
7060 // $ANTLR end "rule__VLSFofFormula__Group_7__0__Impl"
7061
7062
7063 // $ANTLR start "rule__VLSFofFormula__Group_7__1"
7064 // InternalVampireLanguage.g:2134:1: rule__VLSFofFormula__Group_7__1 : rule__VLSFofFormula__Group_7__1__Impl ;
7065 public final void rule__VLSFofFormula__Group_7__1() throws RecognitionException {
7066
7067 int stackSize = keepStackSize();
7068
7069 try {
7070 // InternalVampireLanguage.g:2138:1: ( rule__VLSFofFormula__Group_7__1__Impl )
7071 // InternalVampireLanguage.g:2139:2: rule__VLSFofFormula__Group_7__1__Impl
7072 {
7073 pushFollow(FOLLOW_2);
7074 rule__VLSFofFormula__Group_7__1__Impl();
7075
7076 state._fsp--;
7077
7078
7079 }
7080
7081 }
7082 catch (RecognitionException re) {
7083 reportError(re);
7084 recover(input,re);
7085 }
7086 finally {
7087
7088 restoreStackSize(stackSize);
7089
7090 }
7091 return ;
7092 }
7093 // $ANTLR end "rule__VLSFofFormula__Group_7__1"
7094
7095
7096 // $ANTLR start "rule__VLSFofFormula__Group_7__1__Impl"
7097 // InternalVampireLanguage.g:2145:1: rule__VLSFofFormula__Group_7__1__Impl : ( ( rule__VLSFofFormula__AnnotationsAssignment_7_1 ) ) ;
7098 public final void rule__VLSFofFormula__Group_7__1__Impl() throws RecognitionException {
7099
7100 int stackSize = keepStackSize();
7101
7102 try {
7103 // InternalVampireLanguage.g:2149:1: ( ( ( rule__VLSFofFormula__AnnotationsAssignment_7_1 ) ) )
7104 // InternalVampireLanguage.g:2150:1: ( ( rule__VLSFofFormula__AnnotationsAssignment_7_1 ) )
7105 {
7106 // InternalVampireLanguage.g:2150:1: ( ( rule__VLSFofFormula__AnnotationsAssignment_7_1 ) )
7107 // InternalVampireLanguage.g:2151:2: ( rule__VLSFofFormula__AnnotationsAssignment_7_1 )
7108 {
7109 before(grammarAccess.getVLSFofFormulaAccess().getAnnotationsAssignment_7_1());
7110 // InternalVampireLanguage.g:2152:2: ( rule__VLSFofFormula__AnnotationsAssignment_7_1 )
7111 // InternalVampireLanguage.g:2152:3: rule__VLSFofFormula__AnnotationsAssignment_7_1
7112 {
7113 pushFollow(FOLLOW_2);
7114 rule__VLSFofFormula__AnnotationsAssignment_7_1();
7115
7116 state._fsp--;
7117
7118
7119 }
7120
7121 after(grammarAccess.getVLSFofFormulaAccess().getAnnotationsAssignment_7_1());
7122
7123 }
7124
7125
7126 }
7127
7128 }
7129 catch (RecognitionException re) {
7130 reportError(re);
7131 recover(input,re);
7132 }
7133 finally {
7134
7135 restoreStackSize(stackSize);
7136
7137 }
7138 return ;
7139 }
7140 // $ANTLR end "rule__VLSFofFormula__Group_7__1__Impl"
7141
7142
7143 // $ANTLR start "rule__VLSAnnotation__Group__0"
7144 // InternalVampireLanguage.g:2161:1: rule__VLSAnnotation__Group__0 : rule__VLSAnnotation__Group__0__Impl rule__VLSAnnotation__Group__1 ;
7145 public final void rule__VLSAnnotation__Group__0() throws RecognitionException {
7146
7147 int stackSize = keepStackSize();
7148
7149 try {
7150 // InternalVampireLanguage.g:2165:1: ( rule__VLSAnnotation__Group__0__Impl rule__VLSAnnotation__Group__1 )
7151 // InternalVampireLanguage.g:2166:2: rule__VLSAnnotation__Group__0__Impl rule__VLSAnnotation__Group__1
7152 {
7153 pushFollow(FOLLOW_18);
7154 rule__VLSAnnotation__Group__0__Impl();
7155
7156 state._fsp--;
7157
7158 pushFollow(FOLLOW_2);
7159 rule__VLSAnnotation__Group__1();
7160
7161 state._fsp--;
7162
7163
7164 }
7165
7166 }
7167 catch (RecognitionException re) {
7168 reportError(re);
7169 recover(input,re);
7170 }
7171 finally {
7172
7173 restoreStackSize(stackSize);
7174
7175 }
7176 return ;
7177 }
7178 // $ANTLR end "rule__VLSAnnotation__Group__0"
7179
7180
7181 // $ANTLR start "rule__VLSAnnotation__Group__0__Impl"
7182 // InternalVampireLanguage.g:2173:1: rule__VLSAnnotation__Group__0__Impl : ( ( '[' )? ) ;
7183 public final void rule__VLSAnnotation__Group__0__Impl() throws RecognitionException {
7184
7185 int stackSize = keepStackSize();
7186
7187 try {
7188 // InternalVampireLanguage.g:2177:1: ( ( ( '[' )? ) )
7189 // InternalVampireLanguage.g:2178:1: ( ( '[' )? )
7190 {
7191 // InternalVampireLanguage.g:2178:1: ( ( '[' )? )
7192 // InternalVampireLanguage.g:2179:2: ( '[' )?
7193 {
7194 before(grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0());
7195 // InternalVampireLanguage.g:2180:2: ( '[' )?
7196 int alt24=2;
7197 int LA24_0 = input.LA(1);
7198
7199 if ( (LA24_0==50) ) {
7200 alt24=1;
7201 }
7202 switch (alt24) {
7203 case 1 :
7204 // InternalVampireLanguage.g:2180:3: '['
7205 {
7206 match(input,50,FOLLOW_2);
7207
7208 }
7209 break;
7210
7211 }
7212
7213 after(grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0());
7214
7215 }
7216
7217
7218 }
7219
7220 }
7221 catch (RecognitionException re) {
7222 reportError(re);
7223 recover(input,re);
7224 }
7225 finally {
7226
7227 restoreStackSize(stackSize);
7228
7229 }
7230 return ;
7231 }
7232 // $ANTLR end "rule__VLSAnnotation__Group__0__Impl"
7233
7234
7235 // $ANTLR start "rule__VLSAnnotation__Group__1"
7236 // InternalVampireLanguage.g:2188:1: rule__VLSAnnotation__Group__1 : rule__VLSAnnotation__Group__1__Impl rule__VLSAnnotation__Group__2 ;
7237 public final void rule__VLSAnnotation__Group__1() throws RecognitionException {
7238
7239 int stackSize = keepStackSize();
7240
7241 try {
7242 // InternalVampireLanguage.g:2192:1: ( rule__VLSAnnotation__Group__1__Impl rule__VLSAnnotation__Group__2 )
7243 // InternalVampireLanguage.g:2193:2: rule__VLSAnnotation__Group__1__Impl rule__VLSAnnotation__Group__2
7244 {
7245 pushFollow(FOLLOW_18);
7246 rule__VLSAnnotation__Group__1__Impl();
7247
7248 state._fsp--;
7249
7250 pushFollow(FOLLOW_2);
7251 rule__VLSAnnotation__Group__2();
7252
7253 state._fsp--;
7254
7255
7256 }
7257
7258 }
7259 catch (RecognitionException re) {
7260 reportError(re);
7261 recover(input,re);
7262 }
7263 finally {
7264
7265 restoreStackSize(stackSize);
7266
7267 }
7268 return ;
7269 }
7270 // $ANTLR end "rule__VLSAnnotation__Group__1"
7271
7272
7273 // $ANTLR start "rule__VLSAnnotation__Group__1__Impl"
7274 // InternalVampireLanguage.g:2200:1: rule__VLSAnnotation__Group__1__Impl : ( ( rule__VLSAnnotation__NameAssignment_1 )? ) ;
7275 public final void rule__VLSAnnotation__Group__1__Impl() throws RecognitionException {
7276
7277 int stackSize = keepStackSize();
7278
7279 try {
7280 // InternalVampireLanguage.g:2204:1: ( ( ( rule__VLSAnnotation__NameAssignment_1 )? ) )
7281 // InternalVampireLanguage.g:2205:1: ( ( rule__VLSAnnotation__NameAssignment_1 )? )
7282 {
7283 // InternalVampireLanguage.g:2205:1: ( ( rule__VLSAnnotation__NameAssignment_1 )? )
7284 // InternalVampireLanguage.g:2206:2: ( rule__VLSAnnotation__NameAssignment_1 )?
7285 {
7286 before(grammarAccess.getVLSAnnotationAccess().getNameAssignment_1());
7287 // InternalVampireLanguage.g:2207:2: ( rule__VLSAnnotation__NameAssignment_1 )?
7288 int alt25=2;
7289 int LA25_0 = input.LA(1);
7290
7291 if ( ((LA25_0>=RULE_LOWER_WORD_ID && LA25_0<=RULE_SINGLE_QUOTE)||(LA25_0>=27 && LA25_0<=41)) ) {
7292 alt25=1;
7293 }
7294 switch (alt25) {
7295 case 1 :
7296 // InternalVampireLanguage.g:2207:3: rule__VLSAnnotation__NameAssignment_1
7297 {
7298 pushFollow(FOLLOW_2);
7299 rule__VLSAnnotation__NameAssignment_1();
7300
7301 state._fsp--;
7302
7303
7304 }
7305 break;
7306
7307 }
7308
7309 after(grammarAccess.getVLSAnnotationAccess().getNameAssignment_1());
7310
7311 }
7312
7313
7314 }
7315
7316 }
7317 catch (RecognitionException re) {
7318 reportError(re);
7319 recover(input,re);
7320 }
7321 finally {
7322
7323 restoreStackSize(stackSize);
7324
7325 }
7326 return ;
7327 }
7328 // $ANTLR end "rule__VLSAnnotation__Group__1__Impl"
7329
7330
7331 // $ANTLR start "rule__VLSAnnotation__Group__2"
7332 // InternalVampireLanguage.g:2215:1: rule__VLSAnnotation__Group__2 : rule__VLSAnnotation__Group__2__Impl rule__VLSAnnotation__Group__3 ;
7333 public final void rule__VLSAnnotation__Group__2() throws RecognitionException {
7334
7335 int stackSize = keepStackSize();
7336
7337 try {
7338 // InternalVampireLanguage.g:2219:1: ( rule__VLSAnnotation__Group__2__Impl rule__VLSAnnotation__Group__3 )
7339 // InternalVampireLanguage.g:2220:2: rule__VLSAnnotation__Group__2__Impl rule__VLSAnnotation__Group__3
7340 {
7341 pushFollow(FOLLOW_18);
7342 rule__VLSAnnotation__Group__2__Impl();
7343
7344 state._fsp--;
7345
7346 pushFollow(FOLLOW_2);
7347 rule__VLSAnnotation__Group__3();
7348
7349 state._fsp--;
7350
7351
7352 }
7353
7354 }
7355 catch (RecognitionException re) {
7356 reportError(re);
7357 recover(input,re);
7358 }
7359 finally {
7360
7361 restoreStackSize(stackSize);
7362
7363 }
7364 return ;
7365 }
7366 // $ANTLR end "rule__VLSAnnotation__Group__2"
7367
7368
7369 // $ANTLR start "rule__VLSAnnotation__Group__2__Impl"
7370 // InternalVampireLanguage.g:2227:1: rule__VLSAnnotation__Group__2__Impl : ( ( rule__VLSAnnotation__Group_2__0 )? ) ;
7371 public final void rule__VLSAnnotation__Group__2__Impl() throws RecognitionException {
7372
7373 int stackSize = keepStackSize();
7374
7375 try {
7376 // InternalVampireLanguage.g:2231:1: ( ( ( rule__VLSAnnotation__Group_2__0 )? ) )
7377 // InternalVampireLanguage.g:2232:1: ( ( rule__VLSAnnotation__Group_2__0 )? )
7378 {
7379 // InternalVampireLanguage.g:2232:1: ( ( rule__VLSAnnotation__Group_2__0 )? )
7380 // InternalVampireLanguage.g:2233:2: ( rule__VLSAnnotation__Group_2__0 )?
7381 {
7382 before(grammarAccess.getVLSAnnotationAccess().getGroup_2());
7383 // InternalVampireLanguage.g:2234:2: ( rule__VLSAnnotation__Group_2__0 )?
7384 int alt26=2;
7385 int LA26_0 = input.LA(1);
7386
7387 if ( (LA26_0==47) ) {
7388 alt26=1;
7389 }
7390 switch (alt26) {
7391 case 1 :
7392 // InternalVampireLanguage.g:2234:3: rule__VLSAnnotation__Group_2__0
7393 {
7394 pushFollow(FOLLOW_2);
7395 rule__VLSAnnotation__Group_2__0();
7396
7397 state._fsp--;
7398
7399
7400 }
7401 break;
7402
7403 }
7404
7405 after(grammarAccess.getVLSAnnotationAccess().getGroup_2());
7406
7407 }
7408
7409
7410 }
7411
7412 }
7413 catch (RecognitionException re) {
7414 reportError(re);
7415 recover(input,re);
7416 }
7417 finally {
7418
7419 restoreStackSize(stackSize);
7420
7421 }
7422 return ;
7423 }
7424 // $ANTLR end "rule__VLSAnnotation__Group__2__Impl"
7425
7426
7427 // $ANTLR start "rule__VLSAnnotation__Group__3"
7428 // InternalVampireLanguage.g:2242:1: rule__VLSAnnotation__Group__3 : rule__VLSAnnotation__Group__3__Impl ;
7429 public final void rule__VLSAnnotation__Group__3() throws RecognitionException {
7430
7431 int stackSize = keepStackSize();
7432
7433 try {
7434 // InternalVampireLanguage.g:2246:1: ( rule__VLSAnnotation__Group__3__Impl )
7435 // InternalVampireLanguage.g:2247:2: rule__VLSAnnotation__Group__3__Impl
7436 {
7437 pushFollow(FOLLOW_2);
7438 rule__VLSAnnotation__Group__3__Impl();
7439
7440 state._fsp--;
7441
7442
7443 }
7444
7445 }
7446 catch (RecognitionException re) {
7447 reportError(re);
7448 recover(input,re);
7449 }
7450 finally {
7451
7452 restoreStackSize(stackSize);
7453
7454 }
7455 return ;
7456 }
7457 // $ANTLR end "rule__VLSAnnotation__Group__3"
7458
7459
7460 // $ANTLR start "rule__VLSAnnotation__Group__3__Impl"
7461 // InternalVampireLanguage.g:2253:1: rule__VLSAnnotation__Group__3__Impl : ( ( ']' )? ) ;
7462 public final void rule__VLSAnnotation__Group__3__Impl() throws RecognitionException {
7463
7464 int stackSize = keepStackSize();
7465
7466 try {
7467 // InternalVampireLanguage.g:2257:1: ( ( ( ']' )? ) )
7468 // InternalVampireLanguage.g:2258:1: ( ( ']' )? )
7469 {
7470 // InternalVampireLanguage.g:2258:1: ( ( ']' )? )
7471 // InternalVampireLanguage.g:2259:2: ( ']' )?
7472 {
7473 before(grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3());
7474 // InternalVampireLanguage.g:2260:2: ( ']' )?
7475 int alt27=2;
7476 int LA27_0 = input.LA(1);
7477
7478 if ( (LA27_0==44) ) {
7479 alt27=1;
7480 }
7481 switch (alt27) {
7482 case 1 :
7483 // InternalVampireLanguage.g:2260:3: ']'
7484 {
7485 match(input,44,FOLLOW_2);
7486
7487 }
7488 break;
7489
7490 }
7491
7492 after(grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3());
7493
7494 }
7495
7496
7497 }
7498
7499 }
7500 catch (RecognitionException re) {
7501 reportError(re);
7502 recover(input,re);
7503 }
7504 finally {
7505
7506 restoreStackSize(stackSize);
7507
7508 }
7509 return ;
7510 }
7511 // $ANTLR end "rule__VLSAnnotation__Group__3__Impl"
7512
7513
7514 // $ANTLR start "rule__VLSAnnotation__Group_2__0"
7515 // InternalVampireLanguage.g:2269:1: rule__VLSAnnotation__Group_2__0 : rule__VLSAnnotation__Group_2__0__Impl rule__VLSAnnotation__Group_2__1 ;
7516 public final void rule__VLSAnnotation__Group_2__0() throws RecognitionException {
7517
7518 int stackSize = keepStackSize();
7519
7520 try {
7521 // InternalVampireLanguage.g:2273:1: ( rule__VLSAnnotation__Group_2__0__Impl rule__VLSAnnotation__Group_2__1 )
7522 // InternalVampireLanguage.g:2274:2: rule__VLSAnnotation__Group_2__0__Impl rule__VLSAnnotation__Group_2__1
7523 {
7524 pushFollow(FOLLOW_18);
7525 rule__VLSAnnotation__Group_2__0__Impl();
7526
7527 state._fsp--;
7528
7529 pushFollow(FOLLOW_2);
7530 rule__VLSAnnotation__Group_2__1();
7531
7532 state._fsp--;
7533
7534
7535 }
7536
7537 }
7538 catch (RecognitionException re) {
7539 reportError(re);
7540 recover(input,re);
7541 }
7542 finally {
7543
7544 restoreStackSize(stackSize);
7545
7546 }
7547 return ;
7548 }
7549 // $ANTLR end "rule__VLSAnnotation__Group_2__0"
7550
7551
7552 // $ANTLR start "rule__VLSAnnotation__Group_2__0__Impl"
7553 // InternalVampireLanguage.g:2281:1: rule__VLSAnnotation__Group_2__0__Impl : ( '(' ) ;
7554 public final void rule__VLSAnnotation__Group_2__0__Impl() throws RecognitionException {
7555
7556 int stackSize = keepStackSize();
7557
7558 try {
7559 // InternalVampireLanguage.g:2285:1: ( ( '(' ) )
7560 // InternalVampireLanguage.g:2286:1: ( '(' )
7561 {
7562 // InternalVampireLanguage.g:2286:1: ( '(' )
7563 // InternalVampireLanguage.g:2287:2: '('
7564 {
7565 before(grammarAccess.getVLSAnnotationAccess().getLeftParenthesisKeyword_2_0());
7566 match(input,47,FOLLOW_2);
7567 after(grammarAccess.getVLSAnnotationAccess().getLeftParenthesisKeyword_2_0());
7568
7569 }
7570
7571
7572 }
7573
7574 }
7575 catch (RecognitionException re) {
7576 reportError(re);
7577 recover(input,re);
7578 }
7579 finally {
7580
7581 restoreStackSize(stackSize);
7582
7583 }
7584 return ;
7585 }
7586 // $ANTLR end "rule__VLSAnnotation__Group_2__0__Impl"
7587
7588
7589 // $ANTLR start "rule__VLSAnnotation__Group_2__1"
7590 // InternalVampireLanguage.g:2296:1: rule__VLSAnnotation__Group_2__1 : rule__VLSAnnotation__Group_2__1__Impl rule__VLSAnnotation__Group_2__2 ;
7591 public final void rule__VLSAnnotation__Group_2__1() throws RecognitionException {
7592
7593 int stackSize = keepStackSize();
7594
7595 try {
7596 // InternalVampireLanguage.g:2300:1: ( rule__VLSAnnotation__Group_2__1__Impl rule__VLSAnnotation__Group_2__2 )
7597 // InternalVampireLanguage.g:2301:2: rule__VLSAnnotation__Group_2__1__Impl rule__VLSAnnotation__Group_2__2
7598 {
7599 pushFollow(FOLLOW_19);
7600 rule__VLSAnnotation__Group_2__1__Impl();
7601
7602 state._fsp--;
7603
7604 pushFollow(FOLLOW_2);
7605 rule__VLSAnnotation__Group_2__2();
7606
7607 state._fsp--;
7608
7609
7610 }
7611
7612 }
7613 catch (RecognitionException re) {
7614 reportError(re);
7615 recover(input,re);
7616 }
7617 finally {
7618
7619 restoreStackSize(stackSize);
7620
7621 }
7622 return ;
7623 }
7624 // $ANTLR end "rule__VLSAnnotation__Group_2__1"
7625
7626
7627 // $ANTLR start "rule__VLSAnnotation__Group_2__1__Impl"
7628 // InternalVampireLanguage.g:2308:1: rule__VLSAnnotation__Group_2__1__Impl : ( ( rule__VLSAnnotation__FollowupAssignment_2_1 ) ) ;
7629 public final void rule__VLSAnnotation__Group_2__1__Impl() throws RecognitionException {
7630
7631 int stackSize = keepStackSize();
7632
7633 try {
7634 // InternalVampireLanguage.g:2312:1: ( ( ( rule__VLSAnnotation__FollowupAssignment_2_1 ) ) )
7635 // InternalVampireLanguage.g:2313:1: ( ( rule__VLSAnnotation__FollowupAssignment_2_1 ) )
7636 {
7637 // InternalVampireLanguage.g:2313:1: ( ( rule__VLSAnnotation__FollowupAssignment_2_1 ) )
7638 // InternalVampireLanguage.g:2314:2: ( rule__VLSAnnotation__FollowupAssignment_2_1 )
7639 {
7640 before(grammarAccess.getVLSAnnotationAccess().getFollowupAssignment_2_1());
7641 // InternalVampireLanguage.g:2315:2: ( rule__VLSAnnotation__FollowupAssignment_2_1 )
7642 // InternalVampireLanguage.g:2315:3: rule__VLSAnnotation__FollowupAssignment_2_1
7643 {
7644 pushFollow(FOLLOW_2);
7645 rule__VLSAnnotation__FollowupAssignment_2_1();
7646
7647 state._fsp--;
7648
7649
7650 }
7651
7652 after(grammarAccess.getVLSAnnotationAccess().getFollowupAssignment_2_1());
7653
7654 }
7655
7656
7657 }
7658
7659 }
7660 catch (RecognitionException re) {
7661 reportError(re);
7662 recover(input,re);
7663 }
7664 finally {
7665
7666 restoreStackSize(stackSize);
7667
7668 }
7669 return ;
7670 }
7671 // $ANTLR end "rule__VLSAnnotation__Group_2__1__Impl"
7672
7673
7674 // $ANTLR start "rule__VLSAnnotation__Group_2__2"
7675 // InternalVampireLanguage.g:2323:1: rule__VLSAnnotation__Group_2__2 : rule__VLSAnnotation__Group_2__2__Impl ;
7676 public final void rule__VLSAnnotation__Group_2__2() throws RecognitionException {
7677
7678 int stackSize = keepStackSize();
7679
7680 try {
7681 // InternalVampireLanguage.g:2327:1: ( rule__VLSAnnotation__Group_2__2__Impl )
7682 // InternalVampireLanguage.g:2328:2: rule__VLSAnnotation__Group_2__2__Impl
7683 {
7684 pushFollow(FOLLOW_2);
7685 rule__VLSAnnotation__Group_2__2__Impl();
7686
7687 state._fsp--;
7688
7689
7690 }
7691
7692 }
7693 catch (RecognitionException re) {
7694 reportError(re);
7695 recover(input,re);
7696 }
7697 finally {
7698
7699 restoreStackSize(stackSize);
7700
7701 }
7702 return ;
7703 }
7704 // $ANTLR end "rule__VLSAnnotation__Group_2__2"
7705
7706
7707 // $ANTLR start "rule__VLSAnnotation__Group_2__2__Impl"
7708 // InternalVampireLanguage.g:2334:1: rule__VLSAnnotation__Group_2__2__Impl : ( ')' ) ;
7709 public final void rule__VLSAnnotation__Group_2__2__Impl() throws RecognitionException {
7710
7711 int stackSize = keepStackSize();
7712
7713 try {
7714 // InternalVampireLanguage.g:2338:1: ( ( ')' ) )
7715 // InternalVampireLanguage.g:2339:1: ( ')' )
7716 {
7717 // InternalVampireLanguage.g:2339:1: ( ')' )
7718 // InternalVampireLanguage.g:2340:2: ')'
7719 {
7720 before(grammarAccess.getVLSAnnotationAccess().getRightParenthesisKeyword_2_2());
7721 match(input,48,FOLLOW_2);
7722 after(grammarAccess.getVLSAnnotationAccess().getRightParenthesisKeyword_2_2());
7723
7724 }
7725
7726
7727 }
7728
7729 }
7730 catch (RecognitionException re) {
7731 reportError(re);
7732 recover(input,re);
7733 }
7734 finally {
7735
7736 restoreStackSize(stackSize);
7737
7738 }
7739 return ;
7740 }
7741 // $ANTLR end "rule__VLSAnnotation__Group_2__2__Impl"
7742
7743
7744 // $ANTLR start "rule__VLSAnnotationTerms__Group__0"
7745 // InternalVampireLanguage.g:2350:1: rule__VLSAnnotationTerms__Group__0 : rule__VLSAnnotationTerms__Group__0__Impl rule__VLSAnnotationTerms__Group__1 ;
7746 public final void rule__VLSAnnotationTerms__Group__0() throws RecognitionException {
7747
7748 int stackSize = keepStackSize();
7749
7750 try {
7751 // InternalVampireLanguage.g:2354:1: ( rule__VLSAnnotationTerms__Group__0__Impl rule__VLSAnnotationTerms__Group__1 )
7752 // InternalVampireLanguage.g:2355:2: rule__VLSAnnotationTerms__Group__0__Impl rule__VLSAnnotationTerms__Group__1
7753 {
7754 pushFollow(FOLLOW_13);
7755 rule__VLSAnnotationTerms__Group__0__Impl();
7756
7757 state._fsp--;
7758
7759 pushFollow(FOLLOW_2);
7760 rule__VLSAnnotationTerms__Group__1();
7761
7762 state._fsp--;
7763
7764
7765 }
7766
7767 }
7768 catch (RecognitionException re) {
7769 reportError(re);
7770 recover(input,re);
7771 }
7772 finally {
7773
7774 restoreStackSize(stackSize);
7775
7776 }
7777 return ;
7778 }
7779 // $ANTLR end "rule__VLSAnnotationTerms__Group__0"
7780
7781
7782 // $ANTLR start "rule__VLSAnnotationTerms__Group__0__Impl"
7783 // InternalVampireLanguage.g:2362:1: rule__VLSAnnotationTerms__Group__0__Impl : ( ( rule__VLSAnnotationTerms__TermsAssignment_0 ) ) ;
7784 public final void rule__VLSAnnotationTerms__Group__0__Impl() throws RecognitionException {
7785
7786 int stackSize = keepStackSize();
7787
7788 try {
7789 // InternalVampireLanguage.g:2366:1: ( ( ( rule__VLSAnnotationTerms__TermsAssignment_0 ) ) )
7790 // InternalVampireLanguage.g:2367:1: ( ( rule__VLSAnnotationTerms__TermsAssignment_0 ) )
7791 {
7792 // InternalVampireLanguage.g:2367:1: ( ( rule__VLSAnnotationTerms__TermsAssignment_0 ) )
7793 // InternalVampireLanguage.g:2368:2: ( rule__VLSAnnotationTerms__TermsAssignment_0 )
7794 {
7795 before(grammarAccess.getVLSAnnotationTermsAccess().getTermsAssignment_0());
7796 // InternalVampireLanguage.g:2369:2: ( rule__VLSAnnotationTerms__TermsAssignment_0 )
7797 // InternalVampireLanguage.g:2369:3: rule__VLSAnnotationTerms__TermsAssignment_0
7798 {
7799 pushFollow(FOLLOW_2);
7800 rule__VLSAnnotationTerms__TermsAssignment_0();
7801
7802 state._fsp--;
7803
7804
7805 }
7806
7807 after(grammarAccess.getVLSAnnotationTermsAccess().getTermsAssignment_0());
7808
7809 }
7810
7811
7812 }
7813
7814 }
7815 catch (RecognitionException re) {
7816 reportError(re);
7817 recover(input,re);
7818 }
7819 finally {
7820
7821 restoreStackSize(stackSize);
7822
7823 }
7824 return ;
7825 }
7826 // $ANTLR end "rule__VLSAnnotationTerms__Group__0__Impl"
7827
7828
7829 // $ANTLR start "rule__VLSAnnotationTerms__Group__1"
7830 // InternalVampireLanguage.g:2377:1: rule__VLSAnnotationTerms__Group__1 : rule__VLSAnnotationTerms__Group__1__Impl ;
7831 public final void rule__VLSAnnotationTerms__Group__1() throws RecognitionException {
7832
7833 int stackSize = keepStackSize();
7834
7835 try {
7836 // InternalVampireLanguage.g:2381:1: ( rule__VLSAnnotationTerms__Group__1__Impl )
7837 // InternalVampireLanguage.g:2382:2: rule__VLSAnnotationTerms__Group__1__Impl
7838 {
7839 pushFollow(FOLLOW_2);
7840 rule__VLSAnnotationTerms__Group__1__Impl();
7841
7842 state._fsp--;
7843
7844
7845 }
7846
7847 }
7848 catch (RecognitionException re) {
7849 reportError(re);
7850 recover(input,re);
7851 }
7852 finally {
7853
7854 restoreStackSize(stackSize);
7855
7856 }
7857 return ;
7858 }
7859 // $ANTLR end "rule__VLSAnnotationTerms__Group__1"
7860
7861
7862 // $ANTLR start "rule__VLSAnnotationTerms__Group__1__Impl"
7863 // InternalVampireLanguage.g:2388:1: rule__VLSAnnotationTerms__Group__1__Impl : ( ( rule__VLSAnnotationTerms__Group_1__0 )* ) ;
7864 public final void rule__VLSAnnotationTerms__Group__1__Impl() throws RecognitionException {
7865
7866 int stackSize = keepStackSize();
7867
7868 try {
7869 // InternalVampireLanguage.g:2392:1: ( ( ( rule__VLSAnnotationTerms__Group_1__0 )* ) )
7870 // InternalVampireLanguage.g:2393:1: ( ( rule__VLSAnnotationTerms__Group_1__0 )* )
7871 {
7872 // InternalVampireLanguage.g:2393:1: ( ( rule__VLSAnnotationTerms__Group_1__0 )* )
7873 // InternalVampireLanguage.g:2394:2: ( rule__VLSAnnotationTerms__Group_1__0 )*
7874 {
7875 before(grammarAccess.getVLSAnnotationTermsAccess().getGroup_1());
7876 // InternalVampireLanguage.g:2395:2: ( rule__VLSAnnotationTerms__Group_1__0 )*
7877 loop28:
7878 do {
7879 int alt28=2;
7880 int LA28_0 = input.LA(1);
7881
7882 if ( (LA28_0==45) ) {
7883 alt28=1;
7884 }
7885
7886
7887 switch (alt28) {
7888 case 1 :
7889 // InternalVampireLanguage.g:2395:3: rule__VLSAnnotationTerms__Group_1__0
7890 {
7891 pushFollow(FOLLOW_10);
7892 rule__VLSAnnotationTerms__Group_1__0();
7893
7894 state._fsp--;
7895
7896
7897 }
7898 break;
7899
7900 default :
7901 break loop28;
7902 }
7903 } while (true);
7904
7905 after(grammarAccess.getVLSAnnotationTermsAccess().getGroup_1());
7906
7907 }
7908
7909
7910 }
7911
7912 }
7913 catch (RecognitionException re) {
7914 reportError(re);
7915 recover(input,re);
7916 }
7917 finally {
7918
7919 restoreStackSize(stackSize);
7920
7921 }
7922 return ;
7923 }
7924 // $ANTLR end "rule__VLSAnnotationTerms__Group__1__Impl"
7925
7926
7927 // $ANTLR start "rule__VLSAnnotationTerms__Group_1__0"
7928 // InternalVampireLanguage.g:2404:1: rule__VLSAnnotationTerms__Group_1__0 : rule__VLSAnnotationTerms__Group_1__0__Impl rule__VLSAnnotationTerms__Group_1__1 ;
7929 public final void rule__VLSAnnotationTerms__Group_1__0() throws RecognitionException {
7930
7931 int stackSize = keepStackSize();
7932
7933 try {
7934 // InternalVampireLanguage.g:2408:1: ( rule__VLSAnnotationTerms__Group_1__0__Impl rule__VLSAnnotationTerms__Group_1__1 )
7935 // InternalVampireLanguage.g:2409:2: rule__VLSAnnotationTerms__Group_1__0__Impl rule__VLSAnnotationTerms__Group_1__1
7936 {
7937 pushFollow(FOLLOW_18);
7938 rule__VLSAnnotationTerms__Group_1__0__Impl();
7939
7940 state._fsp--;
7941
7942 pushFollow(FOLLOW_2);
7943 rule__VLSAnnotationTerms__Group_1__1();
7944
7945 state._fsp--;
7946
7947
7948 }
7949
7950 }
7951 catch (RecognitionException re) {
7952 reportError(re);
7953 recover(input,re);
7954 }
7955 finally {
7956
7957 restoreStackSize(stackSize);
7958
7959 }
7960 return ;
7961 }
7962 // $ANTLR end "rule__VLSAnnotationTerms__Group_1__0"
7963
7964
7965 // $ANTLR start "rule__VLSAnnotationTerms__Group_1__0__Impl"
7966 // InternalVampireLanguage.g:2416:1: rule__VLSAnnotationTerms__Group_1__0__Impl : ( ',' ) ;
7967 public final void rule__VLSAnnotationTerms__Group_1__0__Impl() throws RecognitionException {
7968
7969 int stackSize = keepStackSize();
7970
7971 try {
7972 // InternalVampireLanguage.g:2420:1: ( ( ',' ) )
7973 // InternalVampireLanguage.g:2421:1: ( ',' )
7974 {
7975 // InternalVampireLanguage.g:2421:1: ( ',' )
7976 // InternalVampireLanguage.g:2422:2: ','
7977 {
7978 before(grammarAccess.getVLSAnnotationTermsAccess().getCommaKeyword_1_0());
7979 match(input,45,FOLLOW_2);
7980 after(grammarAccess.getVLSAnnotationTermsAccess().getCommaKeyword_1_0());
7981
7982 }
7983
7984
7985 }
7986
7987 }
7988 catch (RecognitionException re) {
7989 reportError(re);
7990 recover(input,re);
7991 }
7992 finally {
7993
7994 restoreStackSize(stackSize);
7995
7996 }
7997 return ;
7998 }
7999 // $ANTLR end "rule__VLSAnnotationTerms__Group_1__0__Impl"
8000
8001
8002 // $ANTLR start "rule__VLSAnnotationTerms__Group_1__1"
8003 // InternalVampireLanguage.g:2431:1: rule__VLSAnnotationTerms__Group_1__1 : rule__VLSAnnotationTerms__Group_1__1__Impl ;
8004 public final void rule__VLSAnnotationTerms__Group_1__1() throws RecognitionException {
8005
8006 int stackSize = keepStackSize();
8007
8008 try {
8009 // InternalVampireLanguage.g:2435:1: ( rule__VLSAnnotationTerms__Group_1__1__Impl )
8010 // InternalVampireLanguage.g:2436:2: rule__VLSAnnotationTerms__Group_1__1__Impl
8011 {
8012 pushFollow(FOLLOW_2);
8013 rule__VLSAnnotationTerms__Group_1__1__Impl();
8014
8015 state._fsp--;
8016
8017
8018 }
8019
8020 }
8021 catch (RecognitionException re) {
8022 reportError(re);
8023 recover(input,re);
8024 }
8025 finally {
8026
8027 restoreStackSize(stackSize);
8028
8029 }
8030 return ;
8031 }
8032 // $ANTLR end "rule__VLSAnnotationTerms__Group_1__1"
8033
8034
8035 // $ANTLR start "rule__VLSAnnotationTerms__Group_1__1__Impl"
8036 // InternalVampireLanguage.g:2442:1: rule__VLSAnnotationTerms__Group_1__1__Impl : ( ( rule__VLSAnnotationTerms__TermsAssignment_1_1 ) ) ;
8037 public final void rule__VLSAnnotationTerms__Group_1__1__Impl() throws RecognitionException {
8038
8039 int stackSize = keepStackSize();
8040
8041 try {
8042 // InternalVampireLanguage.g:2446:1: ( ( ( rule__VLSAnnotationTerms__TermsAssignment_1_1 ) ) )
8043 // InternalVampireLanguage.g:2447:1: ( ( rule__VLSAnnotationTerms__TermsAssignment_1_1 ) )
8044 {
8045 // InternalVampireLanguage.g:2447:1: ( ( rule__VLSAnnotationTerms__TermsAssignment_1_1 ) )
8046 // InternalVampireLanguage.g:2448:2: ( rule__VLSAnnotationTerms__TermsAssignment_1_1 )
8047 {
8048 before(grammarAccess.getVLSAnnotationTermsAccess().getTermsAssignment_1_1());
8049 // InternalVampireLanguage.g:2449:2: ( rule__VLSAnnotationTerms__TermsAssignment_1_1 )
8050 // InternalVampireLanguage.g:2449:3: rule__VLSAnnotationTerms__TermsAssignment_1_1
8051 {
8052 pushFollow(FOLLOW_2);
8053 rule__VLSAnnotationTerms__TermsAssignment_1_1();
8054
8055 state._fsp--;
8056
8057
8058 }
8059
8060 after(grammarAccess.getVLSAnnotationTermsAccess().getTermsAssignment_1_1());
8061
8062 }
8063
8064
8065 }
8066
8067 }
8068 catch (RecognitionException re) {
8069 reportError(re);
8070 recover(input,re);
8071 }
8072 finally {
8073
8074 restoreStackSize(stackSize);
8075
8076 }
8077 return ;
8078 }
8079 // $ANTLR end "rule__VLSAnnotationTerms__Group_1__1__Impl"
8080
8081
8082 // $ANTLR start "rule__VLSBinary__Group__0"
8083 // InternalVampireLanguage.g:2458:1: rule__VLSBinary__Group__0 : rule__VLSBinary__Group__0__Impl rule__VLSBinary__Group__1 ;
8084 public final void rule__VLSBinary__Group__0() throws RecognitionException {
8085
8086 int stackSize = keepStackSize();
8087
8088 try {
8089 // InternalVampireLanguage.g:2462:1: ( rule__VLSBinary__Group__0__Impl rule__VLSBinary__Group__1 )
8090 // InternalVampireLanguage.g:2463:2: rule__VLSBinary__Group__0__Impl rule__VLSBinary__Group__1
8091 {
8092 pushFollow(FOLLOW_20);
8093 rule__VLSBinary__Group__0__Impl();
8094
8095 state._fsp--;
8096
8097 pushFollow(FOLLOW_2);
8098 rule__VLSBinary__Group__1();
8099
8100 state._fsp--;
8101
8102
8103 }
8104
8105 }
8106 catch (RecognitionException re) {
8107 reportError(re);
8108 recover(input,re);
8109 }
8110 finally {
8111
8112 restoreStackSize(stackSize);
8113
8114 }
8115 return ;
8116 }
8117 // $ANTLR end "rule__VLSBinary__Group__0"
8118
8119
8120 // $ANTLR start "rule__VLSBinary__Group__0__Impl"
8121 // InternalVampireLanguage.g:2470:1: rule__VLSBinary__Group__0__Impl : ( ruleVLSUnitaryFormula ) ;
8122 public final void rule__VLSBinary__Group__0__Impl() throws RecognitionException {
8123
8124 int stackSize = keepStackSize();
8125
8126 try {
8127 // InternalVampireLanguage.g:2474:1: ( ( ruleVLSUnitaryFormula ) )
8128 // InternalVampireLanguage.g:2475:1: ( ruleVLSUnitaryFormula )
8129 {
8130 // InternalVampireLanguage.g:2475:1: ( ruleVLSUnitaryFormula )
8131 // InternalVampireLanguage.g:2476:2: ruleVLSUnitaryFormula
8132 {
8133 before(grammarAccess.getVLSBinaryAccess().getVLSUnitaryFormulaParserRuleCall_0());
8134 pushFollow(FOLLOW_2);
8135 ruleVLSUnitaryFormula();
8136
8137 state._fsp--;
8138
8139 after(grammarAccess.getVLSBinaryAccess().getVLSUnitaryFormulaParserRuleCall_0());
8140
8141 }
8142
8143
8144 }
8145
8146 }
8147 catch (RecognitionException re) {
8148 reportError(re);
8149 recover(input,re);
8150 }
8151 finally {
8152
8153 restoreStackSize(stackSize);
8154
8155 }
8156 return ;
8157 }
8158 // $ANTLR end "rule__VLSBinary__Group__0__Impl"
8159
8160
8161 // $ANTLR start "rule__VLSBinary__Group__1"
8162 // InternalVampireLanguage.g:2485:1: rule__VLSBinary__Group__1 : rule__VLSBinary__Group__1__Impl ;
8163 public final void rule__VLSBinary__Group__1() throws RecognitionException {
8164
8165 int stackSize = keepStackSize();
8166
8167 try {
8168 // InternalVampireLanguage.g:2489:1: ( rule__VLSBinary__Group__1__Impl )
8169 // InternalVampireLanguage.g:2490:2: rule__VLSBinary__Group__1__Impl
8170 {
8171 pushFollow(FOLLOW_2);
8172 rule__VLSBinary__Group__1__Impl();
8173
8174 state._fsp--;
8175
8176
8177 }
8178
8179 }
8180 catch (RecognitionException re) {
8181 reportError(re);
8182 recover(input,re);
8183 }
8184 finally {
8185
8186 restoreStackSize(stackSize);
8187
8188 }
8189 return ;
8190 }
8191 // $ANTLR end "rule__VLSBinary__Group__1"
8192
8193
8194 // $ANTLR start "rule__VLSBinary__Group__1__Impl"
8195 // InternalVampireLanguage.g:2496:1: rule__VLSBinary__Group__1__Impl : ( ( rule__VLSBinary__Alternatives_1 )? ) ;
8196 public final void rule__VLSBinary__Group__1__Impl() throws RecognitionException {
8197
8198 int stackSize = keepStackSize();
8199
8200 try {
8201 // InternalVampireLanguage.g:2500:1: ( ( ( rule__VLSBinary__Alternatives_1 )? ) )
8202 // InternalVampireLanguage.g:2501:1: ( ( rule__VLSBinary__Alternatives_1 )? )
8203 {
8204 // InternalVampireLanguage.g:2501:1: ( ( rule__VLSBinary__Alternatives_1 )? )
8205 // InternalVampireLanguage.g:2502:2: ( rule__VLSBinary__Alternatives_1 )?
8206 {
8207 before(grammarAccess.getVLSBinaryAccess().getAlternatives_1());
8208 // InternalVampireLanguage.g:2503:2: ( rule__VLSBinary__Alternatives_1 )?
8209 int alt29=2;
8210 int LA29_0 = input.LA(1);
8211
8212 if ( ((LA29_0>=51 && LA29_0<=58)) ) {
8213 alt29=1;
8214 }
8215 switch (alt29) {
8216 case 1 :
8217 // InternalVampireLanguage.g:2503:3: rule__VLSBinary__Alternatives_1
8218 {
8219 pushFollow(FOLLOW_2);
8220 rule__VLSBinary__Alternatives_1();
8221
8222 state._fsp--;
8223
8224
8225 }
8226 break;
8227
8228 }
8229
8230 after(grammarAccess.getVLSBinaryAccess().getAlternatives_1());
8231
8232 }
8233
8234
8235 }
8236
8237 }
8238 catch (RecognitionException re) {
8239 reportError(re);
8240 recover(input,re);
8241 }
8242 finally {
8243
8244 restoreStackSize(stackSize);
8245
8246 }
8247 return ;
8248 }
8249 // $ANTLR end "rule__VLSBinary__Group__1__Impl"
8250
8251
8252 // $ANTLR start "rule__VLSBinary__Group_1_0__0"
8253 // InternalVampireLanguage.g:2512:1: rule__VLSBinary__Group_1_0__0 : rule__VLSBinary__Group_1_0__0__Impl rule__VLSBinary__Group_1_0__1 ;
8254 public final void rule__VLSBinary__Group_1_0__0() throws RecognitionException {
8255
8256 int stackSize = keepStackSize();
8257
8258 try {
8259 // InternalVampireLanguage.g:2516:1: ( rule__VLSBinary__Group_1_0__0__Impl rule__VLSBinary__Group_1_0__1 )
8260 // InternalVampireLanguage.g:2517:2: rule__VLSBinary__Group_1_0__0__Impl rule__VLSBinary__Group_1_0__1
8261 {
8262 pushFollow(FOLLOW_15);
8263 rule__VLSBinary__Group_1_0__0__Impl();
8264
8265 state._fsp--;
8266
8267 pushFollow(FOLLOW_2);
8268 rule__VLSBinary__Group_1_0__1();
8269
8270 state._fsp--;
8271
8272
8273 }
8274
8275 }
8276 catch (RecognitionException re) {
8277 reportError(re);
8278 recover(input,re);
8279 }
8280 finally {
8281
8282 restoreStackSize(stackSize);
8283
8284 }
8285 return ;
8286 }
8287 // $ANTLR end "rule__VLSBinary__Group_1_0__0"
8288
8289
8290 // $ANTLR start "rule__VLSBinary__Group_1_0__0__Impl"
8291 // InternalVampireLanguage.g:2524:1: rule__VLSBinary__Group_1_0__0__Impl : ( ( rule__VLSBinary__Alternatives_1_0_0 ) ) ;
8292 public final void rule__VLSBinary__Group_1_0__0__Impl() throws RecognitionException {
8293
8294 int stackSize = keepStackSize();
8295
8296 try {
8297 // InternalVampireLanguage.g:2528:1: ( ( ( rule__VLSBinary__Alternatives_1_0_0 ) ) )
8298 // InternalVampireLanguage.g:2529:1: ( ( rule__VLSBinary__Alternatives_1_0_0 ) )
8299 {
8300 // InternalVampireLanguage.g:2529:1: ( ( rule__VLSBinary__Alternatives_1_0_0 ) )
8301 // InternalVampireLanguage.g:2530:2: ( rule__VLSBinary__Alternatives_1_0_0 )
8302 {
8303 before(grammarAccess.getVLSBinaryAccess().getAlternatives_1_0_0());
8304 // InternalVampireLanguage.g:2531:2: ( rule__VLSBinary__Alternatives_1_0_0 )
8305 // InternalVampireLanguage.g:2531:3: rule__VLSBinary__Alternatives_1_0_0
8306 {
8307 pushFollow(FOLLOW_2);
8308 rule__VLSBinary__Alternatives_1_0_0();
8309
8310 state._fsp--;
8311
8312
8313 }
8314
8315 after(grammarAccess.getVLSBinaryAccess().getAlternatives_1_0_0());
8316
8317 }
8318
8319
8320 }
8321
8322 }
8323 catch (RecognitionException re) {
8324 reportError(re);
8325 recover(input,re);
8326 }
8327 finally {
8328
8329 restoreStackSize(stackSize);
8330
8331 }
8332 return ;
8333 }
8334 // $ANTLR end "rule__VLSBinary__Group_1_0__0__Impl"
8335
8336
8337 // $ANTLR start "rule__VLSBinary__Group_1_0__1"
8338 // InternalVampireLanguage.g:2539:1: rule__VLSBinary__Group_1_0__1 : rule__VLSBinary__Group_1_0__1__Impl ;
8339 public final void rule__VLSBinary__Group_1_0__1() throws RecognitionException {
8340
8341 int stackSize = keepStackSize();
8342
8343 try {
8344 // InternalVampireLanguage.g:2543:1: ( rule__VLSBinary__Group_1_0__1__Impl )
8345 // InternalVampireLanguage.g:2544:2: rule__VLSBinary__Group_1_0__1__Impl
8346 {
8347 pushFollow(FOLLOW_2);
8348 rule__VLSBinary__Group_1_0__1__Impl();
8349
8350 state._fsp--;
8351
8352
8353 }
8354
8355 }
8356 catch (RecognitionException re) {
8357 reportError(re);
8358 recover(input,re);
8359 }
8360 finally {
8361
8362 restoreStackSize(stackSize);
8363
8364 }
8365 return ;
8366 }
8367 // $ANTLR end "rule__VLSBinary__Group_1_0__1"
8368
8369
8370 // $ANTLR start "rule__VLSBinary__Group_1_0__1__Impl"
8371 // InternalVampireLanguage.g:2550:1: rule__VLSBinary__Group_1_0__1__Impl : ( ( rule__VLSBinary__RightAssignment_1_0_1 ) ) ;
8372 public final void rule__VLSBinary__Group_1_0__1__Impl() throws RecognitionException {
8373
8374 int stackSize = keepStackSize();
8375
8376 try {
8377 // InternalVampireLanguage.g:2554:1: ( ( ( rule__VLSBinary__RightAssignment_1_0_1 ) ) )
8378 // InternalVampireLanguage.g:2555:1: ( ( rule__VLSBinary__RightAssignment_1_0_1 ) )
8379 {
8380 // InternalVampireLanguage.g:2555:1: ( ( rule__VLSBinary__RightAssignment_1_0_1 ) )
8381 // InternalVampireLanguage.g:2556:2: ( rule__VLSBinary__RightAssignment_1_0_1 )
8382 {
8383 before(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_0_1());
8384 // InternalVampireLanguage.g:2557:2: ( rule__VLSBinary__RightAssignment_1_0_1 )
8385 // InternalVampireLanguage.g:2557:3: rule__VLSBinary__RightAssignment_1_0_1
8386 {
8387 pushFollow(FOLLOW_2);
8388 rule__VLSBinary__RightAssignment_1_0_1();
8389
8390 state._fsp--;
8391
8392
8393 }
8394
8395 after(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_0_1());
8396
8397 }
8398
8399
8400 }
8401
8402 }
8403 catch (RecognitionException re) {
8404 reportError(re);
8405 recover(input,re);
8406 }
8407 finally {
8408
8409 restoreStackSize(stackSize);
8410
8411 }
8412 return ;
8413 }
8414 // $ANTLR end "rule__VLSBinary__Group_1_0__1__Impl"
8415
8416
8417 // $ANTLR start "rule__VLSBinary__Group_1_0_0_0__0"
8418 // InternalVampireLanguage.g:2566:1: rule__VLSBinary__Group_1_0_0_0__0 : rule__VLSBinary__Group_1_0_0_0__0__Impl rule__VLSBinary__Group_1_0_0_0__1 ;
8419 public final void rule__VLSBinary__Group_1_0_0_0__0() throws RecognitionException {
8420
8421 int stackSize = keepStackSize();
8422
8423 try {
8424 // InternalVampireLanguage.g:2570:1: ( rule__VLSBinary__Group_1_0_0_0__0__Impl rule__VLSBinary__Group_1_0_0_0__1 )
8425 // InternalVampireLanguage.g:2571:2: rule__VLSBinary__Group_1_0_0_0__0__Impl rule__VLSBinary__Group_1_0_0_0__1
8426 {
8427 pushFollow(FOLLOW_21);
8428 rule__VLSBinary__Group_1_0_0_0__0__Impl();
8429
8430 state._fsp--;
8431
8432 pushFollow(FOLLOW_2);
8433 rule__VLSBinary__Group_1_0_0_0__1();
8434
8435 state._fsp--;
8436
8437
8438 }
8439
8440 }
8441 catch (RecognitionException re) {
8442 reportError(re);
8443 recover(input,re);
8444 }
8445 finally {
8446
8447 restoreStackSize(stackSize);
8448
8449 }
8450 return ;
8451 }
8452 // $ANTLR end "rule__VLSBinary__Group_1_0_0_0__0"
8453
8454
8455 // $ANTLR start "rule__VLSBinary__Group_1_0_0_0__0__Impl"
8456 // InternalVampireLanguage.g:2578:1: rule__VLSBinary__Group_1_0_0_0__0__Impl : ( () ) ;
8457 public final void rule__VLSBinary__Group_1_0_0_0__0__Impl() throws RecognitionException {
8458
8459 int stackSize = keepStackSize();
8460
8461 try {
8462 // InternalVampireLanguage.g:2582:1: ( ( () ) )
8463 // InternalVampireLanguage.g:2583:1: ( () )
8464 {
8465 // InternalVampireLanguage.g:2583:1: ( () )
8466 // InternalVampireLanguage.g:2584:2: ()
8467 {
8468 before(grammarAccess.getVLSBinaryAccess().getVLSEquivalentLeftAction_1_0_0_0_0());
8469 // InternalVampireLanguage.g:2585:2: ()
8470 // InternalVampireLanguage.g:2585:3:
8471 {
8472 }
8473
8474 after(grammarAccess.getVLSBinaryAccess().getVLSEquivalentLeftAction_1_0_0_0_0());
8475
8476 }
8477
8478
8479 }
8480
8481 }
8482 finally {
8483
8484 restoreStackSize(stackSize);
8485
8486 }
8487 return ;
8488 }
8489 // $ANTLR end "rule__VLSBinary__Group_1_0_0_0__0__Impl"
8490
8491
8492 // $ANTLR start "rule__VLSBinary__Group_1_0_0_0__1"
8493 // InternalVampireLanguage.g:2593:1: rule__VLSBinary__Group_1_0_0_0__1 : rule__VLSBinary__Group_1_0_0_0__1__Impl ;
8494 public final void rule__VLSBinary__Group_1_0_0_0__1() throws RecognitionException {
8495
8496 int stackSize = keepStackSize();
8497
8498 try {
8499 // InternalVampireLanguage.g:2597:1: ( rule__VLSBinary__Group_1_0_0_0__1__Impl )
8500 // InternalVampireLanguage.g:2598:2: rule__VLSBinary__Group_1_0_0_0__1__Impl
8501 {
8502 pushFollow(FOLLOW_2);
8503 rule__VLSBinary__Group_1_0_0_0__1__Impl();
8504
8505 state._fsp--;
8506
8507
8508 }
8509
8510 }
8511 catch (RecognitionException re) {
8512 reportError(re);
8513 recover(input,re);
8514 }
8515 finally {
8516
8517 restoreStackSize(stackSize);
8518
8519 }
8520 return ;
8521 }
8522 // $ANTLR end "rule__VLSBinary__Group_1_0_0_0__1"
8523
8524
8525 // $ANTLR start "rule__VLSBinary__Group_1_0_0_0__1__Impl"
8526 // InternalVampireLanguage.g:2604:1: rule__VLSBinary__Group_1_0_0_0__1__Impl : ( '<=>' ) ;
8527 public final void rule__VLSBinary__Group_1_0_0_0__1__Impl() throws RecognitionException {
8528
8529 int stackSize = keepStackSize();
8530
8531 try {
8532 // InternalVampireLanguage.g:2608:1: ( ( '<=>' ) )
8533 // InternalVampireLanguage.g:2609:1: ( '<=>' )
8534 {
8535 // InternalVampireLanguage.g:2609:1: ( '<=>' )
8536 // InternalVampireLanguage.g:2610:2: '<=>'
8537 {
8538 before(grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1());
8539 match(input,51,FOLLOW_2);
8540 after(grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1());
8541
8542 }
8543
8544
8545 }
8546
8547 }
8548 catch (RecognitionException re) {
8549 reportError(re);
8550 recover(input,re);
8551 }
8552 finally {
8553
8554 restoreStackSize(stackSize);
8555
8556 }
8557 return ;
8558 }
8559 // $ANTLR end "rule__VLSBinary__Group_1_0_0_0__1__Impl"
8560
8561
8562 // $ANTLR start "rule__VLSBinary__Group_1_0_0_1__0"
8563 // InternalVampireLanguage.g:2620:1: rule__VLSBinary__Group_1_0_0_1__0 : rule__VLSBinary__Group_1_0_0_1__0__Impl rule__VLSBinary__Group_1_0_0_1__1 ;
8564 public final void rule__VLSBinary__Group_1_0_0_1__0() throws RecognitionException {
8565
8566 int stackSize = keepStackSize();
8567
8568 try {
8569 // InternalVampireLanguage.g:2624:1: ( rule__VLSBinary__Group_1_0_0_1__0__Impl rule__VLSBinary__Group_1_0_0_1__1 )
8570 // InternalVampireLanguage.g:2625:2: rule__VLSBinary__Group_1_0_0_1__0__Impl rule__VLSBinary__Group_1_0_0_1__1
8571 {
8572 pushFollow(FOLLOW_22);
8573 rule__VLSBinary__Group_1_0_0_1__0__Impl();
8574
8575 state._fsp--;
8576
8577 pushFollow(FOLLOW_2);
8578 rule__VLSBinary__Group_1_0_0_1__1();
8579
8580 state._fsp--;
8581
8582
8583 }
8584
8585 }
8586 catch (RecognitionException re) {
8587 reportError(re);
8588 recover(input,re);
8589 }
8590 finally {
8591
8592 restoreStackSize(stackSize);
8593
8594 }
8595 return ;
8596 }
8597 // $ANTLR end "rule__VLSBinary__Group_1_0_0_1__0"
8598
8599
8600 // $ANTLR start "rule__VLSBinary__Group_1_0_0_1__0__Impl"
8601 // InternalVampireLanguage.g:2632:1: rule__VLSBinary__Group_1_0_0_1__0__Impl : ( () ) ;
8602 public final void rule__VLSBinary__Group_1_0_0_1__0__Impl() throws RecognitionException {
8603
8604 int stackSize = keepStackSize();
8605
8606 try {
8607 // InternalVampireLanguage.g:2636:1: ( ( () ) )
8608 // InternalVampireLanguage.g:2637:1: ( () )
8609 {
8610 // InternalVampireLanguage.g:2637:1: ( () )
8611 // InternalVampireLanguage.g:2638:2: ()
8612 {
8613 before(grammarAccess.getVLSBinaryAccess().getVLSImpliesLeftAction_1_0_0_1_0());
8614 // InternalVampireLanguage.g:2639:2: ()
8615 // InternalVampireLanguage.g:2639:3:
8616 {
8617 }
8618
8619 after(grammarAccess.getVLSBinaryAccess().getVLSImpliesLeftAction_1_0_0_1_0());
8620
8621 }
8622
8623
8624 }
8625
8626 }
8627 finally {
8628
8629 restoreStackSize(stackSize);
8630
8631 }
8632 return ;
8633 }
8634 // $ANTLR end "rule__VLSBinary__Group_1_0_0_1__0__Impl"
8635
8636
8637 // $ANTLR start "rule__VLSBinary__Group_1_0_0_1__1"
8638 // InternalVampireLanguage.g:2647:1: rule__VLSBinary__Group_1_0_0_1__1 : rule__VLSBinary__Group_1_0_0_1__1__Impl ;
8639 public final void rule__VLSBinary__Group_1_0_0_1__1() throws RecognitionException {
8640
8641 int stackSize = keepStackSize();
8642
8643 try {
8644 // InternalVampireLanguage.g:2651:1: ( rule__VLSBinary__Group_1_0_0_1__1__Impl )
8645 // InternalVampireLanguage.g:2652:2: rule__VLSBinary__Group_1_0_0_1__1__Impl
8646 {
8647 pushFollow(FOLLOW_2);
8648 rule__VLSBinary__Group_1_0_0_1__1__Impl();
8649
8650 state._fsp--;
8651
8652
8653 }
8654
8655 }
8656 catch (RecognitionException re) {
8657 reportError(re);
8658 recover(input,re);
8659 }
8660 finally {
8661
8662 restoreStackSize(stackSize);
8663
8664 }
8665 return ;
8666 }
8667 // $ANTLR end "rule__VLSBinary__Group_1_0_0_1__1"
8668
8669
8670 // $ANTLR start "rule__VLSBinary__Group_1_0_0_1__1__Impl"
8671 // InternalVampireLanguage.g:2658:1: rule__VLSBinary__Group_1_0_0_1__1__Impl : ( '=>' ) ;
8672 public final void rule__VLSBinary__Group_1_0_0_1__1__Impl() throws RecognitionException {
8673
8674 int stackSize = keepStackSize();
8675
8676 try {
8677 // InternalVampireLanguage.g:2662:1: ( ( '=>' ) )
8678 // InternalVampireLanguage.g:2663:1: ( '=>' )
8679 {
8680 // InternalVampireLanguage.g:2663:1: ( '=>' )
8681 // InternalVampireLanguage.g:2664:2: '=>'
8682 {
8683 before(grammarAccess.getVLSBinaryAccess().getEqualsSignGreaterThanSignKeyword_1_0_0_1_1());
8684 match(input,52,FOLLOW_2);
8685 after(grammarAccess.getVLSBinaryAccess().getEqualsSignGreaterThanSignKeyword_1_0_0_1_1());
8686
8687 }
8688
8689
8690 }
8691
8692 }
8693 catch (RecognitionException re) {
8694 reportError(re);
8695 recover(input,re);
8696 }
8697 finally {
8698
8699 restoreStackSize(stackSize);
8700
8701 }
8702 return ;
8703 }
8704 // $ANTLR end "rule__VLSBinary__Group_1_0_0_1__1__Impl"
8705
8706
8707 // $ANTLR start "rule__VLSBinary__Group_1_0_0_2__0"
8708 // InternalVampireLanguage.g:2674:1: rule__VLSBinary__Group_1_0_0_2__0 : rule__VLSBinary__Group_1_0_0_2__0__Impl rule__VLSBinary__Group_1_0_0_2__1 ;
8709 public final void rule__VLSBinary__Group_1_0_0_2__0() throws RecognitionException {
8710
8711 int stackSize = keepStackSize();
8712
8713 try {
8714 // InternalVampireLanguage.g:2678:1: ( rule__VLSBinary__Group_1_0_0_2__0__Impl rule__VLSBinary__Group_1_0_0_2__1 )
8715 // InternalVampireLanguage.g:2679:2: rule__VLSBinary__Group_1_0_0_2__0__Impl rule__VLSBinary__Group_1_0_0_2__1
8716 {
8717 pushFollow(FOLLOW_23);
8718 rule__VLSBinary__Group_1_0_0_2__0__Impl();
8719
8720 state._fsp--;
8721
8722 pushFollow(FOLLOW_2);
8723 rule__VLSBinary__Group_1_0_0_2__1();
8724
8725 state._fsp--;
8726
8727
8728 }
8729
8730 }
8731 catch (RecognitionException re) {
8732 reportError(re);
8733 recover(input,re);
8734 }
8735 finally {
8736
8737 restoreStackSize(stackSize);
8738
8739 }
8740 return ;
8741 }
8742 // $ANTLR end "rule__VLSBinary__Group_1_0_0_2__0"
8743
8744
8745 // $ANTLR start "rule__VLSBinary__Group_1_0_0_2__0__Impl"
8746 // InternalVampireLanguage.g:2686:1: rule__VLSBinary__Group_1_0_0_2__0__Impl : ( () ) ;
8747 public final void rule__VLSBinary__Group_1_0_0_2__0__Impl() throws RecognitionException {
8748
8749 int stackSize = keepStackSize();
8750
8751 try {
8752 // InternalVampireLanguage.g:2690:1: ( ( () ) )
8753 // InternalVampireLanguage.g:2691:1: ( () )
8754 {
8755 // InternalVampireLanguage.g:2691:1: ( () )
8756 // InternalVampireLanguage.g:2692:2: ()
8757 {
8758 before(grammarAccess.getVLSBinaryAccess().getVLSRevImpliesLeftAction_1_0_0_2_0());
8759 // InternalVampireLanguage.g:2693:2: ()
8760 // InternalVampireLanguage.g:2693:3:
8761 {
8762 }
8763
8764 after(grammarAccess.getVLSBinaryAccess().getVLSRevImpliesLeftAction_1_0_0_2_0());
8765
8766 }
8767
8768
8769 }
8770
8771 }
8772 finally {
8773
8774 restoreStackSize(stackSize);
8775
8776 }
8777 return ;
8778 }
8779 // $ANTLR end "rule__VLSBinary__Group_1_0_0_2__0__Impl"
8780
8781
8782 // $ANTLR start "rule__VLSBinary__Group_1_0_0_2__1"
8783 // InternalVampireLanguage.g:2701:1: rule__VLSBinary__Group_1_0_0_2__1 : rule__VLSBinary__Group_1_0_0_2__1__Impl ;
8784 public final void rule__VLSBinary__Group_1_0_0_2__1() throws RecognitionException {
8785
8786 int stackSize = keepStackSize();
8787
8788 try {
8789 // InternalVampireLanguage.g:2705:1: ( rule__VLSBinary__Group_1_0_0_2__1__Impl )
8790 // InternalVampireLanguage.g:2706:2: rule__VLSBinary__Group_1_0_0_2__1__Impl
8791 {
8792 pushFollow(FOLLOW_2);
8793 rule__VLSBinary__Group_1_0_0_2__1__Impl();
8794
8795 state._fsp--;
8796
8797
8798 }
8799
8800 }
8801 catch (RecognitionException re) {
8802 reportError(re);
8803 recover(input,re);
8804 }
8805 finally {
8806
8807 restoreStackSize(stackSize);
8808
8809 }
8810 return ;
8811 }
8812 // $ANTLR end "rule__VLSBinary__Group_1_0_0_2__1"
8813
8814
8815 // $ANTLR start "rule__VLSBinary__Group_1_0_0_2__1__Impl"
8816 // InternalVampireLanguage.g:2712:1: rule__VLSBinary__Group_1_0_0_2__1__Impl : ( '<=' ) ;
8817 public final void rule__VLSBinary__Group_1_0_0_2__1__Impl() throws RecognitionException {
8818
8819 int stackSize = keepStackSize();
8820
8821 try {
8822 // InternalVampireLanguage.g:2716:1: ( ( '<=' ) )
8823 // InternalVampireLanguage.g:2717:1: ( '<=' )
8824 {
8825 // InternalVampireLanguage.g:2717:1: ( '<=' )
8826 // InternalVampireLanguage.g:2718:2: '<='
8827 {
8828 before(grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignKeyword_1_0_0_2_1());
8829 match(input,53,FOLLOW_2);
8830 after(grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignKeyword_1_0_0_2_1());
8831
8832 }
8833
8834
8835 }
8836
8837 }
8838 catch (RecognitionException re) {
8839 reportError(re);
8840 recover(input,re);
8841 }
8842 finally {
8843
8844 restoreStackSize(stackSize);
8845
8846 }
8847 return ;
8848 }
8849 // $ANTLR end "rule__VLSBinary__Group_1_0_0_2__1__Impl"
8850
8851
8852 // $ANTLR start "rule__VLSBinary__Group_1_0_0_3__0"
8853 // InternalVampireLanguage.g:2728:1: rule__VLSBinary__Group_1_0_0_3__0 : rule__VLSBinary__Group_1_0_0_3__0__Impl rule__VLSBinary__Group_1_0_0_3__1 ;
8854 public final void rule__VLSBinary__Group_1_0_0_3__0() throws RecognitionException {
8855
8856 int stackSize = keepStackSize();
8857
8858 try {
8859 // InternalVampireLanguage.g:2732:1: ( rule__VLSBinary__Group_1_0_0_3__0__Impl rule__VLSBinary__Group_1_0_0_3__1 )
8860 // InternalVampireLanguage.g:2733:2: rule__VLSBinary__Group_1_0_0_3__0__Impl rule__VLSBinary__Group_1_0_0_3__1
8861 {
8862 pushFollow(FOLLOW_24);
8863 rule__VLSBinary__Group_1_0_0_3__0__Impl();
8864
8865 state._fsp--;
8866
8867 pushFollow(FOLLOW_2);
8868 rule__VLSBinary__Group_1_0_0_3__1();
8869
8870 state._fsp--;
8871
8872
8873 }
8874
8875 }
8876 catch (RecognitionException re) {
8877 reportError(re);
8878 recover(input,re);
8879 }
8880 finally {
8881
8882 restoreStackSize(stackSize);
8883
8884 }
8885 return ;
8886 }
8887 // $ANTLR end "rule__VLSBinary__Group_1_0_0_3__0"
8888
8889
8890 // $ANTLR start "rule__VLSBinary__Group_1_0_0_3__0__Impl"
8891 // InternalVampireLanguage.g:2740:1: rule__VLSBinary__Group_1_0_0_3__0__Impl : ( () ) ;
8892 public final void rule__VLSBinary__Group_1_0_0_3__0__Impl() throws RecognitionException {
8893
8894 int stackSize = keepStackSize();
8895
8896 try {
8897 // InternalVampireLanguage.g:2744:1: ( ( () ) )
8898 // InternalVampireLanguage.g:2745:1: ( () )
8899 {
8900 // InternalVampireLanguage.g:2745:1: ( () )
8901 // InternalVampireLanguage.g:2746:2: ()
8902 {
8903 before(grammarAccess.getVLSBinaryAccess().getVLSXnorLeftAction_1_0_0_3_0());
8904 // InternalVampireLanguage.g:2747:2: ()
8905 // InternalVampireLanguage.g:2747:3:
8906 {
8907 }
8908
8909 after(grammarAccess.getVLSBinaryAccess().getVLSXnorLeftAction_1_0_0_3_0());
8910
8911 }
8912
8913
8914 }
8915
8916 }
8917 finally {
8918
8919 restoreStackSize(stackSize);
8920
8921 }
8922 return ;
8923 }
8924 // $ANTLR end "rule__VLSBinary__Group_1_0_0_3__0__Impl"
8925
8926
8927 // $ANTLR start "rule__VLSBinary__Group_1_0_0_3__1"
8928 // InternalVampireLanguage.g:2755:1: rule__VLSBinary__Group_1_0_0_3__1 : rule__VLSBinary__Group_1_0_0_3__1__Impl ;
8929 public final void rule__VLSBinary__Group_1_0_0_3__1() throws RecognitionException {
8930
8931 int stackSize = keepStackSize();
8932
8933 try {
8934 // InternalVampireLanguage.g:2759:1: ( rule__VLSBinary__Group_1_0_0_3__1__Impl )
8935 // InternalVampireLanguage.g:2760:2: rule__VLSBinary__Group_1_0_0_3__1__Impl
8936 {
8937 pushFollow(FOLLOW_2);
8938 rule__VLSBinary__Group_1_0_0_3__1__Impl();
8939
8940 state._fsp--;
8941
8942
8943 }
8944
8945 }
8946 catch (RecognitionException re) {
8947 reportError(re);
8948 recover(input,re);
8949 }
8950 finally {
8951
8952 restoreStackSize(stackSize);
8953
8954 }
8955 return ;
8956 }
8957 // $ANTLR end "rule__VLSBinary__Group_1_0_0_3__1"
8958
8959
8960 // $ANTLR start "rule__VLSBinary__Group_1_0_0_3__1__Impl"
8961 // InternalVampireLanguage.g:2766:1: rule__VLSBinary__Group_1_0_0_3__1__Impl : ( '<~>' ) ;
8962 public final void rule__VLSBinary__Group_1_0_0_3__1__Impl() throws RecognitionException {
8963
8964 int stackSize = keepStackSize();
8965
8966 try {
8967 // InternalVampireLanguage.g:2770:1: ( ( '<~>' ) )
8968 // InternalVampireLanguage.g:2771:1: ( '<~>' )
8969 {
8970 // InternalVampireLanguage.g:2771:1: ( '<~>' )
8971 // InternalVampireLanguage.g:2772:2: '<~>'
8972 {
8973 before(grammarAccess.getVLSBinaryAccess().getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1());
8974 match(input,54,FOLLOW_2);
8975 after(grammarAccess.getVLSBinaryAccess().getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1());
8976
8977 }
8978
8979
8980 }
8981
8982 }
8983 catch (RecognitionException re) {
8984 reportError(re);
8985 recover(input,re);
8986 }
8987 finally {
8988
8989 restoreStackSize(stackSize);
8990
8991 }
8992 return ;
8993 }
8994 // $ANTLR end "rule__VLSBinary__Group_1_0_0_3__1__Impl"
8995
8996
8997 // $ANTLR start "rule__VLSBinary__Group_1_0_0_4__0"
8998 // InternalVampireLanguage.g:2782:1: rule__VLSBinary__Group_1_0_0_4__0 : rule__VLSBinary__Group_1_0_0_4__0__Impl rule__VLSBinary__Group_1_0_0_4__1 ;
8999 public final void rule__VLSBinary__Group_1_0_0_4__0() throws RecognitionException {
9000
9001 int stackSize = keepStackSize();
9002
9003 try {
9004 // InternalVampireLanguage.g:2786:1: ( rule__VLSBinary__Group_1_0_0_4__0__Impl rule__VLSBinary__Group_1_0_0_4__1 )
9005 // InternalVampireLanguage.g:2787:2: rule__VLSBinary__Group_1_0_0_4__0__Impl rule__VLSBinary__Group_1_0_0_4__1
9006 {
9007 pushFollow(FOLLOW_25);
9008 rule__VLSBinary__Group_1_0_0_4__0__Impl();
9009
9010 state._fsp--;
9011
9012 pushFollow(FOLLOW_2);
9013 rule__VLSBinary__Group_1_0_0_4__1();
9014
9015 state._fsp--;
9016
9017
9018 }
9019
9020 }
9021 catch (RecognitionException re) {
9022 reportError(re);
9023 recover(input,re);
9024 }
9025 finally {
9026
9027 restoreStackSize(stackSize);
9028
9029 }
9030 return ;
9031 }
9032 // $ANTLR end "rule__VLSBinary__Group_1_0_0_4__0"
9033
9034
9035 // $ANTLR start "rule__VLSBinary__Group_1_0_0_4__0__Impl"
9036 // InternalVampireLanguage.g:2794:1: rule__VLSBinary__Group_1_0_0_4__0__Impl : ( () ) ;
9037 public final void rule__VLSBinary__Group_1_0_0_4__0__Impl() throws RecognitionException {
9038
9039 int stackSize = keepStackSize();
9040
9041 try {
9042 // InternalVampireLanguage.g:2798:1: ( ( () ) )
9043 // InternalVampireLanguage.g:2799:1: ( () )
9044 {
9045 // InternalVampireLanguage.g:2799:1: ( () )
9046 // InternalVampireLanguage.g:2800:2: ()
9047 {
9048 before(grammarAccess.getVLSBinaryAccess().getVLSNorLeftAction_1_0_0_4_0());
9049 // InternalVampireLanguage.g:2801:2: ()
9050 // InternalVampireLanguage.g:2801:3:
9051 {
9052 }
9053
9054 after(grammarAccess.getVLSBinaryAccess().getVLSNorLeftAction_1_0_0_4_0());
9055
9056 }
9057
9058
9059 }
9060
9061 }
9062 finally {
9063
9064 restoreStackSize(stackSize);
9065
9066 }
9067 return ;
9068 }
9069 // $ANTLR end "rule__VLSBinary__Group_1_0_0_4__0__Impl"
9070
9071
9072 // $ANTLR start "rule__VLSBinary__Group_1_0_0_4__1"
9073 // InternalVampireLanguage.g:2809:1: rule__VLSBinary__Group_1_0_0_4__1 : rule__VLSBinary__Group_1_0_0_4__1__Impl ;
9074 public final void rule__VLSBinary__Group_1_0_0_4__1() throws RecognitionException {
9075
9076 int stackSize = keepStackSize();
9077
9078 try {
9079 // InternalVampireLanguage.g:2813:1: ( rule__VLSBinary__Group_1_0_0_4__1__Impl )
9080 // InternalVampireLanguage.g:2814:2: rule__VLSBinary__Group_1_0_0_4__1__Impl
9081 {
9082 pushFollow(FOLLOW_2);
9083 rule__VLSBinary__Group_1_0_0_4__1__Impl();
9084
9085 state._fsp--;
9086
9087
9088 }
9089
9090 }
9091 catch (RecognitionException re) {
9092 reportError(re);
9093 recover(input,re);
9094 }
9095 finally {
9096
9097 restoreStackSize(stackSize);
9098
9099 }
9100 return ;
9101 }
9102 // $ANTLR end "rule__VLSBinary__Group_1_0_0_4__1"
9103
9104
9105 // $ANTLR start "rule__VLSBinary__Group_1_0_0_4__1__Impl"
9106 // InternalVampireLanguage.g:2820:1: rule__VLSBinary__Group_1_0_0_4__1__Impl : ( '~|' ) ;
9107 public final void rule__VLSBinary__Group_1_0_0_4__1__Impl() throws RecognitionException {
9108
9109 int stackSize = keepStackSize();
9110
9111 try {
9112 // InternalVampireLanguage.g:2824:1: ( ( '~|' ) )
9113 // InternalVampireLanguage.g:2825:1: ( '~|' )
9114 {
9115 // InternalVampireLanguage.g:2825:1: ( '~|' )
9116 // InternalVampireLanguage.g:2826:2: '~|'
9117 {
9118 before(grammarAccess.getVLSBinaryAccess().getTildeVerticalLineKeyword_1_0_0_4_1());
9119 match(input,55,FOLLOW_2);
9120 after(grammarAccess.getVLSBinaryAccess().getTildeVerticalLineKeyword_1_0_0_4_1());
9121
9122 }
9123
9124
9125 }
9126
9127 }
9128 catch (RecognitionException re) {
9129 reportError(re);
9130 recover(input,re);
9131 }
9132 finally {
9133
9134 restoreStackSize(stackSize);
9135
9136 }
9137 return ;
9138 }
9139 // $ANTLR end "rule__VLSBinary__Group_1_0_0_4__1__Impl"
9140
9141
9142 // $ANTLR start "rule__VLSBinary__Group_1_0_0_5__0"
9143 // InternalVampireLanguage.g:2836:1: rule__VLSBinary__Group_1_0_0_5__0 : rule__VLSBinary__Group_1_0_0_5__0__Impl rule__VLSBinary__Group_1_0_0_5__1 ;
9144 public final void rule__VLSBinary__Group_1_0_0_5__0() throws RecognitionException {
9145
9146 int stackSize = keepStackSize();
9147
9148 try {
9149 // InternalVampireLanguage.g:2840:1: ( rule__VLSBinary__Group_1_0_0_5__0__Impl rule__VLSBinary__Group_1_0_0_5__1 )
9150 // InternalVampireLanguage.g:2841:2: rule__VLSBinary__Group_1_0_0_5__0__Impl rule__VLSBinary__Group_1_0_0_5__1
9151 {
9152 pushFollow(FOLLOW_26);
9153 rule__VLSBinary__Group_1_0_0_5__0__Impl();
9154
9155 state._fsp--;
9156
9157 pushFollow(FOLLOW_2);
9158 rule__VLSBinary__Group_1_0_0_5__1();
9159
9160 state._fsp--;
9161
9162
9163 }
9164
9165 }
9166 catch (RecognitionException re) {
9167 reportError(re);
9168 recover(input,re);
9169 }
9170 finally {
9171
9172 restoreStackSize(stackSize);
9173
9174 }
9175 return ;
9176 }
9177 // $ANTLR end "rule__VLSBinary__Group_1_0_0_5__0"
9178
9179
9180 // $ANTLR start "rule__VLSBinary__Group_1_0_0_5__0__Impl"
9181 // InternalVampireLanguage.g:2848:1: rule__VLSBinary__Group_1_0_0_5__0__Impl : ( () ) ;
9182 public final void rule__VLSBinary__Group_1_0_0_5__0__Impl() throws RecognitionException {
9183
9184 int stackSize = keepStackSize();
9185
9186 try {
9187 // InternalVampireLanguage.g:2852:1: ( ( () ) )
9188 // InternalVampireLanguage.g:2853:1: ( () )
9189 {
9190 // InternalVampireLanguage.g:2853:1: ( () )
9191 // InternalVampireLanguage.g:2854:2: ()
9192 {
9193 before(grammarAccess.getVLSBinaryAccess().getVLSNandLeftAction_1_0_0_5_0());
9194 // InternalVampireLanguage.g:2855:2: ()
9195 // InternalVampireLanguage.g:2855:3:
9196 {
9197 }
9198
9199 after(grammarAccess.getVLSBinaryAccess().getVLSNandLeftAction_1_0_0_5_0());
9200
9201 }
9202
9203
9204 }
9205
9206 }
9207 finally {
9208
9209 restoreStackSize(stackSize);
9210
9211 }
9212 return ;
9213 }
9214 // $ANTLR end "rule__VLSBinary__Group_1_0_0_5__0__Impl"
9215
9216
9217 // $ANTLR start "rule__VLSBinary__Group_1_0_0_5__1"
9218 // InternalVampireLanguage.g:2863:1: rule__VLSBinary__Group_1_0_0_5__1 : rule__VLSBinary__Group_1_0_0_5__1__Impl ;
9219 public final void rule__VLSBinary__Group_1_0_0_5__1() throws RecognitionException {
9220
9221 int stackSize = keepStackSize();
9222
9223 try {
9224 // InternalVampireLanguage.g:2867:1: ( rule__VLSBinary__Group_1_0_0_5__1__Impl )
9225 // InternalVampireLanguage.g:2868:2: rule__VLSBinary__Group_1_0_0_5__1__Impl
9226 {
9227 pushFollow(FOLLOW_2);
9228 rule__VLSBinary__Group_1_0_0_5__1__Impl();
9229
9230 state._fsp--;
9231
9232
9233 }
9234
9235 }
9236 catch (RecognitionException re) {
9237 reportError(re);
9238 recover(input,re);
9239 }
9240 finally {
9241
9242 restoreStackSize(stackSize);
9243
9244 }
9245 return ;
9246 }
9247 // $ANTLR end "rule__VLSBinary__Group_1_0_0_5__1"
9248
9249
9250 // $ANTLR start "rule__VLSBinary__Group_1_0_0_5__1__Impl"
9251 // InternalVampireLanguage.g:2874:1: rule__VLSBinary__Group_1_0_0_5__1__Impl : ( '~&' ) ;
9252 public final void rule__VLSBinary__Group_1_0_0_5__1__Impl() throws RecognitionException {
9253
9254 int stackSize = keepStackSize();
9255
9256 try {
9257 // InternalVampireLanguage.g:2878:1: ( ( '~&' ) )
9258 // InternalVampireLanguage.g:2879:1: ( '~&' )
9259 {
9260 // InternalVampireLanguage.g:2879:1: ( '~&' )
9261 // InternalVampireLanguage.g:2880:2: '~&'
9262 {
9263 before(grammarAccess.getVLSBinaryAccess().getTildeAmpersandKeyword_1_0_0_5_1());
9264 match(input,56,FOLLOW_2);
9265 after(grammarAccess.getVLSBinaryAccess().getTildeAmpersandKeyword_1_0_0_5_1());
9266
9267 }
9268
9269
9270 }
9271
9272 }
9273 catch (RecognitionException re) {
9274 reportError(re);
9275 recover(input,re);
9276 }
9277 finally {
9278
9279 restoreStackSize(stackSize);
9280
9281 }
9282 return ;
9283 }
9284 // $ANTLR end "rule__VLSBinary__Group_1_0_0_5__1__Impl"
9285
9286
9287 // $ANTLR start "rule__VLSBinary__Group_1_1__0"
9288 // InternalVampireLanguage.g:2890:1: rule__VLSBinary__Group_1_1__0 : rule__VLSBinary__Group_1_1__0__Impl rule__VLSBinary__Group_1_1__1 ;
9289 public final void rule__VLSBinary__Group_1_1__0() throws RecognitionException {
9290
9291 int stackSize = keepStackSize();
9292
9293 try {
9294 // InternalVampireLanguage.g:2894:1: ( rule__VLSBinary__Group_1_1__0__Impl rule__VLSBinary__Group_1_1__1 )
9295 // InternalVampireLanguage.g:2895:2: rule__VLSBinary__Group_1_1__0__Impl rule__VLSBinary__Group_1_1__1
9296 {
9297 pushFollow(FOLLOW_27);
9298 rule__VLSBinary__Group_1_1__0__Impl();
9299
9300 state._fsp--;
9301
9302 pushFollow(FOLLOW_2);
9303 rule__VLSBinary__Group_1_1__1();
9304
9305 state._fsp--;
9306
9307
9308 }
9309
9310 }
9311 catch (RecognitionException re) {
9312 reportError(re);
9313 recover(input,re);
9314 }
9315 finally {
9316
9317 restoreStackSize(stackSize);
9318
9319 }
9320 return ;
9321 }
9322 // $ANTLR end "rule__VLSBinary__Group_1_1__0"
9323
9324
9325 // $ANTLR start "rule__VLSBinary__Group_1_1__0__Impl"
9326 // InternalVampireLanguage.g:2902:1: rule__VLSBinary__Group_1_1__0__Impl : ( () ) ;
9327 public final void rule__VLSBinary__Group_1_1__0__Impl() throws RecognitionException {
9328
9329 int stackSize = keepStackSize();
9330
9331 try {
9332 // InternalVampireLanguage.g:2906:1: ( ( () ) )
9333 // InternalVampireLanguage.g:2907:1: ( () )
9334 {
9335 // InternalVampireLanguage.g:2907:1: ( () )
9336 // InternalVampireLanguage.g:2908:2: ()
9337 {
9338 before(grammarAccess.getVLSBinaryAccess().getVLSAndLeftAction_1_1_0());
9339 // InternalVampireLanguage.g:2909:2: ()
9340 // InternalVampireLanguage.g:2909:3:
9341 {
9342 }
9343
9344 after(grammarAccess.getVLSBinaryAccess().getVLSAndLeftAction_1_1_0());
9345
9346 }
9347
9348
9349 }
9350
9351 }
9352 finally {
9353
9354 restoreStackSize(stackSize);
9355
9356 }
9357 return ;
9358 }
9359 // $ANTLR end "rule__VLSBinary__Group_1_1__0__Impl"
9360
9361
9362 // $ANTLR start "rule__VLSBinary__Group_1_1__1"
9363 // InternalVampireLanguage.g:2917:1: rule__VLSBinary__Group_1_1__1 : rule__VLSBinary__Group_1_1__1__Impl rule__VLSBinary__Group_1_1__2 ;
9364 public final void rule__VLSBinary__Group_1_1__1() throws RecognitionException {
9365
9366 int stackSize = keepStackSize();
9367
9368 try {
9369 // InternalVampireLanguage.g:2921:1: ( rule__VLSBinary__Group_1_1__1__Impl rule__VLSBinary__Group_1_1__2 )
9370 // InternalVampireLanguage.g:2922:2: rule__VLSBinary__Group_1_1__1__Impl rule__VLSBinary__Group_1_1__2
9371 {
9372 pushFollow(FOLLOW_15);
9373 rule__VLSBinary__Group_1_1__1__Impl();
9374
9375 state._fsp--;
9376
9377 pushFollow(FOLLOW_2);
9378 rule__VLSBinary__Group_1_1__2();
9379
9380 state._fsp--;
9381
9382
9383 }
9384
9385 }
9386 catch (RecognitionException re) {
9387 reportError(re);
9388 recover(input,re);
9389 }
9390 finally {
9391
9392 restoreStackSize(stackSize);
9393
9394 }
9395 return ;
9396 }
9397 // $ANTLR end "rule__VLSBinary__Group_1_1__1"
9398
9399
9400 // $ANTLR start "rule__VLSBinary__Group_1_1__1__Impl"
9401 // InternalVampireLanguage.g:2929:1: rule__VLSBinary__Group_1_1__1__Impl : ( '&' ) ;
9402 public final void rule__VLSBinary__Group_1_1__1__Impl() throws RecognitionException {
9403
9404 int stackSize = keepStackSize();
9405
9406 try {
9407 // InternalVampireLanguage.g:2933:1: ( ( '&' ) )
9408 // InternalVampireLanguage.g:2934:1: ( '&' )
9409 {
9410 // InternalVampireLanguage.g:2934:1: ( '&' )
9411 // InternalVampireLanguage.g:2935:2: '&'
9412 {
9413 before(grammarAccess.getVLSBinaryAccess().getAmpersandKeyword_1_1_1());
9414 match(input,57,FOLLOW_2);
9415 after(grammarAccess.getVLSBinaryAccess().getAmpersandKeyword_1_1_1());
9416
9417 }
9418
9419
9420 }
9421
9422 }
9423 catch (RecognitionException re) {
9424 reportError(re);
9425 recover(input,re);
9426 }
9427 finally {
9428
9429 restoreStackSize(stackSize);
9430
9431 }
9432 return ;
9433 }
9434 // $ANTLR end "rule__VLSBinary__Group_1_1__1__Impl"
9435
9436
9437 // $ANTLR start "rule__VLSBinary__Group_1_1__2"
9438 // InternalVampireLanguage.g:2944:1: rule__VLSBinary__Group_1_1__2 : rule__VLSBinary__Group_1_1__2__Impl ;
9439 public final void rule__VLSBinary__Group_1_1__2() throws RecognitionException {
9440
9441 int stackSize = keepStackSize();
9442
9443 try {
9444 // InternalVampireLanguage.g:2948:1: ( rule__VLSBinary__Group_1_1__2__Impl )
9445 // InternalVampireLanguage.g:2949:2: rule__VLSBinary__Group_1_1__2__Impl
9446 {
9447 pushFollow(FOLLOW_2);
9448 rule__VLSBinary__Group_1_1__2__Impl();
9449
9450 state._fsp--;
9451
9452
9453 }
9454
9455 }
9456 catch (RecognitionException re) {
9457 reportError(re);
9458 recover(input,re);
9459 }
9460 finally {
9461
9462 restoreStackSize(stackSize);
9463
9464 }
9465 return ;
9466 }
9467 // $ANTLR end "rule__VLSBinary__Group_1_1__2"
9468
9469
9470 // $ANTLR start "rule__VLSBinary__Group_1_1__2__Impl"
9471 // InternalVampireLanguage.g:2955:1: rule__VLSBinary__Group_1_1__2__Impl : ( ( rule__VLSBinary__RightAssignment_1_1_2 ) ) ;
9472 public final void rule__VLSBinary__Group_1_1__2__Impl() throws RecognitionException {
9473
9474 int stackSize = keepStackSize();
9475
9476 try {
9477 // InternalVampireLanguage.g:2959:1: ( ( ( rule__VLSBinary__RightAssignment_1_1_2 ) ) )
9478 // InternalVampireLanguage.g:2960:1: ( ( rule__VLSBinary__RightAssignment_1_1_2 ) )
9479 {
9480 // InternalVampireLanguage.g:2960:1: ( ( rule__VLSBinary__RightAssignment_1_1_2 ) )
9481 // InternalVampireLanguage.g:2961:2: ( rule__VLSBinary__RightAssignment_1_1_2 )
9482 {
9483 before(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_1_2());
9484 // InternalVampireLanguage.g:2962:2: ( rule__VLSBinary__RightAssignment_1_1_2 )
9485 // InternalVampireLanguage.g:2962:3: rule__VLSBinary__RightAssignment_1_1_2
9486 {
9487 pushFollow(FOLLOW_2);
9488 rule__VLSBinary__RightAssignment_1_1_2();
9489
9490 state._fsp--;
9491
9492
9493 }
9494
9495 after(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_1_2());
9496
9497 }
9498
9499
9500 }
9501
9502 }
9503 catch (RecognitionException re) {
9504 reportError(re);
9505 recover(input,re);
9506 }
9507 finally {
9508
9509 restoreStackSize(stackSize);
9510
9511 }
9512 return ;
9513 }
9514 // $ANTLR end "rule__VLSBinary__Group_1_1__2__Impl"
9515
9516
9517 // $ANTLR start "rule__VLSBinary__Group_1_2__0"
9518 // InternalVampireLanguage.g:2971:1: rule__VLSBinary__Group_1_2__0 : rule__VLSBinary__Group_1_2__0__Impl rule__VLSBinary__Group_1_2__1 ;
9519 public final void rule__VLSBinary__Group_1_2__0() throws RecognitionException {
9520
9521 int stackSize = keepStackSize();
9522
9523 try {
9524 // InternalVampireLanguage.g:2975:1: ( rule__VLSBinary__Group_1_2__0__Impl rule__VLSBinary__Group_1_2__1 )
9525 // InternalVampireLanguage.g:2976:2: rule__VLSBinary__Group_1_2__0__Impl rule__VLSBinary__Group_1_2__1
9526 {
9527 pushFollow(FOLLOW_28);
9528 rule__VLSBinary__Group_1_2__0__Impl();
9529
9530 state._fsp--;
9531
9532 pushFollow(FOLLOW_2);
9533 rule__VLSBinary__Group_1_2__1();
9534
9535 state._fsp--;
9536
9537
9538 }
9539
9540 }
9541 catch (RecognitionException re) {
9542 reportError(re);
9543 recover(input,re);
9544 }
9545 finally {
9546
9547 restoreStackSize(stackSize);
9548
9549 }
9550 return ;
9551 }
9552 // $ANTLR end "rule__VLSBinary__Group_1_2__0"
9553
9554
9555 // $ANTLR start "rule__VLSBinary__Group_1_2__0__Impl"
9556 // InternalVampireLanguage.g:2983:1: rule__VLSBinary__Group_1_2__0__Impl : ( () ) ;
9557 public final void rule__VLSBinary__Group_1_2__0__Impl() throws RecognitionException {
9558
9559 int stackSize = keepStackSize();
9560
9561 try {
9562 // InternalVampireLanguage.g:2987:1: ( ( () ) )
9563 // InternalVampireLanguage.g:2988:1: ( () )
9564 {
9565 // InternalVampireLanguage.g:2988:1: ( () )
9566 // InternalVampireLanguage.g:2989:2: ()
9567 {
9568 before(grammarAccess.getVLSBinaryAccess().getVLSOrLeftAction_1_2_0());
9569 // InternalVampireLanguage.g:2990:2: ()
9570 // InternalVampireLanguage.g:2990:3:
9571 {
9572 }
9573
9574 after(grammarAccess.getVLSBinaryAccess().getVLSOrLeftAction_1_2_0());
9575
9576 }
9577
9578
9579 }
9580
9581 }
9582 finally {
9583
9584 restoreStackSize(stackSize);
9585
9586 }
9587 return ;
9588 }
9589 // $ANTLR end "rule__VLSBinary__Group_1_2__0__Impl"
9590
9591
9592 // $ANTLR start "rule__VLSBinary__Group_1_2__1"
9593 // InternalVampireLanguage.g:2998:1: rule__VLSBinary__Group_1_2__1 : rule__VLSBinary__Group_1_2__1__Impl rule__VLSBinary__Group_1_2__2 ;
9594 public final void rule__VLSBinary__Group_1_2__1() throws RecognitionException {
9595
9596 int stackSize = keepStackSize();
9597
9598 try {
9599 // InternalVampireLanguage.g:3002:1: ( rule__VLSBinary__Group_1_2__1__Impl rule__VLSBinary__Group_1_2__2 )
9600 // InternalVampireLanguage.g:3003:2: rule__VLSBinary__Group_1_2__1__Impl rule__VLSBinary__Group_1_2__2
9601 {
9602 pushFollow(FOLLOW_15);
9603 rule__VLSBinary__Group_1_2__1__Impl();
9604
9605 state._fsp--;
9606
9607 pushFollow(FOLLOW_2);
9608 rule__VLSBinary__Group_1_2__2();
9609
9610 state._fsp--;
9611
9612
9613 }
9614
9615 }
9616 catch (RecognitionException re) {
9617 reportError(re);
9618 recover(input,re);
9619 }
9620 finally {
9621
9622 restoreStackSize(stackSize);
9623
9624 }
9625 return ;
9626 }
9627 // $ANTLR end "rule__VLSBinary__Group_1_2__1"
9628
9629
9630 // $ANTLR start "rule__VLSBinary__Group_1_2__1__Impl"
9631 // InternalVampireLanguage.g:3010:1: rule__VLSBinary__Group_1_2__1__Impl : ( '|' ) ;
9632 public final void rule__VLSBinary__Group_1_2__1__Impl() throws RecognitionException {
9633
9634 int stackSize = keepStackSize();
9635
9636 try {
9637 // InternalVampireLanguage.g:3014:1: ( ( '|' ) )
9638 // InternalVampireLanguage.g:3015:1: ( '|' )
9639 {
9640 // InternalVampireLanguage.g:3015:1: ( '|' )
9641 // InternalVampireLanguage.g:3016:2: '|'
9642 {
9643 before(grammarAccess.getVLSBinaryAccess().getVerticalLineKeyword_1_2_1());
9644 match(input,58,FOLLOW_2);
9645 after(grammarAccess.getVLSBinaryAccess().getVerticalLineKeyword_1_2_1());
9646
9647 }
9648
9649
9650 }
9651
9652 }
9653 catch (RecognitionException re) {
9654 reportError(re);
9655 recover(input,re);
9656 }
9657 finally {
9658
9659 restoreStackSize(stackSize);
9660
9661 }
9662 return ;
9663 }
9664 // $ANTLR end "rule__VLSBinary__Group_1_2__1__Impl"
9665
9666
9667 // $ANTLR start "rule__VLSBinary__Group_1_2__2"
9668 // InternalVampireLanguage.g:3025:1: rule__VLSBinary__Group_1_2__2 : rule__VLSBinary__Group_1_2__2__Impl ;
9669 public final void rule__VLSBinary__Group_1_2__2() throws RecognitionException {
9670
9671 int stackSize = keepStackSize();
9672
9673 try {
9674 // InternalVampireLanguage.g:3029:1: ( rule__VLSBinary__Group_1_2__2__Impl )
9675 // InternalVampireLanguage.g:3030:2: rule__VLSBinary__Group_1_2__2__Impl
9676 {
9677 pushFollow(FOLLOW_2);
9678 rule__VLSBinary__Group_1_2__2__Impl();
9679
9680 state._fsp--;
9681
9682
9683 }
9684
9685 }
9686 catch (RecognitionException re) {
9687 reportError(re);
9688 recover(input,re);
9689 }
9690 finally {
9691
9692 restoreStackSize(stackSize);
9693
9694 }
9695 return ;
9696 }
9697 // $ANTLR end "rule__VLSBinary__Group_1_2__2"
9698
9699
9700 // $ANTLR start "rule__VLSBinary__Group_1_2__2__Impl"
9701 // InternalVampireLanguage.g:3036:1: rule__VLSBinary__Group_1_2__2__Impl : ( ( rule__VLSBinary__RightAssignment_1_2_2 ) ) ;
9702 public final void rule__VLSBinary__Group_1_2__2__Impl() throws RecognitionException {
9703
9704 int stackSize = keepStackSize();
9705
9706 try {
9707 // InternalVampireLanguage.g:3040:1: ( ( ( rule__VLSBinary__RightAssignment_1_2_2 ) ) )
9708 // InternalVampireLanguage.g:3041:1: ( ( rule__VLSBinary__RightAssignment_1_2_2 ) )
9709 {
9710 // InternalVampireLanguage.g:3041:1: ( ( rule__VLSBinary__RightAssignment_1_2_2 ) )
9711 // InternalVampireLanguage.g:3042:2: ( rule__VLSBinary__RightAssignment_1_2_2 )
9712 {
9713 before(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_2_2());
9714 // InternalVampireLanguage.g:3043:2: ( rule__VLSBinary__RightAssignment_1_2_2 )
9715 // InternalVampireLanguage.g:3043:3: rule__VLSBinary__RightAssignment_1_2_2
9716 {
9717 pushFollow(FOLLOW_2);
9718 rule__VLSBinary__RightAssignment_1_2_2();
9719
9720 state._fsp--;
9721
9722
9723 }
9724
9725 after(grammarAccess.getVLSBinaryAccess().getRightAssignment_1_2_2());
9726
9727 }
9728
9729
9730 }
9731
9732 }
9733 catch (RecognitionException re) {
9734 reportError(re);
9735 recover(input,re);
9736 }
9737 finally {
9738
9739 restoreStackSize(stackSize);
9740
9741 }
9742 return ;
9743 }
9744 // $ANTLR end "rule__VLSBinary__Group_1_2__2__Impl"
9745
9746
9747 // $ANTLR start "rule__VLSUnitaryFormula__Group_4__0"
9748 // InternalVampireLanguage.g:3052:1: rule__VLSUnitaryFormula__Group_4__0 : rule__VLSUnitaryFormula__Group_4__0__Impl rule__VLSUnitaryFormula__Group_4__1 ;
9749 public final void rule__VLSUnitaryFormula__Group_4__0() throws RecognitionException {
9750
9751 int stackSize = keepStackSize();
9752
9753 try {
9754 // InternalVampireLanguage.g:3056:1: ( rule__VLSUnitaryFormula__Group_4__0__Impl rule__VLSUnitaryFormula__Group_4__1 )
9755 // InternalVampireLanguage.g:3057:2: rule__VLSUnitaryFormula__Group_4__0__Impl rule__VLSUnitaryFormula__Group_4__1
9756 {
9757 pushFollow(FOLLOW_15);
9758 rule__VLSUnitaryFormula__Group_4__0__Impl();
9759
9760 state._fsp--;
9761
9762 pushFollow(FOLLOW_2);
9763 rule__VLSUnitaryFormula__Group_4__1();
9764
9765 state._fsp--;
9766
9767
9768 }
9769
9770 }
9771 catch (RecognitionException re) {
9772 reportError(re);
9773 recover(input,re);
9774 }
9775 finally {
9776
9777 restoreStackSize(stackSize);
9778
9779 }
9780 return ;
9781 }
9782 // $ANTLR end "rule__VLSUnitaryFormula__Group_4__0"
9783
9784
9785 // $ANTLR start "rule__VLSUnitaryFormula__Group_4__0__Impl"
9786 // InternalVampireLanguage.g:3064:1: rule__VLSUnitaryFormula__Group_4__0__Impl : ( '(' ) ;
9787 public final void rule__VLSUnitaryFormula__Group_4__0__Impl() throws RecognitionException {
9788
9789 int stackSize = keepStackSize();
9790
9791 try {
9792 // InternalVampireLanguage.g:3068:1: ( ( '(' ) )
9793 // InternalVampireLanguage.g:3069:1: ( '(' )
9794 {
9795 // InternalVampireLanguage.g:3069:1: ( '(' )
9796 // InternalVampireLanguage.g:3070:2: '('
9797 {
9798 before(grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0());
9799 match(input,47,FOLLOW_2);
9800 after(grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0());
9801
9802 }
9803
9804
9805 }
9806
9807 }
9808 catch (RecognitionException re) {
9809 reportError(re);
9810 recover(input,re);
9811 }
9812 finally {
9813
9814 restoreStackSize(stackSize);
9815
9816 }
9817 return ;
9818 }
9819 // $ANTLR end "rule__VLSUnitaryFormula__Group_4__0__Impl"
9820
9821
9822 // $ANTLR start "rule__VLSUnitaryFormula__Group_4__1"
9823 // InternalVampireLanguage.g:3079:1: rule__VLSUnitaryFormula__Group_4__1 : rule__VLSUnitaryFormula__Group_4__1__Impl rule__VLSUnitaryFormula__Group_4__2 ;
9824 public final void rule__VLSUnitaryFormula__Group_4__1() throws RecognitionException {
9825
9826 int stackSize = keepStackSize();
9827
9828 try {
9829 // InternalVampireLanguage.g:3083:1: ( rule__VLSUnitaryFormula__Group_4__1__Impl rule__VLSUnitaryFormula__Group_4__2 )
9830 // InternalVampireLanguage.g:3084:2: rule__VLSUnitaryFormula__Group_4__1__Impl rule__VLSUnitaryFormula__Group_4__2
9831 {
9832 pushFollow(FOLLOW_19);
9833 rule__VLSUnitaryFormula__Group_4__1__Impl();
9834
9835 state._fsp--;
9836
9837 pushFollow(FOLLOW_2);
9838 rule__VLSUnitaryFormula__Group_4__2();
9839
9840 state._fsp--;
9841
9842
9843 }
9844
9845 }
9846 catch (RecognitionException re) {
9847 reportError(re);
9848 recover(input,re);
9849 }
9850 finally {
9851
9852 restoreStackSize(stackSize);
9853
9854 }
9855 return ;
9856 }
9857 // $ANTLR end "rule__VLSUnitaryFormula__Group_4__1"
9858
9859
9860 // $ANTLR start "rule__VLSUnitaryFormula__Group_4__1__Impl"
9861 // InternalVampireLanguage.g:3091:1: rule__VLSUnitaryFormula__Group_4__1__Impl : ( ruleVLSTerm ) ;
9862 public final void rule__VLSUnitaryFormula__Group_4__1__Impl() throws RecognitionException {
9863
9864 int stackSize = keepStackSize();
9865
9866 try {
9867 // InternalVampireLanguage.g:3095:1: ( ( ruleVLSTerm ) )
9868 // InternalVampireLanguage.g:3096:1: ( ruleVLSTerm )
9869 {
9870 // InternalVampireLanguage.g:3096:1: ( ruleVLSTerm )
9871 // InternalVampireLanguage.g:3097:2: ruleVLSTerm
9872 {
9873 before(grammarAccess.getVLSUnitaryFormulaAccess().getVLSTermParserRuleCall_4_1());
9874 pushFollow(FOLLOW_2);
9875 ruleVLSTerm();
9876
9877 state._fsp--;
9878
9879 after(grammarAccess.getVLSUnitaryFormulaAccess().getVLSTermParserRuleCall_4_1());
9880
9881 }
9882
9883
9884 }
9885
9886 }
9887 catch (RecognitionException re) {
9888 reportError(re);
9889 recover(input,re);
9890 }
9891 finally {
9892
9893 restoreStackSize(stackSize);
9894
9895 }
9896 return ;
9897 }
9898 // $ANTLR end "rule__VLSUnitaryFormula__Group_4__1__Impl"
9899
9900
9901 // $ANTLR start "rule__VLSUnitaryFormula__Group_4__2"
9902 // InternalVampireLanguage.g:3106:1: rule__VLSUnitaryFormula__Group_4__2 : rule__VLSUnitaryFormula__Group_4__2__Impl ;
9903 public final void rule__VLSUnitaryFormula__Group_4__2() throws RecognitionException {
9904
9905 int stackSize = keepStackSize();
9906
9907 try {
9908 // InternalVampireLanguage.g:3110:1: ( rule__VLSUnitaryFormula__Group_4__2__Impl )
9909 // InternalVampireLanguage.g:3111:2: rule__VLSUnitaryFormula__Group_4__2__Impl
9910 {
9911 pushFollow(FOLLOW_2);
9912 rule__VLSUnitaryFormula__Group_4__2__Impl();
9913
9914 state._fsp--;
9915
9916
9917 }
9918
9919 }
9920 catch (RecognitionException re) {
9921 reportError(re);
9922 recover(input,re);
9923 }
9924 finally {
9925
9926 restoreStackSize(stackSize);
9927
9928 }
9929 return ;
9930 }
9931 // $ANTLR end "rule__VLSUnitaryFormula__Group_4__2"
9932
9933
9934 // $ANTLR start "rule__VLSUnitaryFormula__Group_4__2__Impl"
9935 // InternalVampireLanguage.g:3117:1: rule__VLSUnitaryFormula__Group_4__2__Impl : ( ')' ) ;
9936 public final void rule__VLSUnitaryFormula__Group_4__2__Impl() throws RecognitionException {
9937
9938 int stackSize = keepStackSize();
9939
9940 try {
9941 // InternalVampireLanguage.g:3121:1: ( ( ')' ) )
9942 // InternalVampireLanguage.g:3122:1: ( ')' )
9943 {
9944 // InternalVampireLanguage.g:3122:1: ( ')' )
9945 // InternalVampireLanguage.g:3123:2: ')'
9946 {
9947 before(grammarAccess.getVLSUnitaryFormulaAccess().getRightParenthesisKeyword_4_2());
9948 match(input,48,FOLLOW_2);
9949 after(grammarAccess.getVLSUnitaryFormulaAccess().getRightParenthesisKeyword_4_2());
9950
9951 }
9952
9953
9954 }
9955
9956 }
9957 catch (RecognitionException re) {
9958 reportError(re);
9959 recover(input,re);
9960 }
9961 finally {
9962
9963 restoreStackSize(stackSize);
9964
9965 }
9966 return ;
9967 }
9968 // $ANTLR end "rule__VLSUnitaryFormula__Group_4__2__Impl"
9969
9970
9971 // $ANTLR start "rule__VLSUniversalQuantifier__Group__0"
9972 // InternalVampireLanguage.g:3133:1: rule__VLSUniversalQuantifier__Group__0 : rule__VLSUniversalQuantifier__Group__0__Impl rule__VLSUniversalQuantifier__Group__1 ;
9973 public final void rule__VLSUniversalQuantifier__Group__0() throws RecognitionException {
9974
9975 int stackSize = keepStackSize();
9976
9977 try {
9978 // InternalVampireLanguage.g:3137:1: ( rule__VLSUniversalQuantifier__Group__0__Impl rule__VLSUniversalQuantifier__Group__1 )
9979 // InternalVampireLanguage.g:3138:2: rule__VLSUniversalQuantifier__Group__0__Impl rule__VLSUniversalQuantifier__Group__1
9980 {
9981 pushFollow(FOLLOW_29);
9982 rule__VLSUniversalQuantifier__Group__0__Impl();
9983
9984 state._fsp--;
9985
9986 pushFollow(FOLLOW_2);
9987 rule__VLSUniversalQuantifier__Group__1();
9988
9989 state._fsp--;
9990
9991
9992 }
9993
9994 }
9995 catch (RecognitionException re) {
9996 reportError(re);
9997 recover(input,re);
9998 }
9999 finally {
10000
10001 restoreStackSize(stackSize);
10002
10003 }
10004 return ;
10005 }
10006 // $ANTLR end "rule__VLSUniversalQuantifier__Group__0"
10007
10008
10009 // $ANTLR start "rule__VLSUniversalQuantifier__Group__0__Impl"
10010 // InternalVampireLanguage.g:3145:1: rule__VLSUniversalQuantifier__Group__0__Impl : ( () ) ;
10011 public final void rule__VLSUniversalQuantifier__Group__0__Impl() throws RecognitionException {
10012
10013 int stackSize = keepStackSize();
10014
10015 try {
10016 // InternalVampireLanguage.g:3149:1: ( ( () ) )
10017 // InternalVampireLanguage.g:3150:1: ( () )
10018 {
10019 // InternalVampireLanguage.g:3150:1: ( () )
10020 // InternalVampireLanguage.g:3151:2: ()
10021 {
10022 before(grammarAccess.getVLSUniversalQuantifierAccess().getVLSUniversalQuantifierAction_0());
10023 // InternalVampireLanguage.g:3152:2: ()
10024 // InternalVampireLanguage.g:3152:3:
10025 {
10026 }
10027
10028 after(grammarAccess.getVLSUniversalQuantifierAccess().getVLSUniversalQuantifierAction_0());
10029
10030 }
10031
10032
10033 }
10034
10035 }
10036 finally {
10037
10038 restoreStackSize(stackSize);
10039
10040 }
10041 return ;
10042 }
10043 // $ANTLR end "rule__VLSUniversalQuantifier__Group__0__Impl"
10044
10045
10046 // $ANTLR start "rule__VLSUniversalQuantifier__Group__1"
10047 // InternalVampireLanguage.g:3160:1: rule__VLSUniversalQuantifier__Group__1 : rule__VLSUniversalQuantifier__Group__1__Impl rule__VLSUniversalQuantifier__Group__2 ;
10048 public final void rule__VLSUniversalQuantifier__Group__1() throws RecognitionException {
10049
10050 int stackSize = keepStackSize();
10051
10052 try {
10053 // InternalVampireLanguage.g:3164:1: ( rule__VLSUniversalQuantifier__Group__1__Impl rule__VLSUniversalQuantifier__Group__2 )
10054 // InternalVampireLanguage.g:3165:2: rule__VLSUniversalQuantifier__Group__1__Impl rule__VLSUniversalQuantifier__Group__2
10055 {
10056 pushFollow(FOLLOW_15);
10057 rule__VLSUniversalQuantifier__Group__1__Impl();
10058
10059 state._fsp--;
10060
10061 pushFollow(FOLLOW_2);
10062 rule__VLSUniversalQuantifier__Group__2();
10063
10064 state._fsp--;
10065
10066
10067 }
10068
10069 }
10070 catch (RecognitionException re) {
10071 reportError(re);
10072 recover(input,re);
10073 }
10074 finally {
10075
10076 restoreStackSize(stackSize);
10077
10078 }
10079 return ;
10080 }
10081 // $ANTLR end "rule__VLSUniversalQuantifier__Group__1"
10082
10083
10084 // $ANTLR start "rule__VLSUniversalQuantifier__Group__1__Impl"
10085 // InternalVampireLanguage.g:3172:1: rule__VLSUniversalQuantifier__Group__1__Impl : ( ( rule__VLSUniversalQuantifier__Group_1__0 ) ) ;
10086 public final void rule__VLSUniversalQuantifier__Group__1__Impl() throws RecognitionException {
10087
10088 int stackSize = keepStackSize();
10089
10090 try {
10091 // InternalVampireLanguage.g:3176:1: ( ( ( rule__VLSUniversalQuantifier__Group_1__0 ) ) )
10092 // InternalVampireLanguage.g:3177:1: ( ( rule__VLSUniversalQuantifier__Group_1__0 ) )
10093 {
10094 // InternalVampireLanguage.g:3177:1: ( ( rule__VLSUniversalQuantifier__Group_1__0 ) )
10095 // InternalVampireLanguage.g:3178:2: ( rule__VLSUniversalQuantifier__Group_1__0 )
10096 {
10097 before(grammarAccess.getVLSUniversalQuantifierAccess().getGroup_1());
10098 // InternalVampireLanguage.g:3179:2: ( rule__VLSUniversalQuantifier__Group_1__0 )
10099 // InternalVampireLanguage.g:3179:3: rule__VLSUniversalQuantifier__Group_1__0
10100 {
10101 pushFollow(FOLLOW_2);
10102 rule__VLSUniversalQuantifier__Group_1__0();
10103
10104 state._fsp--;
10105
10106
10107 }
10108
10109 after(grammarAccess.getVLSUniversalQuantifierAccess().getGroup_1());
10110
10111 }
10112
10113
10114 }
10115
10116 }
10117 catch (RecognitionException re) {
10118 reportError(re);
10119 recover(input,re);
10120 }
10121 finally {
10122
10123 restoreStackSize(stackSize);
10124
10125 }
10126 return ;
10127 }
10128 // $ANTLR end "rule__VLSUniversalQuantifier__Group__1__Impl"
10129
10130
10131 // $ANTLR start "rule__VLSUniversalQuantifier__Group__2"
10132 // InternalVampireLanguage.g:3187:1: rule__VLSUniversalQuantifier__Group__2 : rule__VLSUniversalQuantifier__Group__2__Impl ;
10133 public final void rule__VLSUniversalQuantifier__Group__2() throws RecognitionException {
10134
10135 int stackSize = keepStackSize();
10136
10137 try {
10138 // InternalVampireLanguage.g:3191:1: ( rule__VLSUniversalQuantifier__Group__2__Impl )
10139 // InternalVampireLanguage.g:3192:2: rule__VLSUniversalQuantifier__Group__2__Impl
10140 {
10141 pushFollow(FOLLOW_2);
10142 rule__VLSUniversalQuantifier__Group__2__Impl();
10143
10144 state._fsp--;
10145
10146
10147 }
10148
10149 }
10150 catch (RecognitionException re) {
10151 reportError(re);
10152 recover(input,re);
10153 }
10154 finally {
10155
10156 restoreStackSize(stackSize);
10157
10158 }
10159 return ;
10160 }
10161 // $ANTLR end "rule__VLSUniversalQuantifier__Group__2"
10162
10163
10164 // $ANTLR start "rule__VLSUniversalQuantifier__Group__2__Impl"
10165 // InternalVampireLanguage.g:3198:1: rule__VLSUniversalQuantifier__Group__2__Impl : ( ( rule__VLSUniversalQuantifier__OperandAssignment_2 ) ) ;
10166 public final void rule__VLSUniversalQuantifier__Group__2__Impl() throws RecognitionException {
10167
10168 int stackSize = keepStackSize();
10169
10170 try {
10171 // InternalVampireLanguage.g:3202:1: ( ( ( rule__VLSUniversalQuantifier__OperandAssignment_2 ) ) )
10172 // InternalVampireLanguage.g:3203:1: ( ( rule__VLSUniversalQuantifier__OperandAssignment_2 ) )
10173 {
10174 // InternalVampireLanguage.g:3203:1: ( ( rule__VLSUniversalQuantifier__OperandAssignment_2 ) )
10175 // InternalVampireLanguage.g:3204:2: ( rule__VLSUniversalQuantifier__OperandAssignment_2 )
10176 {
10177 before(grammarAccess.getVLSUniversalQuantifierAccess().getOperandAssignment_2());
10178 // InternalVampireLanguage.g:3205:2: ( rule__VLSUniversalQuantifier__OperandAssignment_2 )
10179 // InternalVampireLanguage.g:3205:3: rule__VLSUniversalQuantifier__OperandAssignment_2
10180 {
10181 pushFollow(FOLLOW_2);
10182 rule__VLSUniversalQuantifier__OperandAssignment_2();
10183
10184 state._fsp--;
10185
10186
10187 }
10188
10189 after(grammarAccess.getVLSUniversalQuantifierAccess().getOperandAssignment_2());
10190
10191 }
10192
10193
10194 }
10195
10196 }
10197 catch (RecognitionException re) {
10198 reportError(re);
10199 recover(input,re);
10200 }
10201 finally {
10202
10203 restoreStackSize(stackSize);
10204
10205 }
10206 return ;
10207 }
10208 // $ANTLR end "rule__VLSUniversalQuantifier__Group__2__Impl"
10209
10210
10211 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__0"
10212 // InternalVampireLanguage.g:3214:1: rule__VLSUniversalQuantifier__Group_1__0 : rule__VLSUniversalQuantifier__Group_1__0__Impl rule__VLSUniversalQuantifier__Group_1__1 ;
10213 public final void rule__VLSUniversalQuantifier__Group_1__0() throws RecognitionException {
10214
10215 int stackSize = keepStackSize();
10216
10217 try {
10218 // InternalVampireLanguage.g:3218:1: ( rule__VLSUniversalQuantifier__Group_1__0__Impl rule__VLSUniversalQuantifier__Group_1__1 )
10219 // InternalVampireLanguage.g:3219:2: rule__VLSUniversalQuantifier__Group_1__0__Impl rule__VLSUniversalQuantifier__Group_1__1
10220 {
10221 pushFollow(FOLLOW_30);
10222 rule__VLSUniversalQuantifier__Group_1__0__Impl();
10223
10224 state._fsp--;
10225
10226 pushFollow(FOLLOW_2);
10227 rule__VLSUniversalQuantifier__Group_1__1();
10228
10229 state._fsp--;
10230
10231
10232 }
10233
10234 }
10235 catch (RecognitionException re) {
10236 reportError(re);
10237 recover(input,re);
10238 }
10239 finally {
10240
10241 restoreStackSize(stackSize);
10242
10243 }
10244 return ;
10245 }
10246 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__0"
10247
10248
10249 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__0__Impl"
10250 // InternalVampireLanguage.g:3226:1: rule__VLSUniversalQuantifier__Group_1__0__Impl : ( '!' ) ;
10251 public final void rule__VLSUniversalQuantifier__Group_1__0__Impl() throws RecognitionException {
10252
10253 int stackSize = keepStackSize();
10254
10255 try {
10256 // InternalVampireLanguage.g:3230:1: ( ( '!' ) )
10257 // InternalVampireLanguage.g:3231:1: ( '!' )
10258 {
10259 // InternalVampireLanguage.g:3231:1: ( '!' )
10260 // InternalVampireLanguage.g:3232:2: '!'
10261 {
10262 before(grammarAccess.getVLSUniversalQuantifierAccess().getExclamationMarkKeyword_1_0());
10263 match(input,59,FOLLOW_2);
10264 after(grammarAccess.getVLSUniversalQuantifierAccess().getExclamationMarkKeyword_1_0());
10265
10266 }
10267
10268
10269 }
10270
10271 }
10272 catch (RecognitionException re) {
10273 reportError(re);
10274 recover(input,re);
10275 }
10276 finally {
10277
10278 restoreStackSize(stackSize);
10279
10280 }
10281 return ;
10282 }
10283 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__0__Impl"
10284
10285
10286 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__1"
10287 // InternalVampireLanguage.g:3241:1: rule__VLSUniversalQuantifier__Group_1__1 : rule__VLSUniversalQuantifier__Group_1__1__Impl rule__VLSUniversalQuantifier__Group_1__2 ;
10288 public final void rule__VLSUniversalQuantifier__Group_1__1() throws RecognitionException {
10289
10290 int stackSize = keepStackSize();
10291
10292 try {
10293 // InternalVampireLanguage.g:3245:1: ( rule__VLSUniversalQuantifier__Group_1__1__Impl rule__VLSUniversalQuantifier__Group_1__2 )
10294 // InternalVampireLanguage.g:3246:2: rule__VLSUniversalQuantifier__Group_1__1__Impl rule__VLSUniversalQuantifier__Group_1__2
10295 {
10296 pushFollow(FOLLOW_31);
10297 rule__VLSUniversalQuantifier__Group_1__1__Impl();
10298
10299 state._fsp--;
10300
10301 pushFollow(FOLLOW_2);
10302 rule__VLSUniversalQuantifier__Group_1__2();
10303
10304 state._fsp--;
10305
10306
10307 }
10308
10309 }
10310 catch (RecognitionException re) {
10311 reportError(re);
10312 recover(input,re);
10313 }
10314 finally {
10315
10316 restoreStackSize(stackSize);
10317
10318 }
10319 return ;
10320 }
10321 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__1"
10322
10323
10324 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__1__Impl"
10325 // InternalVampireLanguage.g:3253:1: rule__VLSUniversalQuantifier__Group_1__1__Impl : ( '[' ) ;
10326 public final void rule__VLSUniversalQuantifier__Group_1__1__Impl() throws RecognitionException {
10327
10328 int stackSize = keepStackSize();
10329
10330 try {
10331 // InternalVampireLanguage.g:3257:1: ( ( '[' ) )
10332 // InternalVampireLanguage.g:3258:1: ( '[' )
10333 {
10334 // InternalVampireLanguage.g:3258:1: ( '[' )
10335 // InternalVampireLanguage.g:3259:2: '['
10336 {
10337 before(grammarAccess.getVLSUniversalQuantifierAccess().getLeftSquareBracketKeyword_1_1());
10338 match(input,50,FOLLOW_2);
10339 after(grammarAccess.getVLSUniversalQuantifierAccess().getLeftSquareBracketKeyword_1_1());
10340
10341 }
10342
10343
10344 }
10345
10346 }
10347 catch (RecognitionException re) {
10348 reportError(re);
10349 recover(input,re);
10350 }
10351 finally {
10352
10353 restoreStackSize(stackSize);
10354
10355 }
10356 return ;
10357 }
10358 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__1__Impl"
10359
10360
10361 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__2"
10362 // InternalVampireLanguage.g:3268:1: rule__VLSUniversalQuantifier__Group_1__2 : rule__VLSUniversalQuantifier__Group_1__2__Impl rule__VLSUniversalQuantifier__Group_1__3 ;
10363 public final void rule__VLSUniversalQuantifier__Group_1__2() throws RecognitionException {
10364
10365 int stackSize = keepStackSize();
10366
10367 try {
10368 // InternalVampireLanguage.g:3272:1: ( rule__VLSUniversalQuantifier__Group_1__2__Impl rule__VLSUniversalQuantifier__Group_1__3 )
10369 // InternalVampireLanguage.g:3273:2: rule__VLSUniversalQuantifier__Group_1__2__Impl rule__VLSUniversalQuantifier__Group_1__3
10370 {
10371 pushFollow(FOLLOW_9);
10372 rule__VLSUniversalQuantifier__Group_1__2__Impl();
10373
10374 state._fsp--;
10375
10376 pushFollow(FOLLOW_2);
10377 rule__VLSUniversalQuantifier__Group_1__3();
10378
10379 state._fsp--;
10380
10381
10382 }
10383
10384 }
10385 catch (RecognitionException re) {
10386 reportError(re);
10387 recover(input,re);
10388 }
10389 finally {
10390
10391 restoreStackSize(stackSize);
10392
10393 }
10394 return ;
10395 }
10396 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__2"
10397
10398
10399 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__2__Impl"
10400 // InternalVampireLanguage.g:3280:1: rule__VLSUniversalQuantifier__Group_1__2__Impl : ( ( rule__VLSUniversalQuantifier__VariablesAssignment_1_2 ) ) ;
10401 public final void rule__VLSUniversalQuantifier__Group_1__2__Impl() throws RecognitionException {
10402
10403 int stackSize = keepStackSize();
10404
10405 try {
10406 // InternalVampireLanguage.g:3284:1: ( ( ( rule__VLSUniversalQuantifier__VariablesAssignment_1_2 ) ) )
10407 // InternalVampireLanguage.g:3285:1: ( ( rule__VLSUniversalQuantifier__VariablesAssignment_1_2 ) )
10408 {
10409 // InternalVampireLanguage.g:3285:1: ( ( rule__VLSUniversalQuantifier__VariablesAssignment_1_2 ) )
10410 // InternalVampireLanguage.g:3286:2: ( rule__VLSUniversalQuantifier__VariablesAssignment_1_2 )
10411 {
10412 before(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesAssignment_1_2());
10413 // InternalVampireLanguage.g:3287:2: ( rule__VLSUniversalQuantifier__VariablesAssignment_1_2 )
10414 // InternalVampireLanguage.g:3287:3: rule__VLSUniversalQuantifier__VariablesAssignment_1_2
10415 {
10416 pushFollow(FOLLOW_2);
10417 rule__VLSUniversalQuantifier__VariablesAssignment_1_2();
10418
10419 state._fsp--;
10420
10421
10422 }
10423
10424 after(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesAssignment_1_2());
10425
10426 }
10427
10428
10429 }
10430
10431 }
10432 catch (RecognitionException re) {
10433 reportError(re);
10434 recover(input,re);
10435 }
10436 finally {
10437
10438 restoreStackSize(stackSize);
10439
10440 }
10441 return ;
10442 }
10443 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__2__Impl"
10444
10445
10446 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__3"
10447 // InternalVampireLanguage.g:3295:1: rule__VLSUniversalQuantifier__Group_1__3 : rule__VLSUniversalQuantifier__Group_1__3__Impl rule__VLSUniversalQuantifier__Group_1__4 ;
10448 public final void rule__VLSUniversalQuantifier__Group_1__3() throws RecognitionException {
10449
10450 int stackSize = keepStackSize();
10451
10452 try {
10453 // InternalVampireLanguage.g:3299:1: ( rule__VLSUniversalQuantifier__Group_1__3__Impl rule__VLSUniversalQuantifier__Group_1__4 )
10454 // InternalVampireLanguage.g:3300:2: rule__VLSUniversalQuantifier__Group_1__3__Impl rule__VLSUniversalQuantifier__Group_1__4
10455 {
10456 pushFollow(FOLLOW_9);
10457 rule__VLSUniversalQuantifier__Group_1__3__Impl();
10458
10459 state._fsp--;
10460
10461 pushFollow(FOLLOW_2);
10462 rule__VLSUniversalQuantifier__Group_1__4();
10463
10464 state._fsp--;
10465
10466
10467 }
10468
10469 }
10470 catch (RecognitionException re) {
10471 reportError(re);
10472 recover(input,re);
10473 }
10474 finally {
10475
10476 restoreStackSize(stackSize);
10477
10478 }
10479 return ;
10480 }
10481 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__3"
10482
10483
10484 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__3__Impl"
10485 // InternalVampireLanguage.g:3307:1: rule__VLSUniversalQuantifier__Group_1__3__Impl : ( ( rule__VLSUniversalQuantifier__Group_1_3__0 )* ) ;
10486 public final void rule__VLSUniversalQuantifier__Group_1__3__Impl() throws RecognitionException {
10487
10488 int stackSize = keepStackSize();
10489
10490 try {
10491 // InternalVampireLanguage.g:3311:1: ( ( ( rule__VLSUniversalQuantifier__Group_1_3__0 )* ) )
10492 // InternalVampireLanguage.g:3312:1: ( ( rule__VLSUniversalQuantifier__Group_1_3__0 )* )
10493 {
10494 // InternalVampireLanguage.g:3312:1: ( ( rule__VLSUniversalQuantifier__Group_1_3__0 )* )
10495 // InternalVampireLanguage.g:3313:2: ( rule__VLSUniversalQuantifier__Group_1_3__0 )*
10496 {
10497 before(grammarAccess.getVLSUniversalQuantifierAccess().getGroup_1_3());
10498 // InternalVampireLanguage.g:3314:2: ( rule__VLSUniversalQuantifier__Group_1_3__0 )*
10499 loop30:
10500 do {
10501 int alt30=2;
10502 int LA30_0 = input.LA(1);
10503
10504 if ( (LA30_0==45) ) {
10505 alt30=1;
10506 }
10507
10508
10509 switch (alt30) {
10510 case 1 :
10511 // InternalVampireLanguage.g:3314:3: rule__VLSUniversalQuantifier__Group_1_3__0
10512 {
10513 pushFollow(FOLLOW_10);
10514 rule__VLSUniversalQuantifier__Group_1_3__0();
10515
10516 state._fsp--;
10517
10518
10519 }
10520 break;
10521
10522 default :
10523 break loop30;
10524 }
10525 } while (true);
10526
10527 after(grammarAccess.getVLSUniversalQuantifierAccess().getGroup_1_3());
10528
10529 }
10530
10531
10532 }
10533
10534 }
10535 catch (RecognitionException re) {
10536 reportError(re);
10537 recover(input,re);
10538 }
10539 finally {
10540
10541 restoreStackSize(stackSize);
10542
10543 }
10544 return ;
10545 }
10546 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__3__Impl"
10547
10548
10549 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__4"
10550 // InternalVampireLanguage.g:3322:1: rule__VLSUniversalQuantifier__Group_1__4 : rule__VLSUniversalQuantifier__Group_1__4__Impl rule__VLSUniversalQuantifier__Group_1__5 ;
10551 public final void rule__VLSUniversalQuantifier__Group_1__4() throws RecognitionException {
10552
10553 int stackSize = keepStackSize();
10554
10555 try {
10556 // InternalVampireLanguage.g:3326:1: ( rule__VLSUniversalQuantifier__Group_1__4__Impl rule__VLSUniversalQuantifier__Group_1__5 )
10557 // InternalVampireLanguage.g:3327:2: rule__VLSUniversalQuantifier__Group_1__4__Impl rule__VLSUniversalQuantifier__Group_1__5
10558 {
10559 pushFollow(FOLLOW_32);
10560 rule__VLSUniversalQuantifier__Group_1__4__Impl();
10561
10562 state._fsp--;
10563
10564 pushFollow(FOLLOW_2);
10565 rule__VLSUniversalQuantifier__Group_1__5();
10566
10567 state._fsp--;
10568
10569
10570 }
10571
10572 }
10573 catch (RecognitionException re) {
10574 reportError(re);
10575 recover(input,re);
10576 }
10577 finally {
10578
10579 restoreStackSize(stackSize);
10580
10581 }
10582 return ;
10583 }
10584 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__4"
10585
10586
10587 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__4__Impl"
10588 // InternalVampireLanguage.g:3334:1: rule__VLSUniversalQuantifier__Group_1__4__Impl : ( ']' ) ;
10589 public final void rule__VLSUniversalQuantifier__Group_1__4__Impl() throws RecognitionException {
10590
10591 int stackSize = keepStackSize();
10592
10593 try {
10594 // InternalVampireLanguage.g:3338:1: ( ( ']' ) )
10595 // InternalVampireLanguage.g:3339:1: ( ']' )
10596 {
10597 // InternalVampireLanguage.g:3339:1: ( ']' )
10598 // InternalVampireLanguage.g:3340:2: ']'
10599 {
10600 before(grammarAccess.getVLSUniversalQuantifierAccess().getRightSquareBracketKeyword_1_4());
10601 match(input,44,FOLLOW_2);
10602 after(grammarAccess.getVLSUniversalQuantifierAccess().getRightSquareBracketKeyword_1_4());
10603
10604 }
10605
10606
10607 }
10608
10609 }
10610 catch (RecognitionException re) {
10611 reportError(re);
10612 recover(input,re);
10613 }
10614 finally {
10615
10616 restoreStackSize(stackSize);
10617
10618 }
10619 return ;
10620 }
10621 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__4__Impl"
10622
10623
10624 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__5"
10625 // InternalVampireLanguage.g:3349:1: rule__VLSUniversalQuantifier__Group_1__5 : rule__VLSUniversalQuantifier__Group_1__5__Impl ;
10626 public final void rule__VLSUniversalQuantifier__Group_1__5() throws RecognitionException {
10627
10628 int stackSize = keepStackSize();
10629
10630 try {
10631 // InternalVampireLanguage.g:3353:1: ( rule__VLSUniversalQuantifier__Group_1__5__Impl )
10632 // InternalVampireLanguage.g:3354:2: rule__VLSUniversalQuantifier__Group_1__5__Impl
10633 {
10634 pushFollow(FOLLOW_2);
10635 rule__VLSUniversalQuantifier__Group_1__5__Impl();
10636
10637 state._fsp--;
10638
10639
10640 }
10641
10642 }
10643 catch (RecognitionException re) {
10644 reportError(re);
10645 recover(input,re);
10646 }
10647 finally {
10648
10649 restoreStackSize(stackSize);
10650
10651 }
10652 return ;
10653 }
10654 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__5"
10655
10656
10657 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1__5__Impl"
10658 // InternalVampireLanguage.g:3360:1: rule__VLSUniversalQuantifier__Group_1__5__Impl : ( ':' ) ;
10659 public final void rule__VLSUniversalQuantifier__Group_1__5__Impl() throws RecognitionException {
10660
10661 int stackSize = keepStackSize();
10662
10663 try {
10664 // InternalVampireLanguage.g:3364:1: ( ( ':' ) )
10665 // InternalVampireLanguage.g:3365:1: ( ':' )
10666 {
10667 // InternalVampireLanguage.g:3365:1: ( ':' )
10668 // InternalVampireLanguage.g:3366:2: ':'
10669 {
10670 before(grammarAccess.getVLSUniversalQuantifierAccess().getColonKeyword_1_5());
10671 match(input,60,FOLLOW_2);
10672 after(grammarAccess.getVLSUniversalQuantifierAccess().getColonKeyword_1_5());
10673
10674 }
10675
10676
10677 }
10678
10679 }
10680 catch (RecognitionException re) {
10681 reportError(re);
10682 recover(input,re);
10683 }
10684 finally {
10685
10686 restoreStackSize(stackSize);
10687
10688 }
10689 return ;
10690 }
10691 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1__5__Impl"
10692
10693
10694 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1_3__0"
10695 // InternalVampireLanguage.g:3376:1: rule__VLSUniversalQuantifier__Group_1_3__0 : rule__VLSUniversalQuantifier__Group_1_3__0__Impl rule__VLSUniversalQuantifier__Group_1_3__1 ;
10696 public final void rule__VLSUniversalQuantifier__Group_1_3__0() throws RecognitionException {
10697
10698 int stackSize = keepStackSize();
10699
10700 try {
10701 // InternalVampireLanguage.g:3380:1: ( rule__VLSUniversalQuantifier__Group_1_3__0__Impl rule__VLSUniversalQuantifier__Group_1_3__1 )
10702 // InternalVampireLanguage.g:3381:2: rule__VLSUniversalQuantifier__Group_1_3__0__Impl rule__VLSUniversalQuantifier__Group_1_3__1
10703 {
10704 pushFollow(FOLLOW_31);
10705 rule__VLSUniversalQuantifier__Group_1_3__0__Impl();
10706
10707 state._fsp--;
10708
10709 pushFollow(FOLLOW_2);
10710 rule__VLSUniversalQuantifier__Group_1_3__1();
10711
10712 state._fsp--;
10713
10714
10715 }
10716
10717 }
10718 catch (RecognitionException re) {
10719 reportError(re);
10720 recover(input,re);
10721 }
10722 finally {
10723
10724 restoreStackSize(stackSize);
10725
10726 }
10727 return ;
10728 }
10729 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1_3__0"
10730
10731
10732 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1_3__0__Impl"
10733 // InternalVampireLanguage.g:3388:1: rule__VLSUniversalQuantifier__Group_1_3__0__Impl : ( ',' ) ;
10734 public final void rule__VLSUniversalQuantifier__Group_1_3__0__Impl() throws RecognitionException {
10735
10736 int stackSize = keepStackSize();
10737
10738 try {
10739 // InternalVampireLanguage.g:3392:1: ( ( ',' ) )
10740 // InternalVampireLanguage.g:3393:1: ( ',' )
10741 {
10742 // InternalVampireLanguage.g:3393:1: ( ',' )
10743 // InternalVampireLanguage.g:3394:2: ','
10744 {
10745 before(grammarAccess.getVLSUniversalQuantifierAccess().getCommaKeyword_1_3_0());
10746 match(input,45,FOLLOW_2);
10747 after(grammarAccess.getVLSUniversalQuantifierAccess().getCommaKeyword_1_3_0());
10748
10749 }
10750
10751
10752 }
10753
10754 }
10755 catch (RecognitionException re) {
10756 reportError(re);
10757 recover(input,re);
10758 }
10759 finally {
10760
10761 restoreStackSize(stackSize);
10762
10763 }
10764 return ;
10765 }
10766 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1_3__0__Impl"
10767
10768
10769 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1_3__1"
10770 // InternalVampireLanguage.g:3403:1: rule__VLSUniversalQuantifier__Group_1_3__1 : rule__VLSUniversalQuantifier__Group_1_3__1__Impl ;
10771 public final void rule__VLSUniversalQuantifier__Group_1_3__1() throws RecognitionException {
10772
10773 int stackSize = keepStackSize();
10774
10775 try {
10776 // InternalVampireLanguage.g:3407:1: ( rule__VLSUniversalQuantifier__Group_1_3__1__Impl )
10777 // InternalVampireLanguage.g:3408:2: rule__VLSUniversalQuantifier__Group_1_3__1__Impl
10778 {
10779 pushFollow(FOLLOW_2);
10780 rule__VLSUniversalQuantifier__Group_1_3__1__Impl();
10781
10782 state._fsp--;
10783
10784
10785 }
10786
10787 }
10788 catch (RecognitionException re) {
10789 reportError(re);
10790 recover(input,re);
10791 }
10792 finally {
10793
10794 restoreStackSize(stackSize);
10795
10796 }
10797 return ;
10798 }
10799 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1_3__1"
10800
10801
10802 // $ANTLR start "rule__VLSUniversalQuantifier__Group_1_3__1__Impl"
10803 // InternalVampireLanguage.g:3414:1: rule__VLSUniversalQuantifier__Group_1_3__1__Impl : ( ( rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1 ) ) ;
10804 public final void rule__VLSUniversalQuantifier__Group_1_3__1__Impl() throws RecognitionException {
10805
10806 int stackSize = keepStackSize();
10807
10808 try {
10809 // InternalVampireLanguage.g:3418:1: ( ( ( rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1 ) ) )
10810 // InternalVampireLanguage.g:3419:1: ( ( rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1 ) )
10811 {
10812 // InternalVampireLanguage.g:3419:1: ( ( rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1 ) )
10813 // InternalVampireLanguage.g:3420:2: ( rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1 )
10814 {
10815 before(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesAssignment_1_3_1());
10816 // InternalVampireLanguage.g:3421:2: ( rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1 )
10817 // InternalVampireLanguage.g:3421:3: rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1
10818 {
10819 pushFollow(FOLLOW_2);
10820 rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1();
10821
10822 state._fsp--;
10823
10824
10825 }
10826
10827 after(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesAssignment_1_3_1());
10828
10829 }
10830
10831
10832 }
10833
10834 }
10835 catch (RecognitionException re) {
10836 reportError(re);
10837 recover(input,re);
10838 }
10839 finally {
10840
10841 restoreStackSize(stackSize);
10842
10843 }
10844 return ;
10845 }
10846 // $ANTLR end "rule__VLSUniversalQuantifier__Group_1_3__1__Impl"
10847
10848
10849 // $ANTLR start "rule__VLSExistentialQuantifier__Group__0"
10850 // InternalVampireLanguage.g:3430:1: rule__VLSExistentialQuantifier__Group__0 : rule__VLSExistentialQuantifier__Group__0__Impl rule__VLSExistentialQuantifier__Group__1 ;
10851 public final void rule__VLSExistentialQuantifier__Group__0() throws RecognitionException {
10852
10853 int stackSize = keepStackSize();
10854
10855 try {
10856 // InternalVampireLanguage.g:3434:1: ( rule__VLSExistentialQuantifier__Group__0__Impl rule__VLSExistentialQuantifier__Group__1 )
10857 // InternalVampireLanguage.g:3435:2: rule__VLSExistentialQuantifier__Group__0__Impl rule__VLSExistentialQuantifier__Group__1
10858 {
10859 pushFollow(FOLLOW_33);
10860 rule__VLSExistentialQuantifier__Group__0__Impl();
10861
10862 state._fsp--;
10863
10864 pushFollow(FOLLOW_2);
10865 rule__VLSExistentialQuantifier__Group__1();
10866
10867 state._fsp--;
10868
10869
10870 }
10871
10872 }
10873 catch (RecognitionException re) {
10874 reportError(re);
10875 recover(input,re);
10876 }
10877 finally {
10878
10879 restoreStackSize(stackSize);
10880
10881 }
10882 return ;
10883 }
10884 // $ANTLR end "rule__VLSExistentialQuantifier__Group__0"
10885
10886
10887 // $ANTLR start "rule__VLSExistentialQuantifier__Group__0__Impl"
10888 // InternalVampireLanguage.g:3442:1: rule__VLSExistentialQuantifier__Group__0__Impl : ( () ) ;
10889 public final void rule__VLSExistentialQuantifier__Group__0__Impl() throws RecognitionException {
10890
10891 int stackSize = keepStackSize();
10892
10893 try {
10894 // InternalVampireLanguage.g:3446:1: ( ( () ) )
10895 // InternalVampireLanguage.g:3447:1: ( () )
10896 {
10897 // InternalVampireLanguage.g:3447:1: ( () )
10898 // InternalVampireLanguage.g:3448:2: ()
10899 {
10900 before(grammarAccess.getVLSExistentialQuantifierAccess().getVLSExistentialQuantifierAction_0());
10901 // InternalVampireLanguage.g:3449:2: ()
10902 // InternalVampireLanguage.g:3449:3:
10903 {
10904 }
10905
10906 after(grammarAccess.getVLSExistentialQuantifierAccess().getVLSExistentialQuantifierAction_0());
10907
10908 }
10909
10910
10911 }
10912
10913 }
10914 finally {
10915
10916 restoreStackSize(stackSize);
10917
10918 }
10919 return ;
10920 }
10921 // $ANTLR end "rule__VLSExistentialQuantifier__Group__0__Impl"
10922
10923
10924 // $ANTLR start "rule__VLSExistentialQuantifier__Group__1"
10925 // InternalVampireLanguage.g:3457:1: rule__VLSExistentialQuantifier__Group__1 : rule__VLSExistentialQuantifier__Group__1__Impl rule__VLSExistentialQuantifier__Group__2 ;
10926 public final void rule__VLSExistentialQuantifier__Group__1() throws RecognitionException {
10927
10928 int stackSize = keepStackSize();
10929
10930 try {
10931 // InternalVampireLanguage.g:3461:1: ( rule__VLSExistentialQuantifier__Group__1__Impl rule__VLSExistentialQuantifier__Group__2 )
10932 // InternalVampireLanguage.g:3462:2: rule__VLSExistentialQuantifier__Group__1__Impl rule__VLSExistentialQuantifier__Group__2
10933 {
10934 pushFollow(FOLLOW_15);
10935 rule__VLSExistentialQuantifier__Group__1__Impl();
10936
10937 state._fsp--;
10938
10939 pushFollow(FOLLOW_2);
10940 rule__VLSExistentialQuantifier__Group__2();
10941
10942 state._fsp--;
10943
10944
10945 }
10946
10947 }
10948 catch (RecognitionException re) {
10949 reportError(re);
10950 recover(input,re);
10951 }
10952 finally {
10953
10954 restoreStackSize(stackSize);
10955
10956 }
10957 return ;
10958 }
10959 // $ANTLR end "rule__VLSExistentialQuantifier__Group__1"
10960
10961
10962 // $ANTLR start "rule__VLSExistentialQuantifier__Group__1__Impl"
10963 // InternalVampireLanguage.g:3469:1: rule__VLSExistentialQuantifier__Group__1__Impl : ( ( rule__VLSExistentialQuantifier__Group_1__0 ) ) ;
10964 public final void rule__VLSExistentialQuantifier__Group__1__Impl() throws RecognitionException {
10965
10966 int stackSize = keepStackSize();
10967
10968 try {
10969 // InternalVampireLanguage.g:3473:1: ( ( ( rule__VLSExistentialQuantifier__Group_1__0 ) ) )
10970 // InternalVampireLanguage.g:3474:1: ( ( rule__VLSExistentialQuantifier__Group_1__0 ) )
10971 {
10972 // InternalVampireLanguage.g:3474:1: ( ( rule__VLSExistentialQuantifier__Group_1__0 ) )
10973 // InternalVampireLanguage.g:3475:2: ( rule__VLSExistentialQuantifier__Group_1__0 )
10974 {
10975 before(grammarAccess.getVLSExistentialQuantifierAccess().getGroup_1());
10976 // InternalVampireLanguage.g:3476:2: ( rule__VLSExistentialQuantifier__Group_1__0 )
10977 // InternalVampireLanguage.g:3476:3: rule__VLSExistentialQuantifier__Group_1__0
10978 {
10979 pushFollow(FOLLOW_2);
10980 rule__VLSExistentialQuantifier__Group_1__0();
10981
10982 state._fsp--;
10983
10984
10985 }
10986
10987 after(grammarAccess.getVLSExistentialQuantifierAccess().getGroup_1());
10988
10989 }
10990
10991
10992 }
10993
10994 }
10995 catch (RecognitionException re) {
10996 reportError(re);
10997 recover(input,re);
10998 }
10999 finally {
11000
11001 restoreStackSize(stackSize);
11002
11003 }
11004 return ;
11005 }
11006 // $ANTLR end "rule__VLSExistentialQuantifier__Group__1__Impl"
11007
11008
11009 // $ANTLR start "rule__VLSExistentialQuantifier__Group__2"
11010 // InternalVampireLanguage.g:3484:1: rule__VLSExistentialQuantifier__Group__2 : rule__VLSExistentialQuantifier__Group__2__Impl ;
11011 public final void rule__VLSExistentialQuantifier__Group__2() throws RecognitionException {
11012
11013 int stackSize = keepStackSize();
11014
11015 try {
11016 // InternalVampireLanguage.g:3488:1: ( rule__VLSExistentialQuantifier__Group__2__Impl )
11017 // InternalVampireLanguage.g:3489:2: rule__VLSExistentialQuantifier__Group__2__Impl
11018 {
11019 pushFollow(FOLLOW_2);
11020 rule__VLSExistentialQuantifier__Group__2__Impl();
11021
11022 state._fsp--;
11023
11024
11025 }
11026
11027 }
11028 catch (RecognitionException re) {
11029 reportError(re);
11030 recover(input,re);
11031 }
11032 finally {
11033
11034 restoreStackSize(stackSize);
11035
11036 }
11037 return ;
11038 }
11039 // $ANTLR end "rule__VLSExistentialQuantifier__Group__2"
11040
11041
11042 // $ANTLR start "rule__VLSExistentialQuantifier__Group__2__Impl"
11043 // InternalVampireLanguage.g:3495:1: rule__VLSExistentialQuantifier__Group__2__Impl : ( ( rule__VLSExistentialQuantifier__OperandAssignment_2 ) ) ;
11044 public final void rule__VLSExistentialQuantifier__Group__2__Impl() throws RecognitionException {
11045
11046 int stackSize = keepStackSize();
11047
11048 try {
11049 // InternalVampireLanguage.g:3499:1: ( ( ( rule__VLSExistentialQuantifier__OperandAssignment_2 ) ) )
11050 // InternalVampireLanguage.g:3500:1: ( ( rule__VLSExistentialQuantifier__OperandAssignment_2 ) )
11051 {
11052 // InternalVampireLanguage.g:3500:1: ( ( rule__VLSExistentialQuantifier__OperandAssignment_2 ) )
11053 // InternalVampireLanguage.g:3501:2: ( rule__VLSExistentialQuantifier__OperandAssignment_2 )
11054 {
11055 before(grammarAccess.getVLSExistentialQuantifierAccess().getOperandAssignment_2());
11056 // InternalVampireLanguage.g:3502:2: ( rule__VLSExistentialQuantifier__OperandAssignment_2 )
11057 // InternalVampireLanguage.g:3502:3: rule__VLSExistentialQuantifier__OperandAssignment_2
11058 {
11059 pushFollow(FOLLOW_2);
11060 rule__VLSExistentialQuantifier__OperandAssignment_2();
11061
11062 state._fsp--;
11063
11064
11065 }
11066
11067 after(grammarAccess.getVLSExistentialQuantifierAccess().getOperandAssignment_2());
11068
11069 }
11070
11071
11072 }
11073
11074 }
11075 catch (RecognitionException re) {
11076 reportError(re);
11077 recover(input,re);
11078 }
11079 finally {
11080
11081 restoreStackSize(stackSize);
11082
11083 }
11084 return ;
11085 }
11086 // $ANTLR end "rule__VLSExistentialQuantifier__Group__2__Impl"
11087
11088
11089 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__0"
11090 // InternalVampireLanguage.g:3511:1: rule__VLSExistentialQuantifier__Group_1__0 : rule__VLSExistentialQuantifier__Group_1__0__Impl rule__VLSExistentialQuantifier__Group_1__1 ;
11091 public final void rule__VLSExistentialQuantifier__Group_1__0() throws RecognitionException {
11092
11093 int stackSize = keepStackSize();
11094
11095 try {
11096 // InternalVampireLanguage.g:3515:1: ( rule__VLSExistentialQuantifier__Group_1__0__Impl rule__VLSExistentialQuantifier__Group_1__1 )
11097 // InternalVampireLanguage.g:3516:2: rule__VLSExistentialQuantifier__Group_1__0__Impl rule__VLSExistentialQuantifier__Group_1__1
11098 {
11099 pushFollow(FOLLOW_30);
11100 rule__VLSExistentialQuantifier__Group_1__0__Impl();
11101
11102 state._fsp--;
11103
11104 pushFollow(FOLLOW_2);
11105 rule__VLSExistentialQuantifier__Group_1__1();
11106
11107 state._fsp--;
11108
11109
11110 }
11111
11112 }
11113 catch (RecognitionException re) {
11114 reportError(re);
11115 recover(input,re);
11116 }
11117 finally {
11118
11119 restoreStackSize(stackSize);
11120
11121 }
11122 return ;
11123 }
11124 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__0"
11125
11126
11127 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__0__Impl"
11128 // InternalVampireLanguage.g:3523:1: rule__VLSExistentialQuantifier__Group_1__0__Impl : ( '?' ) ;
11129 public final void rule__VLSExistentialQuantifier__Group_1__0__Impl() throws RecognitionException {
11130
11131 int stackSize = keepStackSize();
11132
11133 try {
11134 // InternalVampireLanguage.g:3527:1: ( ( '?' ) )
11135 // InternalVampireLanguage.g:3528:1: ( '?' )
11136 {
11137 // InternalVampireLanguage.g:3528:1: ( '?' )
11138 // InternalVampireLanguage.g:3529:2: '?'
11139 {
11140 before(grammarAccess.getVLSExistentialQuantifierAccess().getQuestionMarkKeyword_1_0());
11141 match(input,61,FOLLOW_2);
11142 after(grammarAccess.getVLSExistentialQuantifierAccess().getQuestionMarkKeyword_1_0());
11143
11144 }
11145
11146
11147 }
11148
11149 }
11150 catch (RecognitionException re) {
11151 reportError(re);
11152 recover(input,re);
11153 }
11154 finally {
11155
11156 restoreStackSize(stackSize);
11157
11158 }
11159 return ;
11160 }
11161 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__0__Impl"
11162
11163
11164 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__1"
11165 // InternalVampireLanguage.g:3538:1: rule__VLSExistentialQuantifier__Group_1__1 : rule__VLSExistentialQuantifier__Group_1__1__Impl rule__VLSExistentialQuantifier__Group_1__2 ;
11166 public final void rule__VLSExistentialQuantifier__Group_1__1() throws RecognitionException {
11167
11168 int stackSize = keepStackSize();
11169
11170 try {
11171 // InternalVampireLanguage.g:3542:1: ( rule__VLSExistentialQuantifier__Group_1__1__Impl rule__VLSExistentialQuantifier__Group_1__2 )
11172 // InternalVampireLanguage.g:3543:2: rule__VLSExistentialQuantifier__Group_1__1__Impl rule__VLSExistentialQuantifier__Group_1__2
11173 {
11174 pushFollow(FOLLOW_31);
11175 rule__VLSExistentialQuantifier__Group_1__1__Impl();
11176
11177 state._fsp--;
11178
11179 pushFollow(FOLLOW_2);
11180 rule__VLSExistentialQuantifier__Group_1__2();
11181
11182 state._fsp--;
11183
11184
11185 }
11186
11187 }
11188 catch (RecognitionException re) {
11189 reportError(re);
11190 recover(input,re);
11191 }
11192 finally {
11193
11194 restoreStackSize(stackSize);
11195
11196 }
11197 return ;
11198 }
11199 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__1"
11200
11201
11202 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__1__Impl"
11203 // InternalVampireLanguage.g:3550:1: rule__VLSExistentialQuantifier__Group_1__1__Impl : ( '[' ) ;
11204 public final void rule__VLSExistentialQuantifier__Group_1__1__Impl() throws RecognitionException {
11205
11206 int stackSize = keepStackSize();
11207
11208 try {
11209 // InternalVampireLanguage.g:3554:1: ( ( '[' ) )
11210 // InternalVampireLanguage.g:3555:1: ( '[' )
11211 {
11212 // InternalVampireLanguage.g:3555:1: ( '[' )
11213 // InternalVampireLanguage.g:3556:2: '['
11214 {
11215 before(grammarAccess.getVLSExistentialQuantifierAccess().getLeftSquareBracketKeyword_1_1());
11216 match(input,50,FOLLOW_2);
11217 after(grammarAccess.getVLSExistentialQuantifierAccess().getLeftSquareBracketKeyword_1_1());
11218
11219 }
11220
11221
11222 }
11223
11224 }
11225 catch (RecognitionException re) {
11226 reportError(re);
11227 recover(input,re);
11228 }
11229 finally {
11230
11231 restoreStackSize(stackSize);
11232
11233 }
11234 return ;
11235 }
11236 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__1__Impl"
11237
11238
11239 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__2"
11240 // InternalVampireLanguage.g:3565:1: rule__VLSExistentialQuantifier__Group_1__2 : rule__VLSExistentialQuantifier__Group_1__2__Impl rule__VLSExistentialQuantifier__Group_1__3 ;
11241 public final void rule__VLSExistentialQuantifier__Group_1__2() throws RecognitionException {
11242
11243 int stackSize = keepStackSize();
11244
11245 try {
11246 // InternalVampireLanguage.g:3569:1: ( rule__VLSExistentialQuantifier__Group_1__2__Impl rule__VLSExistentialQuantifier__Group_1__3 )
11247 // InternalVampireLanguage.g:3570:2: rule__VLSExistentialQuantifier__Group_1__2__Impl rule__VLSExistentialQuantifier__Group_1__3
11248 {
11249 pushFollow(FOLLOW_9);
11250 rule__VLSExistentialQuantifier__Group_1__2__Impl();
11251
11252 state._fsp--;
11253
11254 pushFollow(FOLLOW_2);
11255 rule__VLSExistentialQuantifier__Group_1__3();
11256
11257 state._fsp--;
11258
11259
11260 }
11261
11262 }
11263 catch (RecognitionException re) {
11264 reportError(re);
11265 recover(input,re);
11266 }
11267 finally {
11268
11269 restoreStackSize(stackSize);
11270
11271 }
11272 return ;
11273 }
11274 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__2"
11275
11276
11277 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__2__Impl"
11278 // InternalVampireLanguage.g:3577:1: rule__VLSExistentialQuantifier__Group_1__2__Impl : ( ( rule__VLSExistentialQuantifier__VariablesAssignment_1_2 ) ) ;
11279 public final void rule__VLSExistentialQuantifier__Group_1__2__Impl() throws RecognitionException {
11280
11281 int stackSize = keepStackSize();
11282
11283 try {
11284 // InternalVampireLanguage.g:3581:1: ( ( ( rule__VLSExistentialQuantifier__VariablesAssignment_1_2 ) ) )
11285 // InternalVampireLanguage.g:3582:1: ( ( rule__VLSExistentialQuantifier__VariablesAssignment_1_2 ) )
11286 {
11287 // InternalVampireLanguage.g:3582:1: ( ( rule__VLSExistentialQuantifier__VariablesAssignment_1_2 ) )
11288 // InternalVampireLanguage.g:3583:2: ( rule__VLSExistentialQuantifier__VariablesAssignment_1_2 )
11289 {
11290 before(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesAssignment_1_2());
11291 // InternalVampireLanguage.g:3584:2: ( rule__VLSExistentialQuantifier__VariablesAssignment_1_2 )
11292 // InternalVampireLanguage.g:3584:3: rule__VLSExistentialQuantifier__VariablesAssignment_1_2
11293 {
11294 pushFollow(FOLLOW_2);
11295 rule__VLSExistentialQuantifier__VariablesAssignment_1_2();
11296
11297 state._fsp--;
11298
11299
11300 }
11301
11302 after(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesAssignment_1_2());
11303
11304 }
11305
11306
11307 }
11308
11309 }
11310 catch (RecognitionException re) {
11311 reportError(re);
11312 recover(input,re);
11313 }
11314 finally {
11315
11316 restoreStackSize(stackSize);
11317
11318 }
11319 return ;
11320 }
11321 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__2__Impl"
11322
11323
11324 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__3"
11325 // InternalVampireLanguage.g:3592:1: rule__VLSExistentialQuantifier__Group_1__3 : rule__VLSExistentialQuantifier__Group_1__3__Impl rule__VLSExistentialQuantifier__Group_1__4 ;
11326 public final void rule__VLSExistentialQuantifier__Group_1__3() throws RecognitionException {
11327
11328 int stackSize = keepStackSize();
11329
11330 try {
11331 // InternalVampireLanguage.g:3596:1: ( rule__VLSExistentialQuantifier__Group_1__3__Impl rule__VLSExistentialQuantifier__Group_1__4 )
11332 // InternalVampireLanguage.g:3597:2: rule__VLSExistentialQuantifier__Group_1__3__Impl rule__VLSExistentialQuantifier__Group_1__4
11333 {
11334 pushFollow(FOLLOW_9);
11335 rule__VLSExistentialQuantifier__Group_1__3__Impl();
11336
11337 state._fsp--;
11338
11339 pushFollow(FOLLOW_2);
11340 rule__VLSExistentialQuantifier__Group_1__4();
11341
11342 state._fsp--;
11343
11344
11345 }
11346
11347 }
11348 catch (RecognitionException re) {
11349 reportError(re);
11350 recover(input,re);
11351 }
11352 finally {
11353
11354 restoreStackSize(stackSize);
11355
11356 }
11357 return ;
11358 }
11359 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__3"
11360
11361
11362 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__3__Impl"
11363 // InternalVampireLanguage.g:3604:1: rule__VLSExistentialQuantifier__Group_1__3__Impl : ( ( rule__VLSExistentialQuantifier__Group_1_3__0 )* ) ;
11364 public final void rule__VLSExistentialQuantifier__Group_1__3__Impl() throws RecognitionException {
11365
11366 int stackSize = keepStackSize();
11367
11368 try {
11369 // InternalVampireLanguage.g:3608:1: ( ( ( rule__VLSExistentialQuantifier__Group_1_3__0 )* ) )
11370 // InternalVampireLanguage.g:3609:1: ( ( rule__VLSExistentialQuantifier__Group_1_3__0 )* )
11371 {
11372 // InternalVampireLanguage.g:3609:1: ( ( rule__VLSExistentialQuantifier__Group_1_3__0 )* )
11373 // InternalVampireLanguage.g:3610:2: ( rule__VLSExistentialQuantifier__Group_1_3__0 )*
11374 {
11375 before(grammarAccess.getVLSExistentialQuantifierAccess().getGroup_1_3());
11376 // InternalVampireLanguage.g:3611:2: ( rule__VLSExistentialQuantifier__Group_1_3__0 )*
11377 loop31:
11378 do {
11379 int alt31=2;
11380 int LA31_0 = input.LA(1);
11381
11382 if ( (LA31_0==45) ) {
11383 alt31=1;
11384 }
11385
11386
11387 switch (alt31) {
11388 case 1 :
11389 // InternalVampireLanguage.g:3611:3: rule__VLSExistentialQuantifier__Group_1_3__0
11390 {
11391 pushFollow(FOLLOW_10);
11392 rule__VLSExistentialQuantifier__Group_1_3__0();
11393
11394 state._fsp--;
11395
11396
11397 }
11398 break;
11399
11400 default :
11401 break loop31;
11402 }
11403 } while (true);
11404
11405 after(grammarAccess.getVLSExistentialQuantifierAccess().getGroup_1_3());
11406
11407 }
11408
11409
11410 }
11411
11412 }
11413 catch (RecognitionException re) {
11414 reportError(re);
11415 recover(input,re);
11416 }
11417 finally {
11418
11419 restoreStackSize(stackSize);
11420
11421 }
11422 return ;
11423 }
11424 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__3__Impl"
11425
11426
11427 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__4"
11428 // InternalVampireLanguage.g:3619:1: rule__VLSExistentialQuantifier__Group_1__4 : rule__VLSExistentialQuantifier__Group_1__4__Impl rule__VLSExistentialQuantifier__Group_1__5 ;
11429 public final void rule__VLSExistentialQuantifier__Group_1__4() throws RecognitionException {
11430
11431 int stackSize = keepStackSize();
11432
11433 try {
11434 // InternalVampireLanguage.g:3623:1: ( rule__VLSExistentialQuantifier__Group_1__4__Impl rule__VLSExistentialQuantifier__Group_1__5 )
11435 // InternalVampireLanguage.g:3624:2: rule__VLSExistentialQuantifier__Group_1__4__Impl rule__VLSExistentialQuantifier__Group_1__5
11436 {
11437 pushFollow(FOLLOW_32);
11438 rule__VLSExistentialQuantifier__Group_1__4__Impl();
11439
11440 state._fsp--;
11441
11442 pushFollow(FOLLOW_2);
11443 rule__VLSExistentialQuantifier__Group_1__5();
11444
11445 state._fsp--;
11446
11447
11448 }
11449
11450 }
11451 catch (RecognitionException re) {
11452 reportError(re);
11453 recover(input,re);
11454 }
11455 finally {
11456
11457 restoreStackSize(stackSize);
11458
11459 }
11460 return ;
11461 }
11462 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__4"
11463
11464
11465 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__4__Impl"
11466 // InternalVampireLanguage.g:3631:1: rule__VLSExistentialQuantifier__Group_1__4__Impl : ( ']' ) ;
11467 public final void rule__VLSExistentialQuantifier__Group_1__4__Impl() throws RecognitionException {
11468
11469 int stackSize = keepStackSize();
11470
11471 try {
11472 // InternalVampireLanguage.g:3635:1: ( ( ']' ) )
11473 // InternalVampireLanguage.g:3636:1: ( ']' )
11474 {
11475 // InternalVampireLanguage.g:3636:1: ( ']' )
11476 // InternalVampireLanguage.g:3637:2: ']'
11477 {
11478 before(grammarAccess.getVLSExistentialQuantifierAccess().getRightSquareBracketKeyword_1_4());
11479 match(input,44,FOLLOW_2);
11480 after(grammarAccess.getVLSExistentialQuantifierAccess().getRightSquareBracketKeyword_1_4());
11481
11482 }
11483
11484
11485 }
11486
11487 }
11488 catch (RecognitionException re) {
11489 reportError(re);
11490 recover(input,re);
11491 }
11492 finally {
11493
11494 restoreStackSize(stackSize);
11495
11496 }
11497 return ;
11498 }
11499 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__4__Impl"
11500
11501
11502 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__5"
11503 // InternalVampireLanguage.g:3646:1: rule__VLSExistentialQuantifier__Group_1__5 : rule__VLSExistentialQuantifier__Group_1__5__Impl ;
11504 public final void rule__VLSExistentialQuantifier__Group_1__5() throws RecognitionException {
11505
11506 int stackSize = keepStackSize();
11507
11508 try {
11509 // InternalVampireLanguage.g:3650:1: ( rule__VLSExistentialQuantifier__Group_1__5__Impl )
11510 // InternalVampireLanguage.g:3651:2: rule__VLSExistentialQuantifier__Group_1__5__Impl
11511 {
11512 pushFollow(FOLLOW_2);
11513 rule__VLSExistentialQuantifier__Group_1__5__Impl();
11514
11515 state._fsp--;
11516
11517
11518 }
11519
11520 }
11521 catch (RecognitionException re) {
11522 reportError(re);
11523 recover(input,re);
11524 }
11525 finally {
11526
11527 restoreStackSize(stackSize);
11528
11529 }
11530 return ;
11531 }
11532 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__5"
11533
11534
11535 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1__5__Impl"
11536 // InternalVampireLanguage.g:3657:1: rule__VLSExistentialQuantifier__Group_1__5__Impl : ( ':' ) ;
11537 public final void rule__VLSExistentialQuantifier__Group_1__5__Impl() throws RecognitionException {
11538
11539 int stackSize = keepStackSize();
11540
11541 try {
11542 // InternalVampireLanguage.g:3661:1: ( ( ':' ) )
11543 // InternalVampireLanguage.g:3662:1: ( ':' )
11544 {
11545 // InternalVampireLanguage.g:3662:1: ( ':' )
11546 // InternalVampireLanguage.g:3663:2: ':'
11547 {
11548 before(grammarAccess.getVLSExistentialQuantifierAccess().getColonKeyword_1_5());
11549 match(input,60,FOLLOW_2);
11550 after(grammarAccess.getVLSExistentialQuantifierAccess().getColonKeyword_1_5());
11551
11552 }
11553
11554
11555 }
11556
11557 }
11558 catch (RecognitionException re) {
11559 reportError(re);
11560 recover(input,re);
11561 }
11562 finally {
11563
11564 restoreStackSize(stackSize);
11565
11566 }
11567 return ;
11568 }
11569 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1__5__Impl"
11570
11571
11572 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1_3__0"
11573 // InternalVampireLanguage.g:3673:1: rule__VLSExistentialQuantifier__Group_1_3__0 : rule__VLSExistentialQuantifier__Group_1_3__0__Impl rule__VLSExistentialQuantifier__Group_1_3__1 ;
11574 public final void rule__VLSExistentialQuantifier__Group_1_3__0() throws RecognitionException {
11575
11576 int stackSize = keepStackSize();
11577
11578 try {
11579 // InternalVampireLanguage.g:3677:1: ( rule__VLSExistentialQuantifier__Group_1_3__0__Impl rule__VLSExistentialQuantifier__Group_1_3__1 )
11580 // InternalVampireLanguage.g:3678:2: rule__VLSExistentialQuantifier__Group_1_3__0__Impl rule__VLSExistentialQuantifier__Group_1_3__1
11581 {
11582 pushFollow(FOLLOW_31);
11583 rule__VLSExistentialQuantifier__Group_1_3__0__Impl();
11584
11585 state._fsp--;
11586
11587 pushFollow(FOLLOW_2);
11588 rule__VLSExistentialQuantifier__Group_1_3__1();
11589
11590 state._fsp--;
11591
11592
11593 }
11594
11595 }
11596 catch (RecognitionException re) {
11597 reportError(re);
11598 recover(input,re);
11599 }
11600 finally {
11601
11602 restoreStackSize(stackSize);
11603
11604 }
11605 return ;
11606 }
11607 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1_3__0"
11608
11609
11610 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1_3__0__Impl"
11611 // InternalVampireLanguage.g:3685:1: rule__VLSExistentialQuantifier__Group_1_3__0__Impl : ( ',' ) ;
11612 public final void rule__VLSExistentialQuantifier__Group_1_3__0__Impl() throws RecognitionException {
11613
11614 int stackSize = keepStackSize();
11615
11616 try {
11617 // InternalVampireLanguage.g:3689:1: ( ( ',' ) )
11618 // InternalVampireLanguage.g:3690:1: ( ',' )
11619 {
11620 // InternalVampireLanguage.g:3690:1: ( ',' )
11621 // InternalVampireLanguage.g:3691:2: ','
11622 {
11623 before(grammarAccess.getVLSExistentialQuantifierAccess().getCommaKeyword_1_3_0());
11624 match(input,45,FOLLOW_2);
11625 after(grammarAccess.getVLSExistentialQuantifierAccess().getCommaKeyword_1_3_0());
11626
11627 }
11628
11629
11630 }
11631
11632 }
11633 catch (RecognitionException re) {
11634 reportError(re);
11635 recover(input,re);
11636 }
11637 finally {
11638
11639 restoreStackSize(stackSize);
11640
11641 }
11642 return ;
11643 }
11644 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1_3__0__Impl"
11645
11646
11647 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1_3__1"
11648 // InternalVampireLanguage.g:3700:1: rule__VLSExistentialQuantifier__Group_1_3__1 : rule__VLSExistentialQuantifier__Group_1_3__1__Impl ;
11649 public final void rule__VLSExistentialQuantifier__Group_1_3__1() throws RecognitionException {
11650
11651 int stackSize = keepStackSize();
11652
11653 try {
11654 // InternalVampireLanguage.g:3704:1: ( rule__VLSExistentialQuantifier__Group_1_3__1__Impl )
11655 // InternalVampireLanguage.g:3705:2: rule__VLSExistentialQuantifier__Group_1_3__1__Impl
11656 {
11657 pushFollow(FOLLOW_2);
11658 rule__VLSExistentialQuantifier__Group_1_3__1__Impl();
11659
11660 state._fsp--;
11661
11662
11663 }
11664
11665 }
11666 catch (RecognitionException re) {
11667 reportError(re);
11668 recover(input,re);
11669 }
11670 finally {
11671
11672 restoreStackSize(stackSize);
11673
11674 }
11675 return ;
11676 }
11677 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1_3__1"
11678
11679
11680 // $ANTLR start "rule__VLSExistentialQuantifier__Group_1_3__1__Impl"
11681 // InternalVampireLanguage.g:3711:1: rule__VLSExistentialQuantifier__Group_1_3__1__Impl : ( ( rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1 ) ) ;
11682 public final void rule__VLSExistentialQuantifier__Group_1_3__1__Impl() throws RecognitionException {
11683
11684 int stackSize = keepStackSize();
11685
11686 try {
11687 // InternalVampireLanguage.g:3715:1: ( ( ( rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1 ) ) )
11688 // InternalVampireLanguage.g:3716:1: ( ( rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1 ) )
11689 {
11690 // InternalVampireLanguage.g:3716:1: ( ( rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1 ) )
11691 // InternalVampireLanguage.g:3717:2: ( rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1 )
11692 {
11693 before(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesAssignment_1_3_1());
11694 // InternalVampireLanguage.g:3718:2: ( rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1 )
11695 // InternalVampireLanguage.g:3718:3: rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1
11696 {
11697 pushFollow(FOLLOW_2);
11698 rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1();
11699
11700 state._fsp--;
11701
11702
11703 }
11704
11705 after(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesAssignment_1_3_1());
11706
11707 }
11708
11709
11710 }
11711
11712 }
11713 catch (RecognitionException re) {
11714 reportError(re);
11715 recover(input,re);
11716 }
11717 finally {
11718
11719 restoreStackSize(stackSize);
11720
11721 }
11722 return ;
11723 }
11724 // $ANTLR end "rule__VLSExistentialQuantifier__Group_1_3__1__Impl"
11725
11726
11727 // $ANTLR start "rule__VLSUnaryNegation__Group__0"
11728 // InternalVampireLanguage.g:3727:1: rule__VLSUnaryNegation__Group__0 : rule__VLSUnaryNegation__Group__0__Impl rule__VLSUnaryNegation__Group__1 ;
11729 public final void rule__VLSUnaryNegation__Group__0() throws RecognitionException {
11730
11731 int stackSize = keepStackSize();
11732
11733 try {
11734 // InternalVampireLanguage.g:3731:1: ( rule__VLSUnaryNegation__Group__0__Impl rule__VLSUnaryNegation__Group__1 )
11735 // InternalVampireLanguage.g:3732:2: rule__VLSUnaryNegation__Group__0__Impl rule__VLSUnaryNegation__Group__1
11736 {
11737 pushFollow(FOLLOW_34);
11738 rule__VLSUnaryNegation__Group__0__Impl();
11739
11740 state._fsp--;
11741
11742 pushFollow(FOLLOW_2);
11743 rule__VLSUnaryNegation__Group__1();
11744
11745 state._fsp--;
11746
11747
11748 }
11749
11750 }
11751 catch (RecognitionException re) {
11752 reportError(re);
11753 recover(input,re);
11754 }
11755 finally {
11756
11757 restoreStackSize(stackSize);
11758
11759 }
11760 return ;
11761 }
11762 // $ANTLR end "rule__VLSUnaryNegation__Group__0"
11763
11764
11765 // $ANTLR start "rule__VLSUnaryNegation__Group__0__Impl"
11766 // InternalVampireLanguage.g:3739:1: rule__VLSUnaryNegation__Group__0__Impl : ( () ) ;
11767 public final void rule__VLSUnaryNegation__Group__0__Impl() throws RecognitionException {
11768
11769 int stackSize = keepStackSize();
11770
11771 try {
11772 // InternalVampireLanguage.g:3743:1: ( ( () ) )
11773 // InternalVampireLanguage.g:3744:1: ( () )
11774 {
11775 // InternalVampireLanguage.g:3744:1: ( () )
11776 // InternalVampireLanguage.g:3745:2: ()
11777 {
11778 before(grammarAccess.getVLSUnaryNegationAccess().getVLSUnaryNegationAction_0());
11779 // InternalVampireLanguage.g:3746:2: ()
11780 // InternalVampireLanguage.g:3746:3:
11781 {
11782 }
11783
11784 after(grammarAccess.getVLSUnaryNegationAccess().getVLSUnaryNegationAction_0());
11785
11786 }
11787
11788
11789 }
11790
11791 }
11792 finally {
11793
11794 restoreStackSize(stackSize);
11795
11796 }
11797 return ;
11798 }
11799 // $ANTLR end "rule__VLSUnaryNegation__Group__0__Impl"
11800
11801
11802 // $ANTLR start "rule__VLSUnaryNegation__Group__1"
11803 // InternalVampireLanguage.g:3754:1: rule__VLSUnaryNegation__Group__1 : rule__VLSUnaryNegation__Group__1__Impl rule__VLSUnaryNegation__Group__2 ;
11804 public final void rule__VLSUnaryNegation__Group__1() throws RecognitionException {
11805
11806 int stackSize = keepStackSize();
11807
11808 try {
11809 // InternalVampireLanguage.g:3758:1: ( rule__VLSUnaryNegation__Group__1__Impl rule__VLSUnaryNegation__Group__2 )
11810 // InternalVampireLanguage.g:3759:2: rule__VLSUnaryNegation__Group__1__Impl rule__VLSUnaryNegation__Group__2
11811 {
11812 pushFollow(FOLLOW_15);
11813 rule__VLSUnaryNegation__Group__1__Impl();
11814
11815 state._fsp--;
11816
11817 pushFollow(FOLLOW_2);
11818 rule__VLSUnaryNegation__Group__2();
11819
11820 state._fsp--;
11821
11822
11823 }
11824
11825 }
11826 catch (RecognitionException re) {
11827 reportError(re);
11828 recover(input,re);
11829 }
11830 finally {
11831
11832 restoreStackSize(stackSize);
11833
11834 }
11835 return ;
11836 }
11837 // $ANTLR end "rule__VLSUnaryNegation__Group__1"
11838
11839
11840 // $ANTLR start "rule__VLSUnaryNegation__Group__1__Impl"
11841 // InternalVampireLanguage.g:3766:1: rule__VLSUnaryNegation__Group__1__Impl : ( '~' ) ;
11842 public final void rule__VLSUnaryNegation__Group__1__Impl() throws RecognitionException {
11843
11844 int stackSize = keepStackSize();
11845
11846 try {
11847 // InternalVampireLanguage.g:3770:1: ( ( '~' ) )
11848 // InternalVampireLanguage.g:3771:1: ( '~' )
11849 {
11850 // InternalVampireLanguage.g:3771:1: ( '~' )
11851 // InternalVampireLanguage.g:3772:2: '~'
11852 {
11853 before(grammarAccess.getVLSUnaryNegationAccess().getTildeKeyword_1());
11854 match(input,62,FOLLOW_2);
11855 after(grammarAccess.getVLSUnaryNegationAccess().getTildeKeyword_1());
11856
11857 }
11858
11859
11860 }
11861
11862 }
11863 catch (RecognitionException re) {
11864 reportError(re);
11865 recover(input,re);
11866 }
11867 finally {
11868
11869 restoreStackSize(stackSize);
11870
11871 }
11872 return ;
11873 }
11874 // $ANTLR end "rule__VLSUnaryNegation__Group__1__Impl"
11875
11876
11877 // $ANTLR start "rule__VLSUnaryNegation__Group__2"
11878 // InternalVampireLanguage.g:3781:1: rule__VLSUnaryNegation__Group__2 : rule__VLSUnaryNegation__Group__2__Impl ;
11879 public final void rule__VLSUnaryNegation__Group__2() throws RecognitionException {
11880
11881 int stackSize = keepStackSize();
11882
11883 try {
11884 // InternalVampireLanguage.g:3785:1: ( rule__VLSUnaryNegation__Group__2__Impl )
11885 // InternalVampireLanguage.g:3786:2: rule__VLSUnaryNegation__Group__2__Impl
11886 {
11887 pushFollow(FOLLOW_2);
11888 rule__VLSUnaryNegation__Group__2__Impl();
11889
11890 state._fsp--;
11891
11892
11893 }
11894
11895 }
11896 catch (RecognitionException re) {
11897 reportError(re);
11898 recover(input,re);
11899 }
11900 finally {
11901
11902 restoreStackSize(stackSize);
11903
11904 }
11905 return ;
11906 }
11907 // $ANTLR end "rule__VLSUnaryNegation__Group__2"
11908
11909
11910 // $ANTLR start "rule__VLSUnaryNegation__Group__2__Impl"
11911 // InternalVampireLanguage.g:3792:1: rule__VLSUnaryNegation__Group__2__Impl : ( ( rule__VLSUnaryNegation__OperandAssignment_2 ) ) ;
11912 public final void rule__VLSUnaryNegation__Group__2__Impl() throws RecognitionException {
11913
11914 int stackSize = keepStackSize();
11915
11916 try {
11917 // InternalVampireLanguage.g:3796:1: ( ( ( rule__VLSUnaryNegation__OperandAssignment_2 ) ) )
11918 // InternalVampireLanguage.g:3797:1: ( ( rule__VLSUnaryNegation__OperandAssignment_2 ) )
11919 {
11920 // InternalVampireLanguage.g:3797:1: ( ( rule__VLSUnaryNegation__OperandAssignment_2 ) )
11921 // InternalVampireLanguage.g:3798:2: ( rule__VLSUnaryNegation__OperandAssignment_2 )
11922 {
11923 before(grammarAccess.getVLSUnaryNegationAccess().getOperandAssignment_2());
11924 // InternalVampireLanguage.g:3799:2: ( rule__VLSUnaryNegation__OperandAssignment_2 )
11925 // InternalVampireLanguage.g:3799:3: rule__VLSUnaryNegation__OperandAssignment_2
11926 {
11927 pushFollow(FOLLOW_2);
11928 rule__VLSUnaryNegation__OperandAssignment_2();
11929
11930 state._fsp--;
11931
11932
11933 }
11934
11935 after(grammarAccess.getVLSUnaryNegationAccess().getOperandAssignment_2());
11936
11937 }
11938
11939
11940 }
11941
11942 }
11943 catch (RecognitionException re) {
11944 reportError(re);
11945 recover(input,re);
11946 }
11947 finally {
11948
11949 restoreStackSize(stackSize);
11950
11951 }
11952 return ;
11953 }
11954 // $ANTLR end "rule__VLSUnaryNegation__Group__2__Impl"
11955
11956
11957 // $ANTLR start "rule__VLSUnaryInfix__Group__0"
11958 // InternalVampireLanguage.g:3808:1: rule__VLSUnaryInfix__Group__0 : rule__VLSUnaryInfix__Group__0__Impl rule__VLSUnaryInfix__Group__1 ;
11959 public final void rule__VLSUnaryInfix__Group__0() throws RecognitionException {
11960
11961 int stackSize = keepStackSize();
11962
11963 try {
11964 // InternalVampireLanguage.g:3812:1: ( rule__VLSUnaryInfix__Group__0__Impl rule__VLSUnaryInfix__Group__1 )
11965 // InternalVampireLanguage.g:3813:2: rule__VLSUnaryInfix__Group__0__Impl rule__VLSUnaryInfix__Group__1
11966 {
11967 pushFollow(FOLLOW_35);
11968 rule__VLSUnaryInfix__Group__0__Impl();
11969
11970 state._fsp--;
11971
11972 pushFollow(FOLLOW_2);
11973 rule__VLSUnaryInfix__Group__1();
11974
11975 state._fsp--;
11976
11977
11978 }
11979
11980 }
11981 catch (RecognitionException re) {
11982 reportError(re);
11983 recover(input,re);
11984 }
11985 finally {
11986
11987 restoreStackSize(stackSize);
11988
11989 }
11990 return ;
11991 }
11992 // $ANTLR end "rule__VLSUnaryInfix__Group__0"
11993
11994
11995 // $ANTLR start "rule__VLSUnaryInfix__Group__0__Impl"
11996 // InternalVampireLanguage.g:3820:1: rule__VLSUnaryInfix__Group__0__Impl : ( ruleVLSAtomic ) ;
11997 public final void rule__VLSUnaryInfix__Group__0__Impl() throws RecognitionException {
11998
11999 int stackSize = keepStackSize();
12000
12001 try {
12002 // InternalVampireLanguage.g:3824:1: ( ( ruleVLSAtomic ) )
12003 // InternalVampireLanguage.g:3825:1: ( ruleVLSAtomic )
12004 {
12005 // InternalVampireLanguage.g:3825:1: ( ruleVLSAtomic )
12006 // InternalVampireLanguage.g:3826:2: ruleVLSAtomic
12007 {
12008 before(grammarAccess.getVLSUnaryInfixAccess().getVLSAtomicParserRuleCall_0());
12009 pushFollow(FOLLOW_2);
12010 ruleVLSAtomic();
12011
12012 state._fsp--;
12013
12014 after(grammarAccess.getVLSUnaryInfixAccess().getVLSAtomicParserRuleCall_0());
12015
12016 }
12017
12018
12019 }
12020
12021 }
12022 catch (RecognitionException re) {
12023 reportError(re);
12024 recover(input,re);
12025 }
12026 finally {
12027
12028 restoreStackSize(stackSize);
12029
12030 }
12031 return ;
12032 }
12033 // $ANTLR end "rule__VLSUnaryInfix__Group__0__Impl"
12034
12035
12036 // $ANTLR start "rule__VLSUnaryInfix__Group__1"
12037 // InternalVampireLanguage.g:3835:1: rule__VLSUnaryInfix__Group__1 : rule__VLSUnaryInfix__Group__1__Impl ;
12038 public final void rule__VLSUnaryInfix__Group__1() throws RecognitionException {
12039
12040 int stackSize = keepStackSize();
12041
12042 try {
12043 // InternalVampireLanguage.g:3839:1: ( rule__VLSUnaryInfix__Group__1__Impl )
12044 // InternalVampireLanguage.g:3840:2: rule__VLSUnaryInfix__Group__1__Impl
12045 {
12046 pushFollow(FOLLOW_2);
12047 rule__VLSUnaryInfix__Group__1__Impl();
12048
12049 state._fsp--;
12050
12051
12052 }
12053
12054 }
12055 catch (RecognitionException re) {
12056 reportError(re);
12057 recover(input,re);
12058 }
12059 finally {
12060
12061 restoreStackSize(stackSize);
12062
12063 }
12064 return ;
12065 }
12066 // $ANTLR end "rule__VLSUnaryInfix__Group__1"
12067
12068
12069 // $ANTLR start "rule__VLSUnaryInfix__Group__1__Impl"
12070 // InternalVampireLanguage.g:3846:1: rule__VLSUnaryInfix__Group__1__Impl : ( ( rule__VLSUnaryInfix__Group_1__0 )? ) ;
12071 public final void rule__VLSUnaryInfix__Group__1__Impl() throws RecognitionException {
12072
12073 int stackSize = keepStackSize();
12074
12075 try {
12076 // InternalVampireLanguage.g:3850:1: ( ( ( rule__VLSUnaryInfix__Group_1__0 )? ) )
12077 // InternalVampireLanguage.g:3851:1: ( ( rule__VLSUnaryInfix__Group_1__0 )? )
12078 {
12079 // InternalVampireLanguage.g:3851:1: ( ( rule__VLSUnaryInfix__Group_1__0 )? )
12080 // InternalVampireLanguage.g:3852:2: ( rule__VLSUnaryInfix__Group_1__0 )?
12081 {
12082 before(grammarAccess.getVLSUnaryInfixAccess().getGroup_1());
12083 // InternalVampireLanguage.g:3853:2: ( rule__VLSUnaryInfix__Group_1__0 )?
12084 int alt32=2;
12085 int LA32_0 = input.LA(1);
12086
12087 if ( ((LA32_0>=63 && LA32_0<=65)) ) {
12088 alt32=1;
12089 }
12090 switch (alt32) {
12091 case 1 :
12092 // InternalVampireLanguage.g:3853:3: rule__VLSUnaryInfix__Group_1__0
12093 {
12094 pushFollow(FOLLOW_2);
12095 rule__VLSUnaryInfix__Group_1__0();
12096
12097 state._fsp--;
12098
12099
12100 }
12101 break;
12102
12103 }
12104
12105 after(grammarAccess.getVLSUnaryInfixAccess().getGroup_1());
12106
12107 }
12108
12109
12110 }
12111
12112 }
12113 catch (RecognitionException re) {
12114 reportError(re);
12115 recover(input,re);
12116 }
12117 finally {
12118
12119 restoreStackSize(stackSize);
12120
12121 }
12122 return ;
12123 }
12124 // $ANTLR end "rule__VLSUnaryInfix__Group__1__Impl"
12125
12126
12127 // $ANTLR start "rule__VLSUnaryInfix__Group_1__0"
12128 // InternalVampireLanguage.g:3862:1: rule__VLSUnaryInfix__Group_1__0 : rule__VLSUnaryInfix__Group_1__0__Impl rule__VLSUnaryInfix__Group_1__1 ;
12129 public final void rule__VLSUnaryInfix__Group_1__0() throws RecognitionException {
12130
12131 int stackSize = keepStackSize();
12132
12133 try {
12134 // InternalVampireLanguage.g:3866:1: ( rule__VLSUnaryInfix__Group_1__0__Impl rule__VLSUnaryInfix__Group_1__1 )
12135 // InternalVampireLanguage.g:3867:2: rule__VLSUnaryInfix__Group_1__0__Impl rule__VLSUnaryInfix__Group_1__1
12136 {
12137 pushFollow(FOLLOW_36);
12138 rule__VLSUnaryInfix__Group_1__0__Impl();
12139
12140 state._fsp--;
12141
12142 pushFollow(FOLLOW_2);
12143 rule__VLSUnaryInfix__Group_1__1();
12144
12145 state._fsp--;
12146
12147
12148 }
12149
12150 }
12151 catch (RecognitionException re) {
12152 reportError(re);
12153 recover(input,re);
12154 }
12155 finally {
12156
12157 restoreStackSize(stackSize);
12158
12159 }
12160 return ;
12161 }
12162 // $ANTLR end "rule__VLSUnaryInfix__Group_1__0"
12163
12164
12165 // $ANTLR start "rule__VLSUnaryInfix__Group_1__0__Impl"
12166 // InternalVampireLanguage.g:3874:1: rule__VLSUnaryInfix__Group_1__0__Impl : ( ( rule__VLSUnaryInfix__Alternatives_1_0 ) ) ;
12167 public final void rule__VLSUnaryInfix__Group_1__0__Impl() throws RecognitionException {
12168
12169 int stackSize = keepStackSize();
12170
12171 try {
12172 // InternalVampireLanguage.g:3878:1: ( ( ( rule__VLSUnaryInfix__Alternatives_1_0 ) ) )
12173 // InternalVampireLanguage.g:3879:1: ( ( rule__VLSUnaryInfix__Alternatives_1_0 ) )
12174 {
12175 // InternalVampireLanguage.g:3879:1: ( ( rule__VLSUnaryInfix__Alternatives_1_0 ) )
12176 // InternalVampireLanguage.g:3880:2: ( rule__VLSUnaryInfix__Alternatives_1_0 )
12177 {
12178 before(grammarAccess.getVLSUnaryInfixAccess().getAlternatives_1_0());
12179 // InternalVampireLanguage.g:3881:2: ( rule__VLSUnaryInfix__Alternatives_1_0 )
12180 // InternalVampireLanguage.g:3881:3: rule__VLSUnaryInfix__Alternatives_1_0
12181 {
12182 pushFollow(FOLLOW_2);
12183 rule__VLSUnaryInfix__Alternatives_1_0();
12184
12185 state._fsp--;
12186
12187
12188 }
12189
12190 after(grammarAccess.getVLSUnaryInfixAccess().getAlternatives_1_0());
12191
12192 }
12193
12194
12195 }
12196
12197 }
12198 catch (RecognitionException re) {
12199 reportError(re);
12200 recover(input,re);
12201 }
12202 finally {
12203
12204 restoreStackSize(stackSize);
12205
12206 }
12207 return ;
12208 }
12209 // $ANTLR end "rule__VLSUnaryInfix__Group_1__0__Impl"
12210
12211
12212 // $ANTLR start "rule__VLSUnaryInfix__Group_1__1"
12213 // InternalVampireLanguage.g:3889:1: rule__VLSUnaryInfix__Group_1__1 : rule__VLSUnaryInfix__Group_1__1__Impl ;
12214 public final void rule__VLSUnaryInfix__Group_1__1() throws RecognitionException {
12215
12216 int stackSize = keepStackSize();
12217
12218 try {
12219 // InternalVampireLanguage.g:3893:1: ( rule__VLSUnaryInfix__Group_1__1__Impl )
12220 // InternalVampireLanguage.g:3894:2: rule__VLSUnaryInfix__Group_1__1__Impl
12221 {
12222 pushFollow(FOLLOW_2);
12223 rule__VLSUnaryInfix__Group_1__1__Impl();
12224
12225 state._fsp--;
12226
12227
12228 }
12229
12230 }
12231 catch (RecognitionException re) {
12232 reportError(re);
12233 recover(input,re);
12234 }
12235 finally {
12236
12237 restoreStackSize(stackSize);
12238
12239 }
12240 return ;
12241 }
12242 // $ANTLR end "rule__VLSUnaryInfix__Group_1__1"
12243
12244
12245 // $ANTLR start "rule__VLSUnaryInfix__Group_1__1__Impl"
12246 // InternalVampireLanguage.g:3900:1: rule__VLSUnaryInfix__Group_1__1__Impl : ( ( rule__VLSUnaryInfix__RightAssignment_1_1 ) ) ;
12247 public final void rule__VLSUnaryInfix__Group_1__1__Impl() throws RecognitionException {
12248
12249 int stackSize = keepStackSize();
12250
12251 try {
12252 // InternalVampireLanguage.g:3904:1: ( ( ( rule__VLSUnaryInfix__RightAssignment_1_1 ) ) )
12253 // InternalVampireLanguage.g:3905:1: ( ( rule__VLSUnaryInfix__RightAssignment_1_1 ) )
12254 {
12255 // InternalVampireLanguage.g:3905:1: ( ( rule__VLSUnaryInfix__RightAssignment_1_1 ) )
12256 // InternalVampireLanguage.g:3906:2: ( rule__VLSUnaryInfix__RightAssignment_1_1 )
12257 {
12258 before(grammarAccess.getVLSUnaryInfixAccess().getRightAssignment_1_1());
12259 // InternalVampireLanguage.g:3907:2: ( rule__VLSUnaryInfix__RightAssignment_1_1 )
12260 // InternalVampireLanguage.g:3907:3: rule__VLSUnaryInfix__RightAssignment_1_1
12261 {
12262 pushFollow(FOLLOW_2);
12263 rule__VLSUnaryInfix__RightAssignment_1_1();
12264
12265 state._fsp--;
12266
12267
12268 }
12269
12270 after(grammarAccess.getVLSUnaryInfixAccess().getRightAssignment_1_1());
12271
12272 }
12273
12274
12275 }
12276
12277 }
12278 catch (RecognitionException re) {
12279 reportError(re);
12280 recover(input,re);
12281 }
12282 finally {
12283
12284 restoreStackSize(stackSize);
12285
12286 }
12287 return ;
12288 }
12289 // $ANTLR end "rule__VLSUnaryInfix__Group_1__1__Impl"
12290
12291
12292 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_0__0"
12293 // InternalVampireLanguage.g:3916:1: rule__VLSUnaryInfix__Group_1_0_0__0 : rule__VLSUnaryInfix__Group_1_0_0__0__Impl rule__VLSUnaryInfix__Group_1_0_0__1 ;
12294 public final void rule__VLSUnaryInfix__Group_1_0_0__0() throws RecognitionException {
12295
12296 int stackSize = keepStackSize();
12297
12298 try {
12299 // InternalVampireLanguage.g:3920:1: ( rule__VLSUnaryInfix__Group_1_0_0__0__Impl rule__VLSUnaryInfix__Group_1_0_0__1 )
12300 // InternalVampireLanguage.g:3921:2: rule__VLSUnaryInfix__Group_1_0_0__0__Impl rule__VLSUnaryInfix__Group_1_0_0__1
12301 {
12302 pushFollow(FOLLOW_37);
12303 rule__VLSUnaryInfix__Group_1_0_0__0__Impl();
12304
12305 state._fsp--;
12306
12307 pushFollow(FOLLOW_2);
12308 rule__VLSUnaryInfix__Group_1_0_0__1();
12309
12310 state._fsp--;
12311
12312
12313 }
12314
12315 }
12316 catch (RecognitionException re) {
12317 reportError(re);
12318 recover(input,re);
12319 }
12320 finally {
12321
12322 restoreStackSize(stackSize);
12323
12324 }
12325 return ;
12326 }
12327 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_0__0"
12328
12329
12330 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_0__0__Impl"
12331 // InternalVampireLanguage.g:3928:1: rule__VLSUnaryInfix__Group_1_0_0__0__Impl : ( () ) ;
12332 public final void rule__VLSUnaryInfix__Group_1_0_0__0__Impl() throws RecognitionException {
12333
12334 int stackSize = keepStackSize();
12335
12336 try {
12337 // InternalVampireLanguage.g:3932:1: ( ( () ) )
12338 // InternalVampireLanguage.g:3933:1: ( () )
12339 {
12340 // InternalVampireLanguage.g:3933:1: ( () )
12341 // InternalVampireLanguage.g:3934:2: ()
12342 {
12343 before(grammarAccess.getVLSUnaryInfixAccess().getVLSInequalityLeftAction_1_0_0_0());
12344 // InternalVampireLanguage.g:3935:2: ()
12345 // InternalVampireLanguage.g:3935:3:
12346 {
12347 }
12348
12349 after(grammarAccess.getVLSUnaryInfixAccess().getVLSInequalityLeftAction_1_0_0_0());
12350
12351 }
12352
12353
12354 }
12355
12356 }
12357 finally {
12358
12359 restoreStackSize(stackSize);
12360
12361 }
12362 return ;
12363 }
12364 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_0__0__Impl"
12365
12366
12367 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_0__1"
12368 // InternalVampireLanguage.g:3943:1: rule__VLSUnaryInfix__Group_1_0_0__1 : rule__VLSUnaryInfix__Group_1_0_0__1__Impl ;
12369 public final void rule__VLSUnaryInfix__Group_1_0_0__1() throws RecognitionException {
12370
12371 int stackSize = keepStackSize();
12372
12373 try {
12374 // InternalVampireLanguage.g:3947:1: ( rule__VLSUnaryInfix__Group_1_0_0__1__Impl )
12375 // InternalVampireLanguage.g:3948:2: rule__VLSUnaryInfix__Group_1_0_0__1__Impl
12376 {
12377 pushFollow(FOLLOW_2);
12378 rule__VLSUnaryInfix__Group_1_0_0__1__Impl();
12379
12380 state._fsp--;
12381
12382
12383 }
12384
12385 }
12386 catch (RecognitionException re) {
12387 reportError(re);
12388 recover(input,re);
12389 }
12390 finally {
12391
12392 restoreStackSize(stackSize);
12393
12394 }
12395 return ;
12396 }
12397 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_0__1"
12398
12399
12400 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_0__1__Impl"
12401 // InternalVampireLanguage.g:3954:1: rule__VLSUnaryInfix__Group_1_0_0__1__Impl : ( '!=' ) ;
12402 public final void rule__VLSUnaryInfix__Group_1_0_0__1__Impl() throws RecognitionException {
12403
12404 int stackSize = keepStackSize();
12405
12406 try {
12407 // InternalVampireLanguage.g:3958:1: ( ( '!=' ) )
12408 // InternalVampireLanguage.g:3959:1: ( '!=' )
12409 {
12410 // InternalVampireLanguage.g:3959:1: ( '!=' )
12411 // InternalVampireLanguage.g:3960:2: '!='
12412 {
12413 before(grammarAccess.getVLSUnaryInfixAccess().getExclamationMarkEqualsSignKeyword_1_0_0_1());
12414 match(input,63,FOLLOW_2);
12415 after(grammarAccess.getVLSUnaryInfixAccess().getExclamationMarkEqualsSignKeyword_1_0_0_1());
12416
12417 }
12418
12419
12420 }
12421
12422 }
12423 catch (RecognitionException re) {
12424 reportError(re);
12425 recover(input,re);
12426 }
12427 finally {
12428
12429 restoreStackSize(stackSize);
12430
12431 }
12432 return ;
12433 }
12434 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_0__1__Impl"
12435
12436
12437 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_1__0"
12438 // InternalVampireLanguage.g:3970:1: rule__VLSUnaryInfix__Group_1_0_1__0 : rule__VLSUnaryInfix__Group_1_0_1__0__Impl rule__VLSUnaryInfix__Group_1_0_1__1 ;
12439 public final void rule__VLSUnaryInfix__Group_1_0_1__0() throws RecognitionException {
12440
12441 int stackSize = keepStackSize();
12442
12443 try {
12444 // InternalVampireLanguage.g:3974:1: ( rule__VLSUnaryInfix__Group_1_0_1__0__Impl rule__VLSUnaryInfix__Group_1_0_1__1 )
12445 // InternalVampireLanguage.g:3975:2: rule__VLSUnaryInfix__Group_1_0_1__0__Impl rule__VLSUnaryInfix__Group_1_0_1__1
12446 {
12447 pushFollow(FOLLOW_38);
12448 rule__VLSUnaryInfix__Group_1_0_1__0__Impl();
12449
12450 state._fsp--;
12451
12452 pushFollow(FOLLOW_2);
12453 rule__VLSUnaryInfix__Group_1_0_1__1();
12454
12455 state._fsp--;
12456
12457
12458 }
12459
12460 }
12461 catch (RecognitionException re) {
12462 reportError(re);
12463 recover(input,re);
12464 }
12465 finally {
12466
12467 restoreStackSize(stackSize);
12468
12469 }
12470 return ;
12471 }
12472 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_1__0"
12473
12474
12475 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_1__0__Impl"
12476 // InternalVampireLanguage.g:3982:1: rule__VLSUnaryInfix__Group_1_0_1__0__Impl : ( () ) ;
12477 public final void rule__VLSUnaryInfix__Group_1_0_1__0__Impl() throws RecognitionException {
12478
12479 int stackSize = keepStackSize();
12480
12481 try {
12482 // InternalVampireLanguage.g:3986:1: ( ( () ) )
12483 // InternalVampireLanguage.g:3987:1: ( () )
12484 {
12485 // InternalVampireLanguage.g:3987:1: ( () )
12486 // InternalVampireLanguage.g:3988:2: ()
12487 {
12488 before(grammarAccess.getVLSUnaryInfixAccess().getVLSEqualityLeftAction_1_0_1_0());
12489 // InternalVampireLanguage.g:3989:2: ()
12490 // InternalVampireLanguage.g:3989:3:
12491 {
12492 }
12493
12494 after(grammarAccess.getVLSUnaryInfixAccess().getVLSEqualityLeftAction_1_0_1_0());
12495
12496 }
12497
12498
12499 }
12500
12501 }
12502 finally {
12503
12504 restoreStackSize(stackSize);
12505
12506 }
12507 return ;
12508 }
12509 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_1__0__Impl"
12510
12511
12512 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_1__1"
12513 // InternalVampireLanguage.g:3997:1: rule__VLSUnaryInfix__Group_1_0_1__1 : rule__VLSUnaryInfix__Group_1_0_1__1__Impl ;
12514 public final void rule__VLSUnaryInfix__Group_1_0_1__1() throws RecognitionException {
12515
12516 int stackSize = keepStackSize();
12517
12518 try {
12519 // InternalVampireLanguage.g:4001:1: ( rule__VLSUnaryInfix__Group_1_0_1__1__Impl )
12520 // InternalVampireLanguage.g:4002:2: rule__VLSUnaryInfix__Group_1_0_1__1__Impl
12521 {
12522 pushFollow(FOLLOW_2);
12523 rule__VLSUnaryInfix__Group_1_0_1__1__Impl();
12524
12525 state._fsp--;
12526
12527
12528 }
12529
12530 }
12531 catch (RecognitionException re) {
12532 reportError(re);
12533 recover(input,re);
12534 }
12535 finally {
12536
12537 restoreStackSize(stackSize);
12538
12539 }
12540 return ;
12541 }
12542 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_1__1"
12543
12544
12545 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_1__1__Impl"
12546 // InternalVampireLanguage.g:4008:1: rule__VLSUnaryInfix__Group_1_0_1__1__Impl : ( '=' ) ;
12547 public final void rule__VLSUnaryInfix__Group_1_0_1__1__Impl() throws RecognitionException {
12548
12549 int stackSize = keepStackSize();
12550
12551 try {
12552 // InternalVampireLanguage.g:4012:1: ( ( '=' ) )
12553 // InternalVampireLanguage.g:4013:1: ( '=' )
12554 {
12555 // InternalVampireLanguage.g:4013:1: ( '=' )
12556 // InternalVampireLanguage.g:4014:2: '='
12557 {
12558 before(grammarAccess.getVLSUnaryInfixAccess().getEqualsSignKeyword_1_0_1_1());
12559 match(input,64,FOLLOW_2);
12560 after(grammarAccess.getVLSUnaryInfixAccess().getEqualsSignKeyword_1_0_1_1());
12561
12562 }
12563
12564
12565 }
12566
12567 }
12568 catch (RecognitionException re) {
12569 reportError(re);
12570 recover(input,re);
12571 }
12572 finally {
12573
12574 restoreStackSize(stackSize);
12575
12576 }
12577 return ;
12578 }
12579 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_1__1__Impl"
12580
12581
12582 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_2__0"
12583 // InternalVampireLanguage.g:4024:1: rule__VLSUnaryInfix__Group_1_0_2__0 : rule__VLSUnaryInfix__Group_1_0_2__0__Impl rule__VLSUnaryInfix__Group_1_0_2__1 ;
12584 public final void rule__VLSUnaryInfix__Group_1_0_2__0() throws RecognitionException {
12585
12586 int stackSize = keepStackSize();
12587
12588 try {
12589 // InternalVampireLanguage.g:4028:1: ( rule__VLSUnaryInfix__Group_1_0_2__0__Impl rule__VLSUnaryInfix__Group_1_0_2__1 )
12590 // InternalVampireLanguage.g:4029:2: rule__VLSUnaryInfix__Group_1_0_2__0__Impl rule__VLSUnaryInfix__Group_1_0_2__1
12591 {
12592 pushFollow(FOLLOW_35);
12593 rule__VLSUnaryInfix__Group_1_0_2__0__Impl();
12594
12595 state._fsp--;
12596
12597 pushFollow(FOLLOW_2);
12598 rule__VLSUnaryInfix__Group_1_0_2__1();
12599
12600 state._fsp--;
12601
12602
12603 }
12604
12605 }
12606 catch (RecognitionException re) {
12607 reportError(re);
12608 recover(input,re);
12609 }
12610 finally {
12611
12612 restoreStackSize(stackSize);
12613
12614 }
12615 return ;
12616 }
12617 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_2__0"
12618
12619
12620 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_2__0__Impl"
12621 // InternalVampireLanguage.g:4036:1: rule__VLSUnaryInfix__Group_1_0_2__0__Impl : ( () ) ;
12622 public final void rule__VLSUnaryInfix__Group_1_0_2__0__Impl() throws RecognitionException {
12623
12624 int stackSize = keepStackSize();
12625
12626 try {
12627 // InternalVampireLanguage.g:4040:1: ( ( () ) )
12628 // InternalVampireLanguage.g:4041:1: ( () )
12629 {
12630 // InternalVampireLanguage.g:4041:1: ( () )
12631 // InternalVampireLanguage.g:4042:2: ()
12632 {
12633 before(grammarAccess.getVLSUnaryInfixAccess().getVLSAssignmentLeftAction_1_0_2_0());
12634 // InternalVampireLanguage.g:4043:2: ()
12635 // InternalVampireLanguage.g:4043:3:
12636 {
12637 }
12638
12639 after(grammarAccess.getVLSUnaryInfixAccess().getVLSAssignmentLeftAction_1_0_2_0());
12640
12641 }
12642
12643
12644 }
12645
12646 }
12647 finally {
12648
12649 restoreStackSize(stackSize);
12650
12651 }
12652 return ;
12653 }
12654 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_2__0__Impl"
12655
12656
12657 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_2__1"
12658 // InternalVampireLanguage.g:4051:1: rule__VLSUnaryInfix__Group_1_0_2__1 : rule__VLSUnaryInfix__Group_1_0_2__1__Impl ;
12659 public final void rule__VLSUnaryInfix__Group_1_0_2__1() throws RecognitionException {
12660
12661 int stackSize = keepStackSize();
12662
12663 try {
12664 // InternalVampireLanguage.g:4055:1: ( rule__VLSUnaryInfix__Group_1_0_2__1__Impl )
12665 // InternalVampireLanguage.g:4056:2: rule__VLSUnaryInfix__Group_1_0_2__1__Impl
12666 {
12667 pushFollow(FOLLOW_2);
12668 rule__VLSUnaryInfix__Group_1_0_2__1__Impl();
12669
12670 state._fsp--;
12671
12672
12673 }
12674
12675 }
12676 catch (RecognitionException re) {
12677 reportError(re);
12678 recover(input,re);
12679 }
12680 finally {
12681
12682 restoreStackSize(stackSize);
12683
12684 }
12685 return ;
12686 }
12687 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_2__1"
12688
12689
12690 // $ANTLR start "rule__VLSUnaryInfix__Group_1_0_2__1__Impl"
12691 // InternalVampireLanguage.g:4062:1: rule__VLSUnaryInfix__Group_1_0_2__1__Impl : ( ':=' ) ;
12692 public final void rule__VLSUnaryInfix__Group_1_0_2__1__Impl() throws RecognitionException {
12693
12694 int stackSize = keepStackSize();
12695
12696 try {
12697 // InternalVampireLanguage.g:4066:1: ( ( ':=' ) )
12698 // InternalVampireLanguage.g:4067:1: ( ':=' )
12699 {
12700 // InternalVampireLanguage.g:4067:1: ( ':=' )
12701 // InternalVampireLanguage.g:4068:2: ':='
12702 {
12703 before(grammarAccess.getVLSUnaryInfixAccess().getColonEqualsSignKeyword_1_0_2_1());
12704 match(input,65,FOLLOW_2);
12705 after(grammarAccess.getVLSUnaryInfixAccess().getColonEqualsSignKeyword_1_0_2_1());
12706
12707 }
12708
12709
12710 }
12711
12712 }
12713 catch (RecognitionException re) {
12714 reportError(re);
12715 recover(input,re);
12716 }
12717 finally {
12718
12719 restoreStackSize(stackSize);
12720
12721 }
12722 return ;
12723 }
12724 // $ANTLR end "rule__VLSUnaryInfix__Group_1_0_2__1__Impl"
12725
12726
12727 // $ANTLR start "rule__VLSAtomicConstant__Group_0__0"
12728 // InternalVampireLanguage.g:4078:1: rule__VLSAtomicConstant__Group_0__0 : rule__VLSAtomicConstant__Group_0__0__Impl rule__VLSAtomicConstant__Group_0__1 ;
12729 public final void rule__VLSAtomicConstant__Group_0__0() throws RecognitionException {
12730
12731 int stackSize = keepStackSize();
12732
12733 try {
12734 // InternalVampireLanguage.g:4082:1: ( rule__VLSAtomicConstant__Group_0__0__Impl rule__VLSAtomicConstant__Group_0__1 )
12735 // InternalVampireLanguage.g:4083:2: rule__VLSAtomicConstant__Group_0__0__Impl rule__VLSAtomicConstant__Group_0__1
12736 {
12737 pushFollow(FOLLOW_39);
12738 rule__VLSAtomicConstant__Group_0__0__Impl();
12739
12740 state._fsp--;
12741
12742 pushFollow(FOLLOW_2);
12743 rule__VLSAtomicConstant__Group_0__1();
12744
12745 state._fsp--;
12746
12747
12748 }
12749
12750 }
12751 catch (RecognitionException re) {
12752 reportError(re);
12753 recover(input,re);
12754 }
12755 finally {
12756
12757 restoreStackSize(stackSize);
12758
12759 }
12760 return ;
12761 }
12762 // $ANTLR end "rule__VLSAtomicConstant__Group_0__0"
12763
12764
12765 // $ANTLR start "rule__VLSAtomicConstant__Group_0__0__Impl"
12766 // InternalVampireLanguage.g:4090:1: rule__VLSAtomicConstant__Group_0__0__Impl : ( () ) ;
12767 public final void rule__VLSAtomicConstant__Group_0__0__Impl() throws RecognitionException {
12768
12769 int stackSize = keepStackSize();
12770
12771 try {
12772 // InternalVampireLanguage.g:4094:1: ( ( () ) )
12773 // InternalVampireLanguage.g:4095:1: ( () )
12774 {
12775 // InternalVampireLanguage.g:4095:1: ( () )
12776 // InternalVampireLanguage.g:4096:2: ()
12777 {
12778 before(grammarAccess.getVLSAtomicConstantAccess().getVLSConstantAction_0_0());
12779 // InternalVampireLanguage.g:4097:2: ()
12780 // InternalVampireLanguage.g:4097:3:
12781 {
12782 }
12783
12784 after(grammarAccess.getVLSAtomicConstantAccess().getVLSConstantAction_0_0());
12785
12786 }
12787
12788
12789 }
12790
12791 }
12792 finally {
12793
12794 restoreStackSize(stackSize);
12795
12796 }
12797 return ;
12798 }
12799 // $ANTLR end "rule__VLSAtomicConstant__Group_0__0__Impl"
12800
12801
12802 // $ANTLR start "rule__VLSAtomicConstant__Group_0__1"
12803 // InternalVampireLanguage.g:4105:1: rule__VLSAtomicConstant__Group_0__1 : rule__VLSAtomicConstant__Group_0__1__Impl ;
12804 public final void rule__VLSAtomicConstant__Group_0__1() throws RecognitionException {
12805
12806 int stackSize = keepStackSize();
12807
12808 try {
12809 // InternalVampireLanguage.g:4109:1: ( rule__VLSAtomicConstant__Group_0__1__Impl )
12810 // InternalVampireLanguage.g:4110:2: rule__VLSAtomicConstant__Group_0__1__Impl
12811 {
12812 pushFollow(FOLLOW_2);
12813 rule__VLSAtomicConstant__Group_0__1__Impl();
12814
12815 state._fsp--;
12816
12817
12818 }
12819
12820 }
12821 catch (RecognitionException re) {
12822 reportError(re);
12823 recover(input,re);
12824 }
12825 finally {
12826
12827 restoreStackSize(stackSize);
12828
12829 }
12830 return ;
12831 }
12832 // $ANTLR end "rule__VLSAtomicConstant__Group_0__1"
12833
12834
12835 // $ANTLR start "rule__VLSAtomicConstant__Group_0__1__Impl"
12836 // InternalVampireLanguage.g:4116:1: rule__VLSAtomicConstant__Group_0__1__Impl : ( ( rule__VLSAtomicConstant__NameAssignment_0_1 ) ) ;
12837 public final void rule__VLSAtomicConstant__Group_0__1__Impl() throws RecognitionException {
12838
12839 int stackSize = keepStackSize();
12840
12841 try {
12842 // InternalVampireLanguage.g:4120:1: ( ( ( rule__VLSAtomicConstant__NameAssignment_0_1 ) ) )
12843 // InternalVampireLanguage.g:4121:1: ( ( rule__VLSAtomicConstant__NameAssignment_0_1 ) )
12844 {
12845 // InternalVampireLanguage.g:4121:1: ( ( rule__VLSAtomicConstant__NameAssignment_0_1 ) )
12846 // InternalVampireLanguage.g:4122:2: ( rule__VLSAtomicConstant__NameAssignment_0_1 )
12847 {
12848 before(grammarAccess.getVLSAtomicConstantAccess().getNameAssignment_0_1());
12849 // InternalVampireLanguage.g:4123:2: ( rule__VLSAtomicConstant__NameAssignment_0_1 )
12850 // InternalVampireLanguage.g:4123:3: rule__VLSAtomicConstant__NameAssignment_0_1
12851 {
12852 pushFollow(FOLLOW_2);
12853 rule__VLSAtomicConstant__NameAssignment_0_1();
12854
12855 state._fsp--;
12856
12857
12858 }
12859
12860 after(grammarAccess.getVLSAtomicConstantAccess().getNameAssignment_0_1());
12861
12862 }
12863
12864
12865 }
12866
12867 }
12868 catch (RecognitionException re) {
12869 reportError(re);
12870 recover(input,re);
12871 }
12872 finally {
12873
12874 restoreStackSize(stackSize);
12875
12876 }
12877 return ;
12878 }
12879 // $ANTLR end "rule__VLSAtomicConstant__Group_0__1__Impl"
12880
12881
12882 // $ANTLR start "rule__VLSAtomicConstant__Group_1__0"
12883 // InternalVampireLanguage.g:4132:1: rule__VLSAtomicConstant__Group_1__0 : rule__VLSAtomicConstant__Group_1__0__Impl rule__VLSAtomicConstant__Group_1__1 ;
12884 public final void rule__VLSAtomicConstant__Group_1__0() throws RecognitionException {
12885
12886 int stackSize = keepStackSize();
12887
12888 try {
12889 // InternalVampireLanguage.g:4136:1: ( rule__VLSAtomicConstant__Group_1__0__Impl rule__VLSAtomicConstant__Group_1__1 )
12890 // InternalVampireLanguage.g:4137:2: rule__VLSAtomicConstant__Group_1__0__Impl rule__VLSAtomicConstant__Group_1__1
12891 {
12892 pushFollow(FOLLOW_40);
12893 rule__VLSAtomicConstant__Group_1__0__Impl();
12894
12895 state._fsp--;
12896
12897 pushFollow(FOLLOW_2);
12898 rule__VLSAtomicConstant__Group_1__1();
12899
12900 state._fsp--;
12901
12902
12903 }
12904
12905 }
12906 catch (RecognitionException re) {
12907 reportError(re);
12908 recover(input,re);
12909 }
12910 finally {
12911
12912 restoreStackSize(stackSize);
12913
12914 }
12915 return ;
12916 }
12917 // $ANTLR end "rule__VLSAtomicConstant__Group_1__0"
12918
12919
12920 // $ANTLR start "rule__VLSAtomicConstant__Group_1__0__Impl"
12921 // InternalVampireLanguage.g:4144:1: rule__VLSAtomicConstant__Group_1__0__Impl : ( () ) ;
12922 public final void rule__VLSAtomicConstant__Group_1__0__Impl() throws RecognitionException {
12923
12924 int stackSize = keepStackSize();
12925
12926 try {
12927 // InternalVampireLanguage.g:4148:1: ( ( () ) )
12928 // InternalVampireLanguage.g:4149:1: ( () )
12929 {
12930 // InternalVampireLanguage.g:4149:1: ( () )
12931 // InternalVampireLanguage.g:4150:2: ()
12932 {
12933 before(grammarAccess.getVLSAtomicConstantAccess().getVLSTrueAction_1_0());
12934 // InternalVampireLanguage.g:4151:2: ()
12935 // InternalVampireLanguage.g:4151:3:
12936 {
12937 }
12938
12939 after(grammarAccess.getVLSAtomicConstantAccess().getVLSTrueAction_1_0());
12940
12941 }
12942
12943
12944 }
12945
12946 }
12947 finally {
12948
12949 restoreStackSize(stackSize);
12950
12951 }
12952 return ;
12953 }
12954 // $ANTLR end "rule__VLSAtomicConstant__Group_1__0__Impl"
12955
12956
12957 // $ANTLR start "rule__VLSAtomicConstant__Group_1__1"
12958 // InternalVampireLanguage.g:4159:1: rule__VLSAtomicConstant__Group_1__1 : rule__VLSAtomicConstant__Group_1__1__Impl ;
12959 public final void rule__VLSAtomicConstant__Group_1__1() throws RecognitionException {
12960
12961 int stackSize = keepStackSize();
12962
12963 try {
12964 // InternalVampireLanguage.g:4163:1: ( rule__VLSAtomicConstant__Group_1__1__Impl )
12965 // InternalVampireLanguage.g:4164:2: rule__VLSAtomicConstant__Group_1__1__Impl
12966 {
12967 pushFollow(FOLLOW_2);
12968 rule__VLSAtomicConstant__Group_1__1__Impl();
12969
12970 state._fsp--;
12971
12972
12973 }
12974
12975 }
12976 catch (RecognitionException re) {
12977 reportError(re);
12978 recover(input,re);
12979 }
12980 finally {
12981
12982 restoreStackSize(stackSize);
12983
12984 }
12985 return ;
12986 }
12987 // $ANTLR end "rule__VLSAtomicConstant__Group_1__1"
12988
12989
12990 // $ANTLR start "rule__VLSAtomicConstant__Group_1__1__Impl"
12991 // InternalVampireLanguage.g:4170:1: rule__VLSAtomicConstant__Group_1__1__Impl : ( '$true' ) ;
12992 public final void rule__VLSAtomicConstant__Group_1__1__Impl() throws RecognitionException {
12993
12994 int stackSize = keepStackSize();
12995
12996 try {
12997 // InternalVampireLanguage.g:4174:1: ( ( '$true' ) )
12998 // InternalVampireLanguage.g:4175:1: ( '$true' )
12999 {
13000 // InternalVampireLanguage.g:4175:1: ( '$true' )
13001 // InternalVampireLanguage.g:4176:2: '$true'
13002 {
13003 before(grammarAccess.getVLSAtomicConstantAccess().getTrueKeyword_1_1());
13004 match(input,66,FOLLOW_2);
13005 after(grammarAccess.getVLSAtomicConstantAccess().getTrueKeyword_1_1());
13006
13007 }
13008
13009
13010 }
13011
13012 }
13013 catch (RecognitionException re) {
13014 reportError(re);
13015 recover(input,re);
13016 }
13017 finally {
13018
13019 restoreStackSize(stackSize);
13020
13021 }
13022 return ;
13023 }
13024 // $ANTLR end "rule__VLSAtomicConstant__Group_1__1__Impl"
13025
13026
13027 // $ANTLR start "rule__VLSAtomicConstant__Group_2__0"
13028 // InternalVampireLanguage.g:4186:1: rule__VLSAtomicConstant__Group_2__0 : rule__VLSAtomicConstant__Group_2__0__Impl rule__VLSAtomicConstant__Group_2__1 ;
13029 public final void rule__VLSAtomicConstant__Group_2__0() throws RecognitionException {
13030
13031 int stackSize = keepStackSize();
13032
13033 try {
13034 // InternalVampireLanguage.g:4190:1: ( rule__VLSAtomicConstant__Group_2__0__Impl rule__VLSAtomicConstant__Group_2__1 )
13035 // InternalVampireLanguage.g:4191:2: rule__VLSAtomicConstant__Group_2__0__Impl rule__VLSAtomicConstant__Group_2__1
13036 {
13037 pushFollow(FOLLOW_41);
13038 rule__VLSAtomicConstant__Group_2__0__Impl();
13039
13040 state._fsp--;
13041
13042 pushFollow(FOLLOW_2);
13043 rule__VLSAtomicConstant__Group_2__1();
13044
13045 state._fsp--;
13046
13047
13048 }
13049
13050 }
13051 catch (RecognitionException re) {
13052 reportError(re);
13053 recover(input,re);
13054 }
13055 finally {
13056
13057 restoreStackSize(stackSize);
13058
13059 }
13060 return ;
13061 }
13062 // $ANTLR end "rule__VLSAtomicConstant__Group_2__0"
13063
13064
13065 // $ANTLR start "rule__VLSAtomicConstant__Group_2__0__Impl"
13066 // InternalVampireLanguage.g:4198:1: rule__VLSAtomicConstant__Group_2__0__Impl : ( () ) ;
13067 public final void rule__VLSAtomicConstant__Group_2__0__Impl() throws RecognitionException {
13068
13069 int stackSize = keepStackSize();
13070
13071 try {
13072 // InternalVampireLanguage.g:4202:1: ( ( () ) )
13073 // InternalVampireLanguage.g:4203:1: ( () )
13074 {
13075 // InternalVampireLanguage.g:4203:1: ( () )
13076 // InternalVampireLanguage.g:4204:2: ()
13077 {
13078 before(grammarAccess.getVLSAtomicConstantAccess().getVLSFalseAction_2_0());
13079 // InternalVampireLanguage.g:4205:2: ()
13080 // InternalVampireLanguage.g:4205:3:
13081 {
13082 }
13083
13084 after(grammarAccess.getVLSAtomicConstantAccess().getVLSFalseAction_2_0());
13085
13086 }
13087
13088
13089 }
13090
13091 }
13092 finally {
13093
13094 restoreStackSize(stackSize);
13095
13096 }
13097 return ;
13098 }
13099 // $ANTLR end "rule__VLSAtomicConstant__Group_2__0__Impl"
13100
13101
13102 // $ANTLR start "rule__VLSAtomicConstant__Group_2__1"
13103 // InternalVampireLanguage.g:4213:1: rule__VLSAtomicConstant__Group_2__1 : rule__VLSAtomicConstant__Group_2__1__Impl ;
13104 public final void rule__VLSAtomicConstant__Group_2__1() throws RecognitionException {
13105
13106 int stackSize = keepStackSize();
13107
13108 try {
13109 // InternalVampireLanguage.g:4217:1: ( rule__VLSAtomicConstant__Group_2__1__Impl )
13110 // InternalVampireLanguage.g:4218:2: rule__VLSAtomicConstant__Group_2__1__Impl
13111 {
13112 pushFollow(FOLLOW_2);
13113 rule__VLSAtomicConstant__Group_2__1__Impl();
13114
13115 state._fsp--;
13116
13117
13118 }
13119
13120 }
13121 catch (RecognitionException re) {
13122 reportError(re);
13123 recover(input,re);
13124 }
13125 finally {
13126
13127 restoreStackSize(stackSize);
13128
13129 }
13130 return ;
13131 }
13132 // $ANTLR end "rule__VLSAtomicConstant__Group_2__1"
13133
13134
13135 // $ANTLR start "rule__VLSAtomicConstant__Group_2__1__Impl"
13136 // InternalVampireLanguage.g:4224:1: rule__VLSAtomicConstant__Group_2__1__Impl : ( '$false' ) ;
13137 public final void rule__VLSAtomicConstant__Group_2__1__Impl() throws RecognitionException {
13138
13139 int stackSize = keepStackSize();
13140
13141 try {
13142 // InternalVampireLanguage.g:4228:1: ( ( '$false' ) )
13143 // InternalVampireLanguage.g:4229:1: ( '$false' )
13144 {
13145 // InternalVampireLanguage.g:4229:1: ( '$false' )
13146 // InternalVampireLanguage.g:4230:2: '$false'
13147 {
13148 before(grammarAccess.getVLSAtomicConstantAccess().getFalseKeyword_2_1());
13149 match(input,67,FOLLOW_2);
13150 after(grammarAccess.getVLSAtomicConstantAccess().getFalseKeyword_2_1());
13151
13152 }
13153
13154
13155 }
13156
13157 }
13158 catch (RecognitionException re) {
13159 reportError(re);
13160 recover(input,re);
13161 }
13162 finally {
13163
13164 restoreStackSize(stackSize);
13165
13166 }
13167 return ;
13168 }
13169 // $ANTLR end "rule__VLSAtomicConstant__Group_2__1__Impl"
13170
13171
13172 // $ANTLR start "rule__VLSAtomicFunction__Group_0__0"
13173 // InternalVampireLanguage.g:4240:1: rule__VLSAtomicFunction__Group_0__0 : rule__VLSAtomicFunction__Group_0__0__Impl rule__VLSAtomicFunction__Group_0__1 ;
13174 public final void rule__VLSAtomicFunction__Group_0__0() throws RecognitionException {
13175
13176 int stackSize = keepStackSize();
13177
13178 try {
13179 // InternalVampireLanguage.g:4244:1: ( rule__VLSAtomicFunction__Group_0__0__Impl rule__VLSAtomicFunction__Group_0__1 )
13180 // InternalVampireLanguage.g:4245:2: rule__VLSAtomicFunction__Group_0__0__Impl rule__VLSAtomicFunction__Group_0__1
13181 {
13182 pushFollow(FOLLOW_39);
13183 rule__VLSAtomicFunction__Group_0__0__Impl();
13184
13185 state._fsp--;
13186
13187 pushFollow(FOLLOW_2);
13188 rule__VLSAtomicFunction__Group_0__1();
13189
13190 state._fsp--;
13191
13192
13193 }
13194
13195 }
13196 catch (RecognitionException re) {
13197 reportError(re);
13198 recover(input,re);
13199 }
13200 finally {
13201
13202 restoreStackSize(stackSize);
13203
13204 }
13205 return ;
13206 }
13207 // $ANTLR end "rule__VLSAtomicFunction__Group_0__0"
13208
13209
13210 // $ANTLR start "rule__VLSAtomicFunction__Group_0__0__Impl"
13211 // InternalVampireLanguage.g:4252:1: rule__VLSAtomicFunction__Group_0__0__Impl : ( () ) ;
13212 public final void rule__VLSAtomicFunction__Group_0__0__Impl() throws RecognitionException {
13213
13214 int stackSize = keepStackSize();
13215
13216 try {
13217 // InternalVampireLanguage.g:4256:1: ( ( () ) )
13218 // InternalVampireLanguage.g:4257:1: ( () )
13219 {
13220 // InternalVampireLanguage.g:4257:1: ( () )
13221 // InternalVampireLanguage.g:4258:2: ()
13222 {
13223 before(grammarAccess.getVLSAtomicFunctionAccess().getVLSFunctionAction_0_0());
13224 // InternalVampireLanguage.g:4259:2: ()
13225 // InternalVampireLanguage.g:4259:3:
13226 {
13227 }
13228
13229 after(grammarAccess.getVLSAtomicFunctionAccess().getVLSFunctionAction_0_0());
13230
13231 }
13232
13233
13234 }
13235
13236 }
13237 finally {
13238
13239 restoreStackSize(stackSize);
13240
13241 }
13242 return ;
13243 }
13244 // $ANTLR end "rule__VLSAtomicFunction__Group_0__0__Impl"
13245
13246
13247 // $ANTLR start "rule__VLSAtomicFunction__Group_0__1"
13248 // InternalVampireLanguage.g:4267:1: rule__VLSAtomicFunction__Group_0__1 : rule__VLSAtomicFunction__Group_0__1__Impl rule__VLSAtomicFunction__Group_0__2 ;
13249 public final void rule__VLSAtomicFunction__Group_0__1() throws RecognitionException {
13250
13251 int stackSize = keepStackSize();
13252
13253 try {
13254 // InternalVampireLanguage.g:4271:1: ( rule__VLSAtomicFunction__Group_0__1__Impl rule__VLSAtomicFunction__Group_0__2 )
13255 // InternalVampireLanguage.g:4272:2: rule__VLSAtomicFunction__Group_0__1__Impl rule__VLSAtomicFunction__Group_0__2
13256 {
13257 pushFollow(FOLLOW_11);
13258 rule__VLSAtomicFunction__Group_0__1__Impl();
13259
13260 state._fsp--;
13261
13262 pushFollow(FOLLOW_2);
13263 rule__VLSAtomicFunction__Group_0__2();
13264
13265 state._fsp--;
13266
13267
13268 }
13269
13270 }
13271 catch (RecognitionException re) {
13272 reportError(re);
13273 recover(input,re);
13274 }
13275 finally {
13276
13277 restoreStackSize(stackSize);
13278
13279 }
13280 return ;
13281 }
13282 // $ANTLR end "rule__VLSAtomicFunction__Group_0__1"
13283
13284
13285 // $ANTLR start "rule__VLSAtomicFunction__Group_0__1__Impl"
13286 // InternalVampireLanguage.g:4279:1: rule__VLSAtomicFunction__Group_0__1__Impl : ( ( rule__VLSAtomicFunction__ConstantAssignment_0_1 ) ) ;
13287 public final void rule__VLSAtomicFunction__Group_0__1__Impl() throws RecognitionException {
13288
13289 int stackSize = keepStackSize();
13290
13291 try {
13292 // InternalVampireLanguage.g:4283:1: ( ( ( rule__VLSAtomicFunction__ConstantAssignment_0_1 ) ) )
13293 // InternalVampireLanguage.g:4284:1: ( ( rule__VLSAtomicFunction__ConstantAssignment_0_1 ) )
13294 {
13295 // InternalVampireLanguage.g:4284:1: ( ( rule__VLSAtomicFunction__ConstantAssignment_0_1 ) )
13296 // InternalVampireLanguage.g:4285:2: ( rule__VLSAtomicFunction__ConstantAssignment_0_1 )
13297 {
13298 before(grammarAccess.getVLSAtomicFunctionAccess().getConstantAssignment_0_1());
13299 // InternalVampireLanguage.g:4286:2: ( rule__VLSAtomicFunction__ConstantAssignment_0_1 )
13300 // InternalVampireLanguage.g:4286:3: rule__VLSAtomicFunction__ConstantAssignment_0_1
13301 {
13302 pushFollow(FOLLOW_2);
13303 rule__VLSAtomicFunction__ConstantAssignment_0_1();
13304
13305 state._fsp--;
13306
13307
13308 }
13309
13310 after(grammarAccess.getVLSAtomicFunctionAccess().getConstantAssignment_0_1());
13311
13312 }
13313
13314
13315 }
13316
13317 }
13318 catch (RecognitionException re) {
13319 reportError(re);
13320 recover(input,re);
13321 }
13322 finally {
13323
13324 restoreStackSize(stackSize);
13325
13326 }
13327 return ;
13328 }
13329 // $ANTLR end "rule__VLSAtomicFunction__Group_0__1__Impl"
13330
13331
13332 // $ANTLR start "rule__VLSAtomicFunction__Group_0__2"
13333 // InternalVampireLanguage.g:4294:1: rule__VLSAtomicFunction__Group_0__2 : rule__VLSAtomicFunction__Group_0__2__Impl ;
13334 public final void rule__VLSAtomicFunction__Group_0__2() throws RecognitionException {
13335
13336 int stackSize = keepStackSize();
13337
13338 try {
13339 // InternalVampireLanguage.g:4298:1: ( rule__VLSAtomicFunction__Group_0__2__Impl )
13340 // InternalVampireLanguage.g:4299:2: rule__VLSAtomicFunction__Group_0__2__Impl
13341 {
13342 pushFollow(FOLLOW_2);
13343 rule__VLSAtomicFunction__Group_0__2__Impl();
13344
13345 state._fsp--;
13346
13347
13348 }
13349
13350 }
13351 catch (RecognitionException re) {
13352 reportError(re);
13353 recover(input,re);
13354 }
13355 finally {
13356
13357 restoreStackSize(stackSize);
13358
13359 }
13360 return ;
13361 }
13362 // $ANTLR end "rule__VLSAtomicFunction__Group_0__2"
13363
13364
13365 // $ANTLR start "rule__VLSAtomicFunction__Group_0__2__Impl"
13366 // InternalVampireLanguage.g:4305:1: rule__VLSAtomicFunction__Group_0__2__Impl : ( ( rule__VLSAtomicFunction__Group_0_2__0 ) ) ;
13367 public final void rule__VLSAtomicFunction__Group_0__2__Impl() throws RecognitionException {
13368
13369 int stackSize = keepStackSize();
13370
13371 try {
13372 // InternalVampireLanguage.g:4309:1: ( ( ( rule__VLSAtomicFunction__Group_0_2__0 ) ) )
13373 // InternalVampireLanguage.g:4310:1: ( ( rule__VLSAtomicFunction__Group_0_2__0 ) )
13374 {
13375 // InternalVampireLanguage.g:4310:1: ( ( rule__VLSAtomicFunction__Group_0_2__0 ) )
13376 // InternalVampireLanguage.g:4311:2: ( rule__VLSAtomicFunction__Group_0_2__0 )
13377 {
13378 before(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0_2());
13379 // InternalVampireLanguage.g:4312:2: ( rule__VLSAtomicFunction__Group_0_2__0 )
13380 // InternalVampireLanguage.g:4312:3: rule__VLSAtomicFunction__Group_0_2__0
13381 {
13382 pushFollow(FOLLOW_2);
13383 rule__VLSAtomicFunction__Group_0_2__0();
13384
13385 state._fsp--;
13386
13387
13388 }
13389
13390 after(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0_2());
13391
13392 }
13393
13394
13395 }
13396
13397 }
13398 catch (RecognitionException re) {
13399 reportError(re);
13400 recover(input,re);
13401 }
13402 finally {
13403
13404 restoreStackSize(stackSize);
13405
13406 }
13407 return ;
13408 }
13409 // $ANTLR end "rule__VLSAtomicFunction__Group_0__2__Impl"
13410
13411
13412 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2__0"
13413 // InternalVampireLanguage.g:4321:1: rule__VLSAtomicFunction__Group_0_2__0 : rule__VLSAtomicFunction__Group_0_2__0__Impl rule__VLSAtomicFunction__Group_0_2__1 ;
13414 public final void rule__VLSAtomicFunction__Group_0_2__0() throws RecognitionException {
13415
13416 int stackSize = keepStackSize();
13417
13418 try {
13419 // InternalVampireLanguage.g:4325:1: ( rule__VLSAtomicFunction__Group_0_2__0__Impl rule__VLSAtomicFunction__Group_0_2__1 )
13420 // InternalVampireLanguage.g:4326:2: rule__VLSAtomicFunction__Group_0_2__0__Impl rule__VLSAtomicFunction__Group_0_2__1
13421 {
13422 pushFollow(FOLLOW_36);
13423 rule__VLSAtomicFunction__Group_0_2__0__Impl();
13424
13425 state._fsp--;
13426
13427 pushFollow(FOLLOW_2);
13428 rule__VLSAtomicFunction__Group_0_2__1();
13429
13430 state._fsp--;
13431
13432
13433 }
13434
13435 }
13436 catch (RecognitionException re) {
13437 reportError(re);
13438 recover(input,re);
13439 }
13440 finally {
13441
13442 restoreStackSize(stackSize);
13443
13444 }
13445 return ;
13446 }
13447 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2__0"
13448
13449
13450 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2__0__Impl"
13451 // InternalVampireLanguage.g:4333:1: rule__VLSAtomicFunction__Group_0_2__0__Impl : ( '(' ) ;
13452 public final void rule__VLSAtomicFunction__Group_0_2__0__Impl() throws RecognitionException {
13453
13454 int stackSize = keepStackSize();
13455
13456 try {
13457 // InternalVampireLanguage.g:4337:1: ( ( '(' ) )
13458 // InternalVampireLanguage.g:4338:1: ( '(' )
13459 {
13460 // InternalVampireLanguage.g:4338:1: ( '(' )
13461 // InternalVampireLanguage.g:4339:2: '('
13462 {
13463 before(grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_0_2_0());
13464 match(input,47,FOLLOW_2);
13465 after(grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_0_2_0());
13466
13467 }
13468
13469
13470 }
13471
13472 }
13473 catch (RecognitionException re) {
13474 reportError(re);
13475 recover(input,re);
13476 }
13477 finally {
13478
13479 restoreStackSize(stackSize);
13480
13481 }
13482 return ;
13483 }
13484 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2__0__Impl"
13485
13486
13487 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2__1"
13488 // InternalVampireLanguage.g:4348:1: rule__VLSAtomicFunction__Group_0_2__1 : rule__VLSAtomicFunction__Group_0_2__1__Impl rule__VLSAtomicFunction__Group_0_2__2 ;
13489 public final void rule__VLSAtomicFunction__Group_0_2__1() throws RecognitionException {
13490
13491 int stackSize = keepStackSize();
13492
13493 try {
13494 // InternalVampireLanguage.g:4352:1: ( rule__VLSAtomicFunction__Group_0_2__1__Impl rule__VLSAtomicFunction__Group_0_2__2 )
13495 // InternalVampireLanguage.g:4353:2: rule__VLSAtomicFunction__Group_0_2__1__Impl rule__VLSAtomicFunction__Group_0_2__2
13496 {
13497 pushFollow(FOLLOW_16);
13498 rule__VLSAtomicFunction__Group_0_2__1__Impl();
13499
13500 state._fsp--;
13501
13502 pushFollow(FOLLOW_2);
13503 rule__VLSAtomicFunction__Group_0_2__2();
13504
13505 state._fsp--;
13506
13507
13508 }
13509
13510 }
13511 catch (RecognitionException re) {
13512 reportError(re);
13513 recover(input,re);
13514 }
13515 finally {
13516
13517 restoreStackSize(stackSize);
13518
13519 }
13520 return ;
13521 }
13522 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2__1"
13523
13524
13525 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2__1__Impl"
13526 // InternalVampireLanguage.g:4360:1: rule__VLSAtomicFunction__Group_0_2__1__Impl : ( ( rule__VLSAtomicFunction__TermsAssignment_0_2_1 ) ) ;
13527 public final void rule__VLSAtomicFunction__Group_0_2__1__Impl() throws RecognitionException {
13528
13529 int stackSize = keepStackSize();
13530
13531 try {
13532 // InternalVampireLanguage.g:4364:1: ( ( ( rule__VLSAtomicFunction__TermsAssignment_0_2_1 ) ) )
13533 // InternalVampireLanguage.g:4365:1: ( ( rule__VLSAtomicFunction__TermsAssignment_0_2_1 ) )
13534 {
13535 // InternalVampireLanguage.g:4365:1: ( ( rule__VLSAtomicFunction__TermsAssignment_0_2_1 ) )
13536 // InternalVampireLanguage.g:4366:2: ( rule__VLSAtomicFunction__TermsAssignment_0_2_1 )
13537 {
13538 before(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_0_2_1());
13539 // InternalVampireLanguage.g:4367:2: ( rule__VLSAtomicFunction__TermsAssignment_0_2_1 )
13540 // InternalVampireLanguage.g:4367:3: rule__VLSAtomicFunction__TermsAssignment_0_2_1
13541 {
13542 pushFollow(FOLLOW_2);
13543 rule__VLSAtomicFunction__TermsAssignment_0_2_1();
13544
13545 state._fsp--;
13546
13547
13548 }
13549
13550 after(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_0_2_1());
13551
13552 }
13553
13554
13555 }
13556
13557 }
13558 catch (RecognitionException re) {
13559 reportError(re);
13560 recover(input,re);
13561 }
13562 finally {
13563
13564 restoreStackSize(stackSize);
13565
13566 }
13567 return ;
13568 }
13569 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2__1__Impl"
13570
13571
13572 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2__2"
13573 // InternalVampireLanguage.g:4375:1: rule__VLSAtomicFunction__Group_0_2__2 : rule__VLSAtomicFunction__Group_0_2__2__Impl rule__VLSAtomicFunction__Group_0_2__3 ;
13574 public final void rule__VLSAtomicFunction__Group_0_2__2() throws RecognitionException {
13575
13576 int stackSize = keepStackSize();
13577
13578 try {
13579 // InternalVampireLanguage.g:4379:1: ( rule__VLSAtomicFunction__Group_0_2__2__Impl rule__VLSAtomicFunction__Group_0_2__3 )
13580 // InternalVampireLanguage.g:4380:2: rule__VLSAtomicFunction__Group_0_2__2__Impl rule__VLSAtomicFunction__Group_0_2__3
13581 {
13582 pushFollow(FOLLOW_16);
13583 rule__VLSAtomicFunction__Group_0_2__2__Impl();
13584
13585 state._fsp--;
13586
13587 pushFollow(FOLLOW_2);
13588 rule__VLSAtomicFunction__Group_0_2__3();
13589
13590 state._fsp--;
13591
13592
13593 }
13594
13595 }
13596 catch (RecognitionException re) {
13597 reportError(re);
13598 recover(input,re);
13599 }
13600 finally {
13601
13602 restoreStackSize(stackSize);
13603
13604 }
13605 return ;
13606 }
13607 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2__2"
13608
13609
13610 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2__2__Impl"
13611 // InternalVampireLanguage.g:4387:1: rule__VLSAtomicFunction__Group_0_2__2__Impl : ( ( rule__VLSAtomicFunction__Group_0_2_2__0 )* ) ;
13612 public final void rule__VLSAtomicFunction__Group_0_2__2__Impl() throws RecognitionException {
13613
13614 int stackSize = keepStackSize();
13615
13616 try {
13617 // InternalVampireLanguage.g:4391:1: ( ( ( rule__VLSAtomicFunction__Group_0_2_2__0 )* ) )
13618 // InternalVampireLanguage.g:4392:1: ( ( rule__VLSAtomicFunction__Group_0_2_2__0 )* )
13619 {
13620 // InternalVampireLanguage.g:4392:1: ( ( rule__VLSAtomicFunction__Group_0_2_2__0 )* )
13621 // InternalVampireLanguage.g:4393:2: ( rule__VLSAtomicFunction__Group_0_2_2__0 )*
13622 {
13623 before(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0_2_2());
13624 // InternalVampireLanguage.g:4394:2: ( rule__VLSAtomicFunction__Group_0_2_2__0 )*
13625 loop33:
13626 do {
13627 int alt33=2;
13628 int LA33_0 = input.LA(1);
13629
13630 if ( (LA33_0==45) ) {
13631 alt33=1;
13632 }
13633
13634
13635 switch (alt33) {
13636 case 1 :
13637 // InternalVampireLanguage.g:4394:3: rule__VLSAtomicFunction__Group_0_2_2__0
13638 {
13639 pushFollow(FOLLOW_10);
13640 rule__VLSAtomicFunction__Group_0_2_2__0();
13641
13642 state._fsp--;
13643
13644
13645 }
13646 break;
13647
13648 default :
13649 break loop33;
13650 }
13651 } while (true);
13652
13653 after(grammarAccess.getVLSAtomicFunctionAccess().getGroup_0_2_2());
13654
13655 }
13656
13657
13658 }
13659
13660 }
13661 catch (RecognitionException re) {
13662 reportError(re);
13663 recover(input,re);
13664 }
13665 finally {
13666
13667 restoreStackSize(stackSize);
13668
13669 }
13670 return ;
13671 }
13672 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2__2__Impl"
13673
13674
13675 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2__3"
13676 // InternalVampireLanguage.g:4402:1: rule__VLSAtomicFunction__Group_0_2__3 : rule__VLSAtomicFunction__Group_0_2__3__Impl ;
13677 public final void rule__VLSAtomicFunction__Group_0_2__3() throws RecognitionException {
13678
13679 int stackSize = keepStackSize();
13680
13681 try {
13682 // InternalVampireLanguage.g:4406:1: ( rule__VLSAtomicFunction__Group_0_2__3__Impl )
13683 // InternalVampireLanguage.g:4407:2: rule__VLSAtomicFunction__Group_0_2__3__Impl
13684 {
13685 pushFollow(FOLLOW_2);
13686 rule__VLSAtomicFunction__Group_0_2__3__Impl();
13687
13688 state._fsp--;
13689
13690
13691 }
13692
13693 }
13694 catch (RecognitionException re) {
13695 reportError(re);
13696 recover(input,re);
13697 }
13698 finally {
13699
13700 restoreStackSize(stackSize);
13701
13702 }
13703 return ;
13704 }
13705 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2__3"
13706
13707
13708 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2__3__Impl"
13709 // InternalVampireLanguage.g:4413:1: rule__VLSAtomicFunction__Group_0_2__3__Impl : ( ')' ) ;
13710 public final void rule__VLSAtomicFunction__Group_0_2__3__Impl() throws RecognitionException {
13711
13712 int stackSize = keepStackSize();
13713
13714 try {
13715 // InternalVampireLanguage.g:4417:1: ( ( ')' ) )
13716 // InternalVampireLanguage.g:4418:1: ( ')' )
13717 {
13718 // InternalVampireLanguage.g:4418:1: ( ')' )
13719 // InternalVampireLanguage.g:4419:2: ')'
13720 {
13721 before(grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_0_2_3());
13722 match(input,48,FOLLOW_2);
13723 after(grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_0_2_3());
13724
13725 }
13726
13727
13728 }
13729
13730 }
13731 catch (RecognitionException re) {
13732 reportError(re);
13733 recover(input,re);
13734 }
13735 finally {
13736
13737 restoreStackSize(stackSize);
13738
13739 }
13740 return ;
13741 }
13742 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2__3__Impl"
13743
13744
13745 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2_2__0"
13746 // InternalVampireLanguage.g:4429:1: rule__VLSAtomicFunction__Group_0_2_2__0 : rule__VLSAtomicFunction__Group_0_2_2__0__Impl rule__VLSAtomicFunction__Group_0_2_2__1 ;
13747 public final void rule__VLSAtomicFunction__Group_0_2_2__0() throws RecognitionException {
13748
13749 int stackSize = keepStackSize();
13750
13751 try {
13752 // InternalVampireLanguage.g:4433:1: ( rule__VLSAtomicFunction__Group_0_2_2__0__Impl rule__VLSAtomicFunction__Group_0_2_2__1 )
13753 // InternalVampireLanguage.g:4434:2: rule__VLSAtomicFunction__Group_0_2_2__0__Impl rule__VLSAtomicFunction__Group_0_2_2__1
13754 {
13755 pushFollow(FOLLOW_36);
13756 rule__VLSAtomicFunction__Group_0_2_2__0__Impl();
13757
13758 state._fsp--;
13759
13760 pushFollow(FOLLOW_2);
13761 rule__VLSAtomicFunction__Group_0_2_2__1();
13762
13763 state._fsp--;
13764
13765
13766 }
13767
13768 }
13769 catch (RecognitionException re) {
13770 reportError(re);
13771 recover(input,re);
13772 }
13773 finally {
13774
13775 restoreStackSize(stackSize);
13776
13777 }
13778 return ;
13779 }
13780 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2_2__0"
13781
13782
13783 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2_2__0__Impl"
13784 // InternalVampireLanguage.g:4441:1: rule__VLSAtomicFunction__Group_0_2_2__0__Impl : ( ',' ) ;
13785 public final void rule__VLSAtomicFunction__Group_0_2_2__0__Impl() throws RecognitionException {
13786
13787 int stackSize = keepStackSize();
13788
13789 try {
13790 // InternalVampireLanguage.g:4445:1: ( ( ',' ) )
13791 // InternalVampireLanguage.g:4446:1: ( ',' )
13792 {
13793 // InternalVampireLanguage.g:4446:1: ( ',' )
13794 // InternalVampireLanguage.g:4447:2: ','
13795 {
13796 before(grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_0_2_2_0());
13797 match(input,45,FOLLOW_2);
13798 after(grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_0_2_2_0());
13799
13800 }
13801
13802
13803 }
13804
13805 }
13806 catch (RecognitionException re) {
13807 reportError(re);
13808 recover(input,re);
13809 }
13810 finally {
13811
13812 restoreStackSize(stackSize);
13813
13814 }
13815 return ;
13816 }
13817 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2_2__0__Impl"
13818
13819
13820 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2_2__1"
13821 // InternalVampireLanguage.g:4456:1: rule__VLSAtomicFunction__Group_0_2_2__1 : rule__VLSAtomicFunction__Group_0_2_2__1__Impl ;
13822 public final void rule__VLSAtomicFunction__Group_0_2_2__1() throws RecognitionException {
13823
13824 int stackSize = keepStackSize();
13825
13826 try {
13827 // InternalVampireLanguage.g:4460:1: ( rule__VLSAtomicFunction__Group_0_2_2__1__Impl )
13828 // InternalVampireLanguage.g:4461:2: rule__VLSAtomicFunction__Group_0_2_2__1__Impl
13829 {
13830 pushFollow(FOLLOW_2);
13831 rule__VLSAtomicFunction__Group_0_2_2__1__Impl();
13832
13833 state._fsp--;
13834
13835
13836 }
13837
13838 }
13839 catch (RecognitionException re) {
13840 reportError(re);
13841 recover(input,re);
13842 }
13843 finally {
13844
13845 restoreStackSize(stackSize);
13846
13847 }
13848 return ;
13849 }
13850 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2_2__1"
13851
13852
13853 // $ANTLR start "rule__VLSAtomicFunction__Group_0_2_2__1__Impl"
13854 // InternalVampireLanguage.g:4467:1: rule__VLSAtomicFunction__Group_0_2_2__1__Impl : ( ( rule__VLSAtomicFunction__TermsAssignment_0_2_2_1 ) ) ;
13855 public final void rule__VLSAtomicFunction__Group_0_2_2__1__Impl() throws RecognitionException {
13856
13857 int stackSize = keepStackSize();
13858
13859 try {
13860 // InternalVampireLanguage.g:4471:1: ( ( ( rule__VLSAtomicFunction__TermsAssignment_0_2_2_1 ) ) )
13861 // InternalVampireLanguage.g:4472:1: ( ( rule__VLSAtomicFunction__TermsAssignment_0_2_2_1 ) )
13862 {
13863 // InternalVampireLanguage.g:4472:1: ( ( rule__VLSAtomicFunction__TermsAssignment_0_2_2_1 ) )
13864 // InternalVampireLanguage.g:4473:2: ( rule__VLSAtomicFunction__TermsAssignment_0_2_2_1 )
13865 {
13866 before(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_0_2_2_1());
13867 // InternalVampireLanguage.g:4474:2: ( rule__VLSAtomicFunction__TermsAssignment_0_2_2_1 )
13868 // InternalVampireLanguage.g:4474:3: rule__VLSAtomicFunction__TermsAssignment_0_2_2_1
13869 {
13870 pushFollow(FOLLOW_2);
13871 rule__VLSAtomicFunction__TermsAssignment_0_2_2_1();
13872
13873 state._fsp--;
13874
13875
13876 }
13877
13878 after(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_0_2_2_1());
13879
13880 }
13881
13882
13883 }
13884
13885 }
13886 catch (RecognitionException re) {
13887 reportError(re);
13888 recover(input,re);
13889 }
13890 finally {
13891
13892 restoreStackSize(stackSize);
13893
13894 }
13895 return ;
13896 }
13897 // $ANTLR end "rule__VLSAtomicFunction__Group_0_2_2__1__Impl"
13898
13899
13900 // $ANTLR start "rule__VLSAtomicFunction__Group_1__0"
13901 // InternalVampireLanguage.g:4483:1: rule__VLSAtomicFunction__Group_1__0 : rule__VLSAtomicFunction__Group_1__0__Impl rule__VLSAtomicFunction__Group_1__1 ;
13902 public final void rule__VLSAtomicFunction__Group_1__0() throws RecognitionException {
13903
13904 int stackSize = keepStackSize();
13905
13906 try {
13907 // InternalVampireLanguage.g:4487:1: ( rule__VLSAtomicFunction__Group_1__0__Impl rule__VLSAtomicFunction__Group_1__1 )
13908 // InternalVampireLanguage.g:4488:2: rule__VLSAtomicFunction__Group_1__0__Impl rule__VLSAtomicFunction__Group_1__1
13909 {
13910 pushFollow(FOLLOW_42);
13911 rule__VLSAtomicFunction__Group_1__0__Impl();
13912
13913 state._fsp--;
13914
13915 pushFollow(FOLLOW_2);
13916 rule__VLSAtomicFunction__Group_1__1();
13917
13918 state._fsp--;
13919
13920
13921 }
13922
13923 }
13924 catch (RecognitionException re) {
13925 reportError(re);
13926 recover(input,re);
13927 }
13928 finally {
13929
13930 restoreStackSize(stackSize);
13931
13932 }
13933 return ;
13934 }
13935 // $ANTLR end "rule__VLSAtomicFunction__Group_1__0"
13936
13937
13938 // $ANTLR start "rule__VLSAtomicFunction__Group_1__0__Impl"
13939 // InternalVampireLanguage.g:4495:1: rule__VLSAtomicFunction__Group_1__0__Impl : ( () ) ;
13940 public final void rule__VLSAtomicFunction__Group_1__0__Impl() throws RecognitionException {
13941
13942 int stackSize = keepStackSize();
13943
13944 try {
13945 // InternalVampireLanguage.g:4499:1: ( ( () ) )
13946 // InternalVampireLanguage.g:4500:1: ( () )
13947 {
13948 // InternalVampireLanguage.g:4500:1: ( () )
13949 // InternalVampireLanguage.g:4501:2: ()
13950 {
13951 before(grammarAccess.getVLSAtomicFunctionAccess().getVLSLessAction_1_0());
13952 // InternalVampireLanguage.g:4502:2: ()
13953 // InternalVampireLanguage.g:4502:3:
13954 {
13955 }
13956
13957 after(grammarAccess.getVLSAtomicFunctionAccess().getVLSLessAction_1_0());
13958
13959 }
13960
13961
13962 }
13963
13964 }
13965 finally {
13966
13967 restoreStackSize(stackSize);
13968
13969 }
13970 return ;
13971 }
13972 // $ANTLR end "rule__VLSAtomicFunction__Group_1__0__Impl"
13973
13974
13975 // $ANTLR start "rule__VLSAtomicFunction__Group_1__1"
13976 // InternalVampireLanguage.g:4510:1: rule__VLSAtomicFunction__Group_1__1 : rule__VLSAtomicFunction__Group_1__1__Impl rule__VLSAtomicFunction__Group_1__2 ;
13977 public final void rule__VLSAtomicFunction__Group_1__1() throws RecognitionException {
13978
13979 int stackSize = keepStackSize();
13980
13981 try {
13982 // InternalVampireLanguage.g:4514:1: ( rule__VLSAtomicFunction__Group_1__1__Impl rule__VLSAtomicFunction__Group_1__2 )
13983 // InternalVampireLanguage.g:4515:2: rule__VLSAtomicFunction__Group_1__1__Impl rule__VLSAtomicFunction__Group_1__2
13984 {
13985 pushFollow(FOLLOW_11);
13986 rule__VLSAtomicFunction__Group_1__1__Impl();
13987
13988 state._fsp--;
13989
13990 pushFollow(FOLLOW_2);
13991 rule__VLSAtomicFunction__Group_1__2();
13992
13993 state._fsp--;
13994
13995
13996 }
13997
13998 }
13999 catch (RecognitionException re) {
14000 reportError(re);
14001 recover(input,re);
14002 }
14003 finally {
14004
14005 restoreStackSize(stackSize);
14006
14007 }
14008 return ;
14009 }
14010 // $ANTLR end "rule__VLSAtomicFunction__Group_1__1"
14011
14012
14013 // $ANTLR start "rule__VLSAtomicFunction__Group_1__1__Impl"
14014 // InternalVampireLanguage.g:4522:1: rule__VLSAtomicFunction__Group_1__1__Impl : ( ( rule__VLSAtomicFunction__NameAssignment_1_1 ) ) ;
14015 public final void rule__VLSAtomicFunction__Group_1__1__Impl() throws RecognitionException {
14016
14017 int stackSize = keepStackSize();
14018
14019 try {
14020 // InternalVampireLanguage.g:4526:1: ( ( ( rule__VLSAtomicFunction__NameAssignment_1_1 ) ) )
14021 // InternalVampireLanguage.g:4527:1: ( ( rule__VLSAtomicFunction__NameAssignment_1_1 ) )
14022 {
14023 // InternalVampireLanguage.g:4527:1: ( ( rule__VLSAtomicFunction__NameAssignment_1_1 ) )
14024 // InternalVampireLanguage.g:4528:2: ( rule__VLSAtomicFunction__NameAssignment_1_1 )
14025 {
14026 before(grammarAccess.getVLSAtomicFunctionAccess().getNameAssignment_1_1());
14027 // InternalVampireLanguage.g:4529:2: ( rule__VLSAtomicFunction__NameAssignment_1_1 )
14028 // InternalVampireLanguage.g:4529:3: rule__VLSAtomicFunction__NameAssignment_1_1
14029 {
14030 pushFollow(FOLLOW_2);
14031 rule__VLSAtomicFunction__NameAssignment_1_1();
14032
14033 state._fsp--;
14034
14035
14036 }
14037
14038 after(grammarAccess.getVLSAtomicFunctionAccess().getNameAssignment_1_1());
14039
14040 }
14041
14042
14043 }
14044
14045 }
14046 catch (RecognitionException re) {
14047 reportError(re);
14048 recover(input,re);
14049 }
14050 finally {
14051
14052 restoreStackSize(stackSize);
14053
14054 }
14055 return ;
14056 }
14057 // $ANTLR end "rule__VLSAtomicFunction__Group_1__1__Impl"
14058
14059
14060 // $ANTLR start "rule__VLSAtomicFunction__Group_1__2"
14061 // InternalVampireLanguage.g:4537:1: rule__VLSAtomicFunction__Group_1__2 : rule__VLSAtomicFunction__Group_1__2__Impl rule__VLSAtomicFunction__Group_1__3 ;
14062 public final void rule__VLSAtomicFunction__Group_1__2() throws RecognitionException {
14063
14064 int stackSize = keepStackSize();
14065
14066 try {
14067 // InternalVampireLanguage.g:4541:1: ( rule__VLSAtomicFunction__Group_1__2__Impl rule__VLSAtomicFunction__Group_1__3 )
14068 // InternalVampireLanguage.g:4542:2: rule__VLSAtomicFunction__Group_1__2__Impl rule__VLSAtomicFunction__Group_1__3
14069 {
14070 pushFollow(FOLLOW_36);
14071 rule__VLSAtomicFunction__Group_1__2__Impl();
14072
14073 state._fsp--;
14074
14075 pushFollow(FOLLOW_2);
14076 rule__VLSAtomicFunction__Group_1__3();
14077
14078 state._fsp--;
14079
14080
14081 }
14082
14083 }
14084 catch (RecognitionException re) {
14085 reportError(re);
14086 recover(input,re);
14087 }
14088 finally {
14089
14090 restoreStackSize(stackSize);
14091
14092 }
14093 return ;
14094 }
14095 // $ANTLR end "rule__VLSAtomicFunction__Group_1__2"
14096
14097
14098 // $ANTLR start "rule__VLSAtomicFunction__Group_1__2__Impl"
14099 // InternalVampireLanguage.g:4549:1: rule__VLSAtomicFunction__Group_1__2__Impl : ( '(' ) ;
14100 public final void rule__VLSAtomicFunction__Group_1__2__Impl() throws RecognitionException {
14101
14102 int stackSize = keepStackSize();
14103
14104 try {
14105 // InternalVampireLanguage.g:4553:1: ( ( '(' ) )
14106 // InternalVampireLanguage.g:4554:1: ( '(' )
14107 {
14108 // InternalVampireLanguage.g:4554:1: ( '(' )
14109 // InternalVampireLanguage.g:4555:2: '('
14110 {
14111 before(grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_1_2());
14112 match(input,47,FOLLOW_2);
14113 after(grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_1_2());
14114
14115 }
14116
14117
14118 }
14119
14120 }
14121 catch (RecognitionException re) {
14122 reportError(re);
14123 recover(input,re);
14124 }
14125 finally {
14126
14127 restoreStackSize(stackSize);
14128
14129 }
14130 return ;
14131 }
14132 // $ANTLR end "rule__VLSAtomicFunction__Group_1__2__Impl"
14133
14134
14135 // $ANTLR start "rule__VLSAtomicFunction__Group_1__3"
14136 // InternalVampireLanguage.g:4564:1: rule__VLSAtomicFunction__Group_1__3 : rule__VLSAtomicFunction__Group_1__3__Impl rule__VLSAtomicFunction__Group_1__4 ;
14137 public final void rule__VLSAtomicFunction__Group_1__3() throws RecognitionException {
14138
14139 int stackSize = keepStackSize();
14140
14141 try {
14142 // InternalVampireLanguage.g:4568:1: ( rule__VLSAtomicFunction__Group_1__3__Impl rule__VLSAtomicFunction__Group_1__4 )
14143 // InternalVampireLanguage.g:4569:2: rule__VLSAtomicFunction__Group_1__3__Impl rule__VLSAtomicFunction__Group_1__4
14144 {
14145 pushFollow(FOLLOW_13);
14146 rule__VLSAtomicFunction__Group_1__3__Impl();
14147
14148 state._fsp--;
14149
14150 pushFollow(FOLLOW_2);
14151 rule__VLSAtomicFunction__Group_1__4();
14152
14153 state._fsp--;
14154
14155
14156 }
14157
14158 }
14159 catch (RecognitionException re) {
14160 reportError(re);
14161 recover(input,re);
14162 }
14163 finally {
14164
14165 restoreStackSize(stackSize);
14166
14167 }
14168 return ;
14169 }
14170 // $ANTLR end "rule__VLSAtomicFunction__Group_1__3"
14171
14172
14173 // $ANTLR start "rule__VLSAtomicFunction__Group_1__3__Impl"
14174 // InternalVampireLanguage.g:4576:1: rule__VLSAtomicFunction__Group_1__3__Impl : ( ( rule__VLSAtomicFunction__TermsAssignment_1_3 ) ) ;
14175 public final void rule__VLSAtomicFunction__Group_1__3__Impl() throws RecognitionException {
14176
14177 int stackSize = keepStackSize();
14178
14179 try {
14180 // InternalVampireLanguage.g:4580:1: ( ( ( rule__VLSAtomicFunction__TermsAssignment_1_3 ) ) )
14181 // InternalVampireLanguage.g:4581:1: ( ( rule__VLSAtomicFunction__TermsAssignment_1_3 ) )
14182 {
14183 // InternalVampireLanguage.g:4581:1: ( ( rule__VLSAtomicFunction__TermsAssignment_1_3 ) )
14184 // InternalVampireLanguage.g:4582:2: ( rule__VLSAtomicFunction__TermsAssignment_1_3 )
14185 {
14186 before(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_1_3());
14187 // InternalVampireLanguage.g:4583:2: ( rule__VLSAtomicFunction__TermsAssignment_1_3 )
14188 // InternalVampireLanguage.g:4583:3: rule__VLSAtomicFunction__TermsAssignment_1_3
14189 {
14190 pushFollow(FOLLOW_2);
14191 rule__VLSAtomicFunction__TermsAssignment_1_3();
14192
14193 state._fsp--;
14194
14195
14196 }
14197
14198 after(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_1_3());
14199
14200 }
14201
14202
14203 }
14204
14205 }
14206 catch (RecognitionException re) {
14207 reportError(re);
14208 recover(input,re);
14209 }
14210 finally {
14211
14212 restoreStackSize(stackSize);
14213
14214 }
14215 return ;
14216 }
14217 // $ANTLR end "rule__VLSAtomicFunction__Group_1__3__Impl"
14218
14219
14220 // $ANTLR start "rule__VLSAtomicFunction__Group_1__4"
14221 // InternalVampireLanguage.g:4591:1: rule__VLSAtomicFunction__Group_1__4 : rule__VLSAtomicFunction__Group_1__4__Impl rule__VLSAtomicFunction__Group_1__5 ;
14222 public final void rule__VLSAtomicFunction__Group_1__4() throws RecognitionException {
14223
14224 int stackSize = keepStackSize();
14225
14226 try {
14227 // InternalVampireLanguage.g:4595:1: ( rule__VLSAtomicFunction__Group_1__4__Impl rule__VLSAtomicFunction__Group_1__5 )
14228 // InternalVampireLanguage.g:4596:2: rule__VLSAtomicFunction__Group_1__4__Impl rule__VLSAtomicFunction__Group_1__5
14229 {
14230 pushFollow(FOLLOW_36);
14231 rule__VLSAtomicFunction__Group_1__4__Impl();
14232
14233 state._fsp--;
14234
14235 pushFollow(FOLLOW_2);
14236 rule__VLSAtomicFunction__Group_1__5();
14237
14238 state._fsp--;
14239
14240
14241 }
14242
14243 }
14244 catch (RecognitionException re) {
14245 reportError(re);
14246 recover(input,re);
14247 }
14248 finally {
14249
14250 restoreStackSize(stackSize);
14251
14252 }
14253 return ;
14254 }
14255 // $ANTLR end "rule__VLSAtomicFunction__Group_1__4"
14256
14257
14258 // $ANTLR start "rule__VLSAtomicFunction__Group_1__4__Impl"
14259 // InternalVampireLanguage.g:4603:1: rule__VLSAtomicFunction__Group_1__4__Impl : ( ',' ) ;
14260 public final void rule__VLSAtomicFunction__Group_1__4__Impl() throws RecognitionException {
14261
14262 int stackSize = keepStackSize();
14263
14264 try {
14265 // InternalVampireLanguage.g:4607:1: ( ( ',' ) )
14266 // InternalVampireLanguage.g:4608:1: ( ',' )
14267 {
14268 // InternalVampireLanguage.g:4608:1: ( ',' )
14269 // InternalVampireLanguage.g:4609:2: ','
14270 {
14271 before(grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_1_4());
14272 match(input,45,FOLLOW_2);
14273 after(grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_1_4());
14274
14275 }
14276
14277
14278 }
14279
14280 }
14281 catch (RecognitionException re) {
14282 reportError(re);
14283 recover(input,re);
14284 }
14285 finally {
14286
14287 restoreStackSize(stackSize);
14288
14289 }
14290 return ;
14291 }
14292 // $ANTLR end "rule__VLSAtomicFunction__Group_1__4__Impl"
14293
14294
14295 // $ANTLR start "rule__VLSAtomicFunction__Group_1__5"
14296 // InternalVampireLanguage.g:4618:1: rule__VLSAtomicFunction__Group_1__5 : rule__VLSAtomicFunction__Group_1__5__Impl rule__VLSAtomicFunction__Group_1__6 ;
14297 public final void rule__VLSAtomicFunction__Group_1__5() throws RecognitionException {
14298
14299 int stackSize = keepStackSize();
14300
14301 try {
14302 // InternalVampireLanguage.g:4622:1: ( rule__VLSAtomicFunction__Group_1__5__Impl rule__VLSAtomicFunction__Group_1__6 )
14303 // InternalVampireLanguage.g:4623:2: rule__VLSAtomicFunction__Group_1__5__Impl rule__VLSAtomicFunction__Group_1__6
14304 {
14305 pushFollow(FOLLOW_19);
14306 rule__VLSAtomicFunction__Group_1__5__Impl();
14307
14308 state._fsp--;
14309
14310 pushFollow(FOLLOW_2);
14311 rule__VLSAtomicFunction__Group_1__6();
14312
14313 state._fsp--;
14314
14315
14316 }
14317
14318 }
14319 catch (RecognitionException re) {
14320 reportError(re);
14321 recover(input,re);
14322 }
14323 finally {
14324
14325 restoreStackSize(stackSize);
14326
14327 }
14328 return ;
14329 }
14330 // $ANTLR end "rule__VLSAtomicFunction__Group_1__5"
14331
14332
14333 // $ANTLR start "rule__VLSAtomicFunction__Group_1__5__Impl"
14334 // InternalVampireLanguage.g:4630:1: rule__VLSAtomicFunction__Group_1__5__Impl : ( ( rule__VLSAtomicFunction__TermsAssignment_1_5 ) ) ;
14335 public final void rule__VLSAtomicFunction__Group_1__5__Impl() throws RecognitionException {
14336
14337 int stackSize = keepStackSize();
14338
14339 try {
14340 // InternalVampireLanguage.g:4634:1: ( ( ( rule__VLSAtomicFunction__TermsAssignment_1_5 ) ) )
14341 // InternalVampireLanguage.g:4635:1: ( ( rule__VLSAtomicFunction__TermsAssignment_1_5 ) )
14342 {
14343 // InternalVampireLanguage.g:4635:1: ( ( rule__VLSAtomicFunction__TermsAssignment_1_5 ) )
14344 // InternalVampireLanguage.g:4636:2: ( rule__VLSAtomicFunction__TermsAssignment_1_5 )
14345 {
14346 before(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_1_5());
14347 // InternalVampireLanguage.g:4637:2: ( rule__VLSAtomicFunction__TermsAssignment_1_5 )
14348 // InternalVampireLanguage.g:4637:3: rule__VLSAtomicFunction__TermsAssignment_1_5
14349 {
14350 pushFollow(FOLLOW_2);
14351 rule__VLSAtomicFunction__TermsAssignment_1_5();
14352
14353 state._fsp--;
14354
14355
14356 }
14357
14358 after(grammarAccess.getVLSAtomicFunctionAccess().getTermsAssignment_1_5());
14359
14360 }
14361
14362
14363 }
14364
14365 }
14366 catch (RecognitionException re) {
14367 reportError(re);
14368 recover(input,re);
14369 }
14370 finally {
14371
14372 restoreStackSize(stackSize);
14373
14374 }
14375 return ;
14376 }
14377 // $ANTLR end "rule__VLSAtomicFunction__Group_1__5__Impl"
14378
14379
14380 // $ANTLR start "rule__VLSAtomicFunction__Group_1__6"
14381 // InternalVampireLanguage.g:4645:1: rule__VLSAtomicFunction__Group_1__6 : rule__VLSAtomicFunction__Group_1__6__Impl ;
14382 public final void rule__VLSAtomicFunction__Group_1__6() throws RecognitionException {
14383
14384 int stackSize = keepStackSize();
14385
14386 try {
14387 // InternalVampireLanguage.g:4649:1: ( rule__VLSAtomicFunction__Group_1__6__Impl )
14388 // InternalVampireLanguage.g:4650:2: rule__VLSAtomicFunction__Group_1__6__Impl
14389 {
14390 pushFollow(FOLLOW_2);
14391 rule__VLSAtomicFunction__Group_1__6__Impl();
14392
14393 state._fsp--;
14394
14395
14396 }
14397
14398 }
14399 catch (RecognitionException re) {
14400 reportError(re);
14401 recover(input,re);
14402 }
14403 finally {
14404
14405 restoreStackSize(stackSize);
14406
14407 }
14408 return ;
14409 }
14410 // $ANTLR end "rule__VLSAtomicFunction__Group_1__6"
14411
14412
14413 // $ANTLR start "rule__VLSAtomicFunction__Group_1__6__Impl"
14414 // InternalVampireLanguage.g:4656:1: rule__VLSAtomicFunction__Group_1__6__Impl : ( ')' ) ;
14415 public final void rule__VLSAtomicFunction__Group_1__6__Impl() throws RecognitionException {
14416
14417 int stackSize = keepStackSize();
14418
14419 try {
14420 // InternalVampireLanguage.g:4660:1: ( ( ')' ) )
14421 // InternalVampireLanguage.g:4661:1: ( ')' )
14422 {
14423 // InternalVampireLanguage.g:4661:1: ( ')' )
14424 // InternalVampireLanguage.g:4662:2: ')'
14425 {
14426 before(grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_1_6());
14427 match(input,48,FOLLOW_2);
14428 after(grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_1_6());
14429
14430 }
14431
14432
14433 }
14434
14435 }
14436 catch (RecognitionException re) {
14437 reportError(re);
14438 recover(input,re);
14439 }
14440 finally {
14441
14442 restoreStackSize(stackSize);
14443
14444 }
14445 return ;
14446 }
14447 // $ANTLR end "rule__VLSAtomicFunction__Group_1__6__Impl"
14448
14449
14450 // $ANTLR start "rule__VLSFunctionFof__Group__0"
14451 // InternalVampireLanguage.g:4672:1: rule__VLSFunctionFof__Group__0 : rule__VLSFunctionFof__Group__0__Impl rule__VLSFunctionFof__Group__1 ;
14452 public final void rule__VLSFunctionFof__Group__0() throws RecognitionException {
14453
14454 int stackSize = keepStackSize();
14455
14456 try {
14457 // InternalVampireLanguage.g:4676:1: ( rule__VLSFunctionFof__Group__0__Impl rule__VLSFunctionFof__Group__1 )
14458 // InternalVampireLanguage.g:4677:2: rule__VLSFunctionFof__Group__0__Impl rule__VLSFunctionFof__Group__1
14459 {
14460 pushFollow(FOLLOW_11);
14461 rule__VLSFunctionFof__Group__0__Impl();
14462
14463 state._fsp--;
14464
14465 pushFollow(FOLLOW_2);
14466 rule__VLSFunctionFof__Group__1();
14467
14468 state._fsp--;
14469
14470
14471 }
14472
14473 }
14474 catch (RecognitionException re) {
14475 reportError(re);
14476 recover(input,re);
14477 }
14478 finally {
14479
14480 restoreStackSize(stackSize);
14481
14482 }
14483 return ;
14484 }
14485 // $ANTLR end "rule__VLSFunctionFof__Group__0"
14486
14487
14488 // $ANTLR start "rule__VLSFunctionFof__Group__0__Impl"
14489 // InternalVampireLanguage.g:4684:1: rule__VLSFunctionFof__Group__0__Impl : ( ( rule__VLSFunctionFof__FunctorAssignment_0 ) ) ;
14490 public final void rule__VLSFunctionFof__Group__0__Impl() throws RecognitionException {
14491
14492 int stackSize = keepStackSize();
14493
14494 try {
14495 // InternalVampireLanguage.g:4688:1: ( ( ( rule__VLSFunctionFof__FunctorAssignment_0 ) ) )
14496 // InternalVampireLanguage.g:4689:1: ( ( rule__VLSFunctionFof__FunctorAssignment_0 ) )
14497 {
14498 // InternalVampireLanguage.g:4689:1: ( ( rule__VLSFunctionFof__FunctorAssignment_0 ) )
14499 // InternalVampireLanguage.g:4690:2: ( rule__VLSFunctionFof__FunctorAssignment_0 )
14500 {
14501 before(grammarAccess.getVLSFunctionFofAccess().getFunctorAssignment_0());
14502 // InternalVampireLanguage.g:4691:2: ( rule__VLSFunctionFof__FunctorAssignment_0 )
14503 // InternalVampireLanguage.g:4691:3: rule__VLSFunctionFof__FunctorAssignment_0
14504 {
14505 pushFollow(FOLLOW_2);
14506 rule__VLSFunctionFof__FunctorAssignment_0();
14507
14508 state._fsp--;
14509
14510
14511 }
14512
14513 after(grammarAccess.getVLSFunctionFofAccess().getFunctorAssignment_0());
14514
14515 }
14516
14517
14518 }
14519
14520 }
14521 catch (RecognitionException re) {
14522 reportError(re);
14523 recover(input,re);
14524 }
14525 finally {
14526
14527 restoreStackSize(stackSize);
14528
14529 }
14530 return ;
14531 }
14532 // $ANTLR end "rule__VLSFunctionFof__Group__0__Impl"
14533
14534
14535 // $ANTLR start "rule__VLSFunctionFof__Group__1"
14536 // InternalVampireLanguage.g:4699:1: rule__VLSFunctionFof__Group__1 : rule__VLSFunctionFof__Group__1__Impl ;
14537 public final void rule__VLSFunctionFof__Group__1() throws RecognitionException {
14538
14539 int stackSize = keepStackSize();
14540
14541 try {
14542 // InternalVampireLanguage.g:4703:1: ( rule__VLSFunctionFof__Group__1__Impl )
14543 // InternalVampireLanguage.g:4704:2: rule__VLSFunctionFof__Group__1__Impl
14544 {
14545 pushFollow(FOLLOW_2);
14546 rule__VLSFunctionFof__Group__1__Impl();
14547
14548 state._fsp--;
14549
14550
14551 }
14552
14553 }
14554 catch (RecognitionException re) {
14555 reportError(re);
14556 recover(input,re);
14557 }
14558 finally {
14559
14560 restoreStackSize(stackSize);
14561
14562 }
14563 return ;
14564 }
14565 // $ANTLR end "rule__VLSFunctionFof__Group__1"
14566
14567
14568 // $ANTLR start "rule__VLSFunctionFof__Group__1__Impl"
14569 // InternalVampireLanguage.g:4710:1: rule__VLSFunctionFof__Group__1__Impl : ( ( rule__VLSFunctionFof__Group_1__0 )? ) ;
14570 public final void rule__VLSFunctionFof__Group__1__Impl() throws RecognitionException {
14571
14572 int stackSize = keepStackSize();
14573
14574 try {
14575 // InternalVampireLanguage.g:4714:1: ( ( ( rule__VLSFunctionFof__Group_1__0 )? ) )
14576 // InternalVampireLanguage.g:4715:1: ( ( rule__VLSFunctionFof__Group_1__0 )? )
14577 {
14578 // InternalVampireLanguage.g:4715:1: ( ( rule__VLSFunctionFof__Group_1__0 )? )
14579 // InternalVampireLanguage.g:4716:2: ( rule__VLSFunctionFof__Group_1__0 )?
14580 {
14581 before(grammarAccess.getVLSFunctionFofAccess().getGroup_1());
14582 // InternalVampireLanguage.g:4717:2: ( rule__VLSFunctionFof__Group_1__0 )?
14583 int alt34=2;
14584 int LA34_0 = input.LA(1);
14585
14586 if ( (LA34_0==47) ) {
14587 alt34=1;
14588 }
14589 switch (alt34) {
14590 case 1 :
14591 // InternalVampireLanguage.g:4717:3: rule__VLSFunctionFof__Group_1__0
14592 {
14593 pushFollow(FOLLOW_2);
14594 rule__VLSFunctionFof__Group_1__0();
14595
14596 state._fsp--;
14597
14598
14599 }
14600 break;
14601
14602 }
14603
14604 after(grammarAccess.getVLSFunctionFofAccess().getGroup_1());
14605
14606 }
14607
14608
14609 }
14610
14611 }
14612 catch (RecognitionException re) {
14613 reportError(re);
14614 recover(input,re);
14615 }
14616 finally {
14617
14618 restoreStackSize(stackSize);
14619
14620 }
14621 return ;
14622 }
14623 // $ANTLR end "rule__VLSFunctionFof__Group__1__Impl"
14624
14625
14626 // $ANTLR start "rule__VLSFunctionFof__Group_1__0"
14627 // InternalVampireLanguage.g:4726:1: rule__VLSFunctionFof__Group_1__0 : rule__VLSFunctionFof__Group_1__0__Impl rule__VLSFunctionFof__Group_1__1 ;
14628 public final void rule__VLSFunctionFof__Group_1__0() throws RecognitionException {
14629
14630 int stackSize = keepStackSize();
14631
14632 try {
14633 // InternalVampireLanguage.g:4730:1: ( rule__VLSFunctionFof__Group_1__0__Impl rule__VLSFunctionFof__Group_1__1 )
14634 // InternalVampireLanguage.g:4731:2: rule__VLSFunctionFof__Group_1__0__Impl rule__VLSFunctionFof__Group_1__1
14635 {
14636 pushFollow(FOLLOW_36);
14637 rule__VLSFunctionFof__Group_1__0__Impl();
14638
14639 state._fsp--;
14640
14641 pushFollow(FOLLOW_2);
14642 rule__VLSFunctionFof__Group_1__1();
14643
14644 state._fsp--;
14645
14646
14647 }
14648
14649 }
14650 catch (RecognitionException re) {
14651 reportError(re);
14652 recover(input,re);
14653 }
14654 finally {
14655
14656 restoreStackSize(stackSize);
14657
14658 }
14659 return ;
14660 }
14661 // $ANTLR end "rule__VLSFunctionFof__Group_1__0"
14662
14663
14664 // $ANTLR start "rule__VLSFunctionFof__Group_1__0__Impl"
14665 // InternalVampireLanguage.g:4738:1: rule__VLSFunctionFof__Group_1__0__Impl : ( '(' ) ;
14666 public final void rule__VLSFunctionFof__Group_1__0__Impl() throws RecognitionException {
14667
14668 int stackSize = keepStackSize();
14669
14670 try {
14671 // InternalVampireLanguage.g:4742:1: ( ( '(' ) )
14672 // InternalVampireLanguage.g:4743:1: ( '(' )
14673 {
14674 // InternalVampireLanguage.g:4743:1: ( '(' )
14675 // InternalVampireLanguage.g:4744:2: '('
14676 {
14677 before(grammarAccess.getVLSFunctionFofAccess().getLeftParenthesisKeyword_1_0());
14678 match(input,47,FOLLOW_2);
14679 after(grammarAccess.getVLSFunctionFofAccess().getLeftParenthesisKeyword_1_0());
14680
14681 }
14682
14683
14684 }
14685
14686 }
14687 catch (RecognitionException re) {
14688 reportError(re);
14689 recover(input,re);
14690 }
14691 finally {
14692
14693 restoreStackSize(stackSize);
14694
14695 }
14696 return ;
14697 }
14698 // $ANTLR end "rule__VLSFunctionFof__Group_1__0__Impl"
14699
14700
14701 // $ANTLR start "rule__VLSFunctionFof__Group_1__1"
14702 // InternalVampireLanguage.g:4753:1: rule__VLSFunctionFof__Group_1__1 : rule__VLSFunctionFof__Group_1__1__Impl rule__VLSFunctionFof__Group_1__2 ;
14703 public final void rule__VLSFunctionFof__Group_1__1() throws RecognitionException {
14704
14705 int stackSize = keepStackSize();
14706
14707 try {
14708 // InternalVampireLanguage.g:4757:1: ( rule__VLSFunctionFof__Group_1__1__Impl rule__VLSFunctionFof__Group_1__2 )
14709 // InternalVampireLanguage.g:4758:2: rule__VLSFunctionFof__Group_1__1__Impl rule__VLSFunctionFof__Group_1__2
14710 {
14711 pushFollow(FOLLOW_16);
14712 rule__VLSFunctionFof__Group_1__1__Impl();
14713
14714 state._fsp--;
14715
14716 pushFollow(FOLLOW_2);
14717 rule__VLSFunctionFof__Group_1__2();
14718
14719 state._fsp--;
14720
14721
14722 }
14723
14724 }
14725 catch (RecognitionException re) {
14726 reportError(re);
14727 recover(input,re);
14728 }
14729 finally {
14730
14731 restoreStackSize(stackSize);
14732
14733 }
14734 return ;
14735 }
14736 // $ANTLR end "rule__VLSFunctionFof__Group_1__1"
14737
14738
14739 // $ANTLR start "rule__VLSFunctionFof__Group_1__1__Impl"
14740 // InternalVampireLanguage.g:4765:1: rule__VLSFunctionFof__Group_1__1__Impl : ( ( rule__VLSFunctionFof__TermsAssignment_1_1 ) ) ;
14741 public final void rule__VLSFunctionFof__Group_1__1__Impl() throws RecognitionException {
14742
14743 int stackSize = keepStackSize();
14744
14745 try {
14746 // InternalVampireLanguage.g:4769:1: ( ( ( rule__VLSFunctionFof__TermsAssignment_1_1 ) ) )
14747 // InternalVampireLanguage.g:4770:1: ( ( rule__VLSFunctionFof__TermsAssignment_1_1 ) )
14748 {
14749 // InternalVampireLanguage.g:4770:1: ( ( rule__VLSFunctionFof__TermsAssignment_1_1 ) )
14750 // InternalVampireLanguage.g:4771:2: ( rule__VLSFunctionFof__TermsAssignment_1_1 )
14751 {
14752 before(grammarAccess.getVLSFunctionFofAccess().getTermsAssignment_1_1());
14753 // InternalVampireLanguage.g:4772:2: ( rule__VLSFunctionFof__TermsAssignment_1_1 )
14754 // InternalVampireLanguage.g:4772:3: rule__VLSFunctionFof__TermsAssignment_1_1
14755 {
14756 pushFollow(FOLLOW_2);
14757 rule__VLSFunctionFof__TermsAssignment_1_1();
14758
14759 state._fsp--;
14760
14761
14762 }
14763
14764 after(grammarAccess.getVLSFunctionFofAccess().getTermsAssignment_1_1());
14765
14766 }
14767
14768
14769 }
14770
14771 }
14772 catch (RecognitionException re) {
14773 reportError(re);
14774 recover(input,re);
14775 }
14776 finally {
14777
14778 restoreStackSize(stackSize);
14779
14780 }
14781 return ;
14782 }
14783 // $ANTLR end "rule__VLSFunctionFof__Group_1__1__Impl"
14784
14785
14786 // $ANTLR start "rule__VLSFunctionFof__Group_1__2"
14787 // InternalVampireLanguage.g:4780:1: rule__VLSFunctionFof__Group_1__2 : rule__VLSFunctionFof__Group_1__2__Impl rule__VLSFunctionFof__Group_1__3 ;
14788 public final void rule__VLSFunctionFof__Group_1__2() throws RecognitionException {
14789
14790 int stackSize = keepStackSize();
14791
14792 try {
14793 // InternalVampireLanguage.g:4784:1: ( rule__VLSFunctionFof__Group_1__2__Impl rule__VLSFunctionFof__Group_1__3 )
14794 // InternalVampireLanguage.g:4785:2: rule__VLSFunctionFof__Group_1__2__Impl rule__VLSFunctionFof__Group_1__3
14795 {
14796 pushFollow(FOLLOW_16);
14797 rule__VLSFunctionFof__Group_1__2__Impl();
14798
14799 state._fsp--;
14800
14801 pushFollow(FOLLOW_2);
14802 rule__VLSFunctionFof__Group_1__3();
14803
14804 state._fsp--;
14805
14806
14807 }
14808
14809 }
14810 catch (RecognitionException re) {
14811 reportError(re);
14812 recover(input,re);
14813 }
14814 finally {
14815
14816 restoreStackSize(stackSize);
14817
14818 }
14819 return ;
14820 }
14821 // $ANTLR end "rule__VLSFunctionFof__Group_1__2"
14822
14823
14824 // $ANTLR start "rule__VLSFunctionFof__Group_1__2__Impl"
14825 // InternalVampireLanguage.g:4792:1: rule__VLSFunctionFof__Group_1__2__Impl : ( ( rule__VLSFunctionFof__Group_1_2__0 )* ) ;
14826 public final void rule__VLSFunctionFof__Group_1__2__Impl() throws RecognitionException {
14827
14828 int stackSize = keepStackSize();
14829
14830 try {
14831 // InternalVampireLanguage.g:4796:1: ( ( ( rule__VLSFunctionFof__Group_1_2__0 )* ) )
14832 // InternalVampireLanguage.g:4797:1: ( ( rule__VLSFunctionFof__Group_1_2__0 )* )
14833 {
14834 // InternalVampireLanguage.g:4797:1: ( ( rule__VLSFunctionFof__Group_1_2__0 )* )
14835 // InternalVampireLanguage.g:4798:2: ( rule__VLSFunctionFof__Group_1_2__0 )*
14836 {
14837 before(grammarAccess.getVLSFunctionFofAccess().getGroup_1_2());
14838 // InternalVampireLanguage.g:4799:2: ( rule__VLSFunctionFof__Group_1_2__0 )*
14839 loop35:
14840 do {
14841 int alt35=2;
14842 int LA35_0 = input.LA(1);
14843
14844 if ( (LA35_0==45) ) {
14845 alt35=1;
14846 }
14847
14848
14849 switch (alt35) {
14850 case 1 :
14851 // InternalVampireLanguage.g:4799:3: rule__VLSFunctionFof__Group_1_2__0
14852 {
14853 pushFollow(FOLLOW_10);
14854 rule__VLSFunctionFof__Group_1_2__0();
14855
14856 state._fsp--;
14857
14858
14859 }
14860 break;
14861
14862 default :
14863 break loop35;
14864 }
14865 } while (true);
14866
14867 after(grammarAccess.getVLSFunctionFofAccess().getGroup_1_2());
14868
14869 }
14870
14871
14872 }
14873
14874 }
14875 catch (RecognitionException re) {
14876 reportError(re);
14877 recover(input,re);
14878 }
14879 finally {
14880
14881 restoreStackSize(stackSize);
14882
14883 }
14884 return ;
14885 }
14886 // $ANTLR end "rule__VLSFunctionFof__Group_1__2__Impl"
14887
14888
14889 // $ANTLR start "rule__VLSFunctionFof__Group_1__3"
14890 // InternalVampireLanguage.g:4807:1: rule__VLSFunctionFof__Group_1__3 : rule__VLSFunctionFof__Group_1__3__Impl ;
14891 public final void rule__VLSFunctionFof__Group_1__3() throws RecognitionException {
14892
14893 int stackSize = keepStackSize();
14894
14895 try {
14896 // InternalVampireLanguage.g:4811:1: ( rule__VLSFunctionFof__Group_1__3__Impl )
14897 // InternalVampireLanguage.g:4812:2: rule__VLSFunctionFof__Group_1__3__Impl
14898 {
14899 pushFollow(FOLLOW_2);
14900 rule__VLSFunctionFof__Group_1__3__Impl();
14901
14902 state._fsp--;
14903
14904
14905 }
14906
14907 }
14908 catch (RecognitionException re) {
14909 reportError(re);
14910 recover(input,re);
14911 }
14912 finally {
14913
14914 restoreStackSize(stackSize);
14915
14916 }
14917 return ;
14918 }
14919 // $ANTLR end "rule__VLSFunctionFof__Group_1__3"
14920
14921
14922 // $ANTLR start "rule__VLSFunctionFof__Group_1__3__Impl"
14923 // InternalVampireLanguage.g:4818:1: rule__VLSFunctionFof__Group_1__3__Impl : ( ')' ) ;
14924 public final void rule__VLSFunctionFof__Group_1__3__Impl() throws RecognitionException {
14925
14926 int stackSize = keepStackSize();
14927
14928 try {
14929 // InternalVampireLanguage.g:4822:1: ( ( ')' ) )
14930 // InternalVampireLanguage.g:4823:1: ( ')' )
14931 {
14932 // InternalVampireLanguage.g:4823:1: ( ')' )
14933 // InternalVampireLanguage.g:4824:2: ')'
14934 {
14935 before(grammarAccess.getVLSFunctionFofAccess().getRightParenthesisKeyword_1_3());
14936 match(input,48,FOLLOW_2);
14937 after(grammarAccess.getVLSFunctionFofAccess().getRightParenthesisKeyword_1_3());
14938
14939 }
14940
14941
14942 }
14943
14944 }
14945 catch (RecognitionException re) {
14946 reportError(re);
14947 recover(input,re);
14948 }
14949 finally {
14950
14951 restoreStackSize(stackSize);
14952
14953 }
14954 return ;
14955 }
14956 // $ANTLR end "rule__VLSFunctionFof__Group_1__3__Impl"
14957
14958
14959 // $ANTLR start "rule__VLSFunctionFof__Group_1_2__0"
14960 // InternalVampireLanguage.g:4834:1: rule__VLSFunctionFof__Group_1_2__0 : rule__VLSFunctionFof__Group_1_2__0__Impl rule__VLSFunctionFof__Group_1_2__1 ;
14961 public final void rule__VLSFunctionFof__Group_1_2__0() throws RecognitionException {
14962
14963 int stackSize = keepStackSize();
14964
14965 try {
14966 // InternalVampireLanguage.g:4838:1: ( rule__VLSFunctionFof__Group_1_2__0__Impl rule__VLSFunctionFof__Group_1_2__1 )
14967 // InternalVampireLanguage.g:4839:2: rule__VLSFunctionFof__Group_1_2__0__Impl rule__VLSFunctionFof__Group_1_2__1
14968 {
14969 pushFollow(FOLLOW_36);
14970 rule__VLSFunctionFof__Group_1_2__0__Impl();
14971
14972 state._fsp--;
14973
14974 pushFollow(FOLLOW_2);
14975 rule__VLSFunctionFof__Group_1_2__1();
14976
14977 state._fsp--;
14978
14979
14980 }
14981
14982 }
14983 catch (RecognitionException re) {
14984 reportError(re);
14985 recover(input,re);
14986 }
14987 finally {
14988
14989 restoreStackSize(stackSize);
14990
14991 }
14992 return ;
14993 }
14994 // $ANTLR end "rule__VLSFunctionFof__Group_1_2__0"
14995
14996
14997 // $ANTLR start "rule__VLSFunctionFof__Group_1_2__0__Impl"
14998 // InternalVampireLanguage.g:4846:1: rule__VLSFunctionFof__Group_1_2__0__Impl : ( ',' ) ;
14999 public final void rule__VLSFunctionFof__Group_1_2__0__Impl() throws RecognitionException {
15000
15001 int stackSize = keepStackSize();
15002
15003 try {
15004 // InternalVampireLanguage.g:4850:1: ( ( ',' ) )
15005 // InternalVampireLanguage.g:4851:1: ( ',' )
15006 {
15007 // InternalVampireLanguage.g:4851:1: ( ',' )
15008 // InternalVampireLanguage.g:4852:2: ','
15009 {
15010 before(grammarAccess.getVLSFunctionFofAccess().getCommaKeyword_1_2_0());
15011 match(input,45,FOLLOW_2);
15012 after(grammarAccess.getVLSFunctionFofAccess().getCommaKeyword_1_2_0());
15013
15014 }
15015
15016
15017 }
15018
15019 }
15020 catch (RecognitionException re) {
15021 reportError(re);
15022 recover(input,re);
15023 }
15024 finally {
15025
15026 restoreStackSize(stackSize);
15027
15028 }
15029 return ;
15030 }
15031 // $ANTLR end "rule__VLSFunctionFof__Group_1_2__0__Impl"
15032
15033
15034 // $ANTLR start "rule__VLSFunctionFof__Group_1_2__1"
15035 // InternalVampireLanguage.g:4861:1: rule__VLSFunctionFof__Group_1_2__1 : rule__VLSFunctionFof__Group_1_2__1__Impl ;
15036 public final void rule__VLSFunctionFof__Group_1_2__1() throws RecognitionException {
15037
15038 int stackSize = keepStackSize();
15039
15040 try {
15041 // InternalVampireLanguage.g:4865:1: ( rule__VLSFunctionFof__Group_1_2__1__Impl )
15042 // InternalVampireLanguage.g:4866:2: rule__VLSFunctionFof__Group_1_2__1__Impl
15043 {
15044 pushFollow(FOLLOW_2);
15045 rule__VLSFunctionFof__Group_1_2__1__Impl();
15046
15047 state._fsp--;
15048
15049
15050 }
15051
15052 }
15053 catch (RecognitionException re) {
15054 reportError(re);
15055 recover(input,re);
15056 }
15057 finally {
15058
15059 restoreStackSize(stackSize);
15060
15061 }
15062 return ;
15063 }
15064 // $ANTLR end "rule__VLSFunctionFof__Group_1_2__1"
15065
15066
15067 // $ANTLR start "rule__VLSFunctionFof__Group_1_2__1__Impl"
15068 // InternalVampireLanguage.g:4872:1: rule__VLSFunctionFof__Group_1_2__1__Impl : ( ( rule__VLSFunctionFof__TermsAssignment_1_2_1 ) ) ;
15069 public final void rule__VLSFunctionFof__Group_1_2__1__Impl() throws RecognitionException {
15070
15071 int stackSize = keepStackSize();
15072
15073 try {
15074 // InternalVampireLanguage.g:4876:1: ( ( ( rule__VLSFunctionFof__TermsAssignment_1_2_1 ) ) )
15075 // InternalVampireLanguage.g:4877:1: ( ( rule__VLSFunctionFof__TermsAssignment_1_2_1 ) )
15076 {
15077 // InternalVampireLanguage.g:4877:1: ( ( rule__VLSFunctionFof__TermsAssignment_1_2_1 ) )
15078 // InternalVampireLanguage.g:4878:2: ( rule__VLSFunctionFof__TermsAssignment_1_2_1 )
15079 {
15080 before(grammarAccess.getVLSFunctionFofAccess().getTermsAssignment_1_2_1());
15081 // InternalVampireLanguage.g:4879:2: ( rule__VLSFunctionFof__TermsAssignment_1_2_1 )
15082 // InternalVampireLanguage.g:4879:3: rule__VLSFunctionFof__TermsAssignment_1_2_1
15083 {
15084 pushFollow(FOLLOW_2);
15085 rule__VLSFunctionFof__TermsAssignment_1_2_1();
15086
15087 state._fsp--;
15088
15089
15090 }
15091
15092 after(grammarAccess.getVLSFunctionFofAccess().getTermsAssignment_1_2_1());
15093
15094 }
15095
15096
15097 }
15098
15099 }
15100 catch (RecognitionException re) {
15101 reportError(re);
15102 recover(input,re);
15103 }
15104 finally {
15105
15106 restoreStackSize(stackSize);
15107
15108 }
15109 return ;
15110 }
15111 // $ANTLR end "rule__VLSFunctionFof__Group_1_2__1__Impl"
15112
15113
15114 // $ANTLR start "rule__VLSDefinedTerm__Group_0__0"
15115 // InternalVampireLanguage.g:4888:1: rule__VLSDefinedTerm__Group_0__0 : rule__VLSDefinedTerm__Group_0__0__Impl rule__VLSDefinedTerm__Group_0__1 ;
15116 public final void rule__VLSDefinedTerm__Group_0__0() throws RecognitionException {
15117
15118 int stackSize = keepStackSize();
15119
15120 try {
15121 // InternalVampireLanguage.g:4892:1: ( rule__VLSDefinedTerm__Group_0__0__Impl rule__VLSDefinedTerm__Group_0__1 )
15122 // InternalVampireLanguage.g:4893:2: rule__VLSDefinedTerm__Group_0__0__Impl rule__VLSDefinedTerm__Group_0__1
15123 {
15124 pushFollow(FOLLOW_43);
15125 rule__VLSDefinedTerm__Group_0__0__Impl();
15126
15127 state._fsp--;
15128
15129 pushFollow(FOLLOW_2);
15130 rule__VLSDefinedTerm__Group_0__1();
15131
15132 state._fsp--;
15133
15134
15135 }
15136
15137 }
15138 catch (RecognitionException re) {
15139 reportError(re);
15140 recover(input,re);
15141 }
15142 finally {
15143
15144 restoreStackSize(stackSize);
15145
15146 }
15147 return ;
15148 }
15149 // $ANTLR end "rule__VLSDefinedTerm__Group_0__0"
15150
15151
15152 // $ANTLR start "rule__VLSDefinedTerm__Group_0__0__Impl"
15153 // InternalVampireLanguage.g:4900:1: rule__VLSDefinedTerm__Group_0__0__Impl : ( () ) ;
15154 public final void rule__VLSDefinedTerm__Group_0__0__Impl() throws RecognitionException {
15155
15156 int stackSize = keepStackSize();
15157
15158 try {
15159 // InternalVampireLanguage.g:4904:1: ( ( () ) )
15160 // InternalVampireLanguage.g:4905:1: ( () )
15161 {
15162 // InternalVampireLanguage.g:4905:1: ( () )
15163 // InternalVampireLanguage.g:4906:2: ()
15164 {
15165 before(grammarAccess.getVLSDefinedTermAccess().getVLSIntAction_0_0());
15166 // InternalVampireLanguage.g:4907:2: ()
15167 // InternalVampireLanguage.g:4907:3:
15168 {
15169 }
15170
15171 after(grammarAccess.getVLSDefinedTermAccess().getVLSIntAction_0_0());
15172
15173 }
15174
15175
15176 }
15177
15178 }
15179 finally {
15180
15181 restoreStackSize(stackSize);
15182
15183 }
15184 return ;
15185 }
15186 // $ANTLR end "rule__VLSDefinedTerm__Group_0__0__Impl"
15187
15188
15189 // $ANTLR start "rule__VLSDefinedTerm__Group_0__1"
15190 // InternalVampireLanguage.g:4915:1: rule__VLSDefinedTerm__Group_0__1 : rule__VLSDefinedTerm__Group_0__1__Impl ;
15191 public final void rule__VLSDefinedTerm__Group_0__1() throws RecognitionException {
15192
15193 int stackSize = keepStackSize();
15194
15195 try {
15196 // InternalVampireLanguage.g:4919:1: ( rule__VLSDefinedTerm__Group_0__1__Impl )
15197 // InternalVampireLanguage.g:4920:2: rule__VLSDefinedTerm__Group_0__1__Impl
15198 {
15199 pushFollow(FOLLOW_2);
15200 rule__VLSDefinedTerm__Group_0__1__Impl();
15201
15202 state._fsp--;
15203
15204
15205 }
15206
15207 }
15208 catch (RecognitionException re) {
15209 reportError(re);
15210 recover(input,re);
15211 }
15212 finally {
15213
15214 restoreStackSize(stackSize);
15215
15216 }
15217 return ;
15218 }
15219 // $ANTLR end "rule__VLSDefinedTerm__Group_0__1"
15220
15221
15222 // $ANTLR start "rule__VLSDefinedTerm__Group_0__1__Impl"
15223 // InternalVampireLanguage.g:4926:1: rule__VLSDefinedTerm__Group_0__1__Impl : ( ( rule__VLSDefinedTerm__ValueAssignment_0_1 ) ) ;
15224 public final void rule__VLSDefinedTerm__Group_0__1__Impl() throws RecognitionException {
15225
15226 int stackSize = keepStackSize();
15227
15228 try {
15229 // InternalVampireLanguage.g:4930:1: ( ( ( rule__VLSDefinedTerm__ValueAssignment_0_1 ) ) )
15230 // InternalVampireLanguage.g:4931:1: ( ( rule__VLSDefinedTerm__ValueAssignment_0_1 ) )
15231 {
15232 // InternalVampireLanguage.g:4931:1: ( ( rule__VLSDefinedTerm__ValueAssignment_0_1 ) )
15233 // InternalVampireLanguage.g:4932:2: ( rule__VLSDefinedTerm__ValueAssignment_0_1 )
15234 {
15235 before(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_0_1());
15236 // InternalVampireLanguage.g:4933:2: ( rule__VLSDefinedTerm__ValueAssignment_0_1 )
15237 // InternalVampireLanguage.g:4933:3: rule__VLSDefinedTerm__ValueAssignment_0_1
15238 {
15239 pushFollow(FOLLOW_2);
15240 rule__VLSDefinedTerm__ValueAssignment_0_1();
15241
15242 state._fsp--;
15243
15244
15245 }
15246
15247 after(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_0_1());
15248
15249 }
15250
15251
15252 }
15253
15254 }
15255 catch (RecognitionException re) {
15256 reportError(re);
15257 recover(input,re);
15258 }
15259 finally {
15260
15261 restoreStackSize(stackSize);
15262
15263 }
15264 return ;
15265 }
15266 // $ANTLR end "rule__VLSDefinedTerm__Group_0__1__Impl"
15267
15268
15269 // $ANTLR start "rule__VLSDefinedTerm__Group_1__0"
15270 // InternalVampireLanguage.g:4942:1: rule__VLSDefinedTerm__Group_1__0 : rule__VLSDefinedTerm__Group_1__0__Impl rule__VLSDefinedTerm__Group_1__1 ;
15271 public final void rule__VLSDefinedTerm__Group_1__0() throws RecognitionException {
15272
15273 int stackSize = keepStackSize();
15274
15275 try {
15276 // InternalVampireLanguage.g:4946:1: ( rule__VLSDefinedTerm__Group_1__0__Impl rule__VLSDefinedTerm__Group_1__1 )
15277 // InternalVampireLanguage.g:4947:2: rule__VLSDefinedTerm__Group_1__0__Impl rule__VLSDefinedTerm__Group_1__1
15278 {
15279 pushFollow(FOLLOW_44);
15280 rule__VLSDefinedTerm__Group_1__0__Impl();
15281
15282 state._fsp--;
15283
15284 pushFollow(FOLLOW_2);
15285 rule__VLSDefinedTerm__Group_1__1();
15286
15287 state._fsp--;
15288
15289
15290 }
15291
15292 }
15293 catch (RecognitionException re) {
15294 reportError(re);
15295 recover(input,re);
15296 }
15297 finally {
15298
15299 restoreStackSize(stackSize);
15300
15301 }
15302 return ;
15303 }
15304 // $ANTLR end "rule__VLSDefinedTerm__Group_1__0"
15305
15306
15307 // $ANTLR start "rule__VLSDefinedTerm__Group_1__0__Impl"
15308 // InternalVampireLanguage.g:4954:1: rule__VLSDefinedTerm__Group_1__0__Impl : ( () ) ;
15309 public final void rule__VLSDefinedTerm__Group_1__0__Impl() throws RecognitionException {
15310
15311 int stackSize = keepStackSize();
15312
15313 try {
15314 // InternalVampireLanguage.g:4958:1: ( ( () ) )
15315 // InternalVampireLanguage.g:4959:1: ( () )
15316 {
15317 // InternalVampireLanguage.g:4959:1: ( () )
15318 // InternalVampireLanguage.g:4960:2: ()
15319 {
15320 before(grammarAccess.getVLSDefinedTermAccess().getVLSRealAction_1_0());
15321 // InternalVampireLanguage.g:4961:2: ()
15322 // InternalVampireLanguage.g:4961:3:
15323 {
15324 }
15325
15326 after(grammarAccess.getVLSDefinedTermAccess().getVLSRealAction_1_0());
15327
15328 }
15329
15330
15331 }
15332
15333 }
15334 finally {
15335
15336 restoreStackSize(stackSize);
15337
15338 }
15339 return ;
15340 }
15341 // $ANTLR end "rule__VLSDefinedTerm__Group_1__0__Impl"
15342
15343
15344 // $ANTLR start "rule__VLSDefinedTerm__Group_1__1"
15345 // InternalVampireLanguage.g:4969:1: rule__VLSDefinedTerm__Group_1__1 : rule__VLSDefinedTerm__Group_1__1__Impl ;
15346 public final void rule__VLSDefinedTerm__Group_1__1() throws RecognitionException {
15347
15348 int stackSize = keepStackSize();
15349
15350 try {
15351 // InternalVampireLanguage.g:4973:1: ( rule__VLSDefinedTerm__Group_1__1__Impl )
15352 // InternalVampireLanguage.g:4974:2: rule__VLSDefinedTerm__Group_1__1__Impl
15353 {
15354 pushFollow(FOLLOW_2);
15355 rule__VLSDefinedTerm__Group_1__1__Impl();
15356
15357 state._fsp--;
15358
15359
15360 }
15361
15362 }
15363 catch (RecognitionException re) {
15364 reportError(re);
15365 recover(input,re);
15366 }
15367 finally {
15368
15369 restoreStackSize(stackSize);
15370
15371 }
15372 return ;
15373 }
15374 // $ANTLR end "rule__VLSDefinedTerm__Group_1__1"
15375
15376
15377 // $ANTLR start "rule__VLSDefinedTerm__Group_1__1__Impl"
15378 // InternalVampireLanguage.g:4980:1: rule__VLSDefinedTerm__Group_1__1__Impl : ( ( rule__VLSDefinedTerm__ValueAssignment_1_1 ) ) ;
15379 public final void rule__VLSDefinedTerm__Group_1__1__Impl() throws RecognitionException {
15380
15381 int stackSize = keepStackSize();
15382
15383 try {
15384 // InternalVampireLanguage.g:4984:1: ( ( ( rule__VLSDefinedTerm__ValueAssignment_1_1 ) ) )
15385 // InternalVampireLanguage.g:4985:1: ( ( rule__VLSDefinedTerm__ValueAssignment_1_1 ) )
15386 {
15387 // InternalVampireLanguage.g:4985:1: ( ( rule__VLSDefinedTerm__ValueAssignment_1_1 ) )
15388 // InternalVampireLanguage.g:4986:2: ( rule__VLSDefinedTerm__ValueAssignment_1_1 )
15389 {
15390 before(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_1_1());
15391 // InternalVampireLanguage.g:4987:2: ( rule__VLSDefinedTerm__ValueAssignment_1_1 )
15392 // InternalVampireLanguage.g:4987:3: rule__VLSDefinedTerm__ValueAssignment_1_1
15393 {
15394 pushFollow(FOLLOW_2);
15395 rule__VLSDefinedTerm__ValueAssignment_1_1();
15396
15397 state._fsp--;
15398
15399
15400 }
15401
15402 after(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_1_1());
15403
15404 }
15405
15406
15407 }
15408
15409 }
15410 catch (RecognitionException re) {
15411 reportError(re);
15412 recover(input,re);
15413 }
15414 finally {
15415
15416 restoreStackSize(stackSize);
15417
15418 }
15419 return ;
15420 }
15421 // $ANTLR end "rule__VLSDefinedTerm__Group_1__1__Impl"
15422
15423
15424 // $ANTLR start "rule__VLSDefinedTerm__Group_2__0"
15425 // InternalVampireLanguage.g:4996:1: rule__VLSDefinedTerm__Group_2__0 : rule__VLSDefinedTerm__Group_2__0__Impl rule__VLSDefinedTerm__Group_2__1 ;
15426 public final void rule__VLSDefinedTerm__Group_2__0() throws RecognitionException {
15427
15428 int stackSize = keepStackSize();
15429
15430 try {
15431 // InternalVampireLanguage.g:5000:1: ( rule__VLSDefinedTerm__Group_2__0__Impl rule__VLSDefinedTerm__Group_2__1 )
15432 // InternalVampireLanguage.g:5001:2: rule__VLSDefinedTerm__Group_2__0__Impl rule__VLSDefinedTerm__Group_2__1
15433 {
15434 pushFollow(FOLLOW_45);
15435 rule__VLSDefinedTerm__Group_2__0__Impl();
15436
15437 state._fsp--;
15438
15439 pushFollow(FOLLOW_2);
15440 rule__VLSDefinedTerm__Group_2__1();
15441
15442 state._fsp--;
15443
15444
15445 }
15446
15447 }
15448 catch (RecognitionException re) {
15449 reportError(re);
15450 recover(input,re);
15451 }
15452 finally {
15453
15454 restoreStackSize(stackSize);
15455
15456 }
15457 return ;
15458 }
15459 // $ANTLR end "rule__VLSDefinedTerm__Group_2__0"
15460
15461
15462 // $ANTLR start "rule__VLSDefinedTerm__Group_2__0__Impl"
15463 // InternalVampireLanguage.g:5008:1: rule__VLSDefinedTerm__Group_2__0__Impl : ( () ) ;
15464 public final void rule__VLSDefinedTerm__Group_2__0__Impl() throws RecognitionException {
15465
15466 int stackSize = keepStackSize();
15467
15468 try {
15469 // InternalVampireLanguage.g:5012:1: ( ( () ) )
15470 // InternalVampireLanguage.g:5013:1: ( () )
15471 {
15472 // InternalVampireLanguage.g:5013:1: ( () )
15473 // InternalVampireLanguage.g:5014:2: ()
15474 {
15475 before(grammarAccess.getVLSDefinedTermAccess().getVLSRationalAction_2_0());
15476 // InternalVampireLanguage.g:5015:2: ()
15477 // InternalVampireLanguage.g:5015:3:
15478 {
15479 }
15480
15481 after(grammarAccess.getVLSDefinedTermAccess().getVLSRationalAction_2_0());
15482
15483 }
15484
15485
15486 }
15487
15488 }
15489 finally {
15490
15491 restoreStackSize(stackSize);
15492
15493 }
15494 return ;
15495 }
15496 // $ANTLR end "rule__VLSDefinedTerm__Group_2__0__Impl"
15497
15498
15499 // $ANTLR start "rule__VLSDefinedTerm__Group_2__1"
15500 // InternalVampireLanguage.g:5023:1: rule__VLSDefinedTerm__Group_2__1 : rule__VLSDefinedTerm__Group_2__1__Impl ;
15501 public final void rule__VLSDefinedTerm__Group_2__1() throws RecognitionException {
15502
15503 int stackSize = keepStackSize();
15504
15505 try {
15506 // InternalVampireLanguage.g:5027:1: ( rule__VLSDefinedTerm__Group_2__1__Impl )
15507 // InternalVampireLanguage.g:5028:2: rule__VLSDefinedTerm__Group_2__1__Impl
15508 {
15509 pushFollow(FOLLOW_2);
15510 rule__VLSDefinedTerm__Group_2__1__Impl();
15511
15512 state._fsp--;
15513
15514
15515 }
15516
15517 }
15518 catch (RecognitionException re) {
15519 reportError(re);
15520 recover(input,re);
15521 }
15522 finally {
15523
15524 restoreStackSize(stackSize);
15525
15526 }
15527 return ;
15528 }
15529 // $ANTLR end "rule__VLSDefinedTerm__Group_2__1"
15530
15531
15532 // $ANTLR start "rule__VLSDefinedTerm__Group_2__1__Impl"
15533 // InternalVampireLanguage.g:5034:1: rule__VLSDefinedTerm__Group_2__1__Impl : ( ( rule__VLSDefinedTerm__ValueAssignment_2_1 ) ) ;
15534 public final void rule__VLSDefinedTerm__Group_2__1__Impl() throws RecognitionException {
15535
15536 int stackSize = keepStackSize();
15537
15538 try {
15539 // InternalVampireLanguage.g:5038:1: ( ( ( rule__VLSDefinedTerm__ValueAssignment_2_1 ) ) )
15540 // InternalVampireLanguage.g:5039:1: ( ( rule__VLSDefinedTerm__ValueAssignment_2_1 ) )
15541 {
15542 // InternalVampireLanguage.g:5039:1: ( ( rule__VLSDefinedTerm__ValueAssignment_2_1 ) )
15543 // InternalVampireLanguage.g:5040:2: ( rule__VLSDefinedTerm__ValueAssignment_2_1 )
15544 {
15545 before(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_2_1());
15546 // InternalVampireLanguage.g:5041:2: ( rule__VLSDefinedTerm__ValueAssignment_2_1 )
15547 // InternalVampireLanguage.g:5041:3: rule__VLSDefinedTerm__ValueAssignment_2_1
15548 {
15549 pushFollow(FOLLOW_2);
15550 rule__VLSDefinedTerm__ValueAssignment_2_1();
15551
15552 state._fsp--;
15553
15554
15555 }
15556
15557 after(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_2_1());
15558
15559 }
15560
15561
15562 }
15563
15564 }
15565 catch (RecognitionException re) {
15566 reportError(re);
15567 recover(input,re);
15568 }
15569 finally {
15570
15571 restoreStackSize(stackSize);
15572
15573 }
15574 return ;
15575 }
15576 // $ANTLR end "rule__VLSDefinedTerm__Group_2__1__Impl"
15577
15578
15579 // $ANTLR start "rule__VLSDefinedTerm__Group_3__0"
15580 // InternalVampireLanguage.g:5050:1: rule__VLSDefinedTerm__Group_3__0 : rule__VLSDefinedTerm__Group_3__0__Impl rule__VLSDefinedTerm__Group_3__1 ;
15581 public final void rule__VLSDefinedTerm__Group_3__0() throws RecognitionException {
15582
15583 int stackSize = keepStackSize();
15584
15585 try {
15586 // InternalVampireLanguage.g:5054:1: ( rule__VLSDefinedTerm__Group_3__0__Impl rule__VLSDefinedTerm__Group_3__1 )
15587 // InternalVampireLanguage.g:5055:2: rule__VLSDefinedTerm__Group_3__0__Impl rule__VLSDefinedTerm__Group_3__1
15588 {
15589 pushFollow(FOLLOW_36);
15590 rule__VLSDefinedTerm__Group_3__0__Impl();
15591
15592 state._fsp--;
15593
15594 pushFollow(FOLLOW_2);
15595 rule__VLSDefinedTerm__Group_3__1();
15596
15597 state._fsp--;
15598
15599
15600 }
15601
15602 }
15603 catch (RecognitionException re) {
15604 reportError(re);
15605 recover(input,re);
15606 }
15607 finally {
15608
15609 restoreStackSize(stackSize);
15610
15611 }
15612 return ;
15613 }
15614 // $ANTLR end "rule__VLSDefinedTerm__Group_3__0"
15615
15616
15617 // $ANTLR start "rule__VLSDefinedTerm__Group_3__0__Impl"
15618 // InternalVampireLanguage.g:5062:1: rule__VLSDefinedTerm__Group_3__0__Impl : ( () ) ;
15619 public final void rule__VLSDefinedTerm__Group_3__0__Impl() throws RecognitionException {
15620
15621 int stackSize = keepStackSize();
15622
15623 try {
15624 // InternalVampireLanguage.g:5066:1: ( ( () ) )
15625 // InternalVampireLanguage.g:5067:1: ( () )
15626 {
15627 // InternalVampireLanguage.g:5067:1: ( () )
15628 // InternalVampireLanguage.g:5068:2: ()
15629 {
15630 before(grammarAccess.getVLSDefinedTermAccess().getVLSDoubleQuoteAction_3_0());
15631 // InternalVampireLanguage.g:5069:2: ()
15632 // InternalVampireLanguage.g:5069:3:
15633 {
15634 }
15635
15636 after(grammarAccess.getVLSDefinedTermAccess().getVLSDoubleQuoteAction_3_0());
15637
15638 }
15639
15640
15641 }
15642
15643 }
15644 finally {
15645
15646 restoreStackSize(stackSize);
15647
15648 }
15649 return ;
15650 }
15651 // $ANTLR end "rule__VLSDefinedTerm__Group_3__0__Impl"
15652
15653
15654 // $ANTLR start "rule__VLSDefinedTerm__Group_3__1"
15655 // InternalVampireLanguage.g:5077:1: rule__VLSDefinedTerm__Group_3__1 : rule__VLSDefinedTerm__Group_3__1__Impl ;
15656 public final void rule__VLSDefinedTerm__Group_3__1() throws RecognitionException {
15657
15658 int stackSize = keepStackSize();
15659
15660 try {
15661 // InternalVampireLanguage.g:5081:1: ( rule__VLSDefinedTerm__Group_3__1__Impl )
15662 // InternalVampireLanguage.g:5082:2: rule__VLSDefinedTerm__Group_3__1__Impl
15663 {
15664 pushFollow(FOLLOW_2);
15665 rule__VLSDefinedTerm__Group_3__1__Impl();
15666
15667 state._fsp--;
15668
15669
15670 }
15671
15672 }
15673 catch (RecognitionException re) {
15674 reportError(re);
15675 recover(input,re);
15676 }
15677 finally {
15678
15679 restoreStackSize(stackSize);
15680
15681 }
15682 return ;
15683 }
15684 // $ANTLR end "rule__VLSDefinedTerm__Group_3__1"
15685
15686
15687 // $ANTLR start "rule__VLSDefinedTerm__Group_3__1__Impl"
15688 // InternalVampireLanguage.g:5088:1: rule__VLSDefinedTerm__Group_3__1__Impl : ( ( rule__VLSDefinedTerm__ValueAssignment_3_1 ) ) ;
15689 public final void rule__VLSDefinedTerm__Group_3__1__Impl() throws RecognitionException {
15690
15691 int stackSize = keepStackSize();
15692
15693 try {
15694 // InternalVampireLanguage.g:5092:1: ( ( ( rule__VLSDefinedTerm__ValueAssignment_3_1 ) ) )
15695 // InternalVampireLanguage.g:5093:1: ( ( rule__VLSDefinedTerm__ValueAssignment_3_1 ) )
15696 {
15697 // InternalVampireLanguage.g:5093:1: ( ( rule__VLSDefinedTerm__ValueAssignment_3_1 ) )
15698 // InternalVampireLanguage.g:5094:2: ( rule__VLSDefinedTerm__ValueAssignment_3_1 )
15699 {
15700 before(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_3_1());
15701 // InternalVampireLanguage.g:5095:2: ( rule__VLSDefinedTerm__ValueAssignment_3_1 )
15702 // InternalVampireLanguage.g:5095:3: rule__VLSDefinedTerm__ValueAssignment_3_1
15703 {
15704 pushFollow(FOLLOW_2);
15705 rule__VLSDefinedTerm__ValueAssignment_3_1();
15706
15707 state._fsp--;
15708
15709
15710 }
15711
15712 after(grammarAccess.getVLSDefinedTermAccess().getValueAssignment_3_1());
15713
15714 }
15715
15716
15717 }
15718
15719 }
15720 catch (RecognitionException re) {
15721 reportError(re);
15722 recover(input,re);
15723 }
15724 finally {
15725
15726 restoreStackSize(stackSize);
15727
15728 }
15729 return ;
15730 }
15731 // $ANTLR end "rule__VLSDefinedTerm__Group_3__1__Impl"
15732
15733
15734 // $ANTLR start "rule__VampireModel__IncludesAssignment_0"
15735 // InternalVampireLanguage.g:5104:1: rule__VampireModel__IncludesAssignment_0 : ( ruleVLSInclude ) ;
15736 public final void rule__VampireModel__IncludesAssignment_0() throws RecognitionException {
15737
15738 int stackSize = keepStackSize();
15739
15740 try {
15741 // InternalVampireLanguage.g:5108:1: ( ( ruleVLSInclude ) )
15742 // InternalVampireLanguage.g:5109:2: ( ruleVLSInclude )
15743 {
15744 // InternalVampireLanguage.g:5109:2: ( ruleVLSInclude )
15745 // InternalVampireLanguage.g:5110:3: ruleVLSInclude
15746 {
15747 before(grammarAccess.getVampireModelAccess().getIncludesVLSIncludeParserRuleCall_0_0());
15748 pushFollow(FOLLOW_2);
15749 ruleVLSInclude();
15750
15751 state._fsp--;
15752
15753 after(grammarAccess.getVampireModelAccess().getIncludesVLSIncludeParserRuleCall_0_0());
15754
15755 }
15756
15757
15758 }
15759
15760 }
15761 catch (RecognitionException re) {
15762 reportError(re);
15763 recover(input,re);
15764 }
15765 finally {
15766
15767 restoreStackSize(stackSize);
15768
15769 }
15770 return ;
15771 }
15772 // $ANTLR end "rule__VampireModel__IncludesAssignment_0"
15773
15774
15775 // $ANTLR start "rule__VampireModel__CommentsAssignment_1"
15776 // InternalVampireLanguage.g:5119:1: rule__VampireModel__CommentsAssignment_1 : ( ruleVLSComment ) ;
15777 public final void rule__VampireModel__CommentsAssignment_1() throws RecognitionException {
15778
15779 int stackSize = keepStackSize();
15780
15781 try {
15782 // InternalVampireLanguage.g:5123:1: ( ( ruleVLSComment ) )
15783 // InternalVampireLanguage.g:5124:2: ( ruleVLSComment )
15784 {
15785 // InternalVampireLanguage.g:5124:2: ( ruleVLSComment )
15786 // InternalVampireLanguage.g:5125:3: ruleVLSComment
15787 {
15788 before(grammarAccess.getVampireModelAccess().getCommentsVLSCommentParserRuleCall_1_0());
15789 pushFollow(FOLLOW_2);
15790 ruleVLSComment();
15791
15792 state._fsp--;
15793
15794 after(grammarAccess.getVampireModelAccess().getCommentsVLSCommentParserRuleCall_1_0());
15795
15796 }
15797
15798
15799 }
15800
15801 }
15802 catch (RecognitionException re) {
15803 reportError(re);
15804 recover(input,re);
15805 }
15806 finally {
15807
15808 restoreStackSize(stackSize);
15809
15810 }
15811 return ;
15812 }
15813 // $ANTLR end "rule__VampireModel__CommentsAssignment_1"
15814
15815
15816 // $ANTLR start "rule__VampireModel__FormulasAssignment_2"
15817 // InternalVampireLanguage.g:5134:1: rule__VampireModel__FormulasAssignment_2 : ( ruleVLSFofFormula ) ;
15818 public final void rule__VampireModel__FormulasAssignment_2() throws RecognitionException {
15819
15820 int stackSize = keepStackSize();
15821
15822 try {
15823 // InternalVampireLanguage.g:5138:1: ( ( ruleVLSFofFormula ) )
15824 // InternalVampireLanguage.g:5139:2: ( ruleVLSFofFormula )
15825 {
15826 // InternalVampireLanguage.g:5139:2: ( ruleVLSFofFormula )
15827 // InternalVampireLanguage.g:5140:3: ruleVLSFofFormula
15828 {
15829 before(grammarAccess.getVampireModelAccess().getFormulasVLSFofFormulaParserRuleCall_2_0());
15830 pushFollow(FOLLOW_2);
15831 ruleVLSFofFormula();
15832
15833 state._fsp--;
15834
15835 after(grammarAccess.getVampireModelAccess().getFormulasVLSFofFormulaParserRuleCall_2_0());
15836
15837 }
15838
15839
15840 }
15841
15842 }
15843 catch (RecognitionException re) {
15844 reportError(re);
15845 recover(input,re);
15846 }
15847 finally {
15848
15849 restoreStackSize(stackSize);
15850
15851 }
15852 return ;
15853 }
15854 // $ANTLR end "rule__VampireModel__FormulasAssignment_2"
15855
15856
15857 // $ANTLR start "rule__VLSInclude__FileNameAssignment_1"
15858 // InternalVampireLanguage.g:5149:1: rule__VLSInclude__FileNameAssignment_1 : ( RULE_SINGLE_QUOTE ) ;
15859 public final void rule__VLSInclude__FileNameAssignment_1() throws RecognitionException {
15860
15861 int stackSize = keepStackSize();
15862
15863 try {
15864 // InternalVampireLanguage.g:5153:1: ( ( RULE_SINGLE_QUOTE ) )
15865 // InternalVampireLanguage.g:5154:2: ( RULE_SINGLE_QUOTE )
15866 {
15867 // InternalVampireLanguage.g:5154:2: ( RULE_SINGLE_QUOTE )
15868 // InternalVampireLanguage.g:5155:3: RULE_SINGLE_QUOTE
15869 {
15870 before(grammarAccess.getVLSIncludeAccess().getFileNameSINGLE_QUOTETerminalRuleCall_1_0());
15871 match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
15872 after(grammarAccess.getVLSIncludeAccess().getFileNameSINGLE_QUOTETerminalRuleCall_1_0());
15873
15874 }
15875
15876
15877 }
15878
15879 }
15880 catch (RecognitionException re) {
15881 reportError(re);
15882 recover(input,re);
15883 }
15884 finally {
15885
15886 restoreStackSize(stackSize);
15887
15888 }
15889 return ;
15890 }
15891 // $ANTLR end "rule__VLSInclude__FileNameAssignment_1"
15892
15893
15894 // $ANTLR start "rule__VLSInclude__NamesAssignment_2_1"
15895 // InternalVampireLanguage.g:5164:1: rule__VLSInclude__NamesAssignment_2_1 : ( ruleVLSName ) ;
15896 public final void rule__VLSInclude__NamesAssignment_2_1() throws RecognitionException {
15897
15898 int stackSize = keepStackSize();
15899
15900 try {
15901 // InternalVampireLanguage.g:5168:1: ( ( ruleVLSName ) )
15902 // InternalVampireLanguage.g:5169:2: ( ruleVLSName )
15903 {
15904 // InternalVampireLanguage.g:5169:2: ( ruleVLSName )
15905 // InternalVampireLanguage.g:5170:3: ruleVLSName
15906 {
15907 before(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_1_0());
15908 pushFollow(FOLLOW_2);
15909 ruleVLSName();
15910
15911 state._fsp--;
15912
15913 after(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_1_0());
15914
15915 }
15916
15917
15918 }
15919
15920 }
15921 catch (RecognitionException re) {
15922 reportError(re);
15923 recover(input,re);
15924 }
15925 finally {
15926
15927 restoreStackSize(stackSize);
15928
15929 }
15930 return ;
15931 }
15932 // $ANTLR end "rule__VLSInclude__NamesAssignment_2_1"
15933
15934
15935 // $ANTLR start "rule__VLSInclude__NamesAssignment_2_2_1"
15936 // InternalVampireLanguage.g:5179:1: rule__VLSInclude__NamesAssignment_2_2_1 : ( ruleVLSName ) ;
15937 public final void rule__VLSInclude__NamesAssignment_2_2_1() throws RecognitionException {
15938
15939 int stackSize = keepStackSize();
15940
15941 try {
15942 // InternalVampireLanguage.g:5183:1: ( ( ruleVLSName ) )
15943 // InternalVampireLanguage.g:5184:2: ( ruleVLSName )
15944 {
15945 // InternalVampireLanguage.g:5184:2: ( ruleVLSName )
15946 // InternalVampireLanguage.g:5185:3: ruleVLSName
15947 {
15948 before(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_2_1_0());
15949 pushFollow(FOLLOW_2);
15950 ruleVLSName();
15951
15952 state._fsp--;
15953
15954 after(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_2_1_0());
15955
15956 }
15957
15958
15959 }
15960
15961 }
15962 catch (RecognitionException re) {
15963 reportError(re);
15964 recover(input,re);
15965 }
15966 finally {
15967
15968 restoreStackSize(stackSize);
15969
15970 }
15971 return ;
15972 }
15973 // $ANTLR end "rule__VLSInclude__NamesAssignment_2_2_1"
15974
15975
15976 // $ANTLR start "rule__VLSName__NameAssignment"
15977 // InternalVampireLanguage.g:5194:1: rule__VLSName__NameAssignment : ( ( rule__VLSName__NameAlternatives_0 ) ) ;
15978 public final void rule__VLSName__NameAssignment() throws RecognitionException {
15979
15980 int stackSize = keepStackSize();
15981
15982 try {
15983 // InternalVampireLanguage.g:5198:1: ( ( ( rule__VLSName__NameAlternatives_0 ) ) )
15984 // InternalVampireLanguage.g:5199:2: ( ( rule__VLSName__NameAlternatives_0 ) )
15985 {
15986 // InternalVampireLanguage.g:5199:2: ( ( rule__VLSName__NameAlternatives_0 ) )
15987 // InternalVampireLanguage.g:5200:3: ( rule__VLSName__NameAlternatives_0 )
15988 {
15989 before(grammarAccess.getVLSNameAccess().getNameAlternatives_0());
15990 // InternalVampireLanguage.g:5201:3: ( rule__VLSName__NameAlternatives_0 )
15991 // InternalVampireLanguage.g:5201:4: rule__VLSName__NameAlternatives_0
15992 {
15993 pushFollow(FOLLOW_2);
15994 rule__VLSName__NameAlternatives_0();
15995
15996 state._fsp--;
15997
15998
15999 }
16000
16001 after(grammarAccess.getVLSNameAccess().getNameAlternatives_0());
16002
16003 }
16004
16005
16006 }
16007
16008 }
16009 catch (RecognitionException re) {
16010 reportError(re);
16011 recover(input,re);
16012 }
16013 finally {
16014
16015 restoreStackSize(stackSize);
16016
16017 }
16018 return ;
16019 }
16020 // $ANTLR end "rule__VLSName__NameAssignment"
16021
16022
16023 // $ANTLR start "rule__VLSComment__CommentAssignment"
16024 // InternalVampireLanguage.g:5209:1: rule__VLSComment__CommentAssignment : ( RULE_SINGLE_COMMENT ) ;
16025 public final void rule__VLSComment__CommentAssignment() throws RecognitionException {
16026
16027 int stackSize = keepStackSize();
16028
16029 try {
16030 // InternalVampireLanguage.g:5213:1: ( ( RULE_SINGLE_COMMENT ) )
16031 // InternalVampireLanguage.g:5214:2: ( RULE_SINGLE_COMMENT )
16032 {
16033 // InternalVampireLanguage.g:5214:2: ( RULE_SINGLE_COMMENT )
16034 // InternalVampireLanguage.g:5215:3: RULE_SINGLE_COMMENT
16035 {
16036 before(grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_0());
16037 match(input,RULE_SINGLE_COMMENT,FOLLOW_2);
16038 after(grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_0());
16039
16040 }
16041
16042
16043 }
16044
16045 }
16046 catch (RecognitionException re) {
16047 reportError(re);
16048 recover(input,re);
16049 }
16050 finally {
16051
16052 restoreStackSize(stackSize);
16053
16054 }
16055 return ;
16056 }
16057 // $ANTLR end "rule__VLSComment__CommentAssignment"
16058
16059
16060 // $ANTLR start "rule__VLSFofFormula__NameAssignment_2"
16061 // InternalVampireLanguage.g:5224:1: rule__VLSFofFormula__NameAssignment_2 : ( ( rule__VLSFofFormula__NameAlternatives_2_0 ) ) ;
16062 public final void rule__VLSFofFormula__NameAssignment_2() throws RecognitionException {
16063
16064 int stackSize = keepStackSize();
16065
16066 try {
16067 // InternalVampireLanguage.g:5228:1: ( ( ( rule__VLSFofFormula__NameAlternatives_2_0 ) ) )
16068 // InternalVampireLanguage.g:5229:2: ( ( rule__VLSFofFormula__NameAlternatives_2_0 ) )
16069 {
16070 // InternalVampireLanguage.g:5229:2: ( ( rule__VLSFofFormula__NameAlternatives_2_0 ) )
16071 // InternalVampireLanguage.g:5230:3: ( rule__VLSFofFormula__NameAlternatives_2_0 )
16072 {
16073 before(grammarAccess.getVLSFofFormulaAccess().getNameAlternatives_2_0());
16074 // InternalVampireLanguage.g:5231:3: ( rule__VLSFofFormula__NameAlternatives_2_0 )
16075 // InternalVampireLanguage.g:5231:4: rule__VLSFofFormula__NameAlternatives_2_0
16076 {
16077 pushFollow(FOLLOW_2);
16078 rule__VLSFofFormula__NameAlternatives_2_0();
16079
16080 state._fsp--;
16081
16082
16083 }
16084
16085 after(grammarAccess.getVLSFofFormulaAccess().getNameAlternatives_2_0());
16086
16087 }
16088
16089
16090 }
16091
16092 }
16093 catch (RecognitionException re) {
16094 reportError(re);
16095 recover(input,re);
16096 }
16097 finally {
16098
16099 restoreStackSize(stackSize);
16100
16101 }
16102 return ;
16103 }
16104 // $ANTLR end "rule__VLSFofFormula__NameAssignment_2"
16105
16106
16107 // $ANTLR start "rule__VLSFofFormula__FofRoleAssignment_4"
16108 // InternalVampireLanguage.g:5239:1: rule__VLSFofFormula__FofRoleAssignment_4 : ( ruleVLSRole ) ;
16109 public final void rule__VLSFofFormula__FofRoleAssignment_4() throws RecognitionException {
16110
16111 int stackSize = keepStackSize();
16112
16113 try {
16114 // InternalVampireLanguage.g:5243:1: ( ( ruleVLSRole ) )
16115 // InternalVampireLanguage.g:5244:2: ( ruleVLSRole )
16116 {
16117 // InternalVampireLanguage.g:5244:2: ( ruleVLSRole )
16118 // InternalVampireLanguage.g:5245:3: ruleVLSRole
16119 {
16120 before(grammarAccess.getVLSFofFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0());
16121 pushFollow(FOLLOW_2);
16122 ruleVLSRole();
16123
16124 state._fsp--;
16125
16126 after(grammarAccess.getVLSFofFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0());
16127
16128 }
16129
16130
16131 }
16132
16133 }
16134 catch (RecognitionException re) {
16135 reportError(re);
16136 recover(input,re);
16137 }
16138 finally {
16139
16140 restoreStackSize(stackSize);
16141
16142 }
16143 return ;
16144 }
16145 // $ANTLR end "rule__VLSFofFormula__FofRoleAssignment_4"
16146
16147
16148 // $ANTLR start "rule__VLSFofFormula__FofFormulaAssignment_6"
16149 // InternalVampireLanguage.g:5254:1: rule__VLSFofFormula__FofFormulaAssignment_6 : ( ruleVLSTerm ) ;
16150 public final void rule__VLSFofFormula__FofFormulaAssignment_6() throws RecognitionException {
16151
16152 int stackSize = keepStackSize();
16153
16154 try {
16155 // InternalVampireLanguage.g:5258:1: ( ( ruleVLSTerm ) )
16156 // InternalVampireLanguage.g:5259:2: ( ruleVLSTerm )
16157 {
16158 // InternalVampireLanguage.g:5259:2: ( ruleVLSTerm )
16159 // InternalVampireLanguage.g:5260:3: ruleVLSTerm
16160 {
16161 before(grammarAccess.getVLSFofFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0());
16162 pushFollow(FOLLOW_2);
16163 ruleVLSTerm();
16164
16165 state._fsp--;
16166
16167 after(grammarAccess.getVLSFofFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0());
16168
16169 }
16170
16171
16172 }
16173
16174 }
16175 catch (RecognitionException re) {
16176 reportError(re);
16177 recover(input,re);
16178 }
16179 finally {
16180
16181 restoreStackSize(stackSize);
16182
16183 }
16184 return ;
16185 }
16186 // $ANTLR end "rule__VLSFofFormula__FofFormulaAssignment_6"
16187
16188
16189 // $ANTLR start "rule__VLSFofFormula__AnnotationsAssignment_7_1"
16190 // InternalVampireLanguage.g:5269:1: rule__VLSFofFormula__AnnotationsAssignment_7_1 : ( ruleVLSAnnotation ) ;
16191 public final void rule__VLSFofFormula__AnnotationsAssignment_7_1() throws RecognitionException {
16192
16193 int stackSize = keepStackSize();
16194
16195 try {
16196 // InternalVampireLanguage.g:5273:1: ( ( ruleVLSAnnotation ) )
16197 // InternalVampireLanguage.g:5274:2: ( ruleVLSAnnotation )
16198 {
16199 // InternalVampireLanguage.g:5274:2: ( ruleVLSAnnotation )
16200 // InternalVampireLanguage.g:5275:3: ruleVLSAnnotation
16201 {
16202 before(grammarAccess.getVLSFofFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0());
16203 pushFollow(FOLLOW_2);
16204 ruleVLSAnnotation();
16205
16206 state._fsp--;
16207
16208 after(grammarAccess.getVLSFofFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0());
16209
16210 }
16211
16212
16213 }
16214
16215 }
16216 catch (RecognitionException re) {
16217 reportError(re);
16218 recover(input,re);
16219 }
16220 finally {
16221
16222 restoreStackSize(stackSize);
16223
16224 }
16225 return ;
16226 }
16227 // $ANTLR end "rule__VLSFofFormula__AnnotationsAssignment_7_1"
16228
16229
16230 // $ANTLR start "rule__VLSAnnotation__NameAssignment_1"
16231 // InternalVampireLanguage.g:5284:1: rule__VLSAnnotation__NameAssignment_1 : ( ( rule__VLSAnnotation__NameAlternatives_1_0 ) ) ;
16232 public final void rule__VLSAnnotation__NameAssignment_1() throws RecognitionException {
16233
16234 int stackSize = keepStackSize();
16235
16236 try {
16237 // InternalVampireLanguage.g:5288:1: ( ( ( rule__VLSAnnotation__NameAlternatives_1_0 ) ) )
16238 // InternalVampireLanguage.g:5289:2: ( ( rule__VLSAnnotation__NameAlternatives_1_0 ) )
16239 {
16240 // InternalVampireLanguage.g:5289:2: ( ( rule__VLSAnnotation__NameAlternatives_1_0 ) )
16241 // InternalVampireLanguage.g:5290:3: ( rule__VLSAnnotation__NameAlternatives_1_0 )
16242 {
16243 before(grammarAccess.getVLSAnnotationAccess().getNameAlternatives_1_0());
16244 // InternalVampireLanguage.g:5291:3: ( rule__VLSAnnotation__NameAlternatives_1_0 )
16245 // InternalVampireLanguage.g:5291:4: rule__VLSAnnotation__NameAlternatives_1_0
16246 {
16247 pushFollow(FOLLOW_2);
16248 rule__VLSAnnotation__NameAlternatives_1_0();
16249
16250 state._fsp--;
16251
16252
16253 }
16254
16255 after(grammarAccess.getVLSAnnotationAccess().getNameAlternatives_1_0());
16256
16257 }
16258
16259
16260 }
16261
16262 }
16263 catch (RecognitionException re) {
16264 reportError(re);
16265 recover(input,re);
16266 }
16267 finally {
16268
16269 restoreStackSize(stackSize);
16270
16271 }
16272 return ;
16273 }
16274 // $ANTLR end "rule__VLSAnnotation__NameAssignment_1"
16275
16276
16277 // $ANTLR start "rule__VLSAnnotation__FollowupAssignment_2_1"
16278 // InternalVampireLanguage.g:5299:1: rule__VLSAnnotation__FollowupAssignment_2_1 : ( ruleVLSAnnotationTerms ) ;
16279 public final void rule__VLSAnnotation__FollowupAssignment_2_1() throws RecognitionException {
16280
16281 int stackSize = keepStackSize();
16282
16283 try {
16284 // InternalVampireLanguage.g:5303:1: ( ( ruleVLSAnnotationTerms ) )
16285 // InternalVampireLanguage.g:5304:2: ( ruleVLSAnnotationTerms )
16286 {
16287 // InternalVampireLanguage.g:5304:2: ( ruleVLSAnnotationTerms )
16288 // InternalVampireLanguage.g:5305:3: ruleVLSAnnotationTerms
16289 {
16290 before(grammarAccess.getVLSAnnotationAccess().getFollowupVLSAnnotationTermsParserRuleCall_2_1_0());
16291 pushFollow(FOLLOW_2);
16292 ruleVLSAnnotationTerms();
16293
16294 state._fsp--;
16295
16296 after(grammarAccess.getVLSAnnotationAccess().getFollowupVLSAnnotationTermsParserRuleCall_2_1_0());
16297
16298 }
16299
16300
16301 }
16302
16303 }
16304 catch (RecognitionException re) {
16305 reportError(re);
16306 recover(input,re);
16307 }
16308 finally {
16309
16310 restoreStackSize(stackSize);
16311
16312 }
16313 return ;
16314 }
16315 // $ANTLR end "rule__VLSAnnotation__FollowupAssignment_2_1"
16316
16317
16318 // $ANTLR start "rule__VLSAnnotationTerms__TermsAssignment_0"
16319 // InternalVampireLanguage.g:5314:1: rule__VLSAnnotationTerms__TermsAssignment_0 : ( ruleVLSAnnotation ) ;
16320 public final void rule__VLSAnnotationTerms__TermsAssignment_0() throws RecognitionException {
16321
16322 int stackSize = keepStackSize();
16323
16324 try {
16325 // InternalVampireLanguage.g:5318:1: ( ( ruleVLSAnnotation ) )
16326 // InternalVampireLanguage.g:5319:2: ( ruleVLSAnnotation )
16327 {
16328 // InternalVampireLanguage.g:5319:2: ( ruleVLSAnnotation )
16329 // InternalVampireLanguage.g:5320:3: ruleVLSAnnotation
16330 {
16331 before(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_0_0());
16332 pushFollow(FOLLOW_2);
16333 ruleVLSAnnotation();
16334
16335 state._fsp--;
16336
16337 after(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_0_0());
16338
16339 }
16340
16341
16342 }
16343
16344 }
16345 catch (RecognitionException re) {
16346 reportError(re);
16347 recover(input,re);
16348 }
16349 finally {
16350
16351 restoreStackSize(stackSize);
16352
16353 }
16354 return ;
16355 }
16356 // $ANTLR end "rule__VLSAnnotationTerms__TermsAssignment_0"
16357
16358
16359 // $ANTLR start "rule__VLSAnnotationTerms__TermsAssignment_1_1"
16360 // InternalVampireLanguage.g:5329:1: rule__VLSAnnotationTerms__TermsAssignment_1_1 : ( ruleVLSAnnotation ) ;
16361 public final void rule__VLSAnnotationTerms__TermsAssignment_1_1() throws RecognitionException {
16362
16363 int stackSize = keepStackSize();
16364
16365 try {
16366 // InternalVampireLanguage.g:5333:1: ( ( ruleVLSAnnotation ) )
16367 // InternalVampireLanguage.g:5334:2: ( ruleVLSAnnotation )
16368 {
16369 // InternalVampireLanguage.g:5334:2: ( ruleVLSAnnotation )
16370 // InternalVampireLanguage.g:5335:3: ruleVLSAnnotation
16371 {
16372 before(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_1_1_0());
16373 pushFollow(FOLLOW_2);
16374 ruleVLSAnnotation();
16375
16376 state._fsp--;
16377
16378 after(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_1_1_0());
16379
16380 }
16381
16382
16383 }
16384
16385 }
16386 catch (RecognitionException re) {
16387 reportError(re);
16388 recover(input,re);
16389 }
16390 finally {
16391
16392 restoreStackSize(stackSize);
16393
16394 }
16395 return ;
16396 }
16397 // $ANTLR end "rule__VLSAnnotationTerms__TermsAssignment_1_1"
16398
16399
16400 // $ANTLR start "rule__VLSBinary__RightAssignment_1_0_1"
16401 // InternalVampireLanguage.g:5344:1: rule__VLSBinary__RightAssignment_1_0_1 : ( ruleVLSUnitaryFormula ) ;
16402 public final void rule__VLSBinary__RightAssignment_1_0_1() throws RecognitionException {
16403
16404 int stackSize = keepStackSize();
16405
16406 try {
16407 // InternalVampireLanguage.g:5348:1: ( ( ruleVLSUnitaryFormula ) )
16408 // InternalVampireLanguage.g:5349:2: ( ruleVLSUnitaryFormula )
16409 {
16410 // InternalVampireLanguage.g:5349:2: ( ruleVLSUnitaryFormula )
16411 // InternalVampireLanguage.g:5350:3: ruleVLSUnitaryFormula
16412 {
16413 before(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0());
16414 pushFollow(FOLLOW_2);
16415 ruleVLSUnitaryFormula();
16416
16417 state._fsp--;
16418
16419 after(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0());
16420
16421 }
16422
16423
16424 }
16425
16426 }
16427 catch (RecognitionException re) {
16428 reportError(re);
16429 recover(input,re);
16430 }
16431 finally {
16432
16433 restoreStackSize(stackSize);
16434
16435 }
16436 return ;
16437 }
16438 // $ANTLR end "rule__VLSBinary__RightAssignment_1_0_1"
16439
16440
16441 // $ANTLR start "rule__VLSBinary__RightAssignment_1_1_2"
16442 // InternalVampireLanguage.g:5359:1: rule__VLSBinary__RightAssignment_1_1_2 : ( ruleVLSUnitaryFormula ) ;
16443 public final void rule__VLSBinary__RightAssignment_1_1_2() throws RecognitionException {
16444
16445 int stackSize = keepStackSize();
16446
16447 try {
16448 // InternalVampireLanguage.g:5363:1: ( ( ruleVLSUnitaryFormula ) )
16449 // InternalVampireLanguage.g:5364:2: ( ruleVLSUnitaryFormula )
16450 {
16451 // InternalVampireLanguage.g:5364:2: ( ruleVLSUnitaryFormula )
16452 // InternalVampireLanguage.g:5365:3: ruleVLSUnitaryFormula
16453 {
16454 before(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0());
16455 pushFollow(FOLLOW_2);
16456 ruleVLSUnitaryFormula();
16457
16458 state._fsp--;
16459
16460 after(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0());
16461
16462 }
16463
16464
16465 }
16466
16467 }
16468 catch (RecognitionException re) {
16469 reportError(re);
16470 recover(input,re);
16471 }
16472 finally {
16473
16474 restoreStackSize(stackSize);
16475
16476 }
16477 return ;
16478 }
16479 // $ANTLR end "rule__VLSBinary__RightAssignment_1_1_2"
16480
16481
16482 // $ANTLR start "rule__VLSBinary__RightAssignment_1_2_2"
16483 // InternalVampireLanguage.g:5374:1: rule__VLSBinary__RightAssignment_1_2_2 : ( ruleVLSUnitaryFormula ) ;
16484 public final void rule__VLSBinary__RightAssignment_1_2_2() throws RecognitionException {
16485
16486 int stackSize = keepStackSize();
16487
16488 try {
16489 // InternalVampireLanguage.g:5378:1: ( ( ruleVLSUnitaryFormula ) )
16490 // InternalVampireLanguage.g:5379:2: ( ruleVLSUnitaryFormula )
16491 {
16492 // InternalVampireLanguage.g:5379:2: ( ruleVLSUnitaryFormula )
16493 // InternalVampireLanguage.g:5380:3: ruleVLSUnitaryFormula
16494 {
16495 before(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0());
16496 pushFollow(FOLLOW_2);
16497 ruleVLSUnitaryFormula();
16498
16499 state._fsp--;
16500
16501 after(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0());
16502
16503 }
16504
16505
16506 }
16507
16508 }
16509 catch (RecognitionException re) {
16510 reportError(re);
16511 recover(input,re);
16512 }
16513 finally {
16514
16515 restoreStackSize(stackSize);
16516
16517 }
16518 return ;
16519 }
16520 // $ANTLR end "rule__VLSBinary__RightAssignment_1_2_2"
16521
16522
16523 // $ANTLR start "rule__VLSUniversalQuantifier__VariablesAssignment_1_2"
16524 // InternalVampireLanguage.g:5389:1: rule__VLSUniversalQuantifier__VariablesAssignment_1_2 : ( ruleVLSVariable ) ;
16525 public final void rule__VLSUniversalQuantifier__VariablesAssignment_1_2() throws RecognitionException {
16526
16527 int stackSize = keepStackSize();
16528
16529 try {
16530 // InternalVampireLanguage.g:5393:1: ( ( ruleVLSVariable ) )
16531 // InternalVampireLanguage.g:5394:2: ( ruleVLSVariable )
16532 {
16533 // InternalVampireLanguage.g:5394:2: ( ruleVLSVariable )
16534 // InternalVampireLanguage.g:5395:3: ruleVLSVariable
16535 {
16536 before(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
16537 pushFollow(FOLLOW_2);
16538 ruleVLSVariable();
16539
16540 state._fsp--;
16541
16542 after(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
16543
16544 }
16545
16546
16547 }
16548
16549 }
16550 catch (RecognitionException re) {
16551 reportError(re);
16552 recover(input,re);
16553 }
16554 finally {
16555
16556 restoreStackSize(stackSize);
16557
16558 }
16559 return ;
16560 }
16561 // $ANTLR end "rule__VLSUniversalQuantifier__VariablesAssignment_1_2"
16562
16563
16564 // $ANTLR start "rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1"
16565 // InternalVampireLanguage.g:5404:1: rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1 : ( ruleVLSVariable ) ;
16566 public final void rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1() throws RecognitionException {
16567
16568 int stackSize = keepStackSize();
16569
16570 try {
16571 // InternalVampireLanguage.g:5408:1: ( ( ruleVLSVariable ) )
16572 // InternalVampireLanguage.g:5409:2: ( ruleVLSVariable )
16573 {
16574 // InternalVampireLanguage.g:5409:2: ( ruleVLSVariable )
16575 // InternalVampireLanguage.g:5410:3: ruleVLSVariable
16576 {
16577 before(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
16578 pushFollow(FOLLOW_2);
16579 ruleVLSVariable();
16580
16581 state._fsp--;
16582
16583 after(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
16584
16585 }
16586
16587
16588 }
16589
16590 }
16591 catch (RecognitionException re) {
16592 reportError(re);
16593 recover(input,re);
16594 }
16595 finally {
16596
16597 restoreStackSize(stackSize);
16598
16599 }
16600 return ;
16601 }
16602 // $ANTLR end "rule__VLSUniversalQuantifier__VariablesAssignment_1_3_1"
16603
16604
16605 // $ANTLR start "rule__VLSUniversalQuantifier__OperandAssignment_2"
16606 // InternalVampireLanguage.g:5419:1: rule__VLSUniversalQuantifier__OperandAssignment_2 : ( ruleVLSUnitaryFormula ) ;
16607 public final void rule__VLSUniversalQuantifier__OperandAssignment_2() throws RecognitionException {
16608
16609 int stackSize = keepStackSize();
16610
16611 try {
16612 // InternalVampireLanguage.g:5423:1: ( ( ruleVLSUnitaryFormula ) )
16613 // InternalVampireLanguage.g:5424:2: ( ruleVLSUnitaryFormula )
16614 {
16615 // InternalVampireLanguage.g:5424:2: ( ruleVLSUnitaryFormula )
16616 // InternalVampireLanguage.g:5425:3: ruleVLSUnitaryFormula
16617 {
16618 before(grammarAccess.getVLSUniversalQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
16619 pushFollow(FOLLOW_2);
16620 ruleVLSUnitaryFormula();
16621
16622 state._fsp--;
16623
16624 after(grammarAccess.getVLSUniversalQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
16625
16626 }
16627
16628
16629 }
16630
16631 }
16632 catch (RecognitionException re) {
16633 reportError(re);
16634 recover(input,re);
16635 }
16636 finally {
16637
16638 restoreStackSize(stackSize);
16639
16640 }
16641 return ;
16642 }
16643 // $ANTLR end "rule__VLSUniversalQuantifier__OperandAssignment_2"
16644
16645
16646 // $ANTLR start "rule__VLSExistentialQuantifier__VariablesAssignment_1_2"
16647 // InternalVampireLanguage.g:5434:1: rule__VLSExistentialQuantifier__VariablesAssignment_1_2 : ( ruleVLSVariable ) ;
16648 public final void rule__VLSExistentialQuantifier__VariablesAssignment_1_2() throws RecognitionException {
16649
16650 int stackSize = keepStackSize();
16651
16652 try {
16653 // InternalVampireLanguage.g:5438:1: ( ( ruleVLSVariable ) )
16654 // InternalVampireLanguage.g:5439:2: ( ruleVLSVariable )
16655 {
16656 // InternalVampireLanguage.g:5439:2: ( ruleVLSVariable )
16657 // InternalVampireLanguage.g:5440:3: ruleVLSVariable
16658 {
16659 before(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
16660 pushFollow(FOLLOW_2);
16661 ruleVLSVariable();
16662
16663 state._fsp--;
16664
16665 after(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
16666
16667 }
16668
16669
16670 }
16671
16672 }
16673 catch (RecognitionException re) {
16674 reportError(re);
16675 recover(input,re);
16676 }
16677 finally {
16678
16679 restoreStackSize(stackSize);
16680
16681 }
16682 return ;
16683 }
16684 // $ANTLR end "rule__VLSExistentialQuantifier__VariablesAssignment_1_2"
16685
16686
16687 // $ANTLR start "rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1"
16688 // InternalVampireLanguage.g:5449:1: rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1 : ( ruleVLSVariable ) ;
16689 public final void rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1() throws RecognitionException {
16690
16691 int stackSize = keepStackSize();
16692
16693 try {
16694 // InternalVampireLanguage.g:5453:1: ( ( ruleVLSVariable ) )
16695 // InternalVampireLanguage.g:5454:2: ( ruleVLSVariable )
16696 {
16697 // InternalVampireLanguage.g:5454:2: ( ruleVLSVariable )
16698 // InternalVampireLanguage.g:5455:3: ruleVLSVariable
16699 {
16700 before(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
16701 pushFollow(FOLLOW_2);
16702 ruleVLSVariable();
16703
16704 state._fsp--;
16705
16706 after(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
16707
16708 }
16709
16710
16711 }
16712
16713 }
16714 catch (RecognitionException re) {
16715 reportError(re);
16716 recover(input,re);
16717 }
16718 finally {
16719
16720 restoreStackSize(stackSize);
16721
16722 }
16723 return ;
16724 }
16725 // $ANTLR end "rule__VLSExistentialQuantifier__VariablesAssignment_1_3_1"
16726
16727
16728 // $ANTLR start "rule__VLSExistentialQuantifier__OperandAssignment_2"
16729 // InternalVampireLanguage.g:5464:1: rule__VLSExistentialQuantifier__OperandAssignment_2 : ( ruleVLSUnitaryFormula ) ;
16730 public final void rule__VLSExistentialQuantifier__OperandAssignment_2() throws RecognitionException {
16731
16732 int stackSize = keepStackSize();
16733
16734 try {
16735 // InternalVampireLanguage.g:5468:1: ( ( ruleVLSUnitaryFormula ) )
16736 // InternalVampireLanguage.g:5469:2: ( ruleVLSUnitaryFormula )
16737 {
16738 // InternalVampireLanguage.g:5469:2: ( ruleVLSUnitaryFormula )
16739 // InternalVampireLanguage.g:5470:3: ruleVLSUnitaryFormula
16740 {
16741 before(grammarAccess.getVLSExistentialQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
16742 pushFollow(FOLLOW_2);
16743 ruleVLSUnitaryFormula();
16744
16745 state._fsp--;
16746
16747 after(grammarAccess.getVLSExistentialQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
16748
16749 }
16750
16751
16752 }
16753
16754 }
16755 catch (RecognitionException re) {
16756 reportError(re);
16757 recover(input,re);
16758 }
16759 finally {
16760
16761 restoreStackSize(stackSize);
16762
16763 }
16764 return ;
16765 }
16766 // $ANTLR end "rule__VLSExistentialQuantifier__OperandAssignment_2"
16767
16768
16769 // $ANTLR start "rule__VLSUnaryNegation__OperandAssignment_2"
16770 // InternalVampireLanguage.g:5479:1: rule__VLSUnaryNegation__OperandAssignment_2 : ( ruleVLSUnitaryFormula ) ;
16771 public final void rule__VLSUnaryNegation__OperandAssignment_2() throws RecognitionException {
16772
16773 int stackSize = keepStackSize();
16774
16775 try {
16776 // InternalVampireLanguage.g:5483:1: ( ( ruleVLSUnitaryFormula ) )
16777 // InternalVampireLanguage.g:5484:2: ( ruleVLSUnitaryFormula )
16778 {
16779 // InternalVampireLanguage.g:5484:2: ( ruleVLSUnitaryFormula )
16780 // InternalVampireLanguage.g:5485:3: ruleVLSUnitaryFormula
16781 {
16782 before(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
16783 pushFollow(FOLLOW_2);
16784 ruleVLSUnitaryFormula();
16785
16786 state._fsp--;
16787
16788 after(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
16789
16790 }
16791
16792
16793 }
16794
16795 }
16796 catch (RecognitionException re) {
16797 reportError(re);
16798 recover(input,re);
16799 }
16800 finally {
16801
16802 restoreStackSize(stackSize);
16803
16804 }
16805 return ;
16806 }
16807 // $ANTLR end "rule__VLSUnaryNegation__OperandAssignment_2"
16808
16809
16810 // $ANTLR start "rule__VLSUnaryInfix__RightAssignment_1_1"
16811 // InternalVampireLanguage.g:5494:1: rule__VLSUnaryInfix__RightAssignment_1_1 : ( ruleVLSAtomic ) ;
16812 public final void rule__VLSUnaryInfix__RightAssignment_1_1() throws RecognitionException {
16813
16814 int stackSize = keepStackSize();
16815
16816 try {
16817 // InternalVampireLanguage.g:5498:1: ( ( ruleVLSAtomic ) )
16818 // InternalVampireLanguage.g:5499:2: ( ruleVLSAtomic )
16819 {
16820 // InternalVampireLanguage.g:5499:2: ( ruleVLSAtomic )
16821 // InternalVampireLanguage.g:5500:3: ruleVLSAtomic
16822 {
16823 before(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0());
16824 pushFollow(FOLLOW_2);
16825 ruleVLSAtomic();
16826
16827 state._fsp--;
16828
16829 after(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0());
16830
16831 }
16832
16833
16834 }
16835
16836 }
16837 catch (RecognitionException re) {
16838 reportError(re);
16839 recover(input,re);
16840 }
16841 finally {
16842
16843 restoreStackSize(stackSize);
16844
16845 }
16846 return ;
16847 }
16848 // $ANTLR end "rule__VLSUnaryInfix__RightAssignment_1_1"
16849
16850
16851 // $ANTLR start "rule__VLSAtomicConstant__NameAssignment_0_1"
16852 // InternalVampireLanguage.g:5509:1: rule__VLSAtomicConstant__NameAssignment_0_1 : ( ( rule__VLSAtomicConstant__NameAlternatives_0_1_0 ) ) ;
16853 public final void rule__VLSAtomicConstant__NameAssignment_0_1() throws RecognitionException {
16854
16855 int stackSize = keepStackSize();
16856
16857 try {
16858 // InternalVampireLanguage.g:5513:1: ( ( ( rule__VLSAtomicConstant__NameAlternatives_0_1_0 ) ) )
16859 // InternalVampireLanguage.g:5514:2: ( ( rule__VLSAtomicConstant__NameAlternatives_0_1_0 ) )
16860 {
16861 // InternalVampireLanguage.g:5514:2: ( ( rule__VLSAtomicConstant__NameAlternatives_0_1_0 ) )
16862 // InternalVampireLanguage.g:5515:3: ( rule__VLSAtomicConstant__NameAlternatives_0_1_0 )
16863 {
16864 before(grammarAccess.getVLSAtomicConstantAccess().getNameAlternatives_0_1_0());
16865 // InternalVampireLanguage.g:5516:3: ( rule__VLSAtomicConstant__NameAlternatives_0_1_0 )
16866 // InternalVampireLanguage.g:5516:4: rule__VLSAtomicConstant__NameAlternatives_0_1_0
16867 {
16868 pushFollow(FOLLOW_2);
16869 rule__VLSAtomicConstant__NameAlternatives_0_1_0();
16870
16871 state._fsp--;
16872
16873
16874 }
16875
16876 after(grammarAccess.getVLSAtomicConstantAccess().getNameAlternatives_0_1_0());
16877
16878 }
16879
16880
16881 }
16882
16883 }
16884 catch (RecognitionException re) {
16885 reportError(re);
16886 recover(input,re);
16887 }
16888 finally {
16889
16890 restoreStackSize(stackSize);
16891
16892 }
16893 return ;
16894 }
16895 // $ANTLR end "rule__VLSAtomicConstant__NameAssignment_0_1"
16896
16897
16898 // $ANTLR start "rule__VLSAtomicFunction__ConstantAssignment_0_1"
16899 // InternalVampireLanguage.g:5524:1: rule__VLSAtomicFunction__ConstantAssignment_0_1 : ( ( rule__VLSAtomicFunction__ConstantAlternatives_0_1_0 ) ) ;
16900 public final void rule__VLSAtomicFunction__ConstantAssignment_0_1() throws RecognitionException {
16901
16902 int stackSize = keepStackSize();
16903
16904 try {
16905 // InternalVampireLanguage.g:5528:1: ( ( ( rule__VLSAtomicFunction__ConstantAlternatives_0_1_0 ) ) )
16906 // InternalVampireLanguage.g:5529:2: ( ( rule__VLSAtomicFunction__ConstantAlternatives_0_1_0 ) )
16907 {
16908 // InternalVampireLanguage.g:5529:2: ( ( rule__VLSAtomicFunction__ConstantAlternatives_0_1_0 ) )
16909 // InternalVampireLanguage.g:5530:3: ( rule__VLSAtomicFunction__ConstantAlternatives_0_1_0 )
16910 {
16911 before(grammarAccess.getVLSAtomicFunctionAccess().getConstantAlternatives_0_1_0());
16912 // InternalVampireLanguage.g:5531:3: ( rule__VLSAtomicFunction__ConstantAlternatives_0_1_0 )
16913 // InternalVampireLanguage.g:5531:4: rule__VLSAtomicFunction__ConstantAlternatives_0_1_0
16914 {
16915 pushFollow(FOLLOW_2);
16916 rule__VLSAtomicFunction__ConstantAlternatives_0_1_0();
16917
16918 state._fsp--;
16919
16920
16921 }
16922
16923 after(grammarAccess.getVLSAtomicFunctionAccess().getConstantAlternatives_0_1_0());
16924
16925 }
16926
16927
16928 }
16929
16930 }
16931 catch (RecognitionException re) {
16932 reportError(re);
16933 recover(input,re);
16934 }
16935 finally {
16936
16937 restoreStackSize(stackSize);
16938
16939 }
16940 return ;
16941 }
16942 // $ANTLR end "rule__VLSAtomicFunction__ConstantAssignment_0_1"
16943
16944
16945 // $ANTLR start "rule__VLSAtomicFunction__TermsAssignment_0_2_1"
16946 // InternalVampireLanguage.g:5539:1: rule__VLSAtomicFunction__TermsAssignment_0_2_1 : ( ruleVLSFofTerm ) ;
16947 public final void rule__VLSAtomicFunction__TermsAssignment_0_2_1() throws RecognitionException {
16948
16949 int stackSize = keepStackSize();
16950
16951 try {
16952 // InternalVampireLanguage.g:5543:1: ( ( ruleVLSFofTerm ) )
16953 // InternalVampireLanguage.g:5544:2: ( ruleVLSFofTerm )
16954 {
16955 // InternalVampireLanguage.g:5544:2: ( ruleVLSFofTerm )
16956 // InternalVampireLanguage.g:5545:3: ruleVLSFofTerm
16957 {
16958 before(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_1_0());
16959 pushFollow(FOLLOW_2);
16960 ruleVLSFofTerm();
16961
16962 state._fsp--;
16963
16964 after(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_1_0());
16965
16966 }
16967
16968
16969 }
16970
16971 }
16972 catch (RecognitionException re) {
16973 reportError(re);
16974 recover(input,re);
16975 }
16976 finally {
16977
16978 restoreStackSize(stackSize);
16979
16980 }
16981 return ;
16982 }
16983 // $ANTLR end "rule__VLSAtomicFunction__TermsAssignment_0_2_1"
16984
16985
16986 // $ANTLR start "rule__VLSAtomicFunction__TermsAssignment_0_2_2_1"
16987 // InternalVampireLanguage.g:5554:1: rule__VLSAtomicFunction__TermsAssignment_0_2_2_1 : ( ruleVLSFofTerm ) ;
16988 public final void rule__VLSAtomicFunction__TermsAssignment_0_2_2_1() throws RecognitionException {
16989
16990 int stackSize = keepStackSize();
16991
16992 try {
16993 // InternalVampireLanguage.g:5558:1: ( ( ruleVLSFofTerm ) )
16994 // InternalVampireLanguage.g:5559:2: ( ruleVLSFofTerm )
16995 {
16996 // InternalVampireLanguage.g:5559:2: ( ruleVLSFofTerm )
16997 // InternalVampireLanguage.g:5560:3: ruleVLSFofTerm
16998 {
16999 before(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_2_1_0());
17000 pushFollow(FOLLOW_2);
17001 ruleVLSFofTerm();
17002
17003 state._fsp--;
17004
17005 after(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_2_1_0());
17006
17007 }
17008
17009
17010 }
17011
17012 }
17013 catch (RecognitionException re) {
17014 reportError(re);
17015 recover(input,re);
17016 }
17017 finally {
17018
17019 restoreStackSize(stackSize);
17020
17021 }
17022 return ;
17023 }
17024 // $ANTLR end "rule__VLSAtomicFunction__TermsAssignment_0_2_2_1"
17025
17026
17027 // $ANTLR start "rule__VLSAtomicFunction__NameAssignment_1_1"
17028 // InternalVampireLanguage.g:5569:1: rule__VLSAtomicFunction__NameAssignment_1_1 : ( ( '$less' ) ) ;
17029 public final void rule__VLSAtomicFunction__NameAssignment_1_1() throws RecognitionException {
17030
17031 int stackSize = keepStackSize();
17032
17033 try {
17034 // InternalVampireLanguage.g:5573:1: ( ( ( '$less' ) ) )
17035 // InternalVampireLanguage.g:5574:2: ( ( '$less' ) )
17036 {
17037 // InternalVampireLanguage.g:5574:2: ( ( '$less' ) )
17038 // InternalVampireLanguage.g:5575:3: ( '$less' )
17039 {
17040 before(grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0());
17041 // InternalVampireLanguage.g:5576:3: ( '$less' )
17042 // InternalVampireLanguage.g:5577:4: '$less'
17043 {
17044 before(grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0());
17045 match(input,68,FOLLOW_2);
17046 after(grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0());
17047
17048 }
17049
17050 after(grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0());
17051
17052 }
17053
17054
17055 }
17056
17057 }
17058 catch (RecognitionException re) {
17059 reportError(re);
17060 recover(input,re);
17061 }
17062 finally {
17063
17064 restoreStackSize(stackSize);
17065
17066 }
17067 return ;
17068 }
17069 // $ANTLR end "rule__VLSAtomicFunction__NameAssignment_1_1"
17070
17071
17072 // $ANTLR start "rule__VLSAtomicFunction__TermsAssignment_1_3"
17073 // InternalVampireLanguage.g:5588:1: rule__VLSAtomicFunction__TermsAssignment_1_3 : ( ruleVLSFofTerm ) ;
17074 public final void rule__VLSAtomicFunction__TermsAssignment_1_3() throws RecognitionException {
17075
17076 int stackSize = keepStackSize();
17077
17078 try {
17079 // InternalVampireLanguage.g:5592:1: ( ( ruleVLSFofTerm ) )
17080 // InternalVampireLanguage.g:5593:2: ( ruleVLSFofTerm )
17081 {
17082 // InternalVampireLanguage.g:5593:2: ( ruleVLSFofTerm )
17083 // InternalVampireLanguage.g:5594:3: ruleVLSFofTerm
17084 {
17085 before(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_3_0());
17086 pushFollow(FOLLOW_2);
17087 ruleVLSFofTerm();
17088
17089 state._fsp--;
17090
17091 after(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_3_0());
17092
17093 }
17094
17095
17096 }
17097
17098 }
17099 catch (RecognitionException re) {
17100 reportError(re);
17101 recover(input,re);
17102 }
17103 finally {
17104
17105 restoreStackSize(stackSize);
17106
17107 }
17108 return ;
17109 }
17110 // $ANTLR end "rule__VLSAtomicFunction__TermsAssignment_1_3"
17111
17112
17113 // $ANTLR start "rule__VLSAtomicFunction__TermsAssignment_1_5"
17114 // InternalVampireLanguage.g:5603:1: rule__VLSAtomicFunction__TermsAssignment_1_5 : ( ruleVLSFofTerm ) ;
17115 public final void rule__VLSAtomicFunction__TermsAssignment_1_5() throws RecognitionException {
17116
17117 int stackSize = keepStackSize();
17118
17119 try {
17120 // InternalVampireLanguage.g:5607:1: ( ( ruleVLSFofTerm ) )
17121 // InternalVampireLanguage.g:5608:2: ( ruleVLSFofTerm )
17122 {
17123 // InternalVampireLanguage.g:5608:2: ( ruleVLSFofTerm )
17124 // InternalVampireLanguage.g:5609:3: ruleVLSFofTerm
17125 {
17126 before(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_5_0());
17127 pushFollow(FOLLOW_2);
17128 ruleVLSFofTerm();
17129
17130 state._fsp--;
17131
17132 after(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_5_0());
17133
17134 }
17135
17136
17137 }
17138
17139 }
17140 catch (RecognitionException re) {
17141 reportError(re);
17142 recover(input,re);
17143 }
17144 finally {
17145
17146 restoreStackSize(stackSize);
17147
17148 }
17149 return ;
17150 }
17151 // $ANTLR end "rule__VLSAtomicFunction__TermsAssignment_1_5"
17152
17153
17154 // $ANTLR start "rule__VLSVariable__NameAssignment"
17155 // InternalVampireLanguage.g:5618:1: rule__VLSVariable__NameAssignment : ( RULE_UPPER_WORD_ID ) ;
17156 public final void rule__VLSVariable__NameAssignment() throws RecognitionException {
17157
17158 int stackSize = keepStackSize();
17159
17160 try {
17161 // InternalVampireLanguage.g:5622:1: ( ( RULE_UPPER_WORD_ID ) )
17162 // InternalVampireLanguage.g:5623:2: ( RULE_UPPER_WORD_ID )
17163 {
17164 // InternalVampireLanguage.g:5623:2: ( RULE_UPPER_WORD_ID )
17165 // InternalVampireLanguage.g:5624:3: RULE_UPPER_WORD_ID
17166 {
17167 before(grammarAccess.getVLSVariableAccess().getNameUPPER_WORD_IDTerminalRuleCall_0());
17168 match(input,RULE_UPPER_WORD_ID,FOLLOW_2);
17169 after(grammarAccess.getVLSVariableAccess().getNameUPPER_WORD_IDTerminalRuleCall_0());
17170
17171 }
17172
17173
17174 }
17175
17176 }
17177 catch (RecognitionException re) {
17178 reportError(re);
17179 recover(input,re);
17180 }
17181 finally {
17182
17183 restoreStackSize(stackSize);
17184
17185 }
17186 return ;
17187 }
17188 // $ANTLR end "rule__VLSVariable__NameAssignment"
17189
17190
17191 // $ANTLR start "rule__VLSFunctionFof__FunctorAssignment_0"
17192 // InternalVampireLanguage.g:5633:1: rule__VLSFunctionFof__FunctorAssignment_0 : ( ( rule__VLSFunctionFof__FunctorAlternatives_0_0 ) ) ;
17193 public final void rule__VLSFunctionFof__FunctorAssignment_0() throws RecognitionException {
17194
17195 int stackSize = keepStackSize();
17196
17197 try {
17198 // InternalVampireLanguage.g:5637:1: ( ( ( rule__VLSFunctionFof__FunctorAlternatives_0_0 ) ) )
17199 // InternalVampireLanguage.g:5638:2: ( ( rule__VLSFunctionFof__FunctorAlternatives_0_0 ) )
17200 {
17201 // InternalVampireLanguage.g:5638:2: ( ( rule__VLSFunctionFof__FunctorAlternatives_0_0 ) )
17202 // InternalVampireLanguage.g:5639:3: ( rule__VLSFunctionFof__FunctorAlternatives_0_0 )
17203 {
17204 before(grammarAccess.getVLSFunctionFofAccess().getFunctorAlternatives_0_0());
17205 // InternalVampireLanguage.g:5640:3: ( rule__VLSFunctionFof__FunctorAlternatives_0_0 )
17206 // InternalVampireLanguage.g:5640:4: rule__VLSFunctionFof__FunctorAlternatives_0_0
17207 {
17208 pushFollow(FOLLOW_2);
17209 rule__VLSFunctionFof__FunctorAlternatives_0_0();
17210
17211 state._fsp--;
17212
17213
17214 }
17215
17216 after(grammarAccess.getVLSFunctionFofAccess().getFunctorAlternatives_0_0());
17217
17218 }
17219
17220
17221 }
17222
17223 }
17224 catch (RecognitionException re) {
17225 reportError(re);
17226 recover(input,re);
17227 }
17228 finally {
17229
17230 restoreStackSize(stackSize);
17231
17232 }
17233 return ;
17234 }
17235 // $ANTLR end "rule__VLSFunctionFof__FunctorAssignment_0"
17236
17237
17238 // $ANTLR start "rule__VLSFunctionFof__TermsAssignment_1_1"
17239 // InternalVampireLanguage.g:5648:1: rule__VLSFunctionFof__TermsAssignment_1_1 : ( ruleVLSFofTerm ) ;
17240 public final void rule__VLSFunctionFof__TermsAssignment_1_1() throws RecognitionException {
17241
17242 int stackSize = keepStackSize();
17243
17244 try {
17245 // InternalVampireLanguage.g:5652:1: ( ( ruleVLSFofTerm ) )
17246 // InternalVampireLanguage.g:5653:2: ( ruleVLSFofTerm )
17247 {
17248 // InternalVampireLanguage.g:5653:2: ( ruleVLSFofTerm )
17249 // InternalVampireLanguage.g:5654:3: ruleVLSFofTerm
17250 {
17251 before(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_1_0());
17252 pushFollow(FOLLOW_2);
17253 ruleVLSFofTerm();
17254
17255 state._fsp--;
17256
17257 after(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_1_0());
17258
17259 }
17260
17261
17262 }
17263
17264 }
17265 catch (RecognitionException re) {
17266 reportError(re);
17267 recover(input,re);
17268 }
17269 finally {
17270
17271 restoreStackSize(stackSize);
17272
17273 }
17274 return ;
17275 }
17276 // $ANTLR end "rule__VLSFunctionFof__TermsAssignment_1_1"
17277
17278
17279 // $ANTLR start "rule__VLSFunctionFof__TermsAssignment_1_2_1"
17280 // InternalVampireLanguage.g:5663:1: rule__VLSFunctionFof__TermsAssignment_1_2_1 : ( ruleVLSFofTerm ) ;
17281 public final void rule__VLSFunctionFof__TermsAssignment_1_2_1() throws RecognitionException {
17282
17283 int stackSize = keepStackSize();
17284
17285 try {
17286 // InternalVampireLanguage.g:5667:1: ( ( ruleVLSFofTerm ) )
17287 // InternalVampireLanguage.g:5668:2: ( ruleVLSFofTerm )
17288 {
17289 // InternalVampireLanguage.g:5668:2: ( ruleVLSFofTerm )
17290 // InternalVampireLanguage.g:5669:3: ruleVLSFofTerm
17291 {
17292 before(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_2_1_0());
17293 pushFollow(FOLLOW_2);
17294 ruleVLSFofTerm();
17295
17296 state._fsp--;
17297
17298 after(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_2_1_0());
17299
17300 }
17301
17302
17303 }
17304
17305 }
17306 catch (RecognitionException re) {
17307 reportError(re);
17308 recover(input,re);
17309 }
17310 finally {
17311
17312 restoreStackSize(stackSize);
17313
17314 }
17315 return ;
17316 }
17317 // $ANTLR end "rule__VLSFunctionFof__TermsAssignment_1_2_1"
17318
17319
17320 // $ANTLR start "rule__VLSDefinedTerm__ValueAssignment_0_1"
17321 // InternalVampireLanguage.g:5678:1: rule__VLSDefinedTerm__ValueAssignment_0_1 : ( RULE_SIGNED_LITERAL ) ;
17322 public final void rule__VLSDefinedTerm__ValueAssignment_0_1() throws RecognitionException {
17323
17324 int stackSize = keepStackSize();
17325
17326 try {
17327 // InternalVampireLanguage.g:5682:1: ( ( RULE_SIGNED_LITERAL ) )
17328 // InternalVampireLanguage.g:5683:2: ( RULE_SIGNED_LITERAL )
17329 {
17330 // InternalVampireLanguage.g:5683:2: ( RULE_SIGNED_LITERAL )
17331 // InternalVampireLanguage.g:5684:3: RULE_SIGNED_LITERAL
17332 {
17333 before(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_LITERALTerminalRuleCall_0_1_0());
17334 match(input,RULE_SIGNED_LITERAL,FOLLOW_2);
17335 after(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_LITERALTerminalRuleCall_0_1_0());
17336
17337 }
17338
17339
17340 }
17341
17342 }
17343 catch (RecognitionException re) {
17344 reportError(re);
17345 recover(input,re);
17346 }
17347 finally {
17348
17349 restoreStackSize(stackSize);
17350
17351 }
17352 return ;
17353 }
17354 // $ANTLR end "rule__VLSDefinedTerm__ValueAssignment_0_1"
17355
17356
17357 // $ANTLR start "rule__VLSDefinedTerm__ValueAssignment_1_1"
17358 // InternalVampireLanguage.g:5693:1: rule__VLSDefinedTerm__ValueAssignment_1_1 : ( RULE_SIGNED_REAL_ID ) ;
17359 public final void rule__VLSDefinedTerm__ValueAssignment_1_1() throws RecognitionException {
17360
17361 int stackSize = keepStackSize();
17362
17363 try {
17364 // InternalVampireLanguage.g:5697:1: ( ( RULE_SIGNED_REAL_ID ) )
17365 // InternalVampireLanguage.g:5698:2: ( RULE_SIGNED_REAL_ID )
17366 {
17367 // InternalVampireLanguage.g:5698:2: ( RULE_SIGNED_REAL_ID )
17368 // InternalVampireLanguage.g:5699:3: RULE_SIGNED_REAL_ID
17369 {
17370 before(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0());
17371 match(input,RULE_SIGNED_REAL_ID,FOLLOW_2);
17372 after(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0());
17373
17374 }
17375
17376
17377 }
17378
17379 }
17380 catch (RecognitionException re) {
17381 reportError(re);
17382 recover(input,re);
17383 }
17384 finally {
17385
17386 restoreStackSize(stackSize);
17387
17388 }
17389 return ;
17390 }
17391 // $ANTLR end "rule__VLSDefinedTerm__ValueAssignment_1_1"
17392
17393
17394 // $ANTLR start "rule__VLSDefinedTerm__ValueAssignment_2_1"
17395 // InternalVampireLanguage.g:5708:1: rule__VLSDefinedTerm__ValueAssignment_2_1 : ( RULE_SIGNED_RAT_ID ) ;
17396 public final void rule__VLSDefinedTerm__ValueAssignment_2_1() throws RecognitionException {
17397
17398 int stackSize = keepStackSize();
17399
17400 try {
17401 // InternalVampireLanguage.g:5712:1: ( ( RULE_SIGNED_RAT_ID ) )
17402 // InternalVampireLanguage.g:5713:2: ( RULE_SIGNED_RAT_ID )
17403 {
17404 // InternalVampireLanguage.g:5713:2: ( RULE_SIGNED_RAT_ID )
17405 // InternalVampireLanguage.g:5714:3: RULE_SIGNED_RAT_ID
17406 {
17407 before(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0());
17408 match(input,RULE_SIGNED_RAT_ID,FOLLOW_2);
17409 after(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0());
17410
17411 }
17412
17413
17414 }
17415
17416 }
17417 catch (RecognitionException re) {
17418 reportError(re);
17419 recover(input,re);
17420 }
17421 finally {
17422
17423 restoreStackSize(stackSize);
17424
17425 }
17426 return ;
17427 }
17428 // $ANTLR end "rule__VLSDefinedTerm__ValueAssignment_2_1"
17429
17430
17431 // $ANTLR start "rule__VLSDefinedTerm__ValueAssignment_3_1"
17432 // InternalVampireLanguage.g:5723:1: rule__VLSDefinedTerm__ValueAssignment_3_1 : ( RULE_DOUBLE_QUOTE ) ;
17433 public final void rule__VLSDefinedTerm__ValueAssignment_3_1() throws RecognitionException {
17434
17435 int stackSize = keepStackSize();
17436
17437 try {
17438 // InternalVampireLanguage.g:5727:1: ( ( RULE_DOUBLE_QUOTE ) )
17439 // InternalVampireLanguage.g:5728:2: ( RULE_DOUBLE_QUOTE )
17440 {
17441 // InternalVampireLanguage.g:5728:2: ( RULE_DOUBLE_QUOTE )
17442 // InternalVampireLanguage.g:5729:3: RULE_DOUBLE_QUOTE
17443 {
17444 before(grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_3_1_0());
17445 match(input,RULE_DOUBLE_QUOTE,FOLLOW_2);
17446 after(grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_3_1_0());
17447
17448 }
17449
17450
17451 }
17452
17453 }
17454 catch (RecognitionException re) {
17455 reportError(re);
17456 recover(input,re);
17457 }
17458 finally {
17459
17460 restoreStackSize(stackSize);
17461
17462 }
17463 return ;
17464 }
17465 // $ANTLR end "rule__VLSDefinedTerm__ValueAssignment_3_1"
17466
17467 // Delegated rules
17468
17469
17470 protected DFA13 dfa13 = new DFA13(this);
17471 static final String dfa_1s = "\30\uffff";
17472 static final String dfa_2s = "\1\uffff\23\24\4\uffff";
17473 static final String dfa_3s = "\1\4\23\55\4\uffff";
17474 static final String dfa_4s = "\1\104\23\101\4\uffff";
17475 static final String dfa_5s = "\24\uffff\1\1\1\2\1\3\1\4";
17476 static final String dfa_6s = "\30\uffff}>";
17477 static final String[] dfa_7s = {
17478 "\1\1\1\2\1\uffff\1\27\1\3\1\4\1\uffff\1\26\3\27\14\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\30\uffff\2\24\1\25",
17479 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17480 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17481 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17482 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17483 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17484 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17485 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17486 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17487 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17488 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17489 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17490 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17491 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17492 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17493 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17494 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17495 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17496 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17497 "\1\24\1\uffff\1\25\1\24\2\uffff\10\24\4\uffff\3\24",
17498 "",
17499 "",
17500 "",
17501 ""
17502 };
17503
17504 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
17505 static final short[] dfa_2 = DFA.unpackEncodedString(dfa_2s);
17506 static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
17507 static final char[] dfa_4 = DFA.unpackEncodedStringToUnsignedChars(dfa_4s);
17508 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
17509 static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s);
17510 static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s);
17511
17512 class DFA13 extends DFA {
17513
17514 public DFA13(BaseRecognizer recognizer) {
17515 this.recognizer = recognizer;
17516 this.decisionNumber = 13;
17517 this.eot = dfa_1;
17518 this.eof = dfa_2;
17519 this.min = dfa_3;
17520 this.max = dfa_4;
17521 this.accept = dfa_5;
17522 this.special = dfa_6;
17523 this.transition = dfa_7;
17524 }
17525 public String getDescription() {
17526 return "1342:1: rule__VLSAtomic__Alternatives : ( ( ruleVLSAtomicConstant ) | ( ruleVLSAtomicFunction ) | ( ruleVLSVariable ) | ( ruleVLSDefinedTerm ) );";
17527 }
17528 }
17529
17530
17531 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
17532 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
17533 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000440000000402L});
17534 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0200000000000002L});
17535 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0400000000000002L});
17536 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000000020L});
17537 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000080000000000L});
17538 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000000000F0L});
17539 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000300000000000L});
17540 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000200000000002L});
17541 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000800000000000L});
17542 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x00000000000000B0L});
17543 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000200000000000L});
17544 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x000003FFF8000000L});
17545 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x680083FFF8007BB0L,0x000000000000001CL});
17546 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0001200000000000L});
17547 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0002000000000000L});
17548 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x000493FFF8000030L});
17549 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0001000000000000L});
17550 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x07F8000000000000L});
17551 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0008000000000000L});
17552 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0010000000000000L});
17553 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0020000000000000L});
17554 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0040000000000000L});
17555 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0080000000000000L});
17556 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x01F8000000000000L});
17557 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0200000000000000L});
17558 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0400000000000000L});
17559 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0800000000000000L});
17560 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0004000000000000L});
17561 public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000000000800L});
17562 public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x1000000000000000L});
17563 public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x2000000000000000L});
17564 public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x4000000000000000L});
17565 public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x8000000000000000L,0x0000000000000003L});
17566 public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x000003FFF8007BB0L,0x000000000000001CL});
17567 public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x8000000000000000L});
17568 public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
17569 public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x000003FFF8000330L});
17570 public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
17571 public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x000003FFF8000330L,0x000000000000000CL});
17572 public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x000003FFF8000330L,0x0000000000000010L});
17573 public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000000080L});
17574 public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000001000L});
17575 public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000000000002000L});
17576
17577} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeModule.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeModule.xtend
new file mode 100644
index 00000000..e48b4935
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeModule.xtend
@@ -0,0 +1,11 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ide
5
6
7/**
8 * Use this class to register ide components.
9 */
10class VampireLanguageIdeModule extends AbstractVampireLanguageIdeModule {
11}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeSetup.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeSetup.xtend
new file mode 100644
index 00000000..b8411c32
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeSetup.xtend
@@ -0,0 +1,20 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ide
5
6import ca.mcgill.ecse.dslreasoner.VampireLanguageRuntimeModule
7import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup
8import com.google.inject.Guice
9import org.eclipse.xtext.util.Modules2
10
11/**
12 * Initialization support for running Xtext languages as language servers.
13 */
14class VampireLanguageIdeSetup extends VampireLanguageStandaloneSetup {
15
16 override createInjector() {
17 Guice.createInjector(Modules2.mixin(new VampireLanguageRuntimeModule, new VampireLanguageIdeModule))
18 }
19
20}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin
new file mode 100644
index 00000000..b85cab1f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin
new file mode 100644
index 00000000..edbdddb9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.gitignore
new file mode 100644
index 00000000..74d3a17c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.gitignore
@@ -0,0 +1,2 @@
1/.VampireLanguageIdeModule.java._trace
2/.VampireLanguageIdeSetup.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeModule.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeModule.java
new file mode 100644
index 00000000..788815c4
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeModule.java
@@ -0,0 +1,13 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ide;
5
6import ca.mcgill.ecse.dslreasoner.ide.AbstractVampireLanguageIdeModule;
7
8/**
9 * Use this class to register ide components.
10 */
11@SuppressWarnings("all")
12public class VampireLanguageIdeModule extends AbstractVampireLanguageIdeModule {
13}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeSetup.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeSetup.java
new file mode 100644
index 00000000..05decf8c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/VampireLanguageIdeSetup.java
@@ -0,0 +1,24 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ide;
5
6import ca.mcgill.ecse.dslreasoner.VampireLanguageRuntimeModule;
7import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup;
8import ca.mcgill.ecse.dslreasoner.ide.VampireLanguageIdeModule;
9import com.google.inject.Guice;
10import com.google.inject.Injector;
11import org.eclipse.xtext.util.Modules2;
12
13/**
14 * Initialization support for running Xtext languages as language servers.
15 */
16@SuppressWarnings("all")
17public class VampireLanguageIdeSetup extends VampireLanguageStandaloneSetup {
18 @Override
19 public Injector createInjector() {
20 VampireLanguageRuntimeModule _vampireLanguageRuntimeModule = new VampireLanguageRuntimeModule();
21 VampireLanguageIdeModule _vampireLanguageIdeModule = new VampireLanguageIdeModule();
22 return Guice.createInjector(Modules2.mixin(_vampireLanguageRuntimeModule, _vampireLanguageIdeModule));
23 }
24}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.classpath b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.classpath
new file mode 100644
index 00000000..1287f96c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="src" path="src-gen"/>
5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.gitignore
@@ -0,0 +1 @@
/bin/
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.project b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.project
new file mode 100644
index 00000000..323ea59f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>ca.mcgill.ecse.dslreasoner.vampire.language.tests</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.pde.PluginNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.settings/org.eclipse.core.resources.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.settings/org.eclipse.jdt.core.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/META-INF/MANIFEST.MF b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..7e9ef500
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: ca.mcgill.ecse.dslreasoner.vampire.language.tests
4Bundle-Vendor: My Company
5Bundle-Version: 1.0.0.qualifier
6Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.vampire.language.tests; singleton:=true
7Bundle-ActivationPolicy: lazy
8Require-Bundle: ca.mcgill.ecse.dslreasoner.vampire.language,
9 org.junit;bundle-version="4.12.0",
10 org.eclipse.xtext.testing,
11 org.eclipse.xtext.xbase.testing,
12 org.eclipse.xtext.xbase.lib
13Bundle-RequiredExecutionEnvironment: JavaSE-1.8
14Export-Package: ca.mcgill.ecse.dslreasoner.tests;x-internal=true
15Import-Package: org.hamcrest.core,
16 org.junit;version="4.5.0",
17 org.junit.runners.model;version="4.5.0",
18 org.junit.runner;version="4.5.0",
19 org.junit.runners;version="4.5.0",
20 org.junit.runner.manipulation;version="4.5.0",
21 org.junit.runner.notification;version="4.5.0"
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/build.properties b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/build.properties
new file mode 100644
index 00000000..4c654e9b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/build.properties
@@ -0,0 +1,6 @@
1source.. = src/,\
2 src-gen/,\
3 xtend-gen/
4bin.includes = .,\
5 META-INF/
6bin.excludes = **/*.xtend
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageInjectorProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageInjectorProvider.java
new file mode 100644
index 00000000..f3c1588b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageInjectorProvider.java
@@ -0,0 +1,66 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.tests;
5
6import ca.mcgill.ecse.dslreasoner.VampireLanguageRuntimeModule;
7import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup;
8import com.google.inject.Guice;
9import com.google.inject.Injector;
10import org.eclipse.xtext.testing.GlobalRegistries;
11import org.eclipse.xtext.testing.GlobalRegistries.GlobalStateMemento;
12import org.eclipse.xtext.testing.IInjectorProvider;
13import org.eclipse.xtext.testing.IRegistryConfigurator;
14
15public class VampireLanguageInjectorProvider implements IInjectorProvider, IRegistryConfigurator {
16
17 protected GlobalStateMemento stateBeforeInjectorCreation;
18 protected GlobalStateMemento stateAfterInjectorCreation;
19 protected Injector injector;
20
21 static {
22 GlobalRegistries.initializeDefaults();
23 }
24
25 @Override
26 public Injector getInjector() {
27 if (injector == null) {
28 stateBeforeInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
29 this.injector = internalCreateInjector();
30 stateAfterInjectorCreation = GlobalRegistries.makeCopyOfGlobalState();
31 }
32 return injector;
33 }
34
35 protected Injector internalCreateInjector() {
36 return new VampireLanguageStandaloneSetup() {
37 @Override
38 public Injector createInjector() {
39 return Guice.createInjector(createRuntimeModule());
40 }
41 }.createInjectorAndDoEMFRegistration();
42 }
43
44 protected VampireLanguageRuntimeModule createRuntimeModule() {
45 // make it work also with Maven/Tycho and OSGI
46 // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=493672
47 return new VampireLanguageRuntimeModule() {
48 @Override
49 public ClassLoader bindClassLoaderToInstance() {
50 return VampireLanguageInjectorProvider.class
51 .getClassLoader();
52 }
53 };
54 }
55
56 @Override
57 public void restoreRegistry() {
58 stateBeforeInjectorCreation.restoreGlobalState();
59 }
60
61 @Override
62 public void setupRegistry() {
63 getInjector();
64 stateAfterInjectorCreation.restoreGlobalState();
65 }
66}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageParsingTest.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageParsingTest.xtend
new file mode 100644
index 00000000..6d13b455
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/src/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageParsingTest.xtend
@@ -0,0 +1,29 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.tests
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel
7import com.google.inject.Inject
8import org.eclipse.xtext.testing.InjectWith
9import org.eclipse.xtext.testing.XtextRunner
10import org.eclipse.xtext.testing.util.ParseHelper
11import org.junit.Assert
12import org.junit.Test
13import org.junit.runner.RunWith
14
15@RunWith(XtextRunner)
16@InjectWith(VampireLanguageInjectorProvider)
17class VampireLanguageParsingTest {
18 @Inject
19 ParseHelper<VampireModel> parseHelper
20
21 @Test
22 def void loadModel() {
23 val result = parseHelper.parse('''
24 Hello Xtext!
25 ''')
26 Assert.assertNotNull(result)
27 Assert.assertTrue(result.eResource.errors.isEmpty)
28 }
29}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/.VampireLanguageParsingTest.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/.VampireLanguageParsingTest.xtendbin
new file mode 100644
index 00000000..dc0af0a6
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/.VampireLanguageParsingTest.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/.gitignore
new file mode 100644
index 00000000..032d1dcf
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/.gitignore
@@ -0,0 +1 @@
/.VampireLanguageParsingTest.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageParsingTest.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageParsingTest.java
new file mode 100644
index 00000000..3bce3488
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.tests/xtend-gen/ca/mcgill/ecse/dslreasoner/tests/VampireLanguageParsingTest.java
@@ -0,0 +1,38 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.tests;
5
6import ca.mcgill.ecse.dslreasoner.tests.VampireLanguageInjectorProvider;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel;
8import com.google.inject.Inject;
9import org.eclipse.xtend2.lib.StringConcatenation;
10import org.eclipse.xtext.testing.InjectWith;
11import org.eclipse.xtext.testing.XtextRunner;
12import org.eclipse.xtext.testing.util.ParseHelper;
13import org.eclipse.xtext.xbase.lib.Exceptions;
14import org.junit.Assert;
15import org.junit.Test;
16import org.junit.runner.RunWith;
17
18@RunWith(XtextRunner.class)
19@InjectWith(VampireLanguageInjectorProvider.class)
20@SuppressWarnings("all")
21public class VampireLanguageParsingTest {
22 @Inject
23 private ParseHelper<VampireModel> parseHelper;
24
25 @Test
26 public void loadModel() {
27 try {
28 StringConcatenation _builder = new StringConcatenation();
29 _builder.append("Hello Xtext!");
30 _builder.newLine();
31 final VampireModel result = this.parseHelper.parse(_builder);
32 Assert.assertNotNull(result);
33 Assert.assertTrue(result.eResource().getErrors().isEmpty());
34 } catch (Throwable _e) {
35 throw Exceptions.sneakyThrow(_e);
36 }
37 }
38}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.classpath b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.classpath
new file mode 100644
index 00000000..1287f96c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="src" path="src-gen"/>
5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.gitignore
@@ -0,0 +1 @@
/bin/
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.project b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.project
new file mode 100644
index 00000000..f0c7fbed
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.pde.PluginNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.settings/org.eclipse.core.resources.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.settings/org.eclipse.jdt.core.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/META-INF/MANIFEST.MF b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..8bfed6bc
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests
4Bundle-Vendor: My Company
5Bundle-Version: 1.0.0.qualifier
6Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests; singleton:=true
7Bundle-ActivationPolicy: lazy
8Require-Bundle: ca.mcgill.ecse.dslreasoner.vampire.language.ui,
9 org.junit;bundle-version="4.12.0",
10 org.eclipse.xtext.testing,
11 org.eclipse.xtext.xbase.testing,
12 org.eclipse.xtext.junit4,
13 org.eclipse.xtext.xbase.junit,
14 org.eclipse.core.runtime,
15 org.eclipse.ui.workbench;resolution:=optional
16Bundle-RequiredExecutionEnvironment: JavaSE-1.8
17Export-Package: ca.mcgill.ecse.dslreasoner.ui.tests;x-internal=true
18Import-Package: org.hamcrest.core,
19 org.junit;version="4.5.0",
20 org.junit.runners.model;version="4.5.0",
21 org.junit.runner;version="4.5.0",
22 org.junit.runners;version="4.5.0",
23 org.junit.runner.manipulation;version="4.5.0",
24 org.junit.runner.notification;version="4.5.0"
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/build.properties b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/build.properties
new file mode 100644
index 00000000..4c654e9b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/build.properties
@@ -0,0 +1,6 @@
1source.. = src/,\
2 src-gen/,\
3 xtend-gen/
4bin.includes = .,\
5 META-INF/
6bin.excludes = **/*.xtend
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/src-gen/ca/mcgill/ecse/dslreasoner/ui/tests/VampireLanguageUiInjectorProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/src-gen/ca/mcgill/ecse/dslreasoner/ui/tests/VampireLanguageUiInjectorProvider.java
new file mode 100644
index 00000000..68417ee9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests/src-gen/ca/mcgill/ecse/dslreasoner/ui/tests/VampireLanguageUiInjectorProvider.java
@@ -0,0 +1,17 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.tests;
5
6import ca.mcgill.ecse.dslreasoner.vampire.language.ui.internal.LanguageActivator;
7import com.google.inject.Injector;
8import org.eclipse.xtext.testing.IInjectorProvider;
9
10public class VampireLanguageUiInjectorProvider implements IInjectorProvider {
11
12 @Override
13 public Injector getInjector() {
14 return LanguageActivator.getInstance().getInjector("ca.mcgill.ecse.dslreasoner.VampireLanguage");
15 }
16
17}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.classpath b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.classpath
new file mode 100644
index 00000000..1287f96c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="src" path="src-gen"/>
5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.gitignore
@@ -0,0 +1 @@
/bin/
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.project b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.project
new file mode 100644
index 00000000..51d15832
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>ca.mcgill.ecse.dslreasoner.vampire.language.ui</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.pde.PluginNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.settings/org.eclipse.core.resources.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.settings/org.eclipse.jdt.core.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/META-INF/MANIFEST.MF b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..baaefd41
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: ca.mcgill.ecse.dslreasoner.vampire.language.ui
4Bundle-Vendor: My Company
5Bundle-Version: 1.0.0.qualifier
6Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.vampire.language.ui; singleton:=true
7Bundle-ActivationPolicy: lazy
8Require-Bundle: ca.mcgill.ecse.dslreasoner.vampire.language,
9 ca.mcgill.ecse.dslreasoner.vampire.language.ide,
10 org.eclipse.xtext.ui,
11 org.eclipse.xtext.ui.shared,
12 org.eclipse.xtext.ui.codetemplates.ui,
13 org.eclipse.ui.editors;bundle-version="3.5.0",
14 org.eclipse.ui.ide;bundle-version="3.5.0",
15 org.eclipse.ui,
16 org.eclipse.compare,
17 org.eclipse.xtext.builder,
18 org.eclipse.xtend.lib;resolution:=optional,
19 org.eclipse.xtext.xbase.lib
20Import-Package: org.apache.log4j
21Bundle-RequiredExecutionEnvironment: JavaSE-1.8
22Export-Package: ca.mcgill.ecse.dslreasoner.ui.contentassist,
23 ca.mcgill.ecse.dslreasoner.vampire.language.ui.internal,
24 ca.mcgill.ecse.dslreasoner.ui.quickfix
25Bundle-Activator: ca.mcgill.ecse.dslreasoner.vampire.language.ui.internal.LanguageActivator
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/build.properties b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/build.properties
new file mode 100644
index 00000000..4b1fa503
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/build.properties
@@ -0,0 +1,7 @@
1source.. = src/,\
2 src-gen/,\
3 xtend-gen/
4bin.includes = .,\
5 META-INF/,\
6 plugin.xml
7bin.excludes = **/*.xtend
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/plugin.xml b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/plugin.xml
new file mode 100644
index 00000000..b15ba9ff
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/plugin.xml
@@ -0,0 +1,410 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3<plugin>
4 <extension
5 point="org.eclipse.ui.editors">
6 <editor
7 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
8 contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
9 default="true"
10 extensions="tptp"
11 id="ca.mcgill.ecse.dslreasoner.VampireLanguage"
12 name="VampireLanguage Editor">
13 </editor>
14 </extension>
15 <extension
16 point="org.eclipse.ui.handlers">
17 <handler
18 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
19 commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
20 <activeWhen>
21 <reference
22 definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened">
23 </reference>
24 </activeWhen>
25 </handler>
26 <handler
27 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
28 commandId="ca.mcgill.ecse.dslreasoner.VampireLanguage.validate">
29 <activeWhen>
30 <reference
31 definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened">
32 </reference>
33 </activeWhen>
34 </handler>
35 <!-- copy qualified name -->
36 <handler
37 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
38 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
39 <activeWhen>
40 <reference definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened" />
41 </activeWhen>
42 </handler>
43 <handler
44 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
45 commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
46 <activeWhen>
47 <and>
48 <reference definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.XtextEditor.opened" />
49 <iterate>
50 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
51 </iterate>
52 </and>
53 </activeWhen>
54 </handler>
55 </extension>
56 <extension point="org.eclipse.core.expressions.definitions">
57 <definition id="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened">
58 <and>
59 <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
60 <with variable="activeEditor">
61 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
62 value="ca.mcgill.ecse.dslreasoner.VampireLanguage"
63 forcePluginActivation="true"/>
64 </with>
65 </and>
66 </definition>
67 <definition id="ca.mcgill.ecse.dslreasoner.VampireLanguage.XtextEditor.opened">
68 <and>
69 <reference definitionId="isXtextEditorActive"/>
70 <with variable="activeEditor">
71 <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
72 value="ca.mcgill.ecse.dslreasoner.VampireLanguage"
73 forcePluginActivation="true"/>
74 </with>
75 </and>
76 </definition>
77 </extension>
78 <extension
79 point="org.eclipse.ui.preferencePages">
80 <page
81 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
82 id="ca.mcgill.ecse.dslreasoner.VampireLanguage"
83 name="VampireLanguage">
84 <keywordReference id="ca.mcgill.ecse.dslreasoner.ui.keyword_VampireLanguage"/>
85 </page>
86 <page
87 category="ca.mcgill.ecse.dslreasoner.VampireLanguage"
88 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
89 id="ca.mcgill.ecse.dslreasoner.VampireLanguage.coloring"
90 name="Syntax Coloring">
91 <keywordReference id="ca.mcgill.ecse.dslreasoner.ui.keyword_VampireLanguage"/>
92 </page>
93 <page
94 category="ca.mcgill.ecse.dslreasoner.VampireLanguage"
95 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
96 id="ca.mcgill.ecse.dslreasoner.VampireLanguage.templates"
97 name="Templates">
98 <keywordReference id="ca.mcgill.ecse.dslreasoner.ui.keyword_VampireLanguage"/>
99 </page>
100 </extension>
101 <extension
102 point="org.eclipse.ui.propertyPages">
103 <page
104 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
105 id="ca.mcgill.ecse.dslreasoner.VampireLanguage"
106 name="VampireLanguage">
107 <keywordReference id="ca.mcgill.ecse.dslreasoner.ui.keyword_VampireLanguage"/>
108 <enabledWhen>
109 <adapt type="org.eclipse.core.resources.IProject"/>
110 </enabledWhen>
111 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
112 </page>
113 </extension>
114 <extension
115 point="org.eclipse.ui.keywords">
116 <keyword
117 id="ca.mcgill.ecse.dslreasoner.ui.keyword_VampireLanguage"
118 label="VampireLanguage"/>
119 </extension>
120 <extension
121 point="org.eclipse.ui.commands">
122 <command
123 description="Trigger expensive validation"
124 id="ca.mcgill.ecse.dslreasoner.VampireLanguage.validate"
125 name="Validate">
126 </command>
127 <!-- copy qualified name -->
128 <command
129 id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
130 categoryId="org.eclipse.ui.category.edit"
131 description="Copy the qualified name for the selected element"
132 name="Copy Qualified Name">
133 </command>
134 <command
135 id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
136 categoryId="org.eclipse.ui.category.edit"
137 description="Copy the qualified name for the selected element"
138 name="Copy Qualified Name">
139 </command>
140 </extension>
141 <extension point="org.eclipse.ui.menus">
142 <menuContribution
143 locationURI="popup:#TextEditorContext?after=group.edit">
144 <command
145 commandId="ca.mcgill.ecse.dslreasoner.VampireLanguage.validate"
146 style="push"
147 tooltip="Trigger expensive validation">
148 <visibleWhen checkEnabled="false">
149 <reference
150 definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened">
151 </reference>
152 </visibleWhen>
153 </command>
154 </menuContribution>
155 <!-- copy qualified name -->
156 <menuContribution locationURI="popup:#TextEditorContext?after=copy">
157 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
158 style="push" tooltip="Copy Qualified Name">
159 <visibleWhen checkEnabled="false">
160 <reference definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened" />
161 </visibleWhen>
162 </command>
163 </menuContribution>
164 <menuContribution locationURI="menu:edit?after=copy">
165 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
166 style="push" tooltip="Copy Qualified Name">
167 <visibleWhen checkEnabled="false">
168 <reference definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened" />
169 </visibleWhen>
170 </command>
171 </menuContribution>
172 <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
173 <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
174 style="push" tooltip="Copy Qualified Name">
175 <visibleWhen checkEnabled="false">
176 <and>
177 <reference definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.XtextEditor.opened" />
178 <iterate>
179 <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
180 </iterate>
181 </and>
182 </visibleWhen>
183 </command>
184 </menuContribution>
185 </extension>
186 <extension point="org.eclipse.ui.menus">
187 <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
188 <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
189 <visibleWhen checkEnabled="false">
190 <reference definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened">
191 </reference>
192 </visibleWhen>
193 </command>
194 </menuContribution>
195 </extension>
196 <extension point="org.eclipse.ui.handlers">
197 <handler
198 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
199 commandId="org.eclipse.xtext.ui.editor.FindReferences">
200 <activeWhen>
201 <reference
202 definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened">
203 </reference>
204 </activeWhen>
205 </handler>
206 </extension>
207 <!-- adding resource factories -->
208 <extension
209 point="org.eclipse.emf.ecore.extension_parser">
210 <parser
211 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
212 type="tptp">
213 </parser>
214 </extension>
215 <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
216 <resourceServiceProvider
217 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
218 uriExtension="tptp">
219 </resourceServiceProvider>
220 </extension>
221 <!-- marker definitions for ca.mcgill.ecse.dslreasoner.VampireLanguage -->
222 <extension
223 id="vampirelanguage.check.fast"
224 name="VampireLanguage Problem"
225 point="org.eclipse.core.resources.markers">
226 <super type="org.eclipse.xtext.ui.check.fast"/>
227 <persistent value="true"/>
228 </extension>
229 <extension
230 id="vampirelanguage.check.normal"
231 name="VampireLanguage Problem"
232 point="org.eclipse.core.resources.markers">
233 <super type="org.eclipse.xtext.ui.check.normal"/>
234 <persistent value="true"/>
235 </extension>
236 <extension
237 id="vampirelanguage.check.expensive"
238 name="VampireLanguage Problem"
239 point="org.eclipse.core.resources.markers">
240 <super type="org.eclipse.xtext.ui.check.expensive"/>
241 <persistent value="true"/>
242 </extension>
243 <extension point="org.eclipse.xtext.builder.participant">
244 <participant
245 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
246 fileExtensions="tptp"/>
247 </extension>
248 <extension point="org.eclipse.ui.preferencePages">
249 <page
250 category="ca.mcgill.ecse.dslreasoner.VampireLanguage"
251 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
252 id="ca.mcgill.ecse.dslreasoner.VampireLanguage.compiler.preferencePage"
253 name="Compiler">
254 <keywordReference id="ca.mcgill.ecse.dslreasoner.ui.keyword_VampireLanguage"/>
255 </page>
256 </extension>
257 <extension point="org.eclipse.ui.propertyPages">
258 <page
259 category="ca.mcgill.ecse.dslreasoner.VampireLanguage"
260 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
261 id="ca.mcgill.ecse.dslreasoner.VampireLanguage.compiler.propertyPage"
262 name="Compiler">
263 <keywordReference id="ca.mcgill.ecse.dslreasoner.ui.keyword_VampireLanguage"/>
264 <enabledWhen>
265 <adapt type="org.eclipse.core.resources.IProject"/>
266 </enabledWhen>
267 <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
268 </page>
269 </extension>
270 <extension point="org.eclipse.ui.menus">
271 <menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
272 <command
273 commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
274 id="ca.mcgill.ecse.dslreasoner.VampireLanguage.OpenGeneratedCode"
275 style="push">
276 <visibleWhen checkEnabled="false">
277 <reference definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened" />
278 </visibleWhen>
279 </command>
280 </menuContribution>
281 </extension>
282 <extension point="org.eclipse.ui.handlers">
283 <handler
284 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
285 commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
286 <activeWhen>
287 <reference definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened" />
288 </activeWhen>
289 </handler>
290 </extension>
291 <!-- Quick Outline -->
292 <extension
293 point="org.eclipse.ui.handlers">
294 <handler
295 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
296 commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
297 <activeWhen>
298 <reference
299 definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened">
300 </reference>
301 </activeWhen>
302 </handler>
303 </extension>
304 <extension
305 point="org.eclipse.ui.commands">
306 <command
307 description="Open the quick outline."
308 id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
309 name="Quick Outline">
310 </command>
311 </extension>
312 <extension point="org.eclipse.ui.menus">
313 <menuContribution
314 locationURI="popup:#TextEditorContext?after=group.open">
315 <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
316 style="push"
317 tooltip="Open Quick Outline">
318 <visibleWhen checkEnabled="false">
319 <reference definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened"/>
320 </visibleWhen>
321 </command>
322 </menuContribution>
323 </extension>
324 <!-- quickfix marker resolution generator for ca.mcgill.ecse.dslreasoner.VampireLanguage -->
325 <extension
326 point="org.eclipse.ui.ide.markerResolution">
327 <markerResolutionGenerator
328 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
329 markerType="ca.mcgill.ecse.dslreasoner.vampire.language.ui.vampirelanguage.check.fast">
330 <attribute
331 name="FIXABLE_KEY"
332 value="true">
333 </attribute>
334 </markerResolutionGenerator>
335 <markerResolutionGenerator
336 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
337 markerType="ca.mcgill.ecse.dslreasoner.vampire.language.ui.vampirelanguage.check.normal">
338 <attribute
339 name="FIXABLE_KEY"
340 value="true">
341 </attribute>
342 </markerResolutionGenerator>
343 <markerResolutionGenerator
344 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
345 markerType="ca.mcgill.ecse.dslreasoner.vampire.language.ui.vampirelanguage.check.expensive">
346 <attribute
347 name="FIXABLE_KEY"
348 value="true">
349 </attribute>
350 </markerResolutionGenerator>
351 </extension>
352 <!-- Rename Refactoring -->
353 <extension point="org.eclipse.ui.handlers">
354 <handler
355 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
356 commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
357 <activeWhen>
358 <reference
359 definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened">
360 </reference>
361 </activeWhen>
362 </handler>
363 </extension>
364 <extension point="org.eclipse.ui.menus">
365 <menuContribution
366 locationURI="popup:#TextEditorContext?after=group.edit">
367 <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
368 style="push">
369 <visibleWhen checkEnabled="false">
370 <reference
371 definitionId="ca.mcgill.ecse.dslreasoner.VampireLanguage.Editor.opened">
372 </reference>
373 </visibleWhen>
374 </command>
375 </menuContribution>
376 </extension>
377 <extension point="org.eclipse.ui.preferencePages">
378 <page
379 category="ca.mcgill.ecse.dslreasoner.VampireLanguage"
380 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
381 id="ca.mcgill.ecse.dslreasoner.VampireLanguage.refactoring"
382 name="Refactoring">
383 <keywordReference id="ca.mcgill.ecse.dslreasoner.ui.keyword_VampireLanguage"/>
384 </page>
385 </extension>
386 <extension point="org.eclipse.compare.contentViewers">
387 <viewer id="ca.mcgill.ecse.dslreasoner.VampireLanguage.compare.contentViewers"
388 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
389 extensions="tptp">
390 </viewer>
391 </extension>
392 <extension point="org.eclipse.compare.contentMergeViewers">
393 <viewer id="ca.mcgill.ecse.dslreasoner.VampireLanguage.compare.contentMergeViewers"
394 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
395 extensions="tptp" label="VampireLanguage Compare">
396 </viewer>
397 </extension>
398 <extension point="org.eclipse.ui.editors.documentProviders">
399 <provider id="ca.mcgill.ecse.dslreasoner.VampireLanguage.editors.documentProviders"
400 class="ca.mcgill.ecse.dslreasoner.ui.VampireLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
401 extensions="tptp">
402 </provider>
403 </extension>
404 <extension point="org.eclipse.team.core.fileTypes">
405 <fileTypes
406 extension="tptp"
407 type="text">
408 </fileTypes>
409 </extension>
410</plugin>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/AbstractVampireLanguageUiModule.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/AbstractVampireLanguageUiModule.java
new file mode 100644
index 00000000..3a6cc964
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/AbstractVampireLanguageUiModule.java
@@ -0,0 +1,286 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui;
5
6import ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.PartialVampireLanguageContentAssistParser;
7import ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.VampireLanguageParser;
8import ca.mcgill.ecse.dslreasoner.ide.contentassist.antlr.internal.InternalVampireLanguageLexer;
9import ca.mcgill.ecse.dslreasoner.ui.contentassist.VampireLanguageProposalProvider;
10import ca.mcgill.ecse.dslreasoner.ui.labeling.VampireLanguageDescriptionLabelProvider;
11import ca.mcgill.ecse.dslreasoner.ui.labeling.VampireLanguageLabelProvider;
12import ca.mcgill.ecse.dslreasoner.ui.outline.VampireLanguageOutlineTreeProvider;
13import ca.mcgill.ecse.dslreasoner.ui.quickfix.VampireLanguageQuickfixProvider;
14import com.google.inject.Binder;
15import com.google.inject.Provider;
16import com.google.inject.name.Names;
17import org.eclipse.compare.IViewerCreator;
18import org.eclipse.core.resources.IWorkspaceRoot;
19import org.eclipse.core.resources.ResourcesPlugin;
20import org.eclipse.jface.viewers.ILabelProvider;
21import org.eclipse.ui.plugin.AbstractUIPlugin;
22import org.eclipse.xtext.builder.BuilderParticipant;
23import org.eclipse.xtext.builder.EclipseOutputConfigurationProvider;
24import org.eclipse.xtext.builder.IXtextBuilderParticipant;
25import org.eclipse.xtext.builder.builderState.IBuilderState;
26import org.eclipse.xtext.builder.clustering.CurrentDescriptions;
27import org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource;
28import org.eclipse.xtext.builder.nature.NatureAddingEditorCallback;
29import org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess;
30import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider;
31import org.eclipse.xtext.ide.LexerIdeBindings;
32import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
33import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
34import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser;
35import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
36import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
37import org.eclipse.xtext.parser.antlr.LexerProvider;
38import org.eclipse.xtext.resource.IResourceDescriptions;
39import org.eclipse.xtext.resource.containers.IAllContainersState;
40import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
41import org.eclipse.xtext.service.SingletonBinding;
42import org.eclipse.xtext.ui.DefaultUiModule;
43import org.eclipse.xtext.ui.UIBindings;
44import org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator;
45import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialEditingContentAssistContextFactory;
46import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.PartialEditingContentAssistContextFactory;
47import org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage;
48import org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration;
49import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar;
50import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry;
51import org.eclipse.xtext.ui.compare.DefaultViewerCreator;
52import org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource;
53import org.eclipse.xtext.ui.editor.IXtextEditorCallback;
54import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
55import org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher;
56import org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider;
57import org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper;
58import org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher;
59import org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper;
60import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory;
61import org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider;
62import org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider;
63import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer;
64import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider;
65import org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage;
66import org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator;
67import org.eclipse.xtext.ui.refactoring.IReferenceUpdater;
68import org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider;
69import org.eclipse.xtext.ui.refactoring.IRenameStrategy;
70import org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator;
71import org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater;
72import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider;
73import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy;
74import org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport;
75import org.eclipse.xtext.ui.refactoring.ui.IRenameSupport;
76import org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences;
77import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider;
78import org.eclipse.xtext.ui.shared.Access;
79
80/**
81 * Manual modifications go to {@link VampireLanguageUiModule}.
82 */
83@SuppressWarnings("all")
84public abstract class AbstractVampireLanguageUiModule extends DefaultUiModule {
85
86 public AbstractVampireLanguageUiModule(AbstractUIPlugin plugin) {
87 super(plugin);
88 }
89
90 // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment
91 public Provider<? extends IAllContainersState> provideIAllContainersState() {
92 return Access.getJavaProjectsState();
93 }
94
95 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
96 public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() {
97 return AntlrProposalConflictHelper.class;
98 }
99
100 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
101 public void configureContentAssistLexer(Binder binder) {
102 binder.bind(Lexer.class)
103 .annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
104 .to(InternalVampireLanguageLexer.class);
105 }
106
107 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
108 public void configureHighlightingLexer(Binder binder) {
109 binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class)
110 .annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
111 .to(ca.mcgill.ecse.dslreasoner.parser.antlr.internal.InternalVampireLanguageLexer.class);
112 }
113
114 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
115 public void configureHighlightingTokenDefProvider(Binder binder) {
116 binder.bind(ITokenDefProvider.class)
117 .annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
118 .to(AntlrTokenDefProvider.class);
119 }
120
121 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
122 public Class<? extends ContentAssistContext.Factory> bindContentAssistContext$Factory() {
123 return DelegatingContentAssistContextFactory.class;
124 }
125
126 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
127 public Class<? extends IContentAssistParser> bindIContentAssistParser() {
128 return VampireLanguageParser.class;
129 }
130
131 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
132 public void configureContentAssistLexerProvider(Binder binder) {
133 binder.bind(InternalVampireLanguageLexer.class).toProvider(LexerProvider.create(InternalVampireLanguageLexer.class));
134 }
135
136 // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
137 public Class<? extends PrefixMatcher> bindPrefixMatcher() {
138 return FQNPrefixMatcher.class;
139 }
140
141 // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
142 public Class<? extends IDependentElementsCalculator> bindIDependentElementsCalculator() {
143 return DefaultDependentElementsCalculator.class;
144 }
145
146 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
147 public void configureIResourceDescriptionsBuilderScope(Binder binder) {
148 binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class);
149 }
150
151 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
152 public Class<? extends IXtextEditorCallback> bindIXtextEditorCallback() {
153 return NatureAddingEditorCallback.class;
154 }
155
156 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
157 public Class<? extends IContextualOutputConfigurationProvider> bindIContextualOutputConfigurationProvider() {
158 return EclipseOutputConfigurationProvider.class;
159 }
160
161 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
162 public void configureIResourceDescriptionsPersisted(Binder binder) {
163 binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(IBuilderState.class);
164 }
165
166 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
167 public Class<? extends DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() {
168 return PersistentDataAwareDirtyResource.class;
169 }
170
171 // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
172 public Class<? extends IXtextBuilderParticipant> bindIXtextBuilderParticipant() {
173 return BuilderParticipant.class;
174 }
175
176 // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
177 public IWorkspaceRoot bindIWorkspaceRootToInstance() {
178 return ResourcesPlugin.getWorkspace().getRoot();
179 }
180
181 // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
182 public void configureBuilderPreferenceStoreInitializer(Binder binder) {
183 binder.bind(IPreferenceStoreInitializer.class)
184 .annotatedWith(Names.named("builderPreferenceInitializer"))
185 .to(BuilderPreferenceAccess.Initializer.class);
186 }
187
188 // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
189 public Class<? extends ILabelProvider> bindILabelProvider() {
190 return VampireLanguageLabelProvider.class;
191 }
192
193 // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
194 public void configureResourceUIServiceLabelProvider(Binder binder) {
195 binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(VampireLanguageDescriptionLabelProvider.class);
196 }
197
198 // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
199 public Class<? extends IOutlineTreeProvider> bindIOutlineTreeProvider() {
200 return VampireLanguageOutlineTreeProvider.class;
201 }
202
203 // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
204 public Class<? extends IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
205 return VampireLanguageOutlineTreeProvider.class;
206 }
207
208 // contributed by org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2
209 public Class<? extends IssueResolutionProvider> bindIssueResolutionProvider() {
210 return VampireLanguageQuickfixProvider.class;
211 }
212
213 // contributed by org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2
214 public Class<? extends IContentProposalProvider> bindIContentProposalProvider() {
215 return VampireLanguageProposalProvider.class;
216 }
217
218 // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
219 public Class<? extends IRenameStrategy> bindIRenameStrategy() {
220 return DefaultRenameStrategy.class;
221 }
222
223 // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
224 public Class<? extends IReferenceUpdater> bindIReferenceUpdater() {
225 return DefaultReferenceUpdater.class;
226 }
227
228 // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
229 public void configureIPreferenceStoreInitializer(Binder binder) {
230 binder.bind(IPreferenceStoreInitializer.class)
231 .annotatedWith(Names.named("RefactoringPreferences"))
232 .to(RefactoringPreferences.Initializer.class);
233 }
234
235 // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
236 public Class<? extends IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
237 return DefaultRenameRefactoringProvider.class;
238 }
239
240 // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
241 public Class<? extends IRenameSupport.Factory> bindIRenameSupport$Factory() {
242 return DefaultRenameSupport.Factory.class;
243 }
244
245 // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
246 public Provider<? extends TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
247 return AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
248 }
249
250 // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
251 public Provider<? extends LanguageRegistry> provideLanguageRegistry() {
252 return AccessibleCodetemplatesActivator.getLanguageRegistry();
253 }
254
255 // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
256 @SingletonBinding(eager=true)
257 public Class<? extends LanguageRegistrar> bindLanguageRegistrar() {
258 return LanguageRegistrar.class;
259 }
260
261 // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
262 public Class<? extends XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
263 return AdvancedTemplatesPreferencePage.class;
264 }
265
266 // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
267 public Class<? extends IPartialEditingContentAssistParser> bindIPartialEditingContentAssistParser() {
268 return PartialVampireLanguageContentAssistParser.class;
269 }
270
271 // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
272 public Class<? extends IPartialEditingContentAssistContextFactory> bindIPartialEditingContentAssistContextFactory() {
273 return PartialEditingContentAssistContextFactory.class;
274 }
275
276 // contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2
277 public Class<? extends IViewerCreator> bindIViewerCreator() {
278 return DefaultViewerCreator.class;
279 }
280
281 // contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2
282 public void configureCompareViewerTitle(Binder binder) {
283 binder.bind(String.class).annotatedWith(Names.named(UIBindings.COMPARE_VIEWER_TITLE)).toInstance("VampireLanguage Compare");
284 }
285
286}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageExecutableExtensionFactory.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageExecutableExtensionFactory.java
new file mode 100644
index 00000000..18440e58
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageExecutableExtensionFactory.java
@@ -0,0 +1,27 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui;
5
6import ca.mcgill.ecse.dslreasoner.vampire.language.ui.internal.LanguageActivator;
7import com.google.inject.Injector;
8import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
9import org.osgi.framework.Bundle;
10
11/**
12 * This class was generated. Customizations should only happen in a newly
13 * introduced subclass.
14 */
15public class VampireLanguageExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
16
17 @Override
18 protected Bundle getBundle() {
19 return LanguageActivator.getInstance().getBundle();
20 }
21
22 @Override
23 protected Injector getInjector() {
24 return LanguageActivator.getInstance().getInjector(LanguageActivator.CA_MCGILL_ECSE_DSLREASONER_VAMPIRELANGUAGE);
25 }
26
27}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/AbstractVampireLanguageProposalProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/AbstractVampireLanguageProposalProvider.java
new file mode 100644
index 00000000..23e813f5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/AbstractVampireLanguageProposalProvider.java
@@ -0,0 +1,289 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.contentassist;
5
6import org.eclipse.emf.ecore.EObject;
7import org.eclipse.xtext.Alternatives;
8import org.eclipse.xtext.Assignment;
9import org.eclipse.xtext.RuleCall;
10import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
11import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
12import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
13
14/**
15 * Represents a generated, default implementation of superclass {@link TerminalsProposalProvider}.
16 * Methods are dynamically dispatched on the first parameter, i.e., you can override them
17 * with a more concrete subtype.
18 */
19public abstract class AbstractVampireLanguageProposalProvider extends TerminalsProposalProvider {
20
21 public void completeVampireModel_Includes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
22 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
23 }
24 public void completeVampireModel_Comments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
25 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
26 }
27 public void completeVampireModel_Formulas(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
28 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
29 }
30 public void completeVLSInclude_FileName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
31 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
32 }
33 public void completeVLSInclude_Names(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
34 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
35 }
36 public void completeVLSName_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
37 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
38 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
39 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(2)), context, acceptor);
40 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(3)), context, acceptor);
41 }
42 public void completeVLSComment_Comment(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
43 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
44 }
45 public void completeVLSFofFormula_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
46 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
47 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
48 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(2)), context, acceptor);
49 }
50 public void completeVLSFofFormula_FofRole(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
51 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
52 }
53 public void completeVLSFofFormula_FofFormula(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
54 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
55 }
56 public void completeVLSFofFormula_Annotations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
57 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
58 }
59 public void completeVLSAnnotation_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
60 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
61 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
62 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(2)), context, acceptor);
63 }
64 public void completeVLSAnnotation_Followup(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
65 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
66 }
67 public void completeVLSAnnotationTerms_Terms(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
68 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
69 }
70 public void completeVLSBinary_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
71 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
72 }
73 public void completeVLSUniversalQuantifier_Variables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
74 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
75 }
76 public void completeVLSUniversalQuantifier_Operand(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
77 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
78 }
79 public void completeVLSExistentialQuantifier_Variables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
80 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
81 }
82 public void completeVLSExistentialQuantifier_Operand(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
83 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
84 }
85 public void completeVLSUnaryNegation_Operand(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
86 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
87 }
88 public void completeVLSUnaryInfix_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
89 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
90 }
91 public void completeVLSAtomicConstant_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
92 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
93 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
94 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(2)), context, acceptor);
95 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(3)), context, acceptor);
96 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(4)), context, acceptor);
97 }
98 public void completeVLSAtomicFunction_Constant(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
99 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
100 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
101 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(2)), context, acceptor);
102 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(3)), context, acceptor);
103 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(4)), context, acceptor);
104 }
105 public void completeVLSAtomicFunction_Terms(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
106 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
107 }
108 public void completeVLSAtomicFunction_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
109 // subclasses may override
110 }
111 public void completeVLSVariable_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
112 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
113 }
114 public void completeVLSFunctionFof_Functor(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
115 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
116 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
117 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(2)), context, acceptor);
118 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(3)), context, acceptor);
119 }
120 public void completeVLSFunctionFof_Terms(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
121 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
122 }
123 public void completeVLSDefinedTerm_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
124 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
125 }
126
127 public void complete_VampireModel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
128 // subclasses may override
129 }
130 public void complete_ALPHA_NUMERIC(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
131 // subclasses may override
132 }
133 public void complete_UPPER_WORD_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
134 // subclasses may override
135 }
136 public void complete_LOWER_WORD_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
137 // subclasses may override
138 }
139 public void complete_DOUBLE_QUOTE(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
140 // subclasses may override
141 }
142 public void complete_SINGLE_QUOTE(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
143 // subclasses may override
144 }
145 public void complete_SIGN(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
146 // subclasses may override
147 }
148 public void complete_DOLLAR_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
149 // subclasses may override
150 }
151 public void complete_DOUBLE_DOLLAR_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
152 // subclasses may override
153 }
154 public void complete_LITERAL(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
155 // subclasses may override
156 }
157 public void complete_SIGNED_LITERAL(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
158 // subclasses may override
159 }
160 public void complete_UNSIGNED_REAL_FRAC_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
161 // subclasses may override
162 }
163 public void complete_UNSIGNED_REAL_EXP_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
164 // subclasses may override
165 }
166 public void complete_SIGNED_REAL_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
167 // subclasses may override
168 }
169 public void complete_UNSIGNED_RAT_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
170 // subclasses may override
171 }
172 public void complete_SIGNED_RAT_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
173 // subclasses may override
174 }
175 public void complete_ANY_OTHER(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
176 // subclasses may override
177 }
178 public void complete_SINGLE_COMMENT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
179 // subclasses may override
180 }
181 public void complete_VLSInclude(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
182 // subclasses may override
183 }
184 public void complete_VLSName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
185 // subclasses may override
186 }
187 public void complete_VLSComment(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
188 // subclasses may override
189 }
190 public void complete_VLSFofFormula(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
191 // subclasses may override
192 }
193 public void complete_VLSRole(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
194 // subclasses may override
195 }
196 public void complete_VLSAxiom(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
197 // subclasses may override
198 }
199 public void complete_VLSConjecture(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
200 // subclasses may override
201 }
202 public void complete_VLSHypothesis(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
203 // subclasses may override
204 }
205 public void complete_VLSDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
206 // subclasses may override
207 }
208 public void complete_VLSAssumption(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
209 // subclasses may override
210 }
211 public void complete_VLSLemma(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
212 // subclasses may override
213 }
214 public void complete_VLSTheorem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
215 // subclasses may override
216 }
217 public void complete_VLSCorollary(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
218 // subclasses may override
219 }
220 public void complete_VLSNegated_Conjecture(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
221 // subclasses may override
222 }
223 public void complete_VLSPlain(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
224 // subclasses may override
225 }
226 public void complete_VLSType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
227 // subclasses may override
228 }
229 public void complete_VLSFi_Domain(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
230 // subclasses may override
231 }
232 public void complete_VLSFi_Functors(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
233 // subclasses may override
234 }
235 public void complete_VLSFi_Predicates(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
236 // subclasses may override
237 }
238 public void complete_VLSUnknown(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
239 // subclasses may override
240 }
241 public void complete_VLSAnnotation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
242 // subclasses may override
243 }
244 public void complete_VLSAnnotationTerms(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
245 // subclasses may override
246 }
247 public void complete_VLSTerm(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
248 // subclasses may override
249 }
250 public void complete_VLSBinary(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
251 // subclasses may override
252 }
253 public void complete_VLSUnitaryFormula(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
254 // subclasses may override
255 }
256 public void complete_VLSUniversalQuantifier(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
257 // subclasses may override
258 }
259 public void complete_VLSExistentialQuantifier(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
260 // subclasses may override
261 }
262 public void complete_VLSUnaryNegation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
263 // subclasses may override
264 }
265 public void complete_VLSUnaryInfix(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
266 // subclasses may override
267 }
268 public void complete_VLSAtomic(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
269 // subclasses may override
270 }
271 public void complete_VLSAtomicConstant(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
272 // subclasses may override
273 }
274 public void complete_VLSAtomicFunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
275 // subclasses may override
276 }
277 public void complete_VLSVariable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
278 // subclasses may override
279 }
280 public void complete_VLSFofTerm(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
281 // subclasses may override
282 }
283 public void complete_VLSFunctionFof(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
284 // subclasses may override
285 }
286 public void complete_VLSDefinedTerm(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
287 // subclasses may override
288 }
289}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui/internal/LanguageActivator.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui/internal/LanguageActivator.java
new file mode 100644
index 00000000..eca3aa7f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/vampire/language/ui/internal/LanguageActivator.java
@@ -0,0 +1,93 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.language.ui.internal;
5
6import ca.mcgill.ecse.dslreasoner.VampireLanguageRuntimeModule;
7import ca.mcgill.ecse.dslreasoner.ui.VampireLanguageUiModule;
8import com.google.common.collect.Maps;
9import com.google.inject.Guice;
10import com.google.inject.Injector;
11import com.google.inject.Module;
12import java.util.Collections;
13import java.util.Map;
14import org.apache.log4j.Logger;
15import org.eclipse.ui.plugin.AbstractUIPlugin;
16import org.eclipse.xtext.ui.shared.SharedStateModule;
17import org.eclipse.xtext.util.Modules2;
18import org.osgi.framework.BundleContext;
19
20/**
21 * This class was generated. Customizations should only happen in a newly
22 * introduced subclass.
23 */
24public class LanguageActivator extends AbstractUIPlugin {
25
26 public static final String CA_MCGILL_ECSE_DSLREASONER_VAMPIRELANGUAGE = "ca.mcgill.ecse.dslreasoner.VampireLanguage";
27
28 private static final Logger logger = Logger.getLogger(LanguageActivator.class);
29
30 private static LanguageActivator INSTANCE;
31
32 private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1));
33
34 @Override
35 public void start(BundleContext context) throws Exception {
36 super.start(context);
37 INSTANCE = this;
38 }
39
40 @Override
41 public void stop(BundleContext context) throws Exception {
42 injectors.clear();
43 INSTANCE = null;
44 super.stop(context);
45 }
46
47 public static LanguageActivator getInstance() {
48 return INSTANCE;
49 }
50
51 public Injector getInjector(String language) {
52 synchronized (injectors) {
53 Injector injector = injectors.get(language);
54 if (injector == null) {
55 injectors.put(language, injector = createInjector(language));
56 }
57 return injector;
58 }
59 }
60
61 protected Injector createInjector(String language) {
62 try {
63 Module runtimeModule = getRuntimeModule(language);
64 Module sharedStateModule = getSharedStateModule();
65 Module uiModule = getUiModule(language);
66 Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
67 return Guice.createInjector(mergedModule);
68 } catch (Exception e) {
69 logger.error("Failed to create injector for " + language);
70 logger.error(e.getMessage(), e);
71 throw new RuntimeException("Failed to create injector for " + language, e);
72 }
73 }
74
75 protected Module getRuntimeModule(String grammar) {
76 if (CA_MCGILL_ECSE_DSLREASONER_VAMPIRELANGUAGE.equals(grammar)) {
77 return new VampireLanguageRuntimeModule();
78 }
79 throw new IllegalArgumentException(grammar);
80 }
81
82 protected Module getUiModule(String grammar) {
83 if (CA_MCGILL_ECSE_DSLREASONER_VAMPIRELANGUAGE.equals(grammar)) {
84 return new VampireLanguageUiModule(this);
85 }
86 throw new IllegalArgumentException(grammar);
87 }
88
89 protected Module getSharedStateModule() {
90 return new SharedStateModule();
91 }
92
93}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageUiModule.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageUiModule.xtend
new file mode 100644
index 00000000..ab20cdc5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageUiModule.xtend
@@ -0,0 +1,13 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui
5
6import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
7
8/**
9 * Use this class to register components to be used within the Eclipse IDE.
10 */
11@FinalFieldsConstructor
12class VampireLanguageUiModule extends AbstractVampireLanguageUiModule {
13}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/contentassist/VampireLanguageProposalProvider.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/contentassist/VampireLanguageProposalProvider.xtend
new file mode 100644
index 00000000..e550c974
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/contentassist/VampireLanguageProposalProvider.xtend
@@ -0,0 +1,12 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.contentassist
5
6
7/**
8 * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist
9 * on how to customize the content assistant.
10 */
11class VampireLanguageProposalProvider extends AbstractVampireLanguageProposalProvider {
12}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageDescriptionLabelProvider.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageDescriptionLabelProvider.xtend
new file mode 100644
index 00000000..4e33aebc
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageDescriptionLabelProvider.xtend
@@ -0,0 +1,24 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.labeling
5
6import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider
7
8/**
9 * Provides labels for IEObjectDescriptions and IResourceDescriptions.
10 *
11 * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
12 */
13class VampireLanguageDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
14
15 // Labels and icons can be computed like this:
16
17// override text(IEObjectDescription ele) {
18// ele.name.toString
19// }
20//
21// override image(IEObjectDescription ele) {
22// ele.EClass.name + '.gif'
23// }
24}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageLabelProvider.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageLabelProvider.xtend
new file mode 100644
index 00000000..345e6bbd
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageLabelProvider.xtend
@@ -0,0 +1,31 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.labeling
5
6import com.google.inject.Inject
7import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
8import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider
9
10/**
11 * Provides labels for EObjects.
12 *
13 * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
14 */
15class VampireLanguageLabelProvider extends DefaultEObjectLabelProvider {
16
17 @Inject
18 new(AdapterFactoryLabelProvider delegate) {
19 super(delegate);
20 }
21
22 // Labels and icons can be computed like this:
23
24// def text(Greeting ele) {
25// 'A greeting to ' + ele.name
26// }
27//
28// def image(Greeting ele) {
29// 'Greeting.gif'
30// }
31}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/outline/VampireLanguageOutlineTreeProvider.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/outline/VampireLanguageOutlineTreeProvider.xtend
new file mode 100644
index 00000000..fdcf1f93
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/outline/VampireLanguageOutlineTreeProvider.xtend
@@ -0,0 +1,15 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.outline
5
6import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider
7
8/**
9 * Customization of the default outline structure.
10 *
11 * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline
12 */
13class VampireLanguageOutlineTreeProvider extends DefaultOutlineTreeProvider {
14
15}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/quickfix/VampireLanguageQuickfixProvider.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/quickfix/VampireLanguageQuickfixProvider.xtend
new file mode 100644
index 00000000..b657d972
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src/ca/mcgill/ecse/dslreasoner/ui/quickfix/VampireLanguageQuickfixProvider.xtend
@@ -0,0 +1,24 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.quickfix
5
6import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider
7
8/**
9 * Custom quickfixes.
10 *
11 * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes
12 */
13class VampireLanguageQuickfixProvider extends DefaultQuickfixProvider {
14
15// @Fix(VampireLanguageValidator.INVALID_NAME)
16// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
17// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
18// context |
19// val xtextDocument = context.xtextDocument
20// val firstLetter = xtextDocument.get(issue.offset, 1)
21// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
22// ]
23// }
24}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin
new file mode 100644
index 00000000..94310fc8
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.gitignore
new file mode 100644
index 00000000..33e14842
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.gitignore
@@ -0,0 +1 @@
/.VampireLanguageUiModule.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageUiModule.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageUiModule.java
new file mode 100644
index 00000000..96cac653
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/VampireLanguageUiModule.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui;
5
6import ca.mcgill.ecse.dslreasoner.ui.AbstractVampireLanguageUiModule;
7import org.eclipse.ui.plugin.AbstractUIPlugin;
8import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor;
9
10/**
11 * Use this class to register components to be used within the Eclipse IDE.
12 */
13@FinalFieldsConstructor
14@SuppressWarnings("all")
15public class VampireLanguageUiModule extends AbstractVampireLanguageUiModule {
16 public VampireLanguageUiModule(final AbstractUIPlugin plugin) {
17 super(plugin);
18 }
19}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin
new file mode 100644
index 00000000..8de60312
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.gitignore
new file mode 100644
index 00000000..458be65e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.gitignore
@@ -0,0 +1 @@
/.VampireLanguageProposalProvider.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/VampireLanguageProposalProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/VampireLanguageProposalProvider.java
new file mode 100644
index 00000000..ca5ef1f5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/VampireLanguageProposalProvider.java
@@ -0,0 +1,14 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.contentassist;
5
6import ca.mcgill.ecse.dslreasoner.ui.contentassist.AbstractVampireLanguageProposalProvider;
7
8/**
9 * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist
10 * on how to customize the content assistant.
11 */
12@SuppressWarnings("all")
13public class VampireLanguageProposalProvider extends AbstractVampireLanguageProposalProvider {
14}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin
new file mode 100644
index 00000000..3e1bdd46
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin
new file mode 100644
index 00000000..f1ceb7fe
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.gitignore
new file mode 100644
index 00000000..11f00543
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.gitignore
@@ -0,0 +1,2 @@
1/.VampireLanguageDescriptionLabelProvider.java._trace
2/.VampireLanguageLabelProvider.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageDescriptionLabelProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageDescriptionLabelProvider.java
new file mode 100644
index 00000000..1a6a3a2a
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageDescriptionLabelProvider.java
@@ -0,0 +1,15 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.labeling;
5
6import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
7
8/**
9 * Provides labels for IEObjectDescriptions and IResourceDescriptions.
10 *
11 * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
12 */
13@SuppressWarnings("all")
14public class VampireLanguageDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
15}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageLabelProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageLabelProvider.java
new file mode 100644
index 00000000..53f93e82
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/VampireLanguageLabelProvider.java
@@ -0,0 +1,21 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.labeling;
5
6import com.google.inject.Inject;
7import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
8import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
9
10/**
11 * Provides labels for EObjects.
12 *
13 * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
14 */
15@SuppressWarnings("all")
16public class VampireLanguageLabelProvider extends DefaultEObjectLabelProvider {
17 @Inject
18 public VampireLanguageLabelProvider(final AdapterFactoryLabelProvider delegate) {
19 super(delegate);
20 }
21}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin
new file mode 100644
index 00000000..7f62b702
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.gitignore
new file mode 100644
index 00000000..58d9dfd1
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.gitignore
@@ -0,0 +1 @@
/.VampireLanguageOutlineTreeProvider.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/VampireLanguageOutlineTreeProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/VampireLanguageOutlineTreeProvider.java
new file mode 100644
index 00000000..45cb952e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/VampireLanguageOutlineTreeProvider.java
@@ -0,0 +1,15 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.outline;
5
6import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
7
8/**
9 * Customization of the default outline structure.
10 *
11 * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline
12 */
13@SuppressWarnings("all")
14public class VampireLanguageOutlineTreeProvider extends DefaultOutlineTreeProvider {
15}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin
new file mode 100644
index 00000000..8dff8552
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.gitignore
new file mode 100644
index 00000000..93322096
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.gitignore
@@ -0,0 +1 @@
/.VampireLanguageQuickfixProvider.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/VampireLanguageQuickfixProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/VampireLanguageQuickfixProvider.java
new file mode 100644
index 00000000..8b69829c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/VampireLanguageQuickfixProvider.java
@@ -0,0 +1,15 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.ui.quickfix;
5
6import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
7
8/**
9 * Custom quickfixes.
10 *
11 * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes
12 */
13@SuppressWarnings("all")
14public class VampireLanguageQuickfixProvider extends DefaultQuickfixProvider {
15}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.classpath b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.classpath
new file mode 100644
index 00000000..1287f96c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="src"/>
4 <classpathentry kind="src" path="src-gen"/>
5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.gitignore
@@ -0,0 +1 @@
/bin/
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.launch/Generate VampireLanguage (tptp) Language Infrastructure.launch b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.launch/Generate VampireLanguage (tptp) Language Infrastructure.launch
new file mode 100644
index 00000000..1e23f694
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.launch/Generate VampireLanguage (tptp) Language Infrastructure.launch
@@ -0,0 +1,18 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
3<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
4<listEntry value="/ca.mcgill.ecse.dslreasoner.vampire.language"/>
5</listAttribute>
6<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
7<listEntry value="4"/>
8</listAttribute>
9<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
10<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
11<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
12</listAttribute>
13<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;resources&gt;&#10;&lt;item path=&quot;/ca.mcgill.ecse.dslreasoner.vampire.language&quot; type=&quot;4&quot;/&gt;&#10;&lt;item path=&quot;/ca.mcgill.ecse.dslreasoner.vampire.language.ide&quot; type=&quot;4&quot;/&gt;&#10;&lt;item path=&quot;/ca.mcgill.ecse.dslreasoner.vampire.language.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;item path=&quot;/ca.mcgill.ecse.dslreasoner.vampire.language.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item path=&quot;/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item path=&quot;/ca.mcgill.ecse.dslreasoner.vampire.language.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item path=&quot;/ca.mcgill.ecse.dslreasoner.vampire.language.ui.tests&quot; type=&quot;4&quot;/&gt;&#10;;&lt;/resources&gt;}"/>
14<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
15<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="ca.mcgill.ecse.dslreasoner.GenerateVampireLanguage"/>
16<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="ca.mcgill.ecse.dslreasoner.vampire.language"/>
17<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
18</launchConfiguration>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.launch/Launch Runtime Eclipse.launch b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.launch/Launch Runtime Eclipse.launch
new file mode 100644
index 00000000..b1771899
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.launch/Launch Runtime Eclipse.launch
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
3<booleanAttribute key="append.args" value="true"/>
4<booleanAttribute key="askclear" value="true"/>
5<booleanAttribute key="automaticAdd" value="true"/>
6<booleanAttribute key="automaticValidate" value="false"/>
7<stringAttribute key="bad_container_name" value="/ca.mcgill.ecse.dslreasoner.vampire.language/.launch/"/>
8<stringAttribute key="bootstrap" value=""/>
9<stringAttribute key="checked" value="[NONE]"/>
10<booleanAttribute key="clearConfig" value="false"/>
11<booleanAttribute key="clearws" value="false"/>
12<booleanAttribute key="clearwslog" value="false"/>
13<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Launch Runtime Eclipse"/>
14<booleanAttribute key="default" value="true"/>
15<booleanAttribute key="includeOptional" value="true"/>
16<stringAttribute key="location" value="${workspace_loc}/../runtime-EclipseXtext"/>
17<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
18<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
19<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
20</listAttribute>
21<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
22<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
23<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
24<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx512m"/>
25<stringAttribute key="pde.version" value="3.3"/>
26<stringAttribute key="product" value="org.eclipse.platform.ide"/>
27<booleanAttribute key="show_selected_only" value="false"/>
28<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
29<booleanAttribute key="tracing" value="false"/>
30<booleanAttribute key="useDefaultConfig" value="true"/>
31<booleanAttribute key="useDefaultConfigArea" value="true"/>
32<booleanAttribute key="useProduct" value="true"/>
33<booleanAttribute key="usefeatures" value="false"/>
34</launchConfiguration>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.project b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.project
new file mode 100644
index 00000000..447ae6e5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>ca.mcgill.ecse.dslreasoner.vampire.language</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.pde.PluginNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.settings/org.eclipse.core.resources.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..4824b802
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.settings/org.eclipse.jdt.core.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/META-INF/MANIFEST.MF b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..cd3d4799
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/META-INF/MANIFEST.MF
@@ -0,0 +1,29 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: ca.mcgill.ecse.dslreasoner.vampire.language
4Bundle-Vendor: My Company
5Bundle-Version: 1.0.0.qualifier
6Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.vampire.language; singleton:=true
7Bundle-ActivationPolicy: lazy
8Require-Bundle: org.eclipse.xtext,
9 org.eclipse.xtext.xbase,
10 org.eclipse.equinox.common;bundle-version="3.5.0",
11 org.eclipse.emf.ecore,
12 org.eclipse.xtext.xbase.lib,
13 org.antlr.runtime,
14 org.eclipse.xtext.util,
15 org.eclipse.xtend.lib,
16 org.eclipse.emf.common
17Bundle-RequiredExecutionEnvironment: JavaSE-1.8
18Export-Package: ca.mcgill.ecse.dslreasoner.generator,
19 ca.mcgill.ecse.dslreasoner.parser.antlr,
20 ca.mcgill.ecse.dslreasoner.services,
21 ca.mcgill.ecse.dslreasoner.parser.antlr.internal,
22 ca.mcgill.ecse.dslreasoner,
23 ca.mcgill.ecse.dslreasoner.vampireLanguage,
24 ca.mcgill.ecse.dslreasoner.vampireLanguage.impl,
25 ca.mcgill.ecse.dslreasoner.serializer,
26 ca.mcgill.ecse.dslreasoner.validation,
27 ca.mcgill.ecse.dslreasoner.vampireLanguage.util,
28 ca.mcgill.ecse.dslreasoner.scoping
29Import-Package: org.apache.log4j
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/build.properties b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/build.properties
new file mode 100644
index 00000000..aa338a94
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/build.properties
@@ -0,0 +1,20 @@
1source.. = src/,\
2 src-gen/,\
3 xtend-gen/
4bin.includes = model/generated/,\
5 .,\
6 META-INF/,\
7 plugin.xml
8bin.excludes = **/*.mwe2,\
9 **/*.xtend
10additional.bundles = org.eclipse.xtext.xbase,\
11 org.eclipse.xtext.common.types,\
12 org.eclipse.xtext.xtext.generator,\
13 org.eclipse.emf.codegen.ecore,\
14 org.eclipse.emf.mwe.utils,\
15 org.eclipse.emf.mwe2.launch,\
16 org.eclipse.emf.mwe2.lib,\
17 org.objectweb.asm,\
18 org.apache.commons.logging,\
19 org.apache.log4j,\
20 com.ibm.icu
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.ecore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.ecore
new file mode 100644
index 00000000..8c6c8233
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.ecore
@@ -0,0 +1,152 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="vampireLanguage" nsURI="http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage"
4 nsPrefix="vampireLanguage">
5 <eClassifiers xsi:type="ecore:EClass" name="VampireModel">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="includes" upperBound="-1"
7 eType="#//VLSInclude" containment="true"/>
8 <eStructuralFeatures xsi:type="ecore:EReference" name="comments" upperBound="-1"
9 eType="#//VLSComment" containment="true"/>
10 <eStructuralFeatures xsi:type="ecore:EReference" name="formulas" upperBound="-1"
11 eType="#//VLSFofFormula" containment="true"/>
12 </eClassifiers>
13 <eClassifiers xsi:type="ecore:EClass" name="VLSInclude">
14 <eStructuralFeatures xsi:type="ecore:EAttribute" name="fileName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
15 <eStructuralFeatures xsi:type="ecore:EReference" name="names" upperBound="-1"
16 eType="#//VLSName" containment="true"/>
17 </eClassifiers>
18 <eClassifiers xsi:type="ecore:EClass" name="VLSName">
19 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
20 </eClassifiers>
21 <eClassifiers xsi:type="ecore:EClass" name="VLSComment">
22 <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
23 </eClassifiers>
24 <eClassifiers xsi:type="ecore:EClass" name="VLSFofFormula">
25 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
26 <eStructuralFeatures xsi:type="ecore:EAttribute" name="fofRole" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
27 <eStructuralFeatures xsi:type="ecore:EReference" name="fofFormula" eType="#//VLSTerm"
28 containment="true"/>
29 <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" eType="#//VLSAnnotation"
30 containment="true"/>
31 </eClassifiers>
32 <eClassifiers xsi:type="ecore:EClass" name="VLSAnnotation">
33 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
34 <eStructuralFeatures xsi:type="ecore:EReference" name="followup" eType="#//VLSAnnotation"
35 containment="true"/>
36 <eStructuralFeatures xsi:type="ecore:EReference" name="terms" upperBound="-1"
37 eType="#//VLSAnnotation" containment="true"/>
38 </eClassifiers>
39 <eClassifiers xsi:type="ecore:EClass" name="VLSTerm"/>
40 <eClassifiers xsi:type="ecore:EClass" name="VLSVariable" eSuperTypes="#//VLSTerm">
41 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
42 </eClassifiers>
43 <eClassifiers xsi:type="ecore:EClass" name="VLSFunctionFof" eSuperTypes="#//VLSTerm">
44 <eStructuralFeatures xsi:type="ecore:EAttribute" name="functor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
45 <eStructuralFeatures xsi:type="ecore:EReference" name="terms" upperBound="-1"
46 eType="#//VLSTerm" containment="true"/>
47 </eClassifiers>
48 <eClassifiers xsi:type="ecore:EClass" name="VLSDefinedTerm" eSuperTypes="#//VLSTerm">
49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
50 </eClassifiers>
51 <eClassifiers xsi:type="ecore:EClass" name="VLSEquivalent" eSuperTypes="#//VLSTerm">
52 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
53 containment="true"/>
54 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
55 containment="true"/>
56 </eClassifiers>
57 <eClassifiers xsi:type="ecore:EClass" name="VLSImplies" eSuperTypes="#//VLSTerm">
58 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
59 containment="true"/>
60 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
61 containment="true"/>
62 </eClassifiers>
63 <eClassifiers xsi:type="ecore:EClass" name="VLSRevImplies" eSuperTypes="#//VLSTerm">
64 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
65 containment="true"/>
66 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
67 containment="true"/>
68 </eClassifiers>
69 <eClassifiers xsi:type="ecore:EClass" name="VLSXnor" eSuperTypes="#//VLSTerm">
70 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
71 containment="true"/>
72 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
73 containment="true"/>
74 </eClassifiers>
75 <eClassifiers xsi:type="ecore:EClass" name="VLSNor" eSuperTypes="#//VLSTerm">
76 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
77 containment="true"/>
78 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
79 containment="true"/>
80 </eClassifiers>
81 <eClassifiers xsi:type="ecore:EClass" name="VLSNand" eSuperTypes="#//VLSTerm">
82 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
83 containment="true"/>
84 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
85 containment="true"/>
86 </eClassifiers>
87 <eClassifiers xsi:type="ecore:EClass" name="VLSAnd" eSuperTypes="#//VLSTerm">
88 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
89 containment="true"/>
90 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
91 containment="true"/>
92 </eClassifiers>
93 <eClassifiers xsi:type="ecore:EClass" name="VLSOr" eSuperTypes="#//VLSTerm">
94 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
95 containment="true"/>
96 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
97 containment="true"/>
98 </eClassifiers>
99 <eClassifiers xsi:type="ecore:EClass" name="VLSUniversalQuantifier" eSuperTypes="#//VLSTerm">
100 <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1"
101 eType="#//VLSVariable" containment="true"/>
102 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//VLSTerm"
103 containment="true"/>
104 </eClassifiers>
105 <eClassifiers xsi:type="ecore:EClass" name="VLSExistentialQuantifier" eSuperTypes="#//VLSTerm">
106 <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1"
107 eType="#//VLSVariable" containment="true"/>
108 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//VLSTerm"
109 containment="true"/>
110 </eClassifiers>
111 <eClassifiers xsi:type="ecore:EClass" name="VLSUnaryNegation" eSuperTypes="#//VLSTerm">
112 <eStructuralFeatures xsi:type="ecore:EReference" name="operand" eType="#//VLSTerm"
113 containment="true"/>
114 </eClassifiers>
115 <eClassifiers xsi:type="ecore:EClass" name="VLSInequality" eSuperTypes="#//VLSTerm">
116 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
117 containment="true"/>
118 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
119 containment="true"/>
120 </eClassifiers>
121 <eClassifiers xsi:type="ecore:EClass" name="VLSEquality" eSuperTypes="#//VLSTerm">
122 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
123 containment="true"/>
124 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
125 containment="true"/>
126 </eClassifiers>
127 <eClassifiers xsi:type="ecore:EClass" name="VLSAssignment" eSuperTypes="#//VLSTerm">
128 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//VLSTerm"
129 containment="true"/>
130 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//VLSTerm"
131 containment="true"/>
132 </eClassifiers>
133 <eClassifiers xsi:type="ecore:EClass" name="VLSConstant" eSuperTypes="#//VLSTerm">
134 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
135 </eClassifiers>
136 <eClassifiers xsi:type="ecore:EClass" name="VLSTrue" eSuperTypes="#//VLSTerm"/>
137 <eClassifiers xsi:type="ecore:EClass" name="VLSFalse" eSuperTypes="#//VLSTerm"/>
138 <eClassifiers xsi:type="ecore:EClass" name="VLSFunction" eSuperTypes="#//VLSTerm">
139 <eStructuralFeatures xsi:type="ecore:EAttribute" name="constant" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
140 <eStructuralFeatures xsi:type="ecore:EReference" name="terms" upperBound="-1"
141 eType="#//VLSTerm" containment="true"/>
142 </eClassifiers>
143 <eClassifiers xsi:type="ecore:EClass" name="VLSLess" eSuperTypes="#//VLSTerm">
144 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
145 <eStructuralFeatures xsi:type="ecore:EReference" name="terms" upperBound="-1"
146 eType="#//VLSTerm" containment="true"/>
147 </eClassifiers>
148 <eClassifiers xsi:type="ecore:EClass" name="VLSInt" eSuperTypes="#//VLSDefinedTerm"/>
149 <eClassifiers xsi:type="ecore:EClass" name="VLSReal" eSuperTypes="#//VLSDefinedTerm"/>
150 <eClassifiers xsi:type="ecore:EClass" name="VLSRational" eSuperTypes="#//VLSDefinedTerm"/>
151 <eClassifiers xsi:type="ecore:EClass" name="VLSDoubleQuote" eSuperTypes="#//VLSDefinedTerm"/>
152</ecore:EPackage>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.genmodel b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.genmodel
new file mode 100644
index 00000000..0dc38d95
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.genmodel
@@ -0,0 +1,119 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.12.0" modelDirectory="/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen"
4 modelPluginID="ca.mcgill.ecse.dslreasoner.vampire.language" forceOverwrite="true"
5 modelName="VampireLanguage" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
6 complianceLevel="6.0" copyrightFields="false" runtimeVersion="2.13">
7 <genPackages prefix="VampireLanguage" basePackage="ca.mcgill.ecse.dslreasoner" disposableProviderFactory="true"
8 fileExtensions="tptp" ecorePackage="VampireLanguage.ecore#/">
9 <genClasses ecoreClass="VampireLanguage.ecore#//VampireModel">
10 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VampireModel/includes"/>
11 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VampireModel/comments"/>
12 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VampireModel/formulas"/>
13 </genClasses>
14 <genClasses ecoreClass="VampireLanguage.ecore#//VLSInclude">
15 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSInclude/fileName"/>
16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSInclude/names"/>
17 </genClasses>
18 <genClasses ecoreClass="VampireLanguage.ecore#//VLSName">
19 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSName/name"/>
20 </genClasses>
21 <genClasses ecoreClass="VampireLanguage.ecore#//VLSComment">
22 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSComment/comment"/>
23 </genClasses>
24 <genClasses ecoreClass="VampireLanguage.ecore#//VLSFofFormula">
25 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSFofFormula/name"/>
26 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSFofFormula/fofRole"/>
27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSFofFormula/fofFormula"/>
28 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSFofFormula/annotations"/>
29 </genClasses>
30 <genClasses ecoreClass="VampireLanguage.ecore#//VLSAnnotation">
31 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSAnnotation/name"/>
32 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSAnnotation/followup"/>
33 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSAnnotation/terms"/>
34 </genClasses>
35 <genClasses ecoreClass="VampireLanguage.ecore#//VLSTerm"/>
36 <genClasses ecoreClass="VampireLanguage.ecore#//VLSVariable">
37 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSVariable/name"/>
38 </genClasses>
39 <genClasses ecoreClass="VampireLanguage.ecore#//VLSFunctionFof">
40 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSFunctionFof/functor"/>
41 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSFunctionFof/terms"/>
42 </genClasses>
43 <genClasses ecoreClass="VampireLanguage.ecore#//VLSDefinedTerm">
44 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSDefinedTerm/value"/>
45 </genClasses>
46 <genClasses ecoreClass="VampireLanguage.ecore#//VLSEquivalent">
47 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSEquivalent/left"/>
48 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSEquivalent/right"/>
49 </genClasses>
50 <genClasses ecoreClass="VampireLanguage.ecore#//VLSImplies">
51 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSImplies/left"/>
52 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSImplies/right"/>
53 </genClasses>
54 <genClasses ecoreClass="VampireLanguage.ecore#//VLSRevImplies">
55 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSRevImplies/left"/>
56 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSRevImplies/right"/>
57 </genClasses>
58 <genClasses ecoreClass="VampireLanguage.ecore#//VLSXnor">
59 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSXnor/left"/>
60 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSXnor/right"/>
61 </genClasses>
62 <genClasses ecoreClass="VampireLanguage.ecore#//VLSNor">
63 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSNor/left"/>
64 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSNor/right"/>
65 </genClasses>
66 <genClasses ecoreClass="VampireLanguage.ecore#//VLSNand">
67 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSNand/left"/>
68 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSNand/right"/>
69 </genClasses>
70 <genClasses ecoreClass="VampireLanguage.ecore#//VLSAnd">
71 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSAnd/left"/>
72 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSAnd/right"/>
73 </genClasses>
74 <genClasses ecoreClass="VampireLanguage.ecore#//VLSOr">
75 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSOr/left"/>
76 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSOr/right"/>
77 </genClasses>
78 <genClasses ecoreClass="VampireLanguage.ecore#//VLSUniversalQuantifier">
79 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSUniversalQuantifier/variables"/>
80 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSUniversalQuantifier/operand"/>
81 </genClasses>
82 <genClasses ecoreClass="VampireLanguage.ecore#//VLSExistentialQuantifier">
83 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSExistentialQuantifier/variables"/>
84 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSExistentialQuantifier/operand"/>
85 </genClasses>
86 <genClasses ecoreClass="VampireLanguage.ecore#//VLSUnaryNegation">
87 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSUnaryNegation/operand"/>
88 </genClasses>
89 <genClasses ecoreClass="VampireLanguage.ecore#//VLSInequality">
90 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSInequality/left"/>
91 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSInequality/right"/>
92 </genClasses>
93 <genClasses ecoreClass="VampireLanguage.ecore#//VLSEquality">
94 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSEquality/left"/>
95 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSEquality/right"/>
96 </genClasses>
97 <genClasses ecoreClass="VampireLanguage.ecore#//VLSAssignment">
98 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSAssignment/left"/>
99 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSAssignment/right"/>
100 </genClasses>
101 <genClasses ecoreClass="VampireLanguage.ecore#//VLSConstant">
102 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSConstant/name"/>
103 </genClasses>
104 <genClasses ecoreClass="VampireLanguage.ecore#//VLSTrue"/>
105 <genClasses ecoreClass="VampireLanguage.ecore#//VLSFalse"/>
106 <genClasses ecoreClass="VampireLanguage.ecore#//VLSFunction">
107 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSFunction/constant"/>
108 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSFunction/terms"/>
109 </genClasses>
110 <genClasses ecoreClass="VampireLanguage.ecore#//VLSLess">
111 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSLess/name"/>
112 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference VampireLanguage.ecore#//VLSLess/terms"/>
113 </genClasses>
114 <genClasses ecoreClass="VampireLanguage.ecore#//VLSInt"/>
115 <genClasses ecoreClass="VampireLanguage.ecore#//VLSReal"/>
116 <genClasses ecoreClass="VampireLanguage.ecore#//VLSRational"/>
117 <genClasses ecoreClass="VampireLanguage.ecore#//VLSDoubleQuote"/>
118 </genPackages>
119</genmodel:GenModel>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/plugin.xml b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/plugin.xml
new file mode 100644
index 00000000..52f3c0a5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/plugin.xml
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3<plugin>
4 <extension point="org.eclipse.emf.ecore.generated_package">
5 <package
6 uri = "http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage"
7 class = "ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage"
8 genModel = "model/generated/VampireLanguage.genmodel" />
9 </extension>
10</plugin>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/AbstractVampireLanguageRuntimeModule.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/AbstractVampireLanguageRuntimeModule.java
new file mode 100644
index 00000000..2906e24d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/AbstractVampireLanguageRuntimeModule.java
@@ -0,0 +1,194 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner;
5
6import ca.mcgill.ecse.dslreasoner.generator.VampireLanguageGenerator;
7import ca.mcgill.ecse.dslreasoner.parser.antlr.VampireLanguageAntlrTokenFileProvider;
8import ca.mcgill.ecse.dslreasoner.parser.antlr.VampireLanguageParser;
9import ca.mcgill.ecse.dslreasoner.parser.antlr.internal.InternalVampireLanguageLexer;
10import ca.mcgill.ecse.dslreasoner.scoping.VampireLanguageScopeProvider;
11import ca.mcgill.ecse.dslreasoner.serializer.VampireLanguageSemanticSequencer;
12import ca.mcgill.ecse.dslreasoner.serializer.VampireLanguageSyntacticSequencer;
13import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
14import ca.mcgill.ecse.dslreasoner.validation.VampireLanguageValidator;
15import com.google.inject.Binder;
16import com.google.inject.Provider;
17import com.google.inject.name.Names;
18import java.util.Properties;
19import org.eclipse.xtext.Constants;
20import org.eclipse.xtext.IGrammarAccess;
21import org.eclipse.xtext.generator.IGenerator2;
22import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider;
23import org.eclipse.xtext.naming.IQualifiedNameProvider;
24import org.eclipse.xtext.parser.IParser;
25import org.eclipse.xtext.parser.ITokenToStringConverter;
26import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider;
27import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter;
28import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
29import org.eclipse.xtext.parser.antlr.ITokenDefProvider;
30import org.eclipse.xtext.parser.antlr.Lexer;
31import org.eclipse.xtext.parser.antlr.LexerBindings;
32import org.eclipse.xtext.parser.antlr.LexerProvider;
33import org.eclipse.xtext.resource.IContainer;
34import org.eclipse.xtext.resource.IResourceDescriptions;
35import org.eclipse.xtext.resource.containers.IAllContainersState;
36import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider;
37import org.eclipse.xtext.resource.containers.StateBasedContainerManager;
38import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider;
39import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions;
40import org.eclipse.xtext.scoping.IGlobalScopeProvider;
41import org.eclipse.xtext.scoping.IScopeProvider;
42import org.eclipse.xtext.scoping.IgnoreCaseLinking;
43import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
44import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider;
45import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
46import org.eclipse.xtext.serializer.ISerializer;
47import org.eclipse.xtext.serializer.impl.Serializer;
48import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
49import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer;
50import org.eclipse.xtext.service.DefaultRuntimeModule;
51import org.eclipse.xtext.service.SingletonBinding;
52
53/**
54 * Manual modifications go to {@link VampireLanguageRuntimeModule}.
55 */
56@SuppressWarnings("all")
57public abstract class AbstractVampireLanguageRuntimeModule extends DefaultRuntimeModule {
58
59 protected Properties properties = null;
60
61 @Override
62 public void configure(Binder binder) {
63 properties = tryBindProperties(binder, "ca/mcgill/ecse/dslreasoner/VampireLanguage.properties");
64 super.configure(binder);
65 }
66
67 public void configureLanguageName(Binder binder) {
68 binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("ca.mcgill.ecse.dslreasoner.VampireLanguage");
69 }
70
71 public void configureFileExtensions(Binder binder) {
72 if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null)
73 binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("tptp");
74 }
75
76 // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
77 public ClassLoader bindClassLoaderToInstance() {
78 return getClass().getClassLoader();
79 }
80
81 // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
82 public Class<? extends IGrammarAccess> bindIGrammarAccess() {
83 return VampireLanguageGrammarAccess.class;
84 }
85
86 // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
87 public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
88 return VampireLanguageSemanticSequencer.class;
89 }
90
91 // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
92 public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() {
93 return VampireLanguageSyntacticSequencer.class;
94 }
95
96 // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
97 public Class<? extends ISerializer> bindISerializer() {
98 return Serializer.class;
99 }
100
101 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
102 public Class<? extends IParser> bindIParser() {
103 return VampireLanguageParser.class;
104 }
105
106 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
107 public Class<? extends ITokenToStringConverter> bindITokenToStringConverter() {
108 return AntlrTokenToStringConverter.class;
109 }
110
111 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
112 public Class<? extends IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
113 return VampireLanguageAntlrTokenFileProvider.class;
114 }
115
116 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
117 public Class<? extends Lexer> bindLexer() {
118 return InternalVampireLanguageLexer.class;
119 }
120
121 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
122 public Class<? extends ITokenDefProvider> bindITokenDefProvider() {
123 return AntlrTokenDefProvider.class;
124 }
125
126 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
127 public Provider<? extends InternalVampireLanguageLexer> provideInternalVampireLanguageLexer() {
128 return LexerProvider.create(InternalVampireLanguageLexer.class);
129 }
130
131 // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
132 public void configureRuntimeLexer(Binder binder) {
133 binder.bind(Lexer.class)
134 .annotatedWith(Names.named(LexerBindings.RUNTIME))
135 .to(InternalVampireLanguageLexer.class);
136 }
137
138 // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
139 @SingletonBinding(eager=true)
140 public Class<? extends VampireLanguageValidator> bindVampireLanguageValidator() {
141 return VampireLanguageValidator.class;
142 }
143
144 // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
145 public Class<? extends IScopeProvider> bindIScopeProvider() {
146 return VampireLanguageScopeProvider.class;
147 }
148
149 // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
150 public void configureIScopeProviderDelegate(Binder binder) {
151 binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class);
152 }
153
154 // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
155 public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
156 return DefaultGlobalScopeProvider.class;
157 }
158
159 // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
160 public void configureIgnoreCaseLinking(Binder binder) {
161 binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false);
162 }
163
164 // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
165 public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
166 return DefaultDeclarativeQualifiedNameProvider.class;
167 }
168
169 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
170 public Class<? extends IContainer.Manager> bindIContainer$Manager() {
171 return StateBasedContainerManager.class;
172 }
173
174 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
175 public Class<? extends IAllContainersState.Provider> bindIAllContainersState$Provider() {
176 return ResourceSetBasedAllContainersStateProvider.class;
177 }
178
179 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
180 public void configureIResourceDescriptions(Binder binder) {
181 binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class);
182 }
183
184 // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
185 public void configureIResourceDescriptionsPersisted(Binder binder) {
186 binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class);
187 }
188
189 // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
190 public Class<? extends IGenerator2> bindIGenerator2() {
191 return VampireLanguageGenerator.class;
192 }
193
194}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtextbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtextbin
new file mode 100644
index 00000000..a65de780
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtextbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetupGenerated.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetupGenerated.java
new file mode 100644
index 00000000..df52ec67
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetupGenerated.java
@@ -0,0 +1,42 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
7import com.google.inject.Guice;
8import com.google.inject.Injector;
9import org.eclipse.emf.ecore.EPackage;
10import org.eclipse.emf.ecore.resource.Resource;
11import org.eclipse.xtext.ISetup;
12import org.eclipse.xtext.common.TerminalsStandaloneSetup;
13import org.eclipse.xtext.resource.IResourceFactory;
14import org.eclipse.xtext.resource.IResourceServiceProvider;
15
16@SuppressWarnings("all")
17public class VampireLanguageStandaloneSetupGenerated implements ISetup {
18
19 @Override
20 public Injector createInjectorAndDoEMFRegistration() {
21 TerminalsStandaloneSetup.doSetup();
22
23 Injector injector = createInjector();
24 register(injector);
25 return injector;
26 }
27
28 public Injector createInjector() {
29 return Guice.createInjector(new VampireLanguageRuntimeModule());
30 }
31
32 public void register(Injector injector) {
33 if (!EPackage.Registry.INSTANCE.containsKey("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage")) {
34 EPackage.Registry.INSTANCE.put("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", VampireLanguagePackage.eINSTANCE);
35 }
36 IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class);
37 IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class);
38
39 Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("tptp", resourceFactory);
40 IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("tptp", serviceProvider);
41 }
42}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageAntlrTokenFileProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageAntlrTokenFileProvider.java
new file mode 100644
index 00000000..a4da8047
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageAntlrTokenFileProvider.java
@@ -0,0 +1,16 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.parser.antlr;
5
6import java.io.InputStream;
7import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
8
9public class VampireLanguageAntlrTokenFileProvider implements IAntlrTokenFileProvider {
10
11 @Override
12 public InputStream getAntlrTokenFile() {
13 ClassLoader classLoader = getClass().getClassLoader();
14 return classLoader.getResourceAsStream("ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.tokens");
15 }
16}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageParser.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageParser.java
new file mode 100644
index 00000000..0e487d5c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/VampireLanguageParser.java
@@ -0,0 +1,40 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.parser.antlr;
5
6import ca.mcgill.ecse.dslreasoner.parser.antlr.internal.InternalVampireLanguageParser;
7import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
8import com.google.inject.Inject;
9import org.eclipse.xtext.parser.antlr.AbstractAntlrParser;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream;
11
12public class VampireLanguageParser extends AbstractAntlrParser {
13
14 @Inject
15 private VampireLanguageGrammarAccess grammarAccess;
16
17 @Override
18 protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
19 tokenStream.setInitialHiddenTokens("RULE_WS");
20 }
21
22
23 @Override
24 protected InternalVampireLanguageParser createParser(XtextTokenStream stream) {
25 return new InternalVampireLanguageParser(stream, getGrammarAccess());
26 }
27
28 @Override
29 protected String getDefaultRuleName() {
30 return "VampireModel";
31 }
32
33 public VampireLanguageGrammarAccess getGrammarAccess() {
34 return this.grammarAccess;
35 }
36
37 public void setGrammarAccess(VampireLanguageGrammarAccess grammarAccess) {
38 this.grammarAccess = grammarAccess;
39 }
40}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g
new file mode 100644
index 00000000..2819b307
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.g
@@ -0,0 +1,2669 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4grammar InternalVampireLanguage;
5
6options {
7 superClass=AbstractInternalAntlrParser;
8}
9
10@lexer::header {
11package ca.mcgill.ecse.dslreasoner.parser.antlr.internal;
12
13// Hack: Use our own Lexer superclass by means of import.
14// Currently there is no other way to specify the superclass for the lexer.
15import org.eclipse.xtext.parser.antlr.Lexer;
16}
17
18@parser::header {
19package ca.mcgill.ecse.dslreasoner.parser.antlr.internal;
20
21import org.eclipse.xtext.*;
22import org.eclipse.xtext.parser.*;
23import org.eclipse.xtext.parser.impl.*;
24import org.eclipse.emf.ecore.util.EcoreUtil;
25import org.eclipse.emf.ecore.EObject;
26import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
27import org.eclipse.xtext.parser.antlr.XtextTokenStream;
28import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
29import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
30import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
31
32}
33
34@parser::members {
35
36 private VampireLanguageGrammarAccess grammarAccess;
37
38 public InternalVampireLanguageParser(TokenStream input, VampireLanguageGrammarAccess grammarAccess) {
39 this(input);
40 this.grammarAccess = grammarAccess;
41 registerRules(grammarAccess.getGrammar());
42 }
43
44 @Override
45 protected String getFirstRuleName() {
46 return "VampireModel";
47 }
48
49 @Override
50 protected VampireLanguageGrammarAccess getGrammarAccess() {
51 return grammarAccess;
52 }
53
54}
55
56@rulecatch {
57 catch (RecognitionException re) {
58 recover(input,re);
59 appendSkippedTokens();
60 }
61}
62
63// Entry rule entryRuleVampireModel
64entryRuleVampireModel returns [EObject current=null]:
65 { newCompositeNode(grammarAccess.getVampireModelRule()); }
66 iv_ruleVampireModel=ruleVampireModel
67 { $current=$iv_ruleVampireModel.current; }
68 EOF;
69
70// Rule VampireModel
71ruleVampireModel returns [EObject current=null]
72@init {
73 enterRule();
74}
75@after {
76 leaveRule();
77}:
78 (
79 (
80 (
81 {
82 newCompositeNode(grammarAccess.getVampireModelAccess().getIncludesVLSIncludeParserRuleCall_0_0());
83 }
84 lv_includes_0_0=ruleVLSInclude
85 {
86 if ($current==null) {
87 $current = createModelElementForParent(grammarAccess.getVampireModelRule());
88 }
89 add(
90 $current,
91 "includes",
92 lv_includes_0_0,
93 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSInclude");
94 afterParserOrEnumRuleCall();
95 }
96 )
97 )
98 |
99 (
100 (
101 {
102 newCompositeNode(grammarAccess.getVampireModelAccess().getCommentsVLSCommentParserRuleCall_1_0());
103 }
104 lv_comments_1_0=ruleVLSComment
105 {
106 if ($current==null) {
107 $current = createModelElementForParent(grammarAccess.getVampireModelRule());
108 }
109 add(
110 $current,
111 "comments",
112 lv_comments_1_0,
113 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSComment");
114 afterParserOrEnumRuleCall();
115 }
116 )
117 )
118 |
119 (
120 (
121 {
122 newCompositeNode(grammarAccess.getVampireModelAccess().getFormulasVLSFofFormulaParserRuleCall_2_0());
123 }
124 lv_formulas_2_0=ruleVLSFofFormula
125 {
126 if ($current==null) {
127 $current = createModelElementForParent(grammarAccess.getVampireModelRule());
128 }
129 add(
130 $current,
131 "formulas",
132 lv_formulas_2_0,
133 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofFormula");
134 afterParserOrEnumRuleCall();
135 }
136 )
137 )
138 )*
139;
140
141// Entry rule entryRuleVLSInclude
142entryRuleVLSInclude returns [EObject current=null]:
143 { newCompositeNode(grammarAccess.getVLSIncludeRule()); }
144 iv_ruleVLSInclude=ruleVLSInclude
145 { $current=$iv_ruleVLSInclude.current; }
146 EOF;
147
148// Rule VLSInclude
149ruleVLSInclude returns [EObject current=null]
150@init {
151 enterRule();
152}
153@after {
154 leaveRule();
155}:
156 (
157 otherlv_0='include('
158 {
159 newLeafNode(otherlv_0, grammarAccess.getVLSIncludeAccess().getIncludeKeyword_0());
160 }
161 (
162 (
163 lv_fileName_1_0=RULE_SINGLE_QUOTE
164 {
165 newLeafNode(lv_fileName_1_0, grammarAccess.getVLSIncludeAccess().getFileNameSINGLE_QUOTETerminalRuleCall_1_0());
166 }
167 {
168 if ($current==null) {
169 $current = createModelElement(grammarAccess.getVLSIncludeRule());
170 }
171 setWithLastConsumed(
172 $current,
173 "fileName",
174 lv_fileName_1_0,
175 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
176 }
177 )
178 )
179 (
180 otherlv_2=',['
181 {
182 newLeafNode(otherlv_2, grammarAccess.getVLSIncludeAccess().getCommaLeftSquareBracketKeyword_2_0());
183 }
184 (
185 (
186 {
187 newCompositeNode(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_1_0());
188 }
189 lv_names_3_0=ruleVLSName
190 {
191 if ($current==null) {
192 $current = createModelElementForParent(grammarAccess.getVLSIncludeRule());
193 }
194 add(
195 $current,
196 "names",
197 lv_names_3_0,
198 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
199 afterParserOrEnumRuleCall();
200 }
201 )
202 )
203 (
204 otherlv_4=','
205 {
206 newLeafNode(otherlv_4, grammarAccess.getVLSIncludeAccess().getCommaKeyword_2_2_0());
207 }
208 (
209 (
210 {
211 newCompositeNode(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_2_1_0());
212 }
213 lv_names_5_0=ruleVLSName
214 {
215 if ($current==null) {
216 $current = createModelElementForParent(grammarAccess.getVLSIncludeRule());
217 }
218 add(
219 $current,
220 "names",
221 lv_names_5_0,
222 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
223 afterParserOrEnumRuleCall();
224 }
225 )
226 )
227 )*
228 otherlv_6=']'
229 {
230 newLeafNode(otherlv_6, grammarAccess.getVLSIncludeAccess().getRightSquareBracketKeyword_2_3());
231 }
232 )?
233 )
234;
235
236// Entry rule entryRuleVLSName
237entryRuleVLSName returns [EObject current=null]:
238 { newCompositeNode(grammarAccess.getVLSNameRule()); }
239 iv_ruleVLSName=ruleVLSName
240 { $current=$iv_ruleVLSName.current; }
241 EOF;
242
243// Rule VLSName
244ruleVLSName returns [EObject current=null]
245@init {
246 enterRule();
247}
248@after {
249 leaveRule();
250}:
251 (
252 (
253 (
254 lv_name_0_1=RULE_LOWER_WORD_ID
255 {
256 newLeafNode(lv_name_0_1, grammarAccess.getVLSNameAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_0());
257 }
258 {
259 if ($current==null) {
260 $current = createModelElement(grammarAccess.getVLSNameRule());
261 }
262 setWithLastConsumed(
263 $current,
264 "name",
265 lv_name_0_1,
266 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
267 }
268 |
269 lv_name_0_2=RULE_SINGLE_QUOTE
270 {
271 newLeafNode(lv_name_0_2, grammarAccess.getVLSNameAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1());
272 }
273 {
274 if ($current==null) {
275 $current = createModelElement(grammarAccess.getVLSNameRule());
276 }
277 setWithLastConsumed(
278 $current,
279 "name",
280 lv_name_0_2,
281 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
282 }
283 |
284 lv_name_0_3=RULE_LITERAL
285 {
286 newLeafNode(lv_name_0_3, grammarAccess.getVLSNameAccess().getNameLITERALTerminalRuleCall_0_2());
287 }
288 {
289 if ($current==null) {
290 $current = createModelElement(grammarAccess.getVLSNameRule());
291 }
292 setWithLastConsumed(
293 $current,
294 "name",
295 lv_name_0_3,
296 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LITERAL");
297 }
298 |
299 lv_name_0_4=RULE_SIGNED_LITERAL
300 {
301 newLeafNode(lv_name_0_4, grammarAccess.getVLSNameAccess().getNameSIGNED_LITERALTerminalRuleCall_0_3());
302 }
303 {
304 if ($current==null) {
305 $current = createModelElement(grammarAccess.getVLSNameRule());
306 }
307 setWithLastConsumed(
308 $current,
309 "name",
310 lv_name_0_4,
311 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
312 }
313 )
314 )
315 )
316;
317
318// Entry rule entryRuleVLSComment
319entryRuleVLSComment returns [EObject current=null]:
320 { newCompositeNode(grammarAccess.getVLSCommentRule()); }
321 iv_ruleVLSComment=ruleVLSComment
322 { $current=$iv_ruleVLSComment.current; }
323 EOF;
324
325// Rule VLSComment
326ruleVLSComment returns [EObject current=null]
327@init {
328 enterRule();
329}
330@after {
331 leaveRule();
332}:
333 (
334 (
335 lv_comment_0_0=RULE_SINGLE_COMMENT
336 {
337 newLeafNode(lv_comment_0_0, grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_0());
338 }
339 {
340 if ($current==null) {
341 $current = createModelElement(grammarAccess.getVLSCommentRule());
342 }
343 setWithLastConsumed(
344 $current,
345 "comment",
346 lv_comment_0_0,
347 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_COMMENT");
348 }
349 )
350 )
351;
352
353// Entry rule entryRuleVLSFofFormula
354entryRuleVLSFofFormula returns [EObject current=null]:
355 { newCompositeNode(grammarAccess.getVLSFofFormulaRule()); }
356 iv_ruleVLSFofFormula=ruleVLSFofFormula
357 { $current=$iv_ruleVLSFofFormula.current; }
358 EOF;
359
360// Rule VLSFofFormula
361ruleVLSFofFormula returns [EObject current=null]
362@init {
363 enterRule();
364}
365@after {
366 leaveRule();
367}:
368 (
369 otherlv_0='fof'
370 {
371 newLeafNode(otherlv_0, grammarAccess.getVLSFofFormulaAccess().getFofKeyword_0());
372 }
373 otherlv_1='('
374 {
375 newLeafNode(otherlv_1, grammarAccess.getVLSFofFormulaAccess().getLeftParenthesisKeyword_1());
376 }
377 (
378 (
379 (
380 lv_name_2_1=RULE_LOWER_WORD_ID
381 {
382 newLeafNode(lv_name_2_1, grammarAccess.getVLSFofFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0());
383 }
384 {
385 if ($current==null) {
386 $current = createModelElement(grammarAccess.getVLSFofFormulaRule());
387 }
388 setWithLastConsumed(
389 $current,
390 "name",
391 lv_name_2_1,
392 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
393 }
394 |
395 lv_name_2_2=RULE_SIGNED_LITERAL
396 {
397 newLeafNode(lv_name_2_2, grammarAccess.getVLSFofFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1());
398 }
399 {
400 if ($current==null) {
401 $current = createModelElement(grammarAccess.getVLSFofFormulaRule());
402 }
403 setWithLastConsumed(
404 $current,
405 "name",
406 lv_name_2_2,
407 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
408 }
409 |
410 lv_name_2_3=RULE_SINGLE_QUOTE
411 {
412 newLeafNode(lv_name_2_3, grammarAccess.getVLSFofFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2());
413 }
414 {
415 if ($current==null) {
416 $current = createModelElement(grammarAccess.getVLSFofFormulaRule());
417 }
418 setWithLastConsumed(
419 $current,
420 "name",
421 lv_name_2_3,
422 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
423 }
424 )
425 )
426 )
427 otherlv_3=','
428 {
429 newLeafNode(otherlv_3, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_3());
430 }
431 (
432 (
433 {
434 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0());
435 }
436 lv_fofRole_4_0=ruleVLSRole
437 {
438 if ($current==null) {
439 $current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
440 }
441 set(
442 $current,
443 "fofRole",
444 lv_fofRole_4_0,
445 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
446 afterParserOrEnumRuleCall();
447 }
448 )
449 )
450 otherlv_5=','
451 {
452 newLeafNode(otherlv_5, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_5());
453 }
454 (
455 (
456 {
457 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0());
458 }
459 lv_fofFormula_6_0=ruleVLSTerm
460 {
461 if ($current==null) {
462 $current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
463 }
464 set(
465 $current,
466 "fofFormula",
467 lv_fofFormula_6_0,
468 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTerm");
469 afterParserOrEnumRuleCall();
470 }
471 )
472 )
473 (
474 otherlv_7=','
475 {
476 newLeafNode(otherlv_7, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_7_0());
477 }
478 (
479 (
480 {
481 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0());
482 }
483 lv_annotations_8_0=ruleVLSAnnotation
484 {
485 if ($current==null) {
486 $current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
487 }
488 set(
489 $current,
490 "annotations",
491 lv_annotations_8_0,
492 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
493 afterParserOrEnumRuleCall();
494 }
495 )
496 )
497 )?
498 otherlv_9=')'
499 {
500 newLeafNode(otherlv_9, grammarAccess.getVLSFofFormulaAccess().getRightParenthesisKeyword_8());
501 }
502 otherlv_10='.'
503 {
504 newLeafNode(otherlv_10, grammarAccess.getVLSFofFormulaAccess().getFullStopKeyword_9());
505 }
506 )
507;
508
509// Entry rule entryRuleVLSRole
510entryRuleVLSRole returns [String current=null]:
511 { newCompositeNode(grammarAccess.getVLSRoleRule()); }
512 iv_ruleVLSRole=ruleVLSRole
513 { $current=$iv_ruleVLSRole.current.getText(); }
514 EOF;
515
516// Rule VLSRole
517ruleVLSRole returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
518@init {
519 enterRule();
520}
521@after {
522 leaveRule();
523}:
524 (
525 {
526 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSAxiomParserRuleCall_0());
527 }
528 this_VLSAxiom_0=ruleVLSAxiom
529 {
530 $current.merge(this_VLSAxiom_0);
531 }
532 {
533 afterParserOrEnumRuleCall();
534 }
535 |
536 {
537 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSConjectureParserRuleCall_1());
538 }
539 this_VLSConjecture_1=ruleVLSConjecture
540 {
541 $current.merge(this_VLSConjecture_1);
542 }
543 {
544 afterParserOrEnumRuleCall();
545 }
546 |
547 {
548 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSHypothesisParserRuleCall_2());
549 }
550 this_VLSHypothesis_2=ruleVLSHypothesis
551 {
552 $current.merge(this_VLSHypothesis_2);
553 }
554 {
555 afterParserOrEnumRuleCall();
556 }
557 |
558 {
559 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSDefinitionParserRuleCall_3());
560 }
561 this_VLSDefinition_3=ruleVLSDefinition
562 {
563 $current.merge(this_VLSDefinition_3);
564 }
565 {
566 afterParserOrEnumRuleCall();
567 }
568 |
569 {
570 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSAssumptionParserRuleCall_4());
571 }
572 this_VLSAssumption_4=ruleVLSAssumption
573 {
574 $current.merge(this_VLSAssumption_4);
575 }
576 {
577 afterParserOrEnumRuleCall();
578 }
579 |
580 {
581 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSLemmaParserRuleCall_5());
582 }
583 this_VLSLemma_5=ruleVLSLemma
584 {
585 $current.merge(this_VLSLemma_5);
586 }
587 {
588 afterParserOrEnumRuleCall();
589 }
590 |
591 {
592 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSTheoremParserRuleCall_6());
593 }
594 this_VLSTheorem_6=ruleVLSTheorem
595 {
596 $current.merge(this_VLSTheorem_6);
597 }
598 {
599 afterParserOrEnumRuleCall();
600 }
601 |
602 {
603 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSCorollaryParserRuleCall_7());
604 }
605 this_VLSCorollary_7=ruleVLSCorollary
606 {
607 $current.merge(this_VLSCorollary_7);
608 }
609 {
610 afterParserOrEnumRuleCall();
611 }
612 |
613 {
614 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSNegated_ConjectureParserRuleCall_8());
615 }
616 this_VLSNegated_Conjecture_8=ruleVLSNegated_Conjecture
617 {
618 $current.merge(this_VLSNegated_Conjecture_8);
619 }
620 {
621 afterParserOrEnumRuleCall();
622 }
623 |
624 {
625 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSPlainParserRuleCall_9());
626 }
627 this_VLSPlain_9=ruleVLSPlain
628 {
629 $current.merge(this_VLSPlain_9);
630 }
631 {
632 afterParserOrEnumRuleCall();
633 }
634 |
635 {
636 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSTypeParserRuleCall_10());
637 }
638 this_VLSType_10=ruleVLSType
639 {
640 $current.merge(this_VLSType_10);
641 }
642 {
643 afterParserOrEnumRuleCall();
644 }
645 |
646 {
647 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_DomainParserRuleCall_11());
648 }
649 this_VLSFi_Domain_11=ruleVLSFi_Domain
650 {
651 $current.merge(this_VLSFi_Domain_11);
652 }
653 {
654 afterParserOrEnumRuleCall();
655 }
656 |
657 {
658 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_FunctorsParserRuleCall_12());
659 }
660 this_VLSFi_Functors_12=ruleVLSFi_Functors
661 {
662 $current.merge(this_VLSFi_Functors_12);
663 }
664 {
665 afterParserOrEnumRuleCall();
666 }
667 |
668 {
669 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_PredicatesParserRuleCall_13());
670 }
671 this_VLSFi_Predicates_13=ruleVLSFi_Predicates
672 {
673 $current.merge(this_VLSFi_Predicates_13);
674 }
675 {
676 afterParserOrEnumRuleCall();
677 }
678 |
679 {
680 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSUnknownParserRuleCall_14());
681 }
682 this_VLSUnknown_14=ruleVLSUnknown
683 {
684 $current.merge(this_VLSUnknown_14);
685 }
686 {
687 afterParserOrEnumRuleCall();
688 }
689 )
690;
691
692// Entry rule entryRuleVLSAxiom
693entryRuleVLSAxiom returns [String current=null]:
694 { newCompositeNode(grammarAccess.getVLSAxiomRule()); }
695 iv_ruleVLSAxiom=ruleVLSAxiom
696 { $current=$iv_ruleVLSAxiom.current.getText(); }
697 EOF;
698
699// Rule VLSAxiom
700ruleVLSAxiom returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
701@init {
702 enterRule();
703}
704@after {
705 leaveRule();
706}:
707 kw='axiom'
708 {
709 $current.merge(kw);
710 newLeafNode(kw, grammarAccess.getVLSAxiomAccess().getAxiomKeyword());
711 }
712;
713
714// Entry rule entryRuleVLSConjecture
715entryRuleVLSConjecture returns [String current=null]:
716 { newCompositeNode(grammarAccess.getVLSConjectureRule()); }
717 iv_ruleVLSConjecture=ruleVLSConjecture
718 { $current=$iv_ruleVLSConjecture.current.getText(); }
719 EOF;
720
721// Rule VLSConjecture
722ruleVLSConjecture returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
723@init {
724 enterRule();
725}
726@after {
727 leaveRule();
728}:
729 kw='conjecture'
730 {
731 $current.merge(kw);
732 newLeafNode(kw, grammarAccess.getVLSConjectureAccess().getConjectureKeyword());
733 }
734;
735
736// Entry rule entryRuleVLSHypothesis
737entryRuleVLSHypothesis returns [String current=null]:
738 { newCompositeNode(grammarAccess.getVLSHypothesisRule()); }
739 iv_ruleVLSHypothesis=ruleVLSHypothesis
740 { $current=$iv_ruleVLSHypothesis.current.getText(); }
741 EOF;
742
743// Rule VLSHypothesis
744ruleVLSHypothesis returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
745@init {
746 enterRule();
747}
748@after {
749 leaveRule();
750}:
751 kw='hypothesis'
752 {
753 $current.merge(kw);
754 newLeafNode(kw, grammarAccess.getVLSHypothesisAccess().getHypothesisKeyword());
755 }
756;
757
758// Entry rule entryRuleVLSDefinition
759entryRuleVLSDefinition returns [String current=null]:
760 { newCompositeNode(grammarAccess.getVLSDefinitionRule()); }
761 iv_ruleVLSDefinition=ruleVLSDefinition
762 { $current=$iv_ruleVLSDefinition.current.getText(); }
763 EOF;
764
765// Rule VLSDefinition
766ruleVLSDefinition returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
767@init {
768 enterRule();
769}
770@after {
771 leaveRule();
772}:
773 kw='definition'
774 {
775 $current.merge(kw);
776 newLeafNode(kw, grammarAccess.getVLSDefinitionAccess().getDefinitionKeyword());
777 }
778;
779
780// Entry rule entryRuleVLSAssumption
781entryRuleVLSAssumption returns [String current=null]:
782 { newCompositeNode(grammarAccess.getVLSAssumptionRule()); }
783 iv_ruleVLSAssumption=ruleVLSAssumption
784 { $current=$iv_ruleVLSAssumption.current.getText(); }
785 EOF;
786
787// Rule VLSAssumption
788ruleVLSAssumption returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
789@init {
790 enterRule();
791}
792@after {
793 leaveRule();
794}:
795 kw='assumption'
796 {
797 $current.merge(kw);
798 newLeafNode(kw, grammarAccess.getVLSAssumptionAccess().getAssumptionKeyword());
799 }
800;
801
802// Entry rule entryRuleVLSLemma
803entryRuleVLSLemma returns [String current=null]:
804 { newCompositeNode(grammarAccess.getVLSLemmaRule()); }
805 iv_ruleVLSLemma=ruleVLSLemma
806 { $current=$iv_ruleVLSLemma.current.getText(); }
807 EOF;
808
809// Rule VLSLemma
810ruleVLSLemma returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
811@init {
812 enterRule();
813}
814@after {
815 leaveRule();
816}:
817 kw='lemma'
818 {
819 $current.merge(kw);
820 newLeafNode(kw, grammarAccess.getVLSLemmaAccess().getLemmaKeyword());
821 }
822;
823
824// Entry rule entryRuleVLSTheorem
825entryRuleVLSTheorem returns [String current=null]:
826 { newCompositeNode(grammarAccess.getVLSTheoremRule()); }
827 iv_ruleVLSTheorem=ruleVLSTheorem
828 { $current=$iv_ruleVLSTheorem.current.getText(); }
829 EOF;
830
831// Rule VLSTheorem
832ruleVLSTheorem returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
833@init {
834 enterRule();
835}
836@after {
837 leaveRule();
838}:
839 kw='theorem'
840 {
841 $current.merge(kw);
842 newLeafNode(kw, grammarAccess.getVLSTheoremAccess().getTheoremKeyword());
843 }
844;
845
846// Entry rule entryRuleVLSCorollary
847entryRuleVLSCorollary returns [String current=null]:
848 { newCompositeNode(grammarAccess.getVLSCorollaryRule()); }
849 iv_ruleVLSCorollary=ruleVLSCorollary
850 { $current=$iv_ruleVLSCorollary.current.getText(); }
851 EOF;
852
853// Rule VLSCorollary
854ruleVLSCorollary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
855@init {
856 enterRule();
857}
858@after {
859 leaveRule();
860}:
861 kw='corollary'
862 {
863 $current.merge(kw);
864 newLeafNode(kw, grammarAccess.getVLSCorollaryAccess().getCorollaryKeyword());
865 }
866;
867
868// Entry rule entryRuleVLSNegated_Conjecture
869entryRuleVLSNegated_Conjecture returns [String current=null]:
870 { newCompositeNode(grammarAccess.getVLSNegated_ConjectureRule()); }
871 iv_ruleVLSNegated_Conjecture=ruleVLSNegated_Conjecture
872 { $current=$iv_ruleVLSNegated_Conjecture.current.getText(); }
873 EOF;
874
875// Rule VLSNegated_Conjecture
876ruleVLSNegated_Conjecture returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
877@init {
878 enterRule();
879}
880@after {
881 leaveRule();
882}:
883 kw='negated_conjecture'
884 {
885 $current.merge(kw);
886 newLeafNode(kw, grammarAccess.getVLSNegated_ConjectureAccess().getNegated_conjectureKeyword());
887 }
888;
889
890// Entry rule entryRuleVLSPlain
891entryRuleVLSPlain returns [String current=null]:
892 { newCompositeNode(grammarAccess.getVLSPlainRule()); }
893 iv_ruleVLSPlain=ruleVLSPlain
894 { $current=$iv_ruleVLSPlain.current.getText(); }
895 EOF;
896
897// Rule VLSPlain
898ruleVLSPlain returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
899@init {
900 enterRule();
901}
902@after {
903 leaveRule();
904}:
905 kw='plain'
906 {
907 $current.merge(kw);
908 newLeafNode(kw, grammarAccess.getVLSPlainAccess().getPlainKeyword());
909 }
910;
911
912// Entry rule entryRuleVLSType
913entryRuleVLSType returns [String current=null]:
914 { newCompositeNode(grammarAccess.getVLSTypeRule()); }
915 iv_ruleVLSType=ruleVLSType
916 { $current=$iv_ruleVLSType.current.getText(); }
917 EOF;
918
919// Rule VLSType
920ruleVLSType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
921@init {
922 enterRule();
923}
924@after {
925 leaveRule();
926}:
927 kw='type'
928 {
929 $current.merge(kw);
930 newLeafNode(kw, grammarAccess.getVLSTypeAccess().getTypeKeyword());
931 }
932;
933
934// Entry rule entryRuleVLSFi_Domain
935entryRuleVLSFi_Domain returns [String current=null]:
936 { newCompositeNode(grammarAccess.getVLSFi_DomainRule()); }
937 iv_ruleVLSFi_Domain=ruleVLSFi_Domain
938 { $current=$iv_ruleVLSFi_Domain.current.getText(); }
939 EOF;
940
941// Rule VLSFi_Domain
942ruleVLSFi_Domain returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
943@init {
944 enterRule();
945}
946@after {
947 leaveRule();
948}:
949 kw='fi_domain'
950 {
951 $current.merge(kw);
952 newLeafNode(kw, grammarAccess.getVLSFi_DomainAccess().getFi_domainKeyword());
953 }
954;
955
956// Entry rule entryRuleVLSFi_Functors
957entryRuleVLSFi_Functors returns [String current=null]:
958 { newCompositeNode(grammarAccess.getVLSFi_FunctorsRule()); }
959 iv_ruleVLSFi_Functors=ruleVLSFi_Functors
960 { $current=$iv_ruleVLSFi_Functors.current.getText(); }
961 EOF;
962
963// Rule VLSFi_Functors
964ruleVLSFi_Functors returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
965@init {
966 enterRule();
967}
968@after {
969 leaveRule();
970}:
971 kw='fi_functors'
972 {
973 $current.merge(kw);
974 newLeafNode(kw, grammarAccess.getVLSFi_FunctorsAccess().getFi_functorsKeyword());
975 }
976;
977
978// Entry rule entryRuleVLSFi_Predicates
979entryRuleVLSFi_Predicates returns [String current=null]:
980 { newCompositeNode(grammarAccess.getVLSFi_PredicatesRule()); }
981 iv_ruleVLSFi_Predicates=ruleVLSFi_Predicates
982 { $current=$iv_ruleVLSFi_Predicates.current.getText(); }
983 EOF;
984
985// Rule VLSFi_Predicates
986ruleVLSFi_Predicates returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
987@init {
988 enterRule();
989}
990@after {
991 leaveRule();
992}:
993 kw='fi_predicates'
994 {
995 $current.merge(kw);
996 newLeafNode(kw, grammarAccess.getVLSFi_PredicatesAccess().getFi_predicatesKeyword());
997 }
998;
999
1000// Entry rule entryRuleVLSUnknown
1001entryRuleVLSUnknown returns [String current=null]:
1002 { newCompositeNode(grammarAccess.getVLSUnknownRule()); }
1003 iv_ruleVLSUnknown=ruleVLSUnknown
1004 { $current=$iv_ruleVLSUnknown.current.getText(); }
1005 EOF;
1006
1007// Rule VLSUnknown
1008ruleVLSUnknown returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
1009@init {
1010 enterRule();
1011}
1012@after {
1013 leaveRule();
1014}:
1015 kw='unknown'
1016 {
1017 $current.merge(kw);
1018 newLeafNode(kw, grammarAccess.getVLSUnknownAccess().getUnknownKeyword());
1019 }
1020;
1021
1022// Entry rule entryRuleVLSAnnotation
1023entryRuleVLSAnnotation returns [EObject current=null]:
1024 { newCompositeNode(grammarAccess.getVLSAnnotationRule()); }
1025 iv_ruleVLSAnnotation=ruleVLSAnnotation
1026 { $current=$iv_ruleVLSAnnotation.current; }
1027 EOF;
1028
1029// Rule VLSAnnotation
1030ruleVLSAnnotation returns [EObject current=null]
1031@init {
1032 enterRule();
1033}
1034@after {
1035 leaveRule();
1036}:
1037 (
1038 (
1039 otherlv_0='['
1040 {
1041 newLeafNode(otherlv_0, grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0());
1042 }
1043 )?
1044 (
1045 (
1046 (
1047 lv_name_1_1=RULE_LOWER_WORD_ID
1048 {
1049 newLeafNode(lv_name_1_1, grammarAccess.getVLSAnnotationAccess().getNameLOWER_WORD_IDTerminalRuleCall_1_0_0());
1050 }
1051 {
1052 if ($current==null) {
1053 $current = createModelElement(grammarAccess.getVLSAnnotationRule());
1054 }
1055 setWithLastConsumed(
1056 $current,
1057 "name",
1058 lv_name_1_1,
1059 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
1060 }
1061 |
1062 lv_name_1_2=RULE_SINGLE_QUOTE
1063 {
1064 newLeafNode(lv_name_1_2, grammarAccess.getVLSAnnotationAccess().getNameSINGLE_QUOTETerminalRuleCall_1_0_1());
1065 }
1066 {
1067 if ($current==null) {
1068 $current = createModelElement(grammarAccess.getVLSAnnotationRule());
1069 }
1070 setWithLastConsumed(
1071 $current,
1072 "name",
1073 lv_name_1_2,
1074 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
1075 }
1076 |
1077 {
1078 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getNameVLSRoleParserRuleCall_1_0_2());
1079 }
1080 lv_name_1_3=ruleVLSRole
1081 {
1082 if ($current==null) {
1083 $current = createModelElementForParent(grammarAccess.getVLSAnnotationRule());
1084 }
1085 set(
1086 $current,
1087 "name",
1088 lv_name_1_3,
1089 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
1090 afterParserOrEnumRuleCall();
1091 }
1092 )
1093 )
1094 )?
1095 (
1096 otherlv_2='('
1097 {
1098 newLeafNode(otherlv_2, grammarAccess.getVLSAnnotationAccess().getLeftParenthesisKeyword_2_0());
1099 }
1100 (
1101 (
1102 {
1103 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getFollowupVLSAnnotationTermsParserRuleCall_2_1_0());
1104 }
1105 lv_followup_3_0=ruleVLSAnnotationTerms
1106 {
1107 if ($current==null) {
1108 $current = createModelElementForParent(grammarAccess.getVLSAnnotationRule());
1109 }
1110 set(
1111 $current,
1112 "followup",
1113 lv_followup_3_0,
1114 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotationTerms");
1115 afterParserOrEnumRuleCall();
1116 }
1117 )
1118 )
1119 otherlv_4=')'
1120 {
1121 newLeafNode(otherlv_4, grammarAccess.getVLSAnnotationAccess().getRightParenthesisKeyword_2_2());
1122 }
1123 )?
1124 (
1125 otherlv_5=']'
1126 {
1127 newLeafNode(otherlv_5, grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3());
1128 }
1129 )?
1130 )
1131;
1132
1133// Entry rule entryRuleVLSAnnotationTerms
1134entryRuleVLSAnnotationTerms returns [EObject current=null]:
1135 { newCompositeNode(grammarAccess.getVLSAnnotationTermsRule()); }
1136 iv_ruleVLSAnnotationTerms=ruleVLSAnnotationTerms
1137 { $current=$iv_ruleVLSAnnotationTerms.current; }
1138 EOF;
1139
1140// Rule VLSAnnotationTerms
1141ruleVLSAnnotationTerms returns [EObject current=null]
1142@init {
1143 enterRule();
1144}
1145@after {
1146 leaveRule();
1147}:
1148 (
1149 (
1150 (
1151 {
1152 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_0_0());
1153 }
1154 lv_terms_0_0=ruleVLSAnnotation
1155 {
1156 if ($current==null) {
1157 $current = createModelElementForParent(grammarAccess.getVLSAnnotationTermsRule());
1158 }
1159 add(
1160 $current,
1161 "terms",
1162 lv_terms_0_0,
1163 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
1164 afterParserOrEnumRuleCall();
1165 }
1166 )
1167 )
1168 (
1169 otherlv_1=','
1170 {
1171 newLeafNode(otherlv_1, grammarAccess.getVLSAnnotationTermsAccess().getCommaKeyword_1_0());
1172 }
1173 (
1174 (
1175 {
1176 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_1_1_0());
1177 }
1178 lv_terms_2_0=ruleVLSAnnotation
1179 {
1180 if ($current==null) {
1181 $current = createModelElementForParent(grammarAccess.getVLSAnnotationTermsRule());
1182 }
1183 add(
1184 $current,
1185 "terms",
1186 lv_terms_2_0,
1187 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
1188 afterParserOrEnumRuleCall();
1189 }
1190 )
1191 )
1192 )*
1193 )
1194;
1195
1196// Entry rule entryRuleVLSTerm
1197entryRuleVLSTerm returns [EObject current=null]:
1198 { newCompositeNode(grammarAccess.getVLSTermRule()); }
1199 iv_ruleVLSTerm=ruleVLSTerm
1200 { $current=$iv_ruleVLSTerm.current; }
1201 EOF;
1202
1203// Rule VLSTerm
1204ruleVLSTerm returns [EObject current=null]
1205@init {
1206 enterRule();
1207}
1208@after {
1209 leaveRule();
1210}:
1211 {
1212 newCompositeNode(grammarAccess.getVLSTermAccess().getVLSBinaryParserRuleCall());
1213 }
1214 this_VLSBinary_0=ruleVLSBinary
1215 {
1216 $current = $this_VLSBinary_0.current;
1217 afterParserOrEnumRuleCall();
1218 }
1219;
1220
1221// Entry rule entryRuleVLSBinary
1222entryRuleVLSBinary returns [EObject current=null]:
1223 { newCompositeNode(grammarAccess.getVLSBinaryRule()); }
1224 iv_ruleVLSBinary=ruleVLSBinary
1225 { $current=$iv_ruleVLSBinary.current; }
1226 EOF;
1227
1228// Rule VLSBinary
1229ruleVLSBinary returns [EObject current=null]
1230@init {
1231 enterRule();
1232}
1233@after {
1234 leaveRule();
1235}:
1236 (
1237 {
1238 newCompositeNode(grammarAccess.getVLSBinaryAccess().getVLSUnitaryFormulaParserRuleCall_0());
1239 }
1240 this_VLSUnitaryFormula_0=ruleVLSUnitaryFormula
1241 {
1242 $current = $this_VLSUnitaryFormula_0.current;
1243 afterParserOrEnumRuleCall();
1244 }
1245 (
1246 (
1247 (
1248 (
1249 (
1250 {
1251 $current = forceCreateModelElementAndSet(
1252 grammarAccess.getVLSBinaryAccess().getVLSEquivalentLeftAction_1_0_0_0_0(),
1253 $current);
1254 }
1255 )
1256 otherlv_2='<=>'
1257 {
1258 newLeafNode(otherlv_2, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1());
1259 }
1260 )
1261 |
1262 (
1263 (
1264 {
1265 $current = forceCreateModelElementAndSet(
1266 grammarAccess.getVLSBinaryAccess().getVLSImpliesLeftAction_1_0_0_1_0(),
1267 $current);
1268 }
1269 )
1270 otherlv_4='=>'
1271 {
1272 newLeafNode(otherlv_4, grammarAccess.getVLSBinaryAccess().getEqualsSignGreaterThanSignKeyword_1_0_0_1_1());
1273 }
1274 )
1275 |
1276 (
1277 (
1278 {
1279 $current = forceCreateModelElementAndSet(
1280 grammarAccess.getVLSBinaryAccess().getVLSRevImpliesLeftAction_1_0_0_2_0(),
1281 $current);
1282 }
1283 )
1284 otherlv_6='<='
1285 {
1286 newLeafNode(otherlv_6, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignKeyword_1_0_0_2_1());
1287 }
1288 )
1289 |
1290 (
1291 (
1292 {
1293 $current = forceCreateModelElementAndSet(
1294 grammarAccess.getVLSBinaryAccess().getVLSXnorLeftAction_1_0_0_3_0(),
1295 $current);
1296 }
1297 )
1298 otherlv_8='<~>'
1299 {
1300 newLeafNode(otherlv_8, grammarAccess.getVLSBinaryAccess().getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1());
1301 }
1302 )
1303 |
1304 (
1305 (
1306 {
1307 $current = forceCreateModelElementAndSet(
1308 grammarAccess.getVLSBinaryAccess().getVLSNorLeftAction_1_0_0_4_0(),
1309 $current);
1310 }
1311 )
1312 otherlv_10='~|'
1313 {
1314 newLeafNode(otherlv_10, grammarAccess.getVLSBinaryAccess().getTildeVerticalLineKeyword_1_0_0_4_1());
1315 }
1316 )
1317 |
1318 (
1319 (
1320 {
1321 $current = forceCreateModelElementAndSet(
1322 grammarAccess.getVLSBinaryAccess().getVLSNandLeftAction_1_0_0_5_0(),
1323 $current);
1324 }
1325 )
1326 otherlv_12='~&'
1327 {
1328 newLeafNode(otherlv_12, grammarAccess.getVLSBinaryAccess().getTildeAmpersandKeyword_1_0_0_5_1());
1329 }
1330 )
1331 )
1332 (
1333 (
1334 {
1335 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0());
1336 }
1337 lv_right_13_0=ruleVLSUnitaryFormula
1338 {
1339 if ($current==null) {
1340 $current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
1341 }
1342 set(
1343 $current,
1344 "right",
1345 lv_right_13_0,
1346 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1347 afterParserOrEnumRuleCall();
1348 }
1349 )
1350 )
1351 )
1352 |
1353 (
1354 (
1355 {
1356 $current = forceCreateModelElementAndSet(
1357 grammarAccess.getVLSBinaryAccess().getVLSAndLeftAction_1_1_0(),
1358 $current);
1359 }
1360 )
1361 otherlv_15='&'
1362 {
1363 newLeafNode(otherlv_15, grammarAccess.getVLSBinaryAccess().getAmpersandKeyword_1_1_1());
1364 }
1365 (
1366 (
1367 {
1368 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0());
1369 }
1370 lv_right_16_0=ruleVLSUnitaryFormula
1371 {
1372 if ($current==null) {
1373 $current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
1374 }
1375 set(
1376 $current,
1377 "right",
1378 lv_right_16_0,
1379 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1380 afterParserOrEnumRuleCall();
1381 }
1382 )
1383 )
1384 )+
1385 |
1386 (
1387 (
1388 {
1389 $current = forceCreateModelElementAndSet(
1390 grammarAccess.getVLSBinaryAccess().getVLSOrLeftAction_1_2_0(),
1391 $current);
1392 }
1393 )
1394 otherlv_18='|'
1395 {
1396 newLeafNode(otherlv_18, grammarAccess.getVLSBinaryAccess().getVerticalLineKeyword_1_2_1());
1397 }
1398 (
1399 (
1400 {
1401 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0());
1402 }
1403 lv_right_19_0=ruleVLSUnitaryFormula
1404 {
1405 if ($current==null) {
1406 $current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
1407 }
1408 set(
1409 $current,
1410 "right",
1411 lv_right_19_0,
1412 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1413 afterParserOrEnumRuleCall();
1414 }
1415 )
1416 )
1417 )+
1418 )?
1419 )
1420;
1421
1422// Entry rule entryRuleVLSUnitaryFormula
1423entryRuleVLSUnitaryFormula returns [EObject current=null]:
1424 { newCompositeNode(grammarAccess.getVLSUnitaryFormulaRule()); }
1425 iv_ruleVLSUnitaryFormula=ruleVLSUnitaryFormula
1426 { $current=$iv_ruleVLSUnitaryFormula.current; }
1427 EOF;
1428
1429// Rule VLSUnitaryFormula
1430ruleVLSUnitaryFormula returns [EObject current=null]
1431@init {
1432 enterRule();
1433}
1434@after {
1435 leaveRule();
1436}:
1437 (
1438 {
1439 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUniversalQuantifierParserRuleCall_0());
1440 }
1441 this_VLSUniversalQuantifier_0=ruleVLSUniversalQuantifier
1442 {
1443 $current = $this_VLSUniversalQuantifier_0.current;
1444 afterParserOrEnumRuleCall();
1445 }
1446 |
1447 {
1448 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSExistentialQuantifierParserRuleCall_1());
1449 }
1450 this_VLSExistentialQuantifier_1=ruleVLSExistentialQuantifier
1451 {
1452 $current = $this_VLSExistentialQuantifier_1.current;
1453 afterParserOrEnumRuleCall();
1454 }
1455 |
1456 {
1457 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryNegationParserRuleCall_2());
1458 }
1459 this_VLSUnaryNegation_2=ruleVLSUnaryNegation
1460 {
1461 $current = $this_VLSUnaryNegation_2.current;
1462 afterParserOrEnumRuleCall();
1463 }
1464 |
1465 {
1466 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryInfixParserRuleCall_3());
1467 }
1468 this_VLSUnaryInfix_3=ruleVLSUnaryInfix
1469 {
1470 $current = $this_VLSUnaryInfix_3.current;
1471 afterParserOrEnumRuleCall();
1472 }
1473 |
1474 (
1475 otherlv_4='('
1476 {
1477 newLeafNode(otherlv_4, grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0());
1478 }
1479 {
1480 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSTermParserRuleCall_4_1());
1481 }
1482 this_VLSTerm_5=ruleVLSTerm
1483 {
1484 $current = $this_VLSTerm_5.current;
1485 afterParserOrEnumRuleCall();
1486 }
1487 otherlv_6=')'
1488 {
1489 newLeafNode(otherlv_6, grammarAccess.getVLSUnitaryFormulaAccess().getRightParenthesisKeyword_4_2());
1490 }
1491 )
1492 )
1493;
1494
1495// Entry rule entryRuleVLSUniversalQuantifier
1496entryRuleVLSUniversalQuantifier returns [EObject current=null]:
1497 { newCompositeNode(grammarAccess.getVLSUniversalQuantifierRule()); }
1498 iv_ruleVLSUniversalQuantifier=ruleVLSUniversalQuantifier
1499 { $current=$iv_ruleVLSUniversalQuantifier.current; }
1500 EOF;
1501
1502// Rule VLSUniversalQuantifier
1503ruleVLSUniversalQuantifier returns [EObject current=null]
1504@init {
1505 enterRule();
1506}
1507@after {
1508 leaveRule();
1509}:
1510 (
1511 (
1512 {
1513 $current = forceCreateModelElement(
1514 grammarAccess.getVLSUniversalQuantifierAccess().getVLSUniversalQuantifierAction_0(),
1515 $current);
1516 }
1517 )
1518 (
1519 otherlv_1='!'
1520 {
1521 newLeafNode(otherlv_1, grammarAccess.getVLSUniversalQuantifierAccess().getExclamationMarkKeyword_1_0());
1522 }
1523 otherlv_2='['
1524 {
1525 newLeafNode(otherlv_2, grammarAccess.getVLSUniversalQuantifierAccess().getLeftSquareBracketKeyword_1_1());
1526 }
1527 (
1528 (
1529 {
1530 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
1531 }
1532 lv_variables_3_0=ruleVLSVariable
1533 {
1534 if ($current==null) {
1535 $current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
1536 }
1537 add(
1538 $current,
1539 "variables",
1540 lv_variables_3_0,
1541 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
1542 afterParserOrEnumRuleCall();
1543 }
1544 )
1545 )
1546 (
1547 otherlv_4=','
1548 {
1549 newLeafNode(otherlv_4, grammarAccess.getVLSUniversalQuantifierAccess().getCommaKeyword_1_3_0());
1550 }
1551 (
1552 (
1553 {
1554 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
1555 }
1556 lv_variables_5_0=ruleVLSVariable
1557 {
1558 if ($current==null) {
1559 $current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
1560 }
1561 add(
1562 $current,
1563 "variables",
1564 lv_variables_5_0,
1565 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
1566 afterParserOrEnumRuleCall();
1567 }
1568 )
1569 )
1570 )*
1571 otherlv_6=']'
1572 {
1573 newLeafNode(otherlv_6, grammarAccess.getVLSUniversalQuantifierAccess().getRightSquareBracketKeyword_1_4());
1574 }
1575 otherlv_7=':'
1576 {
1577 newLeafNode(otherlv_7, grammarAccess.getVLSUniversalQuantifierAccess().getColonKeyword_1_5());
1578 }
1579 )
1580 (
1581 (
1582 {
1583 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
1584 }
1585 lv_operand_8_0=ruleVLSUnitaryFormula
1586 {
1587 if ($current==null) {
1588 $current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
1589 }
1590 set(
1591 $current,
1592 "operand",
1593 lv_operand_8_0,
1594 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1595 afterParserOrEnumRuleCall();
1596 }
1597 )
1598 )
1599 )
1600;
1601
1602// Entry rule entryRuleVLSExistentialQuantifier
1603entryRuleVLSExistentialQuantifier returns [EObject current=null]:
1604 { newCompositeNode(grammarAccess.getVLSExistentialQuantifierRule()); }
1605 iv_ruleVLSExistentialQuantifier=ruleVLSExistentialQuantifier
1606 { $current=$iv_ruleVLSExistentialQuantifier.current; }
1607 EOF;
1608
1609// Rule VLSExistentialQuantifier
1610ruleVLSExistentialQuantifier returns [EObject current=null]
1611@init {
1612 enterRule();
1613}
1614@after {
1615 leaveRule();
1616}:
1617 (
1618 (
1619 {
1620 $current = forceCreateModelElement(
1621 grammarAccess.getVLSExistentialQuantifierAccess().getVLSExistentialQuantifierAction_0(),
1622 $current);
1623 }
1624 )
1625 (
1626 otherlv_1='?'
1627 {
1628 newLeafNode(otherlv_1, grammarAccess.getVLSExistentialQuantifierAccess().getQuestionMarkKeyword_1_0());
1629 }
1630 otherlv_2='['
1631 {
1632 newLeafNode(otherlv_2, grammarAccess.getVLSExistentialQuantifierAccess().getLeftSquareBracketKeyword_1_1());
1633 }
1634 (
1635 (
1636 {
1637 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
1638 }
1639 lv_variables_3_0=ruleVLSVariable
1640 {
1641 if ($current==null) {
1642 $current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
1643 }
1644 add(
1645 $current,
1646 "variables",
1647 lv_variables_3_0,
1648 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
1649 afterParserOrEnumRuleCall();
1650 }
1651 )
1652 )
1653 (
1654 otherlv_4=','
1655 {
1656 newLeafNode(otherlv_4, grammarAccess.getVLSExistentialQuantifierAccess().getCommaKeyword_1_3_0());
1657 }
1658 (
1659 (
1660 {
1661 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
1662 }
1663 lv_variables_5_0=ruleVLSVariable
1664 {
1665 if ($current==null) {
1666 $current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
1667 }
1668 add(
1669 $current,
1670 "variables",
1671 lv_variables_5_0,
1672 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
1673 afterParserOrEnumRuleCall();
1674 }
1675 )
1676 )
1677 )*
1678 otherlv_6=']'
1679 {
1680 newLeafNode(otherlv_6, grammarAccess.getVLSExistentialQuantifierAccess().getRightSquareBracketKeyword_1_4());
1681 }
1682 otherlv_7=':'
1683 {
1684 newLeafNode(otherlv_7, grammarAccess.getVLSExistentialQuantifierAccess().getColonKeyword_1_5());
1685 }
1686 )
1687 (
1688 (
1689 {
1690 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
1691 }
1692 lv_operand_8_0=ruleVLSUnitaryFormula
1693 {
1694 if ($current==null) {
1695 $current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
1696 }
1697 set(
1698 $current,
1699 "operand",
1700 lv_operand_8_0,
1701 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1702 afterParserOrEnumRuleCall();
1703 }
1704 )
1705 )
1706 )
1707;
1708
1709// Entry rule entryRuleVLSUnaryNegation
1710entryRuleVLSUnaryNegation returns [EObject current=null]:
1711 { newCompositeNode(grammarAccess.getVLSUnaryNegationRule()); }
1712 iv_ruleVLSUnaryNegation=ruleVLSUnaryNegation
1713 { $current=$iv_ruleVLSUnaryNegation.current; }
1714 EOF;
1715
1716// Rule VLSUnaryNegation
1717ruleVLSUnaryNegation returns [EObject current=null]
1718@init {
1719 enterRule();
1720}
1721@after {
1722 leaveRule();
1723}:
1724 (
1725 (
1726 {
1727 $current = forceCreateModelElement(
1728 grammarAccess.getVLSUnaryNegationAccess().getVLSUnaryNegationAction_0(),
1729 $current);
1730 }
1731 )
1732 otherlv_1='~'
1733 {
1734 newLeafNode(otherlv_1, grammarAccess.getVLSUnaryNegationAccess().getTildeKeyword_1());
1735 }
1736 (
1737 (
1738 {
1739 newCompositeNode(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
1740 }
1741 lv_operand_2_0=ruleVLSUnitaryFormula
1742 {
1743 if ($current==null) {
1744 $current = createModelElementForParent(grammarAccess.getVLSUnaryNegationRule());
1745 }
1746 set(
1747 $current,
1748 "operand",
1749 lv_operand_2_0,
1750 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
1751 afterParserOrEnumRuleCall();
1752 }
1753 )
1754 )
1755 )
1756;
1757
1758// Entry rule entryRuleVLSUnaryInfix
1759entryRuleVLSUnaryInfix returns [EObject current=null]:
1760 { newCompositeNode(grammarAccess.getVLSUnaryInfixRule()); }
1761 iv_ruleVLSUnaryInfix=ruleVLSUnaryInfix
1762 { $current=$iv_ruleVLSUnaryInfix.current; }
1763 EOF;
1764
1765// Rule VLSUnaryInfix
1766ruleVLSUnaryInfix returns [EObject current=null]
1767@init {
1768 enterRule();
1769}
1770@after {
1771 leaveRule();
1772}:
1773 (
1774 {
1775 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getVLSAtomicParserRuleCall_0());
1776 }
1777 this_VLSAtomic_0=ruleVLSAtomic
1778 {
1779 $current = $this_VLSAtomic_0.current;
1780 afterParserOrEnumRuleCall();
1781 }
1782 (
1783 (
1784 (
1785 (
1786 {
1787 $current = forceCreateModelElementAndSet(
1788 grammarAccess.getVLSUnaryInfixAccess().getVLSInequalityLeftAction_1_0_0_0(),
1789 $current);
1790 }
1791 )
1792 otherlv_2='!='
1793 {
1794 newLeafNode(otherlv_2, grammarAccess.getVLSUnaryInfixAccess().getExclamationMarkEqualsSignKeyword_1_0_0_1());
1795 }
1796 )
1797 |
1798 (
1799 (
1800 {
1801 $current = forceCreateModelElementAndSet(
1802 grammarAccess.getVLSUnaryInfixAccess().getVLSEqualityLeftAction_1_0_1_0(),
1803 $current);
1804 }
1805 )
1806 otherlv_4='='
1807 {
1808 newLeafNode(otherlv_4, grammarAccess.getVLSUnaryInfixAccess().getEqualsSignKeyword_1_0_1_1());
1809 }
1810 )
1811 |
1812 (
1813 (
1814 {
1815 $current = forceCreateModelElementAndSet(
1816 grammarAccess.getVLSUnaryInfixAccess().getVLSAssignmentLeftAction_1_0_2_0(),
1817 $current);
1818 }
1819 )
1820 otherlv_6=':='
1821 {
1822 newLeafNode(otherlv_6, grammarAccess.getVLSUnaryInfixAccess().getColonEqualsSignKeyword_1_0_2_1());
1823 }
1824 )
1825 )
1826 (
1827 (
1828 {
1829 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0());
1830 }
1831 lv_right_7_0=ruleVLSAtomic
1832 {
1833 if ($current==null) {
1834 $current = createModelElementForParent(grammarAccess.getVLSUnaryInfixRule());
1835 }
1836 set(
1837 $current,
1838 "right",
1839 lv_right_7_0,
1840 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAtomic");
1841 afterParserOrEnumRuleCall();
1842 }
1843 )
1844 )
1845 )?
1846 )
1847;
1848
1849// Entry rule entryRuleVLSAtomic
1850entryRuleVLSAtomic returns [EObject current=null]:
1851 { newCompositeNode(grammarAccess.getVLSAtomicRule()); }
1852 iv_ruleVLSAtomic=ruleVLSAtomic
1853 { $current=$iv_ruleVLSAtomic.current; }
1854 EOF;
1855
1856// Rule VLSAtomic
1857ruleVLSAtomic returns [EObject current=null]
1858@init {
1859 enterRule();
1860}
1861@after {
1862 leaveRule();
1863}:
1864 (
1865 {
1866 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicConstantParserRuleCall_0());
1867 }
1868 this_VLSAtomicConstant_0=ruleVLSAtomicConstant
1869 {
1870 $current = $this_VLSAtomicConstant_0.current;
1871 afterParserOrEnumRuleCall();
1872 }
1873 |
1874 {
1875 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicFunctionParserRuleCall_1());
1876 }
1877 this_VLSAtomicFunction_1=ruleVLSAtomicFunction
1878 {
1879 $current = $this_VLSAtomicFunction_1.current;
1880 afterParserOrEnumRuleCall();
1881 }
1882 |
1883 {
1884 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSVariableParserRuleCall_2());
1885 }
1886 this_VLSVariable_2=ruleVLSVariable
1887 {
1888 $current = $this_VLSVariable_2.current;
1889 afterParserOrEnumRuleCall();
1890 }
1891 |
1892 {
1893 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSDefinedTermParserRuleCall_3());
1894 }
1895 this_VLSDefinedTerm_3=ruleVLSDefinedTerm
1896 {
1897 $current = $this_VLSDefinedTerm_3.current;
1898 afterParserOrEnumRuleCall();
1899 }
1900 )
1901;
1902
1903// Entry rule entryRuleVLSAtomicConstant
1904entryRuleVLSAtomicConstant returns [EObject current=null]:
1905 { newCompositeNode(grammarAccess.getVLSAtomicConstantRule()); }
1906 iv_ruleVLSAtomicConstant=ruleVLSAtomicConstant
1907 { $current=$iv_ruleVLSAtomicConstant.current; }
1908 EOF;
1909
1910// Rule VLSAtomicConstant
1911ruleVLSAtomicConstant returns [EObject current=null]
1912@init {
1913 enterRule();
1914}
1915@after {
1916 leaveRule();
1917}:
1918 (
1919 (
1920 (
1921 {
1922 $current = forceCreateModelElement(
1923 grammarAccess.getVLSAtomicConstantAccess().getVLSConstantAction_0_0(),
1924 $current);
1925 }
1926 )
1927 (
1928 (
1929 (
1930 lv_name_1_1=RULE_LOWER_WORD_ID
1931 {
1932 newLeafNode(lv_name_1_1, grammarAccess.getVLSAtomicConstantAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
1933 }
1934 {
1935 if ($current==null) {
1936 $current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
1937 }
1938 setWithLastConsumed(
1939 $current,
1940 "name",
1941 lv_name_1_1,
1942 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
1943 }
1944 |
1945 lv_name_1_2=RULE_SINGLE_QUOTE
1946 {
1947 newLeafNode(lv_name_1_2, grammarAccess.getVLSAtomicConstantAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1_0_1());
1948 }
1949 {
1950 if ($current==null) {
1951 $current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
1952 }
1953 setWithLastConsumed(
1954 $current,
1955 "name",
1956 lv_name_1_2,
1957 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
1958 }
1959 |
1960 lv_name_1_3=RULE_DOLLAR_ID
1961 {
1962 newLeafNode(lv_name_1_3, grammarAccess.getVLSAtomicConstantAccess().getNameDOLLAR_IDTerminalRuleCall_0_1_0_2());
1963 }
1964 {
1965 if ($current==null) {
1966 $current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
1967 }
1968 setWithLastConsumed(
1969 $current,
1970 "name",
1971 lv_name_1_3,
1972 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
1973 }
1974 |
1975 lv_name_1_4=RULE_DOUBLE_DOLLAR_ID
1976 {
1977 newLeafNode(lv_name_1_4, grammarAccess.getVLSAtomicConstantAccess().getNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
1978 }
1979 {
1980 if ($current==null) {
1981 $current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
1982 }
1983 setWithLastConsumed(
1984 $current,
1985 "name",
1986 lv_name_1_4,
1987 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
1988 }
1989 |
1990 {
1991 newCompositeNode(grammarAccess.getVLSAtomicConstantAccess().getNameVLSRoleParserRuleCall_0_1_0_4());
1992 }
1993 lv_name_1_5=ruleVLSRole
1994 {
1995 if ($current==null) {
1996 $current = createModelElementForParent(grammarAccess.getVLSAtomicConstantRule());
1997 }
1998 set(
1999 $current,
2000 "name",
2001 lv_name_1_5,
2002 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
2003 afterParserOrEnumRuleCall();
2004 }
2005 )
2006 )
2007 )
2008 )
2009 |
2010 (
2011 (
2012 {
2013 $current = forceCreateModelElement(
2014 grammarAccess.getVLSAtomicConstantAccess().getVLSTrueAction_1_0(),
2015 $current);
2016 }
2017 )
2018 otherlv_3='$true'
2019 {
2020 newLeafNode(otherlv_3, grammarAccess.getVLSAtomicConstantAccess().getTrueKeyword_1_1());
2021 }
2022 )
2023 |
2024 (
2025 (
2026 {
2027 $current = forceCreateModelElement(
2028 grammarAccess.getVLSAtomicConstantAccess().getVLSFalseAction_2_0(),
2029 $current);
2030 }
2031 )
2032 otherlv_5='$false'
2033 {
2034 newLeafNode(otherlv_5, grammarAccess.getVLSAtomicConstantAccess().getFalseKeyword_2_1());
2035 }
2036 )
2037 )
2038;
2039
2040// Entry rule entryRuleVLSAtomicFunction
2041entryRuleVLSAtomicFunction returns [EObject current=null]:
2042 { newCompositeNode(grammarAccess.getVLSAtomicFunctionRule()); }
2043 iv_ruleVLSAtomicFunction=ruleVLSAtomicFunction
2044 { $current=$iv_ruleVLSAtomicFunction.current; }
2045 EOF;
2046
2047// Rule VLSAtomicFunction
2048ruleVLSAtomicFunction returns [EObject current=null]
2049@init {
2050 enterRule();
2051}
2052@after {
2053 leaveRule();
2054}:
2055 (
2056 (
2057 (
2058 {
2059 $current = forceCreateModelElement(
2060 grammarAccess.getVLSAtomicFunctionAccess().getVLSFunctionAction_0_0(),
2061 $current);
2062 }
2063 )
2064 (
2065 (
2066 (
2067 lv_constant_1_1=RULE_LOWER_WORD_ID
2068 {
2069 newLeafNode(lv_constant_1_1, grammarAccess.getVLSAtomicFunctionAccess().getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
2070 }
2071 {
2072 if ($current==null) {
2073 $current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
2074 }
2075 setWithLastConsumed(
2076 $current,
2077 "constant",
2078 lv_constant_1_1,
2079 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
2080 }
2081 |
2082 lv_constant_1_2=RULE_SINGLE_QUOTE
2083 {
2084 newLeafNode(lv_constant_1_2, grammarAccess.getVLSAtomicFunctionAccess().getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1());
2085 }
2086 {
2087 if ($current==null) {
2088 $current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
2089 }
2090 setWithLastConsumed(
2091 $current,
2092 "constant",
2093 lv_constant_1_2,
2094 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
2095 }
2096 |
2097 lv_constant_1_3=RULE_DOLLAR_ID
2098 {
2099 newLeafNode(lv_constant_1_3, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2());
2100 }
2101 {
2102 if ($current==null) {
2103 $current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
2104 }
2105 setWithLastConsumed(
2106 $current,
2107 "constant",
2108 lv_constant_1_3,
2109 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
2110 }
2111 |
2112 lv_constant_1_4=RULE_DOUBLE_DOLLAR_ID
2113 {
2114 newLeafNode(lv_constant_1_4, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
2115 }
2116 {
2117 if ($current==null) {
2118 $current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
2119 }
2120 setWithLastConsumed(
2121 $current,
2122 "constant",
2123 lv_constant_1_4,
2124 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
2125 }
2126 |
2127 {
2128 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getConstantVLSRoleParserRuleCall_0_1_0_4());
2129 }
2130 lv_constant_1_5=ruleVLSRole
2131 {
2132 if ($current==null) {
2133 $current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
2134 }
2135 set(
2136 $current,
2137 "constant",
2138 lv_constant_1_5,
2139 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
2140 afterParserOrEnumRuleCall();
2141 }
2142 )
2143 )
2144 )
2145 (
2146 otherlv_2='('
2147 {
2148 newLeafNode(otherlv_2, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_0_2_0());
2149 }
2150 (
2151 (
2152 {
2153 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_1_0());
2154 }
2155 lv_terms_3_0=ruleVLSFofTerm
2156 {
2157 if ($current==null) {
2158 $current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
2159 }
2160 add(
2161 $current,
2162 "terms",
2163 lv_terms_3_0,
2164 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2165 afterParserOrEnumRuleCall();
2166 }
2167 )
2168 )
2169 (
2170 otherlv_4=','
2171 {
2172 newLeafNode(otherlv_4, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_0_2_2_0());
2173 }
2174 (
2175 (
2176 {
2177 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_2_1_0());
2178 }
2179 lv_terms_5_0=ruleVLSFofTerm
2180 {
2181 if ($current==null) {
2182 $current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
2183 }
2184 add(
2185 $current,
2186 "terms",
2187 lv_terms_5_0,
2188 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2189 afterParserOrEnumRuleCall();
2190 }
2191 )
2192 )
2193 )*
2194 otherlv_6=')'
2195 {
2196 newLeafNode(otherlv_6, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_0_2_3());
2197 }
2198 )
2199 )
2200 |
2201 (
2202 (
2203 {
2204 $current = forceCreateModelElement(
2205 grammarAccess.getVLSAtomicFunctionAccess().getVLSLessAction_1_0(),
2206 $current);
2207 }
2208 )
2209 (
2210 (
2211 lv_name_8_0='$less'
2212 {
2213 newLeafNode(lv_name_8_0, grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0());
2214 }
2215 {
2216 if ($current==null) {
2217 $current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
2218 }
2219 setWithLastConsumed($current, "name", lv_name_8_0, "\$less");
2220 }
2221 )
2222 )
2223 otherlv_9='('
2224 {
2225 newLeafNode(otherlv_9, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_1_2());
2226 }
2227 (
2228 (
2229 {
2230 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_3_0());
2231 }
2232 lv_terms_10_0=ruleVLSFofTerm
2233 {
2234 if ($current==null) {
2235 $current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
2236 }
2237 add(
2238 $current,
2239 "terms",
2240 lv_terms_10_0,
2241 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2242 afterParserOrEnumRuleCall();
2243 }
2244 )
2245 )
2246 otherlv_11=','
2247 {
2248 newLeafNode(otherlv_11, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_1_4());
2249 }
2250 (
2251 (
2252 {
2253 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_5_0());
2254 }
2255 lv_terms_12_0=ruleVLSFofTerm
2256 {
2257 if ($current==null) {
2258 $current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
2259 }
2260 add(
2261 $current,
2262 "terms",
2263 lv_terms_12_0,
2264 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2265 afterParserOrEnumRuleCall();
2266 }
2267 )
2268 )
2269 otherlv_13=')'
2270 {
2271 newLeafNode(otherlv_13, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_1_6());
2272 }
2273 )
2274 )
2275;
2276
2277// Entry rule entryRuleVLSVariable
2278entryRuleVLSVariable returns [EObject current=null]:
2279 { newCompositeNode(grammarAccess.getVLSVariableRule()); }
2280 iv_ruleVLSVariable=ruleVLSVariable
2281 { $current=$iv_ruleVLSVariable.current; }
2282 EOF;
2283
2284// Rule VLSVariable
2285ruleVLSVariable returns [EObject current=null]
2286@init {
2287 enterRule();
2288}
2289@after {
2290 leaveRule();
2291}:
2292 (
2293 (
2294 lv_name_0_0=RULE_UPPER_WORD_ID
2295 {
2296 newLeafNode(lv_name_0_0, grammarAccess.getVLSVariableAccess().getNameUPPER_WORD_IDTerminalRuleCall_0());
2297 }
2298 {
2299 if ($current==null) {
2300 $current = createModelElement(grammarAccess.getVLSVariableRule());
2301 }
2302 setWithLastConsumed(
2303 $current,
2304 "name",
2305 lv_name_0_0,
2306 "ca.mcgill.ecse.dslreasoner.VampireLanguage.UPPER_WORD_ID");
2307 }
2308 )
2309 )
2310;
2311
2312// Entry rule entryRuleVLSFofTerm
2313entryRuleVLSFofTerm returns [EObject current=null]:
2314 { newCompositeNode(grammarAccess.getVLSFofTermRule()); }
2315 iv_ruleVLSFofTerm=ruleVLSFofTerm
2316 { $current=$iv_ruleVLSFofTerm.current; }
2317 EOF;
2318
2319// Rule VLSFofTerm
2320ruleVLSFofTerm returns [EObject current=null]
2321@init {
2322 enterRule();
2323}
2324@after {
2325 leaveRule();
2326}:
2327 (
2328 {
2329 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSVariableParserRuleCall_0());
2330 }
2331 this_VLSVariable_0=ruleVLSVariable
2332 {
2333 $current = $this_VLSVariable_0.current;
2334 afterParserOrEnumRuleCall();
2335 }
2336 |
2337 {
2338 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSFunctionFofParserRuleCall_1());
2339 }
2340 this_VLSFunctionFof_1=ruleVLSFunctionFof
2341 {
2342 $current = $this_VLSFunctionFof_1.current;
2343 afterParserOrEnumRuleCall();
2344 }
2345 |
2346 {
2347 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSDefinedTermParserRuleCall_2());
2348 }
2349 this_VLSDefinedTerm_2=ruleVLSDefinedTerm
2350 {
2351 $current = $this_VLSDefinedTerm_2.current;
2352 afterParserOrEnumRuleCall();
2353 }
2354 )
2355;
2356
2357// Entry rule entryRuleVLSFunctionFof
2358entryRuleVLSFunctionFof returns [EObject current=null]:
2359 { newCompositeNode(grammarAccess.getVLSFunctionFofRule()); }
2360 iv_ruleVLSFunctionFof=ruleVLSFunctionFof
2361 { $current=$iv_ruleVLSFunctionFof.current; }
2362 EOF;
2363
2364// Rule VLSFunctionFof
2365ruleVLSFunctionFof returns [EObject current=null]
2366@init {
2367 enterRule();
2368}
2369@after {
2370 leaveRule();
2371}:
2372 (
2373 (
2374 (
2375 (
2376 lv_functor_0_1=RULE_LOWER_WORD_ID
2377 {
2378 newLeafNode(lv_functor_0_1, grammarAccess.getVLSFunctionFofAccess().getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0());
2379 }
2380 {
2381 if ($current==null) {
2382 $current = createModelElement(grammarAccess.getVLSFunctionFofRule());
2383 }
2384 setWithLastConsumed(
2385 $current,
2386 "functor",
2387 lv_functor_0_1,
2388 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
2389 }
2390 |
2391 lv_functor_0_2=RULE_SINGLE_QUOTE
2392 {
2393 newLeafNode(lv_functor_0_2, grammarAccess.getVLSFunctionFofAccess().getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1());
2394 }
2395 {
2396 if ($current==null) {
2397 $current = createModelElement(grammarAccess.getVLSFunctionFofRule());
2398 }
2399 setWithLastConsumed(
2400 $current,
2401 "functor",
2402 lv_functor_0_2,
2403 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
2404 }
2405 |
2406 lv_functor_0_3=RULE_DOLLAR_ID
2407 {
2408 newLeafNode(lv_functor_0_3, grammarAccess.getVLSFunctionFofAccess().getFunctorDOLLAR_IDTerminalRuleCall_0_0_2());
2409 }
2410 {
2411 if ($current==null) {
2412 $current = createModelElement(grammarAccess.getVLSFunctionFofRule());
2413 }
2414 setWithLastConsumed(
2415 $current,
2416 "functor",
2417 lv_functor_0_3,
2418 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
2419 }
2420 |
2421 lv_functor_0_4=RULE_DOUBLE_DOLLAR_ID
2422 {
2423 newLeafNode(lv_functor_0_4, grammarAccess.getVLSFunctionFofAccess().getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3());
2424 }
2425 {
2426 if ($current==null) {
2427 $current = createModelElement(grammarAccess.getVLSFunctionFofRule());
2428 }
2429 setWithLastConsumed(
2430 $current,
2431 "functor",
2432 lv_functor_0_4,
2433 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
2434 }
2435 )
2436 )
2437 )
2438 (
2439 otherlv_1='('
2440 {
2441 newLeafNode(otherlv_1, grammarAccess.getVLSFunctionFofAccess().getLeftParenthesisKeyword_1_0());
2442 }
2443 (
2444 (
2445 {
2446 newCompositeNode(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_1_0());
2447 }
2448 lv_terms_2_0=ruleVLSFofTerm
2449 {
2450 if ($current==null) {
2451 $current = createModelElementForParent(grammarAccess.getVLSFunctionFofRule());
2452 }
2453 add(
2454 $current,
2455 "terms",
2456 lv_terms_2_0,
2457 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2458 afterParserOrEnumRuleCall();
2459 }
2460 )
2461 )
2462 (
2463 otherlv_3=','
2464 {
2465 newLeafNode(otherlv_3, grammarAccess.getVLSFunctionFofAccess().getCommaKeyword_1_2_0());
2466 }
2467 (
2468 (
2469 {
2470 newCompositeNode(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_2_1_0());
2471 }
2472 lv_terms_4_0=ruleVLSFofTerm
2473 {
2474 if ($current==null) {
2475 $current = createModelElementForParent(grammarAccess.getVLSFunctionFofRule());
2476 }
2477 add(
2478 $current,
2479 "terms",
2480 lv_terms_4_0,
2481 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
2482 afterParserOrEnumRuleCall();
2483 }
2484 )
2485 )
2486 )*
2487 otherlv_5=')'
2488 {
2489 newLeafNode(otherlv_5, grammarAccess.getVLSFunctionFofAccess().getRightParenthesisKeyword_1_3());
2490 }
2491 )?
2492 )
2493;
2494
2495// Entry rule entryRuleVLSDefinedTerm
2496entryRuleVLSDefinedTerm returns [EObject current=null]:
2497 { newCompositeNode(grammarAccess.getVLSDefinedTermRule()); }
2498 iv_ruleVLSDefinedTerm=ruleVLSDefinedTerm
2499 { $current=$iv_ruleVLSDefinedTerm.current; }
2500 EOF;
2501
2502// Rule VLSDefinedTerm
2503ruleVLSDefinedTerm returns [EObject current=null]
2504@init {
2505 enterRule();
2506}
2507@after {
2508 leaveRule();
2509}:
2510 (
2511 (
2512 (
2513 {
2514 $current = forceCreateModelElement(
2515 grammarAccess.getVLSDefinedTermAccess().getVLSIntAction_0_0(),
2516 $current);
2517 }
2518 )
2519 (
2520 (
2521 lv_value_1_0=RULE_SIGNED_LITERAL
2522 {
2523 newLeafNode(lv_value_1_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_LITERALTerminalRuleCall_0_1_0());
2524 }
2525 {
2526 if ($current==null) {
2527 $current = createModelElement(grammarAccess.getVLSDefinedTermRule());
2528 }
2529 setWithLastConsumed(
2530 $current,
2531 "value",
2532 lv_value_1_0,
2533 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
2534 }
2535 )
2536 )
2537 )
2538 |
2539 (
2540 (
2541 {
2542 $current = forceCreateModelElement(
2543 grammarAccess.getVLSDefinedTermAccess().getVLSRealAction_1_0(),
2544 $current);
2545 }
2546 )
2547 (
2548 (
2549 lv_value_3_0=RULE_SIGNED_REAL_ID
2550 {
2551 newLeafNode(lv_value_3_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0());
2552 }
2553 {
2554 if ($current==null) {
2555 $current = createModelElement(grammarAccess.getVLSDefinedTermRule());
2556 }
2557 setWithLastConsumed(
2558 $current,
2559 "value",
2560 lv_value_3_0,
2561 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_REAL_ID");
2562 }
2563 )
2564 )
2565 )
2566 |
2567 (
2568 (
2569 {
2570 $current = forceCreateModelElement(
2571 grammarAccess.getVLSDefinedTermAccess().getVLSRationalAction_2_0(),
2572 $current);
2573 }
2574 )
2575 (
2576 (
2577 lv_value_5_0=RULE_SIGNED_RAT_ID
2578 {
2579 newLeafNode(lv_value_5_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0());
2580 }
2581 {
2582 if ($current==null) {
2583 $current = createModelElement(grammarAccess.getVLSDefinedTermRule());
2584 }
2585 setWithLastConsumed(
2586 $current,
2587 "value",
2588 lv_value_5_0,
2589 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_RAT_ID");
2590 }
2591 )
2592 )
2593 )
2594 |
2595 (
2596 (
2597 {
2598 $current = forceCreateModelElement(
2599 grammarAccess.getVLSDefinedTermAccess().getVLSDoubleQuoteAction_3_0(),
2600 $current);
2601 }
2602 )
2603 (
2604 (
2605 lv_value_7_0=RULE_DOUBLE_QUOTE
2606 {
2607 newLeafNode(lv_value_7_0, grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_3_1_0());
2608 }
2609 {
2610 if ($current==null) {
2611 $current = createModelElement(grammarAccess.getVLSDefinedTermRule());
2612 }
2613 setWithLastConsumed(
2614 $current,
2615 "value",
2616 lv_value_7_0,
2617 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_QUOTE");
2618 }
2619 )
2620 )
2621 )
2622 )
2623;
2624
2625fragment RULE_ALPHA_NUMERIC : ('a'..'z'|'A'..'Z'|'0'..'9'|'_');
2626
2627RULE_UPPER_WORD_ID : 'A'..'Z' RULE_ALPHA_NUMERIC*;
2628
2629RULE_LOWER_WORD_ID : 'a'..'z' RULE_ALPHA_NUMERIC*;
2630
2631RULE_DOUBLE_QUOTE : '"' ('\\' ('"'|'\\')|~(('\\'|'"')))* '"';
2632
2633RULE_SINGLE_QUOTE : '\'' ('\\' ('\''|'\\')|~(('\\'|'\'')))+ '\'';
2634
2635fragment RULE_SIGN : ('+'|'-');
2636
2637RULE_DOLLAR_ID : '$' RULE_LOWER_WORD_ID;
2638
2639RULE_DOUBLE_DOLLAR_ID : '$$' RULE_LOWER_WORD_ID;
2640
2641RULE_LITERAL : ('0'|'1'..'9' RULE_INT?);
2642
2643RULE_SIGNED_LITERAL : RULE_SIGN* RULE_LITERAL;
2644
2645fragment RULE_UNSIGNED_REAL_FRAC_ID : RULE_LITERAL '.' RULE_INT;
2646
2647fragment RULE_UNSIGNED_REAL_EXP_ID : (RULE_LITERAL|RULE_UNSIGNED_REAL_FRAC_ID) 'Ee' RULE_SIGN* RULE_INT;
2648
2649RULE_SIGNED_REAL_ID : RULE_SIGN* (RULE_UNSIGNED_REAL_FRAC_ID|RULE_UNSIGNED_REAL_EXP_ID);
2650
2651fragment RULE_UNSIGNED_RAT_ID : RULE_LITERAL '/' '1'..'9' RULE_INT?;
2652
2653RULE_SIGNED_RAT_ID : RULE_SIGN* RULE_UNSIGNED_RAT_ID;
2654
2655fragment RULE_ANY_OTHER : '%' ~(('\n'|'\r'))* '\r';
2656
2657RULE_SINGLE_COMMENT : RULE_ANY_OTHER;
2658
2659RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
2660
2661fragment RULE_INT : ('0'..'9')+;
2662
2663RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
2664
2665RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
2666
2667RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?;
2668
2669RULE_WS : (' '|'\t'|'\r'|'\n')+;
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.tokens b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.tokens
new file mode 100644
index 00000000..9a2d1db3
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguage.tokens
@@ -0,0 +1,107 @@
1'!'=59
2'!='=63
3'$false'=67
4'$less'=68
5'$true'=66
6'&'=57
7'('=32
8')'=33
9','=29
10',['=28
11'.'=34
12':'=60
13':='=65
14'<='=53
15'<=>'=51
16'<~>'=54
17'='=64
18'=>'=52
19'?'=61
20'['=50
21']'=30
22'assumption'=39
23'axiom'=35
24'conjecture'=36
25'corollary'=42
26'definition'=38
27'fi_domain'=46
28'fi_functors'=47
29'fi_predicates'=48
30'fof'=31
31'hypothesis'=37
32'include('=27
33'lemma'=40
34'negated_conjecture'=43
35'plain'=44
36'theorem'=41
37'type'=45
38'unknown'=49
39'|'=58
40'~&'=56
41'~'=62
42'~|'=55
43RULE_ALPHA_NUMERIC=15
44RULE_ANY_OTHER=21
45RULE_DOLLAR_ID=9
46RULE_DOUBLE_DOLLAR_ID=10
47RULE_DOUBLE_QUOTE=14
48RULE_ID=22
49RULE_INT=17
50RULE_LITERAL=6
51RULE_LOWER_WORD_ID=5
52RULE_ML_COMMENT=24
53RULE_SIGN=16
54RULE_SIGNED_LITERAL=7
55RULE_SIGNED_RAT_ID=13
56RULE_SIGNED_REAL_ID=12
57RULE_SINGLE_COMMENT=8
58RULE_SINGLE_QUOTE=4
59RULE_SL_COMMENT=25
60RULE_STRING=23
61RULE_UNSIGNED_RAT_ID=20
62RULE_UNSIGNED_REAL_EXP_ID=19
63RULE_UNSIGNED_REAL_FRAC_ID=18
64RULE_UPPER_WORD_ID=11
65RULE_WS=26
66T__27=27
67T__28=28
68T__29=29
69T__30=30
70T__31=31
71T__32=32
72T__33=33
73T__34=34
74T__35=35
75T__36=36
76T__37=37
77T__38=38
78T__39=39
79T__40=40
80T__41=41
81T__42=42
82T__43=43
83T__44=44
84T__45=45
85T__46=46
86T__47=47
87T__48=48
88T__49=49
89T__50=50
90T__51=51
91T__52=52
92T__53=53
93T__54=54
94T__55=55
95T__56=56
96T__57=57
97T__58=58
98T__59=59
99T__60=60
100T__61=61
101T__62=62
102T__63=63
103T__64=64
104T__65=65
105T__66=66
106T__67=67
107T__68=68
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageLexer.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageLexer.java
new file mode 100644
index 00000000..ae4174b6
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageLexer.java
@@ -0,0 +1,3100 @@
1package ca.mcgill.ecse.dslreasoner.parser.antlr.internal;
2
3// Hack: Use our own Lexer superclass by means of import.
4// Currently there is no other way to specify the superclass for the lexer.
5import org.eclipse.xtext.parser.antlr.Lexer;
6
7
8import org.antlr.runtime.*;
9import java.util.Stack;
10import java.util.List;
11import java.util.ArrayList;
12
13@SuppressWarnings("all")
14public class InternalVampireLanguageLexer extends Lexer {
15 public static final int RULE_UNSIGNED_RAT_ID=20;
16 public static final int T__50=50;
17 public static final int RULE_SIGN=16;
18 public static final int T__59=59;
19 public static final int RULE_SIGNED_LITERAL=7;
20 public static final int T__55=55;
21 public static final int T__56=56;
22 public static final int T__57=57;
23 public static final int T__58=58;
24 public static final int T__51=51;
25 public static final int RULE_DOUBLE_QUOTE=14;
26 public static final int T__52=52;
27 public static final int RULE_LITERAL=6;
28 public static final int T__53=53;
29 public static final int RULE_UNSIGNED_REAL_FRAC_ID=18;
30 public static final int T__54=54;
31 public static final int T__60=60;
32 public static final int T__61=61;
33 public static final int RULE_ID=22;
34 public static final int RULE_SINGLE_QUOTE=4;
35 public static final int RULE_SINGLE_COMMENT=8;
36 public static final int T__27=27;
37 public static final int T__28=28;
38 public static final int RULE_INT=17;
39 public static final int T__29=29;
40 public static final int T__66=66;
41 public static final int RULE_ML_COMMENT=24;
42 public static final int T__67=67;
43 public static final int RULE_SIGNED_RAT_ID=13;
44 public static final int T__68=68;
45 public static final int T__62=62;
46 public static final int T__63=63;
47 public static final int T__64=64;
48 public static final int T__65=65;
49 public static final int RULE_LOWER_WORD_ID=5;
50 public static final int RULE_STRING=23;
51 public static final int RULE_SL_COMMENT=25;
52 public static final int T__37=37;
53 public static final int T__38=38;
54 public static final int T__39=39;
55 public static final int T__33=33;
56 public static final int T__34=34;
57 public static final int T__35=35;
58 public static final int T__36=36;
59 public static final int EOF=-1;
60 public static final int T__30=30;
61 public static final int RULE_UNSIGNED_REAL_EXP_ID=19;
62 public static final int T__31=31;
63 public static final int T__32=32;
64 public static final int RULE_UPPER_WORD_ID=11;
65 public static final int RULE_WS=26;
66 public static final int RULE_DOLLAR_ID=9;
67 public static final int RULE_ALPHA_NUMERIC=15;
68 public static final int RULE_ANY_OTHER=21;
69 public static final int RULE_DOUBLE_DOLLAR_ID=10;
70 public static final int T__48=48;
71 public static final int T__49=49;
72 public static final int T__44=44;
73 public static final int T__45=45;
74 public static final int RULE_SIGNED_REAL_ID=12;
75 public static final int T__46=46;
76 public static final int T__47=47;
77 public static final int T__40=40;
78 public static final int T__41=41;
79 public static final int T__42=42;
80 public static final int T__43=43;
81
82 // delegates
83 // delegators
84
85 public InternalVampireLanguageLexer() {;}
86 public InternalVampireLanguageLexer(CharStream input) {
87 this(input, new RecognizerSharedState());
88 }
89 public InternalVampireLanguageLexer(CharStream input, RecognizerSharedState state) {
90 super(input,state);
91
92 }
93 public String getGrammarFileName() { return "InternalVampireLanguage.g"; }
94
95 // $ANTLR start "T__27"
96 public final void mT__27() throws RecognitionException {
97 try {
98 int _type = T__27;
99 int _channel = DEFAULT_TOKEN_CHANNEL;
100 // InternalVampireLanguage.g:11:7: ( 'include(' )
101 // InternalVampireLanguage.g:11:9: 'include('
102 {
103 match("include(");
104
105
106 }
107
108 state.type = _type;
109 state.channel = _channel;
110 }
111 finally {
112 }
113 }
114 // $ANTLR end "T__27"
115
116 // $ANTLR start "T__28"
117 public final void mT__28() throws RecognitionException {
118 try {
119 int _type = T__28;
120 int _channel = DEFAULT_TOKEN_CHANNEL;
121 // InternalVampireLanguage.g:12:7: ( ',[' )
122 // InternalVampireLanguage.g:12:9: ',['
123 {
124 match(",[");
125
126
127 }
128
129 state.type = _type;
130 state.channel = _channel;
131 }
132 finally {
133 }
134 }
135 // $ANTLR end "T__28"
136
137 // $ANTLR start "T__29"
138 public final void mT__29() throws RecognitionException {
139 try {
140 int _type = T__29;
141 int _channel = DEFAULT_TOKEN_CHANNEL;
142 // InternalVampireLanguage.g:13:7: ( ',' )
143 // InternalVampireLanguage.g:13:9: ','
144 {
145 match(',');
146
147 }
148
149 state.type = _type;
150 state.channel = _channel;
151 }
152 finally {
153 }
154 }
155 // $ANTLR end "T__29"
156
157 // $ANTLR start "T__30"
158 public final void mT__30() throws RecognitionException {
159 try {
160 int _type = T__30;
161 int _channel = DEFAULT_TOKEN_CHANNEL;
162 // InternalVampireLanguage.g:14:7: ( ']' )
163 // InternalVampireLanguage.g:14:9: ']'
164 {
165 match(']');
166
167 }
168
169 state.type = _type;
170 state.channel = _channel;
171 }
172 finally {
173 }
174 }
175 // $ANTLR end "T__30"
176
177 // $ANTLR start "T__31"
178 public final void mT__31() throws RecognitionException {
179 try {
180 int _type = T__31;
181 int _channel = DEFAULT_TOKEN_CHANNEL;
182 // InternalVampireLanguage.g:15:7: ( 'fof' )
183 // InternalVampireLanguage.g:15:9: 'fof'
184 {
185 match("fof");
186
187
188 }
189
190 state.type = _type;
191 state.channel = _channel;
192 }
193 finally {
194 }
195 }
196 // $ANTLR end "T__31"
197
198 // $ANTLR start "T__32"
199 public final void mT__32() throws RecognitionException {
200 try {
201 int _type = T__32;
202 int _channel = DEFAULT_TOKEN_CHANNEL;
203 // InternalVampireLanguage.g:16:7: ( '(' )
204 // InternalVampireLanguage.g:16:9: '('
205 {
206 match('(');
207
208 }
209
210 state.type = _type;
211 state.channel = _channel;
212 }
213 finally {
214 }
215 }
216 // $ANTLR end "T__32"
217
218 // $ANTLR start "T__33"
219 public final void mT__33() throws RecognitionException {
220 try {
221 int _type = T__33;
222 int _channel = DEFAULT_TOKEN_CHANNEL;
223 // InternalVampireLanguage.g:17:7: ( ')' )
224 // InternalVampireLanguage.g:17:9: ')'
225 {
226 match(')');
227
228 }
229
230 state.type = _type;
231 state.channel = _channel;
232 }
233 finally {
234 }
235 }
236 // $ANTLR end "T__33"
237
238 // $ANTLR start "T__34"
239 public final void mT__34() throws RecognitionException {
240 try {
241 int _type = T__34;
242 int _channel = DEFAULT_TOKEN_CHANNEL;
243 // InternalVampireLanguage.g:18:7: ( '.' )
244 // InternalVampireLanguage.g:18:9: '.'
245 {
246 match('.');
247
248 }
249
250 state.type = _type;
251 state.channel = _channel;
252 }
253 finally {
254 }
255 }
256 // $ANTLR end "T__34"
257
258 // $ANTLR start "T__35"
259 public final void mT__35() throws RecognitionException {
260 try {
261 int _type = T__35;
262 int _channel = DEFAULT_TOKEN_CHANNEL;
263 // InternalVampireLanguage.g:19:7: ( 'axiom' )
264 // InternalVampireLanguage.g:19:9: 'axiom'
265 {
266 match("axiom");
267
268
269 }
270
271 state.type = _type;
272 state.channel = _channel;
273 }
274 finally {
275 }
276 }
277 // $ANTLR end "T__35"
278
279 // $ANTLR start "T__36"
280 public final void mT__36() throws RecognitionException {
281 try {
282 int _type = T__36;
283 int _channel = DEFAULT_TOKEN_CHANNEL;
284 // InternalVampireLanguage.g:20:7: ( 'conjecture' )
285 // InternalVampireLanguage.g:20:9: 'conjecture'
286 {
287 match("conjecture");
288
289
290 }
291
292 state.type = _type;
293 state.channel = _channel;
294 }
295 finally {
296 }
297 }
298 // $ANTLR end "T__36"
299
300 // $ANTLR start "T__37"
301 public final void mT__37() throws RecognitionException {
302 try {
303 int _type = T__37;
304 int _channel = DEFAULT_TOKEN_CHANNEL;
305 // InternalVampireLanguage.g:21:7: ( 'hypothesis' )
306 // InternalVampireLanguage.g:21:9: 'hypothesis'
307 {
308 match("hypothesis");
309
310
311 }
312
313 state.type = _type;
314 state.channel = _channel;
315 }
316 finally {
317 }
318 }
319 // $ANTLR end "T__37"
320
321 // $ANTLR start "T__38"
322 public final void mT__38() throws RecognitionException {
323 try {
324 int _type = T__38;
325 int _channel = DEFAULT_TOKEN_CHANNEL;
326 // InternalVampireLanguage.g:22:7: ( 'definition' )
327 // InternalVampireLanguage.g:22:9: 'definition'
328 {
329 match("definition");
330
331
332 }
333
334 state.type = _type;
335 state.channel = _channel;
336 }
337 finally {
338 }
339 }
340 // $ANTLR end "T__38"
341
342 // $ANTLR start "T__39"
343 public final void mT__39() throws RecognitionException {
344 try {
345 int _type = T__39;
346 int _channel = DEFAULT_TOKEN_CHANNEL;
347 // InternalVampireLanguage.g:23:7: ( 'assumption' )
348 // InternalVampireLanguage.g:23:9: 'assumption'
349 {
350 match("assumption");
351
352
353 }
354
355 state.type = _type;
356 state.channel = _channel;
357 }
358 finally {
359 }
360 }
361 // $ANTLR end "T__39"
362
363 // $ANTLR start "T__40"
364 public final void mT__40() throws RecognitionException {
365 try {
366 int _type = T__40;
367 int _channel = DEFAULT_TOKEN_CHANNEL;
368 // InternalVampireLanguage.g:24:7: ( 'lemma' )
369 // InternalVampireLanguage.g:24:9: 'lemma'
370 {
371 match("lemma");
372
373
374 }
375
376 state.type = _type;
377 state.channel = _channel;
378 }
379 finally {
380 }
381 }
382 // $ANTLR end "T__40"
383
384 // $ANTLR start "T__41"
385 public final void mT__41() throws RecognitionException {
386 try {
387 int _type = T__41;
388 int _channel = DEFAULT_TOKEN_CHANNEL;
389 // InternalVampireLanguage.g:25:7: ( 'theorem' )
390 // InternalVampireLanguage.g:25:9: 'theorem'
391 {
392 match("theorem");
393
394
395 }
396
397 state.type = _type;
398 state.channel = _channel;
399 }
400 finally {
401 }
402 }
403 // $ANTLR end "T__41"
404
405 // $ANTLR start "T__42"
406 public final void mT__42() throws RecognitionException {
407 try {
408 int _type = T__42;
409 int _channel = DEFAULT_TOKEN_CHANNEL;
410 // InternalVampireLanguage.g:26:7: ( 'corollary' )
411 // InternalVampireLanguage.g:26:9: 'corollary'
412 {
413 match("corollary");
414
415
416 }
417
418 state.type = _type;
419 state.channel = _channel;
420 }
421 finally {
422 }
423 }
424 // $ANTLR end "T__42"
425
426 // $ANTLR start "T__43"
427 public final void mT__43() throws RecognitionException {
428 try {
429 int _type = T__43;
430 int _channel = DEFAULT_TOKEN_CHANNEL;
431 // InternalVampireLanguage.g:27:7: ( 'negated_conjecture' )
432 // InternalVampireLanguage.g:27:9: 'negated_conjecture'
433 {
434 match("negated_conjecture");
435
436
437 }
438
439 state.type = _type;
440 state.channel = _channel;
441 }
442 finally {
443 }
444 }
445 // $ANTLR end "T__43"
446
447 // $ANTLR start "T__44"
448 public final void mT__44() throws RecognitionException {
449 try {
450 int _type = T__44;
451 int _channel = DEFAULT_TOKEN_CHANNEL;
452 // InternalVampireLanguage.g:28:7: ( 'plain' )
453 // InternalVampireLanguage.g:28:9: 'plain'
454 {
455 match("plain");
456
457
458 }
459
460 state.type = _type;
461 state.channel = _channel;
462 }
463 finally {
464 }
465 }
466 // $ANTLR end "T__44"
467
468 // $ANTLR start "T__45"
469 public final void mT__45() throws RecognitionException {
470 try {
471 int _type = T__45;
472 int _channel = DEFAULT_TOKEN_CHANNEL;
473 // InternalVampireLanguage.g:29:7: ( 'type' )
474 // InternalVampireLanguage.g:29:9: 'type'
475 {
476 match("type");
477
478
479 }
480
481 state.type = _type;
482 state.channel = _channel;
483 }
484 finally {
485 }
486 }
487 // $ANTLR end "T__45"
488
489 // $ANTLR start "T__46"
490 public final void mT__46() throws RecognitionException {
491 try {
492 int _type = T__46;
493 int _channel = DEFAULT_TOKEN_CHANNEL;
494 // InternalVampireLanguage.g:30:7: ( 'fi_domain' )
495 // InternalVampireLanguage.g:30:9: 'fi_domain'
496 {
497 match("fi_domain");
498
499
500 }
501
502 state.type = _type;
503 state.channel = _channel;
504 }
505 finally {
506 }
507 }
508 // $ANTLR end "T__46"
509
510 // $ANTLR start "T__47"
511 public final void mT__47() throws RecognitionException {
512 try {
513 int _type = T__47;
514 int _channel = DEFAULT_TOKEN_CHANNEL;
515 // InternalVampireLanguage.g:31:7: ( 'fi_functors' )
516 // InternalVampireLanguage.g:31:9: 'fi_functors'
517 {
518 match("fi_functors");
519
520
521 }
522
523 state.type = _type;
524 state.channel = _channel;
525 }
526 finally {
527 }
528 }
529 // $ANTLR end "T__47"
530
531 // $ANTLR start "T__48"
532 public final void mT__48() throws RecognitionException {
533 try {
534 int _type = T__48;
535 int _channel = DEFAULT_TOKEN_CHANNEL;
536 // InternalVampireLanguage.g:32:7: ( 'fi_predicates' )
537 // InternalVampireLanguage.g:32:9: 'fi_predicates'
538 {
539 match("fi_predicates");
540
541
542 }
543
544 state.type = _type;
545 state.channel = _channel;
546 }
547 finally {
548 }
549 }
550 // $ANTLR end "T__48"
551
552 // $ANTLR start "T__49"
553 public final void mT__49() throws RecognitionException {
554 try {
555 int _type = T__49;
556 int _channel = DEFAULT_TOKEN_CHANNEL;
557 // InternalVampireLanguage.g:33:7: ( 'unknown' )
558 // InternalVampireLanguage.g:33:9: 'unknown'
559 {
560 match("unknown");
561
562
563 }
564
565 state.type = _type;
566 state.channel = _channel;
567 }
568 finally {
569 }
570 }
571 // $ANTLR end "T__49"
572
573 // $ANTLR start "T__50"
574 public final void mT__50() throws RecognitionException {
575 try {
576 int _type = T__50;
577 int _channel = DEFAULT_TOKEN_CHANNEL;
578 // InternalVampireLanguage.g:34:7: ( '[' )
579 // InternalVampireLanguage.g:34:9: '['
580 {
581 match('[');
582
583 }
584
585 state.type = _type;
586 state.channel = _channel;
587 }
588 finally {
589 }
590 }
591 // $ANTLR end "T__50"
592
593 // $ANTLR start "T__51"
594 public final void mT__51() throws RecognitionException {
595 try {
596 int _type = T__51;
597 int _channel = DEFAULT_TOKEN_CHANNEL;
598 // InternalVampireLanguage.g:35:7: ( '<=>' )
599 // InternalVampireLanguage.g:35:9: '<=>'
600 {
601 match("<=>");
602
603
604 }
605
606 state.type = _type;
607 state.channel = _channel;
608 }
609 finally {
610 }
611 }
612 // $ANTLR end "T__51"
613
614 // $ANTLR start "T__52"
615 public final void mT__52() throws RecognitionException {
616 try {
617 int _type = T__52;
618 int _channel = DEFAULT_TOKEN_CHANNEL;
619 // InternalVampireLanguage.g:36:7: ( '=>' )
620 // InternalVampireLanguage.g:36:9: '=>'
621 {
622 match("=>");
623
624
625 }
626
627 state.type = _type;
628 state.channel = _channel;
629 }
630 finally {
631 }
632 }
633 // $ANTLR end "T__52"
634
635 // $ANTLR start "T__53"
636 public final void mT__53() throws RecognitionException {
637 try {
638 int _type = T__53;
639 int _channel = DEFAULT_TOKEN_CHANNEL;
640 // InternalVampireLanguage.g:37:7: ( '<=' )
641 // InternalVampireLanguage.g:37:9: '<='
642 {
643 match("<=");
644
645
646 }
647
648 state.type = _type;
649 state.channel = _channel;
650 }
651 finally {
652 }
653 }
654 // $ANTLR end "T__53"
655
656 // $ANTLR start "T__54"
657 public final void mT__54() throws RecognitionException {
658 try {
659 int _type = T__54;
660 int _channel = DEFAULT_TOKEN_CHANNEL;
661 // InternalVampireLanguage.g:38:7: ( '<~>' )
662 // InternalVampireLanguage.g:38:9: '<~>'
663 {
664 match("<~>");
665
666
667 }
668
669 state.type = _type;
670 state.channel = _channel;
671 }
672 finally {
673 }
674 }
675 // $ANTLR end "T__54"
676
677 // $ANTLR start "T__55"
678 public final void mT__55() throws RecognitionException {
679 try {
680 int _type = T__55;
681 int _channel = DEFAULT_TOKEN_CHANNEL;
682 // InternalVampireLanguage.g:39:7: ( '~|' )
683 // InternalVampireLanguage.g:39:9: '~|'
684 {
685 match("~|");
686
687
688 }
689
690 state.type = _type;
691 state.channel = _channel;
692 }
693 finally {
694 }
695 }
696 // $ANTLR end "T__55"
697
698 // $ANTLR start "T__56"
699 public final void mT__56() throws RecognitionException {
700 try {
701 int _type = T__56;
702 int _channel = DEFAULT_TOKEN_CHANNEL;
703 // InternalVampireLanguage.g:40:7: ( '~&' )
704 // InternalVampireLanguage.g:40:9: '~&'
705 {
706 match("~&");
707
708
709 }
710
711 state.type = _type;
712 state.channel = _channel;
713 }
714 finally {
715 }
716 }
717 // $ANTLR end "T__56"
718
719 // $ANTLR start "T__57"
720 public final void mT__57() throws RecognitionException {
721 try {
722 int _type = T__57;
723 int _channel = DEFAULT_TOKEN_CHANNEL;
724 // InternalVampireLanguage.g:41:7: ( '&' )
725 // InternalVampireLanguage.g:41:9: '&'
726 {
727 match('&');
728
729 }
730
731 state.type = _type;
732 state.channel = _channel;
733 }
734 finally {
735 }
736 }
737 // $ANTLR end "T__57"
738
739 // $ANTLR start "T__58"
740 public final void mT__58() throws RecognitionException {
741 try {
742 int _type = T__58;
743 int _channel = DEFAULT_TOKEN_CHANNEL;
744 // InternalVampireLanguage.g:42:7: ( '|' )
745 // InternalVampireLanguage.g:42:9: '|'
746 {
747 match('|');
748
749 }
750
751 state.type = _type;
752 state.channel = _channel;
753 }
754 finally {
755 }
756 }
757 // $ANTLR end "T__58"
758
759 // $ANTLR start "T__59"
760 public final void mT__59() throws RecognitionException {
761 try {
762 int _type = T__59;
763 int _channel = DEFAULT_TOKEN_CHANNEL;
764 // InternalVampireLanguage.g:43:7: ( '!' )
765 // InternalVampireLanguage.g:43:9: '!'
766 {
767 match('!');
768
769 }
770
771 state.type = _type;
772 state.channel = _channel;
773 }
774 finally {
775 }
776 }
777 // $ANTLR end "T__59"
778
779 // $ANTLR start "T__60"
780 public final void mT__60() throws RecognitionException {
781 try {
782 int _type = T__60;
783 int _channel = DEFAULT_TOKEN_CHANNEL;
784 // InternalVampireLanguage.g:44:7: ( ':' )
785 // InternalVampireLanguage.g:44:9: ':'
786 {
787 match(':');
788
789 }
790
791 state.type = _type;
792 state.channel = _channel;
793 }
794 finally {
795 }
796 }
797 // $ANTLR end "T__60"
798
799 // $ANTLR start "T__61"
800 public final void mT__61() throws RecognitionException {
801 try {
802 int _type = T__61;
803 int _channel = DEFAULT_TOKEN_CHANNEL;
804 // InternalVampireLanguage.g:45:7: ( '?' )
805 // InternalVampireLanguage.g:45:9: '?'
806 {
807 match('?');
808
809 }
810
811 state.type = _type;
812 state.channel = _channel;
813 }
814 finally {
815 }
816 }
817 // $ANTLR end "T__61"
818
819 // $ANTLR start "T__62"
820 public final void mT__62() throws RecognitionException {
821 try {
822 int _type = T__62;
823 int _channel = DEFAULT_TOKEN_CHANNEL;
824 // InternalVampireLanguage.g:46:7: ( '~' )
825 // InternalVampireLanguage.g:46:9: '~'
826 {
827 match('~');
828
829 }
830
831 state.type = _type;
832 state.channel = _channel;
833 }
834 finally {
835 }
836 }
837 // $ANTLR end "T__62"
838
839 // $ANTLR start "T__63"
840 public final void mT__63() throws RecognitionException {
841 try {
842 int _type = T__63;
843 int _channel = DEFAULT_TOKEN_CHANNEL;
844 // InternalVampireLanguage.g:47:7: ( '!=' )
845 // InternalVampireLanguage.g:47:9: '!='
846 {
847 match("!=");
848
849
850 }
851
852 state.type = _type;
853 state.channel = _channel;
854 }
855 finally {
856 }
857 }
858 // $ANTLR end "T__63"
859
860 // $ANTLR start "T__64"
861 public final void mT__64() throws RecognitionException {
862 try {
863 int _type = T__64;
864 int _channel = DEFAULT_TOKEN_CHANNEL;
865 // InternalVampireLanguage.g:48:7: ( '=' )
866 // InternalVampireLanguage.g:48:9: '='
867 {
868 match('=');
869
870 }
871
872 state.type = _type;
873 state.channel = _channel;
874 }
875 finally {
876 }
877 }
878 // $ANTLR end "T__64"
879
880 // $ANTLR start "T__65"
881 public final void mT__65() throws RecognitionException {
882 try {
883 int _type = T__65;
884 int _channel = DEFAULT_TOKEN_CHANNEL;
885 // InternalVampireLanguage.g:49:7: ( ':=' )
886 // InternalVampireLanguage.g:49:9: ':='
887 {
888 match(":=");
889
890
891 }
892
893 state.type = _type;
894 state.channel = _channel;
895 }
896 finally {
897 }
898 }
899 // $ANTLR end "T__65"
900
901 // $ANTLR start "T__66"
902 public final void mT__66() throws RecognitionException {
903 try {
904 int _type = T__66;
905 int _channel = DEFAULT_TOKEN_CHANNEL;
906 // InternalVampireLanguage.g:50:7: ( '$true' )
907 // InternalVampireLanguage.g:50:9: '$true'
908 {
909 match("$true");
910
911
912 }
913
914 state.type = _type;
915 state.channel = _channel;
916 }
917 finally {
918 }
919 }
920 // $ANTLR end "T__66"
921
922 // $ANTLR start "T__67"
923 public final void mT__67() throws RecognitionException {
924 try {
925 int _type = T__67;
926 int _channel = DEFAULT_TOKEN_CHANNEL;
927 // InternalVampireLanguage.g:51:7: ( '$false' )
928 // InternalVampireLanguage.g:51:9: '$false'
929 {
930 match("$false");
931
932
933 }
934
935 state.type = _type;
936 state.channel = _channel;
937 }
938 finally {
939 }
940 }
941 // $ANTLR end "T__67"
942
943 // $ANTLR start "T__68"
944 public final void mT__68() throws RecognitionException {
945 try {
946 int _type = T__68;
947 int _channel = DEFAULT_TOKEN_CHANNEL;
948 // InternalVampireLanguage.g:52:7: ( '$less' )
949 // InternalVampireLanguage.g:52:9: '$less'
950 {
951 match("$less");
952
953
954 }
955
956 state.type = _type;
957 state.channel = _channel;
958 }
959 finally {
960 }
961 }
962 // $ANTLR end "T__68"
963
964 // $ANTLR start "RULE_ALPHA_NUMERIC"
965 public final void mRULE_ALPHA_NUMERIC() throws RecognitionException {
966 try {
967 // InternalVampireLanguage.g:2625:29: ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' ) )
968 // InternalVampireLanguage.g:2625:31: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )
969 {
970 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
971 input.consume();
972
973 }
974 else {
975 MismatchedSetException mse = new MismatchedSetException(null,input);
976 recover(mse);
977 throw mse;}
978
979
980 }
981
982 }
983 finally {
984 }
985 }
986 // $ANTLR end "RULE_ALPHA_NUMERIC"
987
988 // $ANTLR start "RULE_UPPER_WORD_ID"
989 public final void mRULE_UPPER_WORD_ID() throws RecognitionException {
990 try {
991 int _type = RULE_UPPER_WORD_ID;
992 int _channel = DEFAULT_TOKEN_CHANNEL;
993 // InternalVampireLanguage.g:2627:20: ( 'A' .. 'Z' ( RULE_ALPHA_NUMERIC )* )
994 // InternalVampireLanguage.g:2627:22: 'A' .. 'Z' ( RULE_ALPHA_NUMERIC )*
995 {
996 matchRange('A','Z');
997 // InternalVampireLanguage.g:2627:31: ( RULE_ALPHA_NUMERIC )*
998 loop1:
999 do {
1000 int alt1=2;
1001 int LA1_0 = input.LA(1);
1002
1003 if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) {
1004 alt1=1;
1005 }
1006
1007
1008 switch (alt1) {
1009 case 1 :
1010 // InternalVampireLanguage.g:2627:31: RULE_ALPHA_NUMERIC
1011 {
1012 mRULE_ALPHA_NUMERIC();
1013
1014 }
1015 break;
1016
1017 default :
1018 break loop1;
1019 }
1020 } while (true);
1021
1022
1023 }
1024
1025 state.type = _type;
1026 state.channel = _channel;
1027 }
1028 finally {
1029 }
1030 }
1031 // $ANTLR end "RULE_UPPER_WORD_ID"
1032
1033 // $ANTLR start "RULE_LOWER_WORD_ID"
1034 public final void mRULE_LOWER_WORD_ID() throws RecognitionException {
1035 try {
1036 int _type = RULE_LOWER_WORD_ID;
1037 int _channel = DEFAULT_TOKEN_CHANNEL;
1038 // InternalVampireLanguage.g:2629:20: ( 'a' .. 'z' ( RULE_ALPHA_NUMERIC )* )
1039 // InternalVampireLanguage.g:2629:22: 'a' .. 'z' ( RULE_ALPHA_NUMERIC )*
1040 {
1041 matchRange('a','z');
1042 // InternalVampireLanguage.g:2629:31: ( RULE_ALPHA_NUMERIC )*
1043 loop2:
1044 do {
1045 int alt2=2;
1046 int LA2_0 = input.LA(1);
1047
1048 if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
1049 alt2=1;
1050 }
1051
1052
1053 switch (alt2) {
1054 case 1 :
1055 // InternalVampireLanguage.g:2629:31: RULE_ALPHA_NUMERIC
1056 {
1057 mRULE_ALPHA_NUMERIC();
1058
1059 }
1060 break;
1061
1062 default :
1063 break loop2;
1064 }
1065 } while (true);
1066
1067
1068 }
1069
1070 state.type = _type;
1071 state.channel = _channel;
1072 }
1073 finally {
1074 }
1075 }
1076 // $ANTLR end "RULE_LOWER_WORD_ID"
1077
1078 // $ANTLR start "RULE_DOUBLE_QUOTE"
1079 public final void mRULE_DOUBLE_QUOTE() throws RecognitionException {
1080 try {
1081 int _type = RULE_DOUBLE_QUOTE;
1082 int _channel = DEFAULT_TOKEN_CHANNEL;
1083 // InternalVampireLanguage.g:2631:19: ( '\"' ( '\\\\' ( '\"' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
1084 // InternalVampireLanguage.g:2631:21: '\"' ( '\\\\' ( '\"' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1085 {
1086 match('\"');
1087 // InternalVampireLanguage.g:2631:25: ( '\\\\' ( '\"' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
1088 loop3:
1089 do {
1090 int alt3=3;
1091 int LA3_0 = input.LA(1);
1092
1093 if ( (LA3_0=='\\') ) {
1094 alt3=1;
1095 }
1096 else if ( ((LA3_0>='\u0000' && LA3_0<='!')||(LA3_0>='#' && LA3_0<='[')||(LA3_0>=']' && LA3_0<='\uFFFF')) ) {
1097 alt3=2;
1098 }
1099
1100
1101 switch (alt3) {
1102 case 1 :
1103 // InternalVampireLanguage.g:2631:26: '\\\\' ( '\"' | '\\\\' )
1104 {
1105 match('\\');
1106 if ( input.LA(1)=='\"'||input.LA(1)=='\\' ) {
1107 input.consume();
1108
1109 }
1110 else {
1111 MismatchedSetException mse = new MismatchedSetException(null,input);
1112 recover(mse);
1113 throw mse;}
1114
1115
1116 }
1117 break;
1118 case 2 :
1119 // InternalVampireLanguage.g:2631:42: ~ ( ( '\\\\' | '\"' ) )
1120 {
1121 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1122 input.consume();
1123
1124 }
1125 else {
1126 MismatchedSetException mse = new MismatchedSetException(null,input);
1127 recover(mse);
1128 throw mse;}
1129
1130
1131 }
1132 break;
1133
1134 default :
1135 break loop3;
1136 }
1137 } while (true);
1138
1139 match('\"');
1140
1141 }
1142
1143 state.type = _type;
1144 state.channel = _channel;
1145 }
1146 finally {
1147 }
1148 }
1149 // $ANTLR end "RULE_DOUBLE_QUOTE"
1150
1151 // $ANTLR start "RULE_SINGLE_QUOTE"
1152 public final void mRULE_SINGLE_QUOTE() throws RecognitionException {
1153 try {
1154 int _type = RULE_SINGLE_QUOTE;
1155 int _channel = DEFAULT_TOKEN_CHANNEL;
1156 // InternalVampireLanguage.g:2633:19: ( '\\'' ( '\\\\' ( '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )+ '\\'' )
1157 // InternalVampireLanguage.g:2633:21: '\\'' ( '\\\\' ( '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )+ '\\''
1158 {
1159 match('\'');
1160 // InternalVampireLanguage.g:2633:26: ( '\\\\' ( '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )+
1161 int cnt4=0;
1162 loop4:
1163 do {
1164 int alt4=3;
1165 int LA4_0 = input.LA(1);
1166
1167 if ( (LA4_0=='\\') ) {
1168 alt4=1;
1169 }
1170 else if ( ((LA4_0>='\u0000' && LA4_0<='&')||(LA4_0>='(' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
1171 alt4=2;
1172 }
1173
1174
1175 switch (alt4) {
1176 case 1 :
1177 // InternalVampireLanguage.g:2633:27: '\\\\' ( '\\'' | '\\\\' )
1178 {
1179 match('\\');
1180 if ( input.LA(1)=='\''||input.LA(1)=='\\' ) {
1181 input.consume();
1182
1183 }
1184 else {
1185 MismatchedSetException mse = new MismatchedSetException(null,input);
1186 recover(mse);
1187 throw mse;}
1188
1189
1190 }
1191 break;
1192 case 2 :
1193 // InternalVampireLanguage.g:2633:44: ~ ( ( '\\\\' | '\\'' ) )
1194 {
1195 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1196 input.consume();
1197
1198 }
1199 else {
1200 MismatchedSetException mse = new MismatchedSetException(null,input);
1201 recover(mse);
1202 throw mse;}
1203
1204
1205 }
1206 break;
1207
1208 default :
1209 if ( cnt4 >= 1 ) break loop4;
1210 EarlyExitException eee =
1211 new EarlyExitException(4, input);
1212 throw eee;
1213 }
1214 cnt4++;
1215 } while (true);
1216
1217 match('\'');
1218
1219 }
1220
1221 state.type = _type;
1222 state.channel = _channel;
1223 }
1224 finally {
1225 }
1226 }
1227 // $ANTLR end "RULE_SINGLE_QUOTE"
1228
1229 // $ANTLR start "RULE_SIGN"
1230 public final void mRULE_SIGN() throws RecognitionException {
1231 try {
1232 // InternalVampireLanguage.g:2635:20: ( ( '+' | '-' ) )
1233 // InternalVampireLanguage.g:2635:22: ( '+' | '-' )
1234 {
1235 if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
1236 input.consume();
1237
1238 }
1239 else {
1240 MismatchedSetException mse = new MismatchedSetException(null,input);
1241 recover(mse);
1242 throw mse;}
1243
1244
1245 }
1246
1247 }
1248 finally {
1249 }
1250 }
1251 // $ANTLR end "RULE_SIGN"
1252
1253 // $ANTLR start "RULE_DOLLAR_ID"
1254 public final void mRULE_DOLLAR_ID() throws RecognitionException {
1255 try {
1256 int _type = RULE_DOLLAR_ID;
1257 int _channel = DEFAULT_TOKEN_CHANNEL;
1258 // InternalVampireLanguage.g:2637:16: ( '$' RULE_LOWER_WORD_ID )
1259 // InternalVampireLanguage.g:2637:18: '$' RULE_LOWER_WORD_ID
1260 {
1261 match('$');
1262 mRULE_LOWER_WORD_ID();
1263
1264 }
1265
1266 state.type = _type;
1267 state.channel = _channel;
1268 }
1269 finally {
1270 }
1271 }
1272 // $ANTLR end "RULE_DOLLAR_ID"
1273
1274 // $ANTLR start "RULE_DOUBLE_DOLLAR_ID"
1275 public final void mRULE_DOUBLE_DOLLAR_ID() throws RecognitionException {
1276 try {
1277 int _type = RULE_DOUBLE_DOLLAR_ID;
1278 int _channel = DEFAULT_TOKEN_CHANNEL;
1279 // InternalVampireLanguage.g:2639:23: ( '$$' RULE_LOWER_WORD_ID )
1280 // InternalVampireLanguage.g:2639:25: '$$' RULE_LOWER_WORD_ID
1281 {
1282 match("$$");
1283
1284 mRULE_LOWER_WORD_ID();
1285
1286 }
1287
1288 state.type = _type;
1289 state.channel = _channel;
1290 }
1291 finally {
1292 }
1293 }
1294 // $ANTLR end "RULE_DOUBLE_DOLLAR_ID"
1295
1296 // $ANTLR start "RULE_LITERAL"
1297 public final void mRULE_LITERAL() throws RecognitionException {
1298 try {
1299 int _type = RULE_LITERAL;
1300 int _channel = DEFAULT_TOKEN_CHANNEL;
1301 // InternalVampireLanguage.g:2641:14: ( ( '0' | '1' .. '9' ( RULE_INT )? ) )
1302 // InternalVampireLanguage.g:2641:16: ( '0' | '1' .. '9' ( RULE_INT )? )
1303 {
1304 // InternalVampireLanguage.g:2641:16: ( '0' | '1' .. '9' ( RULE_INT )? )
1305 int alt6=2;
1306 int LA6_0 = input.LA(1);
1307
1308 if ( (LA6_0=='0') ) {
1309 alt6=1;
1310 }
1311 else if ( ((LA6_0>='1' && LA6_0<='9')) ) {
1312 alt6=2;
1313 }
1314 else {
1315 NoViableAltException nvae =
1316 new NoViableAltException("", 6, 0, input);
1317
1318 throw nvae;
1319 }
1320 switch (alt6) {
1321 case 1 :
1322 // InternalVampireLanguage.g:2641:17: '0'
1323 {
1324 match('0');
1325
1326 }
1327 break;
1328 case 2 :
1329 // InternalVampireLanguage.g:2641:21: '1' .. '9' ( RULE_INT )?
1330 {
1331 matchRange('1','9');
1332 // InternalVampireLanguage.g:2641:30: ( RULE_INT )?
1333 int alt5=2;
1334 int LA5_0 = input.LA(1);
1335
1336 if ( ((LA5_0>='0' && LA5_0<='9')) ) {
1337 alt5=1;
1338 }
1339 switch (alt5) {
1340 case 1 :
1341 // InternalVampireLanguage.g:2641:30: RULE_INT
1342 {
1343 mRULE_INT();
1344
1345 }
1346 break;
1347
1348 }
1349
1350
1351 }
1352 break;
1353
1354 }
1355
1356
1357 }
1358
1359 state.type = _type;
1360 state.channel = _channel;
1361 }
1362 finally {
1363 }
1364 }
1365 // $ANTLR end "RULE_LITERAL"
1366
1367 // $ANTLR start "RULE_SIGNED_LITERAL"
1368 public final void mRULE_SIGNED_LITERAL() throws RecognitionException {
1369 try {
1370 int _type = RULE_SIGNED_LITERAL;
1371 int _channel = DEFAULT_TOKEN_CHANNEL;
1372 // InternalVampireLanguage.g:2643:21: ( ( RULE_SIGN )* RULE_LITERAL )
1373 // InternalVampireLanguage.g:2643:23: ( RULE_SIGN )* RULE_LITERAL
1374 {
1375 // InternalVampireLanguage.g:2643:23: ( RULE_SIGN )*
1376 loop7:
1377 do {
1378 int alt7=2;
1379 int LA7_0 = input.LA(1);
1380
1381 if ( (LA7_0=='+'||LA7_0=='-') ) {
1382 alt7=1;
1383 }
1384
1385
1386 switch (alt7) {
1387 case 1 :
1388 // InternalVampireLanguage.g:2643:23: RULE_SIGN
1389 {
1390 mRULE_SIGN();
1391
1392 }
1393 break;
1394
1395 default :
1396 break loop7;
1397 }
1398 } while (true);
1399
1400 mRULE_LITERAL();
1401
1402 }
1403
1404 state.type = _type;
1405 state.channel = _channel;
1406 }
1407 finally {
1408 }
1409 }
1410 // $ANTLR end "RULE_SIGNED_LITERAL"
1411
1412 // $ANTLR start "RULE_UNSIGNED_REAL_FRAC_ID"
1413 public final void mRULE_UNSIGNED_REAL_FRAC_ID() throws RecognitionException {
1414 try {
1415 // InternalVampireLanguage.g:2645:37: ( RULE_LITERAL '.' RULE_INT )
1416 // InternalVampireLanguage.g:2645:39: RULE_LITERAL '.' RULE_INT
1417 {
1418 mRULE_LITERAL();
1419 match('.');
1420 mRULE_INT();
1421
1422 }
1423
1424 }
1425 finally {
1426 }
1427 }
1428 // $ANTLR end "RULE_UNSIGNED_REAL_FRAC_ID"
1429
1430 // $ANTLR start "RULE_UNSIGNED_REAL_EXP_ID"
1431 public final void mRULE_UNSIGNED_REAL_EXP_ID() throws RecognitionException {
1432 try {
1433 // InternalVampireLanguage.g:2647:36: ( ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID ) 'Ee' ( RULE_SIGN )* RULE_INT )
1434 // InternalVampireLanguage.g:2647:38: ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID ) 'Ee' ( RULE_SIGN )* RULE_INT
1435 {
1436 // InternalVampireLanguage.g:2647:38: ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID )
1437 int alt8=2;
1438 alt8 = dfa8.predict(input);
1439 switch (alt8) {
1440 case 1 :
1441 // InternalVampireLanguage.g:2647:39: RULE_LITERAL
1442 {
1443 mRULE_LITERAL();
1444
1445 }
1446 break;
1447 case 2 :
1448 // InternalVampireLanguage.g:2647:52: RULE_UNSIGNED_REAL_FRAC_ID
1449 {
1450 mRULE_UNSIGNED_REAL_FRAC_ID();
1451
1452 }
1453 break;
1454
1455 }
1456
1457 match("Ee");
1458
1459 // InternalVampireLanguage.g:2647:85: ( RULE_SIGN )*
1460 loop9:
1461 do {
1462 int alt9=2;
1463 int LA9_0 = input.LA(1);
1464
1465 if ( (LA9_0=='+'||LA9_0=='-') ) {
1466 alt9=1;
1467 }
1468
1469
1470 switch (alt9) {
1471 case 1 :
1472 // InternalVampireLanguage.g:2647:85: RULE_SIGN
1473 {
1474 mRULE_SIGN();
1475
1476 }
1477 break;
1478
1479 default :
1480 break loop9;
1481 }
1482 } while (true);
1483
1484 mRULE_INT();
1485
1486 }
1487
1488 }
1489 finally {
1490 }
1491 }
1492 // $ANTLR end "RULE_UNSIGNED_REAL_EXP_ID"
1493
1494 // $ANTLR start "RULE_SIGNED_REAL_ID"
1495 public final void mRULE_SIGNED_REAL_ID() throws RecognitionException {
1496 try {
1497 int _type = RULE_SIGNED_REAL_ID;
1498 int _channel = DEFAULT_TOKEN_CHANNEL;
1499 // InternalVampireLanguage.g:2649:21: ( ( RULE_SIGN )* ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID ) )
1500 // InternalVampireLanguage.g:2649:23: ( RULE_SIGN )* ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID )
1501 {
1502 // InternalVampireLanguage.g:2649:23: ( RULE_SIGN )*
1503 loop10:
1504 do {
1505 int alt10=2;
1506 int LA10_0 = input.LA(1);
1507
1508 if ( (LA10_0=='+'||LA10_0=='-') ) {
1509 alt10=1;
1510 }
1511
1512
1513 switch (alt10) {
1514 case 1 :
1515 // InternalVampireLanguage.g:2649:23: RULE_SIGN
1516 {
1517 mRULE_SIGN();
1518
1519 }
1520 break;
1521
1522 default :
1523 break loop10;
1524 }
1525 } while (true);
1526
1527 // InternalVampireLanguage.g:2649:34: ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID )
1528 int alt11=2;
1529 alt11 = dfa11.predict(input);
1530 switch (alt11) {
1531 case 1 :
1532 // InternalVampireLanguage.g:2649:35: RULE_UNSIGNED_REAL_FRAC_ID
1533 {
1534 mRULE_UNSIGNED_REAL_FRAC_ID();
1535
1536 }
1537 break;
1538 case 2 :
1539 // InternalVampireLanguage.g:2649:62: RULE_UNSIGNED_REAL_EXP_ID
1540 {
1541 mRULE_UNSIGNED_REAL_EXP_ID();
1542
1543 }
1544 break;
1545
1546 }
1547
1548
1549 }
1550
1551 state.type = _type;
1552 state.channel = _channel;
1553 }
1554 finally {
1555 }
1556 }
1557 // $ANTLR end "RULE_SIGNED_REAL_ID"
1558
1559 // $ANTLR start "RULE_UNSIGNED_RAT_ID"
1560 public final void mRULE_UNSIGNED_RAT_ID() throws RecognitionException {
1561 try {
1562 // InternalVampireLanguage.g:2651:31: ( RULE_LITERAL '/' '1' .. '9' ( RULE_INT )? )
1563 // InternalVampireLanguage.g:2651:33: RULE_LITERAL '/' '1' .. '9' ( RULE_INT )?
1564 {
1565 mRULE_LITERAL();
1566 match('/');
1567 matchRange('1','9');
1568 // InternalVampireLanguage.g:2651:59: ( RULE_INT )?
1569 int alt12=2;
1570 int LA12_0 = input.LA(1);
1571
1572 if ( ((LA12_0>='0' && LA12_0<='9')) ) {
1573 alt12=1;
1574 }
1575 switch (alt12) {
1576 case 1 :
1577 // InternalVampireLanguage.g:2651:59: RULE_INT
1578 {
1579 mRULE_INT();
1580
1581 }
1582 break;
1583
1584 }
1585
1586
1587 }
1588
1589 }
1590 finally {
1591 }
1592 }
1593 // $ANTLR end "RULE_UNSIGNED_RAT_ID"
1594
1595 // $ANTLR start "RULE_SIGNED_RAT_ID"
1596 public final void mRULE_SIGNED_RAT_ID() throws RecognitionException {
1597 try {
1598 int _type = RULE_SIGNED_RAT_ID;
1599 int _channel = DEFAULT_TOKEN_CHANNEL;
1600 // InternalVampireLanguage.g:2653:20: ( ( RULE_SIGN )* RULE_UNSIGNED_RAT_ID )
1601 // InternalVampireLanguage.g:2653:22: ( RULE_SIGN )* RULE_UNSIGNED_RAT_ID
1602 {
1603 // InternalVampireLanguage.g:2653:22: ( RULE_SIGN )*
1604 loop13:
1605 do {
1606 int alt13=2;
1607 int LA13_0 = input.LA(1);
1608
1609 if ( (LA13_0=='+'||LA13_0=='-') ) {
1610 alt13=1;
1611 }
1612
1613
1614 switch (alt13) {
1615 case 1 :
1616 // InternalVampireLanguage.g:2653:22: RULE_SIGN
1617 {
1618 mRULE_SIGN();
1619
1620 }
1621 break;
1622
1623 default :
1624 break loop13;
1625 }
1626 } while (true);
1627
1628 mRULE_UNSIGNED_RAT_ID();
1629
1630 }
1631
1632 state.type = _type;
1633 state.channel = _channel;
1634 }
1635 finally {
1636 }
1637 }
1638 // $ANTLR end "RULE_SIGNED_RAT_ID"
1639
1640 // $ANTLR start "RULE_ANY_OTHER"
1641 public final void mRULE_ANY_OTHER() throws RecognitionException {
1642 try {
1643 // InternalVampireLanguage.g:2655:25: ( '%' (~ ( ( '\\n' | '\\r' ) ) )* '\\r' )
1644 // InternalVampireLanguage.g:2655:27: '%' (~ ( ( '\\n' | '\\r' ) ) )* '\\r'
1645 {
1646 match('%');
1647 // InternalVampireLanguage.g:2655:31: (~ ( ( '\\n' | '\\r' ) ) )*
1648 loop14:
1649 do {
1650 int alt14=2;
1651 int LA14_0 = input.LA(1);
1652
1653 if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFF')) ) {
1654 alt14=1;
1655 }
1656
1657
1658 switch (alt14) {
1659 case 1 :
1660 // InternalVampireLanguage.g:2655:31: ~ ( ( '\\n' | '\\r' ) )
1661 {
1662 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
1663 input.consume();
1664
1665 }
1666 else {
1667 MismatchedSetException mse = new MismatchedSetException(null,input);
1668 recover(mse);
1669 throw mse;}
1670
1671
1672 }
1673 break;
1674
1675 default :
1676 break loop14;
1677 }
1678 } while (true);
1679
1680 match('\r');
1681
1682 }
1683
1684 }
1685 finally {
1686 }
1687 }
1688 // $ANTLR end "RULE_ANY_OTHER"
1689
1690 // $ANTLR start "RULE_SINGLE_COMMENT"
1691 public final void mRULE_SINGLE_COMMENT() throws RecognitionException {
1692 try {
1693 int _type = RULE_SINGLE_COMMENT;
1694 int _channel = DEFAULT_TOKEN_CHANNEL;
1695 // InternalVampireLanguage.g:2657:21: ( RULE_ANY_OTHER )
1696 // InternalVampireLanguage.g:2657:23: RULE_ANY_OTHER
1697 {
1698 mRULE_ANY_OTHER();
1699
1700 }
1701
1702 state.type = _type;
1703 state.channel = _channel;
1704 }
1705 finally {
1706 }
1707 }
1708 // $ANTLR end "RULE_SINGLE_COMMENT"
1709
1710 // $ANTLR start "RULE_ID"
1711 public final void mRULE_ID() throws RecognitionException {
1712 try {
1713 int _type = RULE_ID;
1714 int _channel = DEFAULT_TOKEN_CHANNEL;
1715 // InternalVampireLanguage.g:2659:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
1716 // InternalVampireLanguage.g:2659:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1717 {
1718 // InternalVampireLanguage.g:2659:11: ( '^' )?
1719 int alt15=2;
1720 int LA15_0 = input.LA(1);
1721
1722 if ( (LA15_0=='^') ) {
1723 alt15=1;
1724 }
1725 switch (alt15) {
1726 case 1 :
1727 // InternalVampireLanguage.g:2659:11: '^'
1728 {
1729 match('^');
1730
1731 }
1732 break;
1733
1734 }
1735
1736 if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
1737 input.consume();
1738
1739 }
1740 else {
1741 MismatchedSetException mse = new MismatchedSetException(null,input);
1742 recover(mse);
1743 throw mse;}
1744
1745 // InternalVampireLanguage.g:2659:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
1746 loop16:
1747 do {
1748 int alt16=2;
1749 int LA16_0 = input.LA(1);
1750
1751 if ( ((LA16_0>='0' && LA16_0<='9')||(LA16_0>='A' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='a' && LA16_0<='z')) ) {
1752 alt16=1;
1753 }
1754
1755
1756 switch (alt16) {
1757 case 1 :
1758 // InternalVampireLanguage.g:
1759 {
1760 if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
1761 input.consume();
1762
1763 }
1764 else {
1765 MismatchedSetException mse = new MismatchedSetException(null,input);
1766 recover(mse);
1767 throw mse;}
1768
1769
1770 }
1771 break;
1772
1773 default :
1774 break loop16;
1775 }
1776 } while (true);
1777
1778
1779 }
1780
1781 state.type = _type;
1782 state.channel = _channel;
1783 }
1784 finally {
1785 }
1786 }
1787 // $ANTLR end "RULE_ID"
1788
1789 // $ANTLR start "RULE_INT"
1790 public final void mRULE_INT() throws RecognitionException {
1791 try {
1792 // InternalVampireLanguage.g:2661:19: ( ( '0' .. '9' )+ )
1793 // InternalVampireLanguage.g:2661:21: ( '0' .. '9' )+
1794 {
1795 // InternalVampireLanguage.g:2661:21: ( '0' .. '9' )+
1796 int cnt17=0;
1797 loop17:
1798 do {
1799 int alt17=2;
1800 int LA17_0 = input.LA(1);
1801
1802 if ( ((LA17_0>='0' && LA17_0<='9')) ) {
1803 alt17=1;
1804 }
1805
1806
1807 switch (alt17) {
1808 case 1 :
1809 // InternalVampireLanguage.g:2661:22: '0' .. '9'
1810 {
1811 matchRange('0','9');
1812
1813 }
1814 break;
1815
1816 default :
1817 if ( cnt17 >= 1 ) break loop17;
1818 EarlyExitException eee =
1819 new EarlyExitException(17, input);
1820 throw eee;
1821 }
1822 cnt17++;
1823 } while (true);
1824
1825
1826 }
1827
1828 }
1829 finally {
1830 }
1831 }
1832 // $ANTLR end "RULE_INT"
1833
1834 // $ANTLR start "RULE_STRING"
1835 public final void mRULE_STRING() throws RecognitionException {
1836 try {
1837 int _type = RULE_STRING;
1838 int _channel = DEFAULT_TOKEN_CHANNEL;
1839 // InternalVampireLanguage.g:2663:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
1840 // InternalVampireLanguage.g:2663:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1841 {
1842 // InternalVampireLanguage.g:2663:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
1843 int alt20=2;
1844 int LA20_0 = input.LA(1);
1845
1846 if ( (LA20_0=='\"') ) {
1847 alt20=1;
1848 }
1849 else if ( (LA20_0=='\'') ) {
1850 alt20=2;
1851 }
1852 else {
1853 NoViableAltException nvae =
1854 new NoViableAltException("", 20, 0, input);
1855
1856 throw nvae;
1857 }
1858 switch (alt20) {
1859 case 1 :
1860 // InternalVampireLanguage.g:2663:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
1861 {
1862 match('\"');
1863 // InternalVampireLanguage.g:2663:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
1864 loop18:
1865 do {
1866 int alt18=3;
1867 int LA18_0 = input.LA(1);
1868
1869 if ( (LA18_0=='\\') ) {
1870 alt18=1;
1871 }
1872 else if ( ((LA18_0>='\u0000' && LA18_0<='!')||(LA18_0>='#' && LA18_0<='[')||(LA18_0>=']' && LA18_0<='\uFFFF')) ) {
1873 alt18=2;
1874 }
1875
1876
1877 switch (alt18) {
1878 case 1 :
1879 // InternalVampireLanguage.g:2663:21: '\\\\' .
1880 {
1881 match('\\');
1882 matchAny();
1883
1884 }
1885 break;
1886 case 2 :
1887 // InternalVampireLanguage.g:2663:28: ~ ( ( '\\\\' | '\"' ) )
1888 {
1889 if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1890 input.consume();
1891
1892 }
1893 else {
1894 MismatchedSetException mse = new MismatchedSetException(null,input);
1895 recover(mse);
1896 throw mse;}
1897
1898
1899 }
1900 break;
1901
1902 default :
1903 break loop18;
1904 }
1905 } while (true);
1906
1907 match('\"');
1908
1909 }
1910 break;
1911 case 2 :
1912 // InternalVampireLanguage.g:2663:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
1913 {
1914 match('\'');
1915 // InternalVampireLanguage.g:2663:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
1916 loop19:
1917 do {
1918 int alt19=3;
1919 int LA19_0 = input.LA(1);
1920
1921 if ( (LA19_0=='\\') ) {
1922 alt19=1;
1923 }
1924 else if ( ((LA19_0>='\u0000' && LA19_0<='&')||(LA19_0>='(' && LA19_0<='[')||(LA19_0>=']' && LA19_0<='\uFFFF')) ) {
1925 alt19=2;
1926 }
1927
1928
1929 switch (alt19) {
1930 case 1 :
1931 // InternalVampireLanguage.g:2663:54: '\\\\' .
1932 {
1933 match('\\');
1934 matchAny();
1935
1936 }
1937 break;
1938 case 2 :
1939 // InternalVampireLanguage.g:2663:61: ~ ( ( '\\\\' | '\\'' ) )
1940 {
1941 if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
1942 input.consume();
1943
1944 }
1945 else {
1946 MismatchedSetException mse = new MismatchedSetException(null,input);
1947 recover(mse);
1948 throw mse;}
1949
1950
1951 }
1952 break;
1953
1954 default :
1955 break loop19;
1956 }
1957 } while (true);
1958
1959 match('\'');
1960
1961 }
1962 break;
1963
1964 }
1965
1966
1967 }
1968
1969 state.type = _type;
1970 state.channel = _channel;
1971 }
1972 finally {
1973 }
1974 }
1975 // $ANTLR end "RULE_STRING"
1976
1977 // $ANTLR start "RULE_ML_COMMENT"
1978 public final void mRULE_ML_COMMENT() throws RecognitionException {
1979 try {
1980 int _type = RULE_ML_COMMENT;
1981 int _channel = DEFAULT_TOKEN_CHANNEL;
1982 // InternalVampireLanguage.g:2665:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
1983 // InternalVampireLanguage.g:2665:19: '/*' ( options {greedy=false; } : . )* '*/'
1984 {
1985 match("/*");
1986
1987 // InternalVampireLanguage.g:2665:24: ( options {greedy=false; } : . )*
1988 loop21:
1989 do {
1990 int alt21=2;
1991 int LA21_0 = input.LA(1);
1992
1993 if ( (LA21_0=='*') ) {
1994 int LA21_1 = input.LA(2);
1995
1996 if ( (LA21_1=='/') ) {
1997 alt21=2;
1998 }
1999 else if ( ((LA21_1>='\u0000' && LA21_1<='.')||(LA21_1>='0' && LA21_1<='\uFFFF')) ) {
2000 alt21=1;
2001 }
2002
2003
2004 }
2005 else if ( ((LA21_0>='\u0000' && LA21_0<=')')||(LA21_0>='+' && LA21_0<='\uFFFF')) ) {
2006 alt21=1;
2007 }
2008
2009
2010 switch (alt21) {
2011 case 1 :
2012 // InternalVampireLanguage.g:2665:52: .
2013 {
2014 matchAny();
2015
2016 }
2017 break;
2018
2019 default :
2020 break loop21;
2021 }
2022 } while (true);
2023
2024 match("*/");
2025
2026
2027 }
2028
2029 state.type = _type;
2030 state.channel = _channel;
2031 }
2032 finally {
2033 }
2034 }
2035 // $ANTLR end "RULE_ML_COMMENT"
2036
2037 // $ANTLR start "RULE_SL_COMMENT"
2038 public final void mRULE_SL_COMMENT() throws RecognitionException {
2039 try {
2040 int _type = RULE_SL_COMMENT;
2041 int _channel = DEFAULT_TOKEN_CHANNEL;
2042 // InternalVampireLanguage.g:2667:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
2043 // InternalVampireLanguage.g:2667:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
2044 {
2045 match("//");
2046
2047 // InternalVampireLanguage.g:2667:24: (~ ( ( '\\n' | '\\r' ) ) )*
2048 loop22:
2049 do {
2050 int alt22=2;
2051 int LA22_0 = input.LA(1);
2052
2053 if ( ((LA22_0>='\u0000' && LA22_0<='\t')||(LA22_0>='\u000B' && LA22_0<='\f')||(LA22_0>='\u000E' && LA22_0<='\uFFFF')) ) {
2054 alt22=1;
2055 }
2056
2057
2058 switch (alt22) {
2059 case 1 :
2060 // InternalVampireLanguage.g:2667:24: ~ ( ( '\\n' | '\\r' ) )
2061 {
2062 if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
2063 input.consume();
2064
2065 }
2066 else {
2067 MismatchedSetException mse = new MismatchedSetException(null,input);
2068 recover(mse);
2069 throw mse;}
2070
2071
2072 }
2073 break;
2074
2075 default :
2076 break loop22;
2077 }
2078 } while (true);
2079
2080 // InternalVampireLanguage.g:2667:40: ( ( '\\r' )? '\\n' )?
2081 int alt24=2;
2082 int LA24_0 = input.LA(1);
2083
2084 if ( (LA24_0=='\n'||LA24_0=='\r') ) {
2085 alt24=1;
2086 }
2087 switch (alt24) {
2088 case 1 :
2089 // InternalVampireLanguage.g:2667:41: ( '\\r' )? '\\n'
2090 {
2091 // InternalVampireLanguage.g:2667:41: ( '\\r' )?
2092 int alt23=2;
2093 int LA23_0 = input.LA(1);
2094
2095 if ( (LA23_0=='\r') ) {
2096 alt23=1;
2097 }
2098 switch (alt23) {
2099 case 1 :
2100 // InternalVampireLanguage.g:2667:41: '\\r'
2101 {
2102 match('\r');
2103
2104 }
2105 break;
2106
2107 }
2108
2109 match('\n');
2110
2111 }
2112 break;
2113
2114 }
2115
2116
2117 }
2118
2119 state.type = _type;
2120 state.channel = _channel;
2121 }
2122 finally {
2123 }
2124 }
2125 // $ANTLR end "RULE_SL_COMMENT"
2126
2127 // $ANTLR start "RULE_WS"
2128 public final void mRULE_WS() throws RecognitionException {
2129 try {
2130 int _type = RULE_WS;
2131 int _channel = DEFAULT_TOKEN_CHANNEL;
2132 // InternalVampireLanguage.g:2669:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
2133 // InternalVampireLanguage.g:2669:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2134 {
2135 // InternalVampireLanguage.g:2669:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
2136 int cnt25=0;
2137 loop25:
2138 do {
2139 int alt25=2;
2140 int LA25_0 = input.LA(1);
2141
2142 if ( ((LA25_0>='\t' && LA25_0<='\n')||LA25_0=='\r'||LA25_0==' ') ) {
2143 alt25=1;
2144 }
2145
2146
2147 switch (alt25) {
2148 case 1 :
2149 // InternalVampireLanguage.g:
2150 {
2151 if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
2152 input.consume();
2153
2154 }
2155 else {
2156 MismatchedSetException mse = new MismatchedSetException(null,input);
2157 recover(mse);
2158 throw mse;}
2159
2160
2161 }
2162 break;
2163
2164 default :
2165 if ( cnt25 >= 1 ) break loop25;
2166 EarlyExitException eee =
2167 new EarlyExitException(25, input);
2168 throw eee;
2169 }
2170 cnt25++;
2171 } while (true);
2172
2173
2174 }
2175
2176 state.type = _type;
2177 state.channel = _channel;
2178 }
2179 finally {
2180 }
2181 }
2182 // $ANTLR end "RULE_WS"
2183
2184 public void mTokens() throws RecognitionException {
2185 // InternalVampireLanguage.g:1:8: ( T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_UPPER_WORD_ID | RULE_LOWER_WORD_ID | RULE_DOUBLE_QUOTE | RULE_SINGLE_QUOTE | RULE_DOLLAR_ID | RULE_DOUBLE_DOLLAR_ID | RULE_LITERAL | RULE_SIGNED_LITERAL | RULE_SIGNED_REAL_ID | RULE_SIGNED_RAT_ID | RULE_SINGLE_COMMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS )
2186 int alt26=58;
2187 alt26 = dfa26.predict(input);
2188 switch (alt26) {
2189 case 1 :
2190 // InternalVampireLanguage.g:1:10: T__27
2191 {
2192 mT__27();
2193
2194 }
2195 break;
2196 case 2 :
2197 // InternalVampireLanguage.g:1:16: T__28
2198 {
2199 mT__28();
2200
2201 }
2202 break;
2203 case 3 :
2204 // InternalVampireLanguage.g:1:22: T__29
2205 {
2206 mT__29();
2207
2208 }
2209 break;
2210 case 4 :
2211 // InternalVampireLanguage.g:1:28: T__30
2212 {
2213 mT__30();
2214
2215 }
2216 break;
2217 case 5 :
2218 // InternalVampireLanguage.g:1:34: T__31
2219 {
2220 mT__31();
2221
2222 }
2223 break;
2224 case 6 :
2225 // InternalVampireLanguage.g:1:40: T__32
2226 {
2227 mT__32();
2228
2229 }
2230 break;
2231 case 7 :
2232 // InternalVampireLanguage.g:1:46: T__33
2233 {
2234 mT__33();
2235
2236 }
2237 break;
2238 case 8 :
2239 // InternalVampireLanguage.g:1:52: T__34
2240 {
2241 mT__34();
2242
2243 }
2244 break;
2245 case 9 :
2246 // InternalVampireLanguage.g:1:58: T__35
2247 {
2248 mT__35();
2249
2250 }
2251 break;
2252 case 10 :
2253 // InternalVampireLanguage.g:1:64: T__36
2254 {
2255 mT__36();
2256
2257 }
2258 break;
2259 case 11 :
2260 // InternalVampireLanguage.g:1:70: T__37
2261 {
2262 mT__37();
2263
2264 }
2265 break;
2266 case 12 :
2267 // InternalVampireLanguage.g:1:76: T__38
2268 {
2269 mT__38();
2270
2271 }
2272 break;
2273 case 13 :
2274 // InternalVampireLanguage.g:1:82: T__39
2275 {
2276 mT__39();
2277
2278 }
2279 break;
2280 case 14 :
2281 // InternalVampireLanguage.g:1:88: T__40
2282 {
2283 mT__40();
2284
2285 }
2286 break;
2287 case 15 :
2288 // InternalVampireLanguage.g:1:94: T__41
2289 {
2290 mT__41();
2291
2292 }
2293 break;
2294 case 16 :
2295 // InternalVampireLanguage.g:1:100: T__42
2296 {
2297 mT__42();
2298
2299 }
2300 break;
2301 case 17 :
2302 // InternalVampireLanguage.g:1:106: T__43
2303 {
2304 mT__43();
2305
2306 }
2307 break;
2308 case 18 :
2309 // InternalVampireLanguage.g:1:112: T__44
2310 {
2311 mT__44();
2312
2313 }
2314 break;
2315 case 19 :
2316 // InternalVampireLanguage.g:1:118: T__45
2317 {
2318 mT__45();
2319
2320 }
2321 break;
2322 case 20 :
2323 // InternalVampireLanguage.g:1:124: T__46
2324 {
2325 mT__46();
2326
2327 }
2328 break;
2329 case 21 :
2330 // InternalVampireLanguage.g:1:130: T__47
2331 {
2332 mT__47();
2333
2334 }
2335 break;
2336 case 22 :
2337 // InternalVampireLanguage.g:1:136: T__48
2338 {
2339 mT__48();
2340
2341 }
2342 break;
2343 case 23 :
2344 // InternalVampireLanguage.g:1:142: T__49
2345 {
2346 mT__49();
2347
2348 }
2349 break;
2350 case 24 :
2351 // InternalVampireLanguage.g:1:148: T__50
2352 {
2353 mT__50();
2354
2355 }
2356 break;
2357 case 25 :
2358 // InternalVampireLanguage.g:1:154: T__51
2359 {
2360 mT__51();
2361
2362 }
2363 break;
2364 case 26 :
2365 // InternalVampireLanguage.g:1:160: T__52
2366 {
2367 mT__52();
2368
2369 }
2370 break;
2371 case 27 :
2372 // InternalVampireLanguage.g:1:166: T__53
2373 {
2374 mT__53();
2375
2376 }
2377 break;
2378 case 28 :
2379 // InternalVampireLanguage.g:1:172: T__54
2380 {
2381 mT__54();
2382
2383 }
2384 break;
2385 case 29 :
2386 // InternalVampireLanguage.g:1:178: T__55
2387 {
2388 mT__55();
2389
2390 }
2391 break;
2392 case 30 :
2393 // InternalVampireLanguage.g:1:184: T__56
2394 {
2395 mT__56();
2396
2397 }
2398 break;
2399 case 31 :
2400 // InternalVampireLanguage.g:1:190: T__57
2401 {
2402 mT__57();
2403
2404 }
2405 break;
2406 case 32 :
2407 // InternalVampireLanguage.g:1:196: T__58
2408 {
2409 mT__58();
2410
2411 }
2412 break;
2413 case 33 :
2414 // InternalVampireLanguage.g:1:202: T__59
2415 {
2416 mT__59();
2417
2418 }
2419 break;
2420 case 34 :
2421 // InternalVampireLanguage.g:1:208: T__60
2422 {
2423 mT__60();
2424
2425 }
2426 break;
2427 case 35 :
2428 // InternalVampireLanguage.g:1:214: T__61
2429 {
2430 mT__61();
2431
2432 }
2433 break;
2434 case 36 :
2435 // InternalVampireLanguage.g:1:220: T__62
2436 {
2437 mT__62();
2438
2439 }
2440 break;
2441 case 37 :
2442 // InternalVampireLanguage.g:1:226: T__63
2443 {
2444 mT__63();
2445
2446 }
2447 break;
2448 case 38 :
2449 // InternalVampireLanguage.g:1:232: T__64
2450 {
2451 mT__64();
2452
2453 }
2454 break;
2455 case 39 :
2456 // InternalVampireLanguage.g:1:238: T__65
2457 {
2458 mT__65();
2459
2460 }
2461 break;
2462 case 40 :
2463 // InternalVampireLanguage.g:1:244: T__66
2464 {
2465 mT__66();
2466
2467 }
2468 break;
2469 case 41 :
2470 // InternalVampireLanguage.g:1:250: T__67
2471 {
2472 mT__67();
2473
2474 }
2475 break;
2476 case 42 :
2477 // InternalVampireLanguage.g:1:256: T__68
2478 {
2479 mT__68();
2480
2481 }
2482 break;
2483 case 43 :
2484 // InternalVampireLanguage.g:1:262: RULE_UPPER_WORD_ID
2485 {
2486 mRULE_UPPER_WORD_ID();
2487
2488 }
2489 break;
2490 case 44 :
2491 // InternalVampireLanguage.g:1:281: RULE_LOWER_WORD_ID
2492 {
2493 mRULE_LOWER_WORD_ID();
2494
2495 }
2496 break;
2497 case 45 :
2498 // InternalVampireLanguage.g:1:300: RULE_DOUBLE_QUOTE
2499 {
2500 mRULE_DOUBLE_QUOTE();
2501
2502 }
2503 break;
2504 case 46 :
2505 // InternalVampireLanguage.g:1:318: RULE_SINGLE_QUOTE
2506 {
2507 mRULE_SINGLE_QUOTE();
2508
2509 }
2510 break;
2511 case 47 :
2512 // InternalVampireLanguage.g:1:336: RULE_DOLLAR_ID
2513 {
2514 mRULE_DOLLAR_ID();
2515
2516 }
2517 break;
2518 case 48 :
2519 // InternalVampireLanguage.g:1:351: RULE_DOUBLE_DOLLAR_ID
2520 {
2521 mRULE_DOUBLE_DOLLAR_ID();
2522
2523 }
2524 break;
2525 case 49 :
2526 // InternalVampireLanguage.g:1:373: RULE_LITERAL
2527 {
2528 mRULE_LITERAL();
2529
2530 }
2531 break;
2532 case 50 :
2533 // InternalVampireLanguage.g:1:386: RULE_SIGNED_LITERAL
2534 {
2535 mRULE_SIGNED_LITERAL();
2536
2537 }
2538 break;
2539 case 51 :
2540 // InternalVampireLanguage.g:1:406: RULE_SIGNED_REAL_ID
2541 {
2542 mRULE_SIGNED_REAL_ID();
2543
2544 }
2545 break;
2546 case 52 :
2547 // InternalVampireLanguage.g:1:426: RULE_SIGNED_RAT_ID
2548 {
2549 mRULE_SIGNED_RAT_ID();
2550
2551 }
2552 break;
2553 case 53 :
2554 // InternalVampireLanguage.g:1:445: RULE_SINGLE_COMMENT
2555 {
2556 mRULE_SINGLE_COMMENT();
2557
2558 }
2559 break;
2560 case 54 :
2561 // InternalVampireLanguage.g:1:465: RULE_ID
2562 {
2563 mRULE_ID();
2564
2565 }
2566 break;
2567 case 55 :
2568 // InternalVampireLanguage.g:1:473: RULE_STRING
2569 {
2570 mRULE_STRING();
2571
2572 }
2573 break;
2574 case 56 :
2575 // InternalVampireLanguage.g:1:485: RULE_ML_COMMENT
2576 {
2577 mRULE_ML_COMMENT();
2578
2579 }
2580 break;
2581 case 57 :
2582 // InternalVampireLanguage.g:1:501: RULE_SL_COMMENT
2583 {
2584 mRULE_SL_COMMENT();
2585
2586 }
2587 break;
2588 case 58 :
2589 // InternalVampireLanguage.g:1:517: RULE_WS
2590 {
2591 mRULE_WS();
2592
2593 }
2594 break;
2595
2596 }
2597
2598 }
2599
2600
2601 protected DFA8 dfa8 = new DFA8(this);
2602 protected DFA11 dfa11 = new DFA11(this);
2603 protected DFA26 dfa26 = new DFA26(this);
2604 static final String DFA8_eotS =
2605 "\6\uffff";
2606 static final String DFA8_eofS =
2607 "\6\uffff";
2608 static final String DFA8_minS =
2609 "\1\60\2\56\2\uffff\1\56";
2610 static final String DFA8_maxS =
2611 "\1\71\2\105\2\uffff\1\105";
2612 static final String DFA8_acceptS =
2613 "\3\uffff\1\2\1\1\1\uffff";
2614 static final String DFA8_specialS =
2615 "\6\uffff}>";
2616 static final String[] DFA8_transitionS = {
2617 "\1\1\11\2",
2618 "\1\3\26\uffff\1\4",
2619 "\1\3\1\uffff\12\5\13\uffff\1\4",
2620 "",
2621 "",
2622 "\1\3\1\uffff\12\5\13\uffff\1\4"
2623 };
2624
2625 static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
2626 static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);
2627 static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS);
2628 static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS);
2629 static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS);
2630 static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS);
2631 static final short[][] DFA8_transition;
2632
2633 static {
2634 int numStates = DFA8_transitionS.length;
2635 DFA8_transition = new short[numStates][];
2636 for (int i=0; i<numStates; i++) {
2637 DFA8_transition[i] = DFA.unpackEncodedString(DFA8_transitionS[i]);
2638 }
2639 }
2640
2641 class DFA8 extends DFA {
2642
2643 public DFA8(BaseRecognizer recognizer) {
2644 this.recognizer = recognizer;
2645 this.decisionNumber = 8;
2646 this.eot = DFA8_eot;
2647 this.eof = DFA8_eof;
2648 this.min = DFA8_min;
2649 this.max = DFA8_max;
2650 this.accept = DFA8_accept;
2651 this.special = DFA8_special;
2652 this.transition = DFA8_transition;
2653 }
2654 public String getDescription() {
2655 return "2647:38: ( RULE_LITERAL | RULE_UNSIGNED_REAL_FRAC_ID )";
2656 }
2657 }
2658 static final String DFA11_eotS =
2659 "\6\uffff\1\7\1\uffff";
2660 static final String DFA11_eofS =
2661 "\10\uffff";
2662 static final String DFA11_minS =
2663 "\1\60\2\56\1\60\1\uffff\1\56\1\60\1\uffff";
2664 static final String DFA11_maxS =
2665 "\1\71\2\105\1\71\1\uffff\2\105\1\uffff";
2666 static final String DFA11_acceptS =
2667 "\4\uffff\1\2\2\uffff\1\1";
2668 static final String DFA11_specialS =
2669 "\10\uffff}>";
2670 static final String[] DFA11_transitionS = {
2671 "\1\1\11\2",
2672 "\1\3\26\uffff\1\4",
2673 "\1\3\1\uffff\12\5\13\uffff\1\4",
2674 "\12\6",
2675 "",
2676 "\1\3\1\uffff\12\5\13\uffff\1\4",
2677 "\12\6\13\uffff\1\4",
2678 ""
2679 };
2680
2681 static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
2682 static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
2683 static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
2684 static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
2685 static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
2686 static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
2687 static final short[][] DFA11_transition;
2688
2689 static {
2690 int numStates = DFA11_transitionS.length;
2691 DFA11_transition = new short[numStates][];
2692 for (int i=0; i<numStates; i++) {
2693 DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
2694 }
2695 }
2696
2697 class DFA11 extends DFA {
2698
2699 public DFA11(BaseRecognizer recognizer) {
2700 this.recognizer = recognizer;
2701 this.decisionNumber = 11;
2702 this.eot = DFA11_eot;
2703 this.eof = DFA11_eof;
2704 this.min = DFA11_min;
2705 this.max = DFA11_max;
2706 this.accept = DFA11_accept;
2707 this.special = DFA11_special;
2708 this.transition = DFA11_transition;
2709 }
2710 public String getDescription() {
2711 return "2649:34: ( RULE_UNSIGNED_REAL_FRAC_ID | RULE_UNSIGNED_REAL_EXP_ID )";
2712 }
2713 }
2714 static final String DFA26_eotS =
2715 "\1\uffff\1\50\1\52\1\uffff\1\50\3\uffff\11\50\2\uffff\1\73\1\76\2\uffff\1\100\1\102\2\uffff\1\111\1\50\2\uffff\2\120\5\uffff\2\50\3\uffff\15\50\1\150\12\uffff\3\107\2\uffff\1\111\12\uffff\1\120\2\160\2\uffff\1\50\1\163\15\50\2\uffff\3\107\5\uffff\1\160\1\50\1\uffff\13\50\1\u0093\3\50\3\107\1\uffff\4\50\1\u009e\5\50\1\u00a4\1\50\1\uffff\1\50\1\u00a7\1\50\1\u00a9\1\107\1\u00ab\4\50\1\uffff\5\50\1\uffff\2\50\1\uffff\1\50\1\uffff\1\u00b8\1\uffff\11\50\1\u00c2\1\50\1\u00c4\2\uffff\10\50\1\uffff\1\50\1\uffff\1\u00ce\4\50\1\u00d3\3\50\1\uffff\2\50\1\u00d9\1\u00da\1\uffff\1\u00db\1\u00dc\1\50\1\u00de\1\50\4\uffff\1\50\1\uffff\2\50\1\u00e3\1\50\1\uffff\4\50\1\u00e9\1\uffff";
2716 static final String DFA26_eofS =
2717 "\u00ea\uffff";
2718 static final String DFA26_minS =
2719 "\1\11\1\60\1\133\1\uffff\1\60\3\uffff\11\60\1\uffff\1\75\1\76\1\46\2\uffff\2\75\1\uffff\1\44\2\60\2\0\2\56\1\53\2\uffff\1\52\1\uffff\2\60\3\uffff\15\60\1\76\12\uffff\1\162\1\141\1\145\2\uffff\1\60\1\uffff\2\0\1\uffff\2\0\4\uffff\3\56\2\uffff\17\60\2\uffff\1\165\1\154\1\163\1\0\1\uffff\1\0\2\uffff\1\56\1\60\1\uffff\17\60\1\145\2\163\1\uffff\14\60\1\uffff\4\60\1\145\5\60\1\uffff\5\60\1\uffff\2\60\1\uffff\1\60\1\uffff\1\60\1\uffff\1\50\13\60\2\uffff\10\60\1\uffff\1\60\1\uffff\11\60\1\uffff\4\60\1\uffff\5\60\4\uffff\1\60\1\uffff\4\60\1\uffff\5\60\1\uffff";
2720 static final String DFA26_maxS =
2721 "\1\176\1\172\1\133\1\uffff\1\172\3\uffff\11\172\1\uffff\1\176\1\76\1\174\2\uffff\2\75\1\uffff\3\172\2\uffff\2\105\1\71\2\uffff\1\57\1\uffff\2\172\3\uffff\15\172\1\76\12\uffff\1\162\1\141\1\145\2\uffff\1\172\1\uffff\2\uffff\1\uffff\2\uffff\4\uffff\3\105\2\uffff\17\172\2\uffff\1\165\1\154\1\163\1\uffff\1\uffff\1\uffff\2\uffff\1\105\1\172\1\uffff\17\172\1\145\2\163\1\uffff\14\172\1\uffff\4\172\1\145\5\172\1\uffff\5\172\1\uffff\2\172\1\uffff\1\172\1\uffff\1\172\1\uffff\14\172\2\uffff\10\172\1\uffff\1\172\1\uffff\11\172\1\uffff\4\172\1\uffff\5\172\4\uffff\1\172\1\uffff\4\172\1\uffff\5\172\1\uffff";
2722 static final String DFA26_acceptS =
2723 "\3\uffff\1\4\1\uffff\1\6\1\7\1\10\11\uffff\1\30\3\uffff\1\37\1\40\2\uffff\1\43\10\uffff\1\65\1\66\1\uffff\1\72\2\uffff\1\54\1\2\1\3\16\uffff\1\34\1\32\1\46\1\35\1\36\1\44\1\45\1\41\1\47\1\42\3\uffff\1\60\1\57\1\uffff\1\53\2\uffff\1\55\2\uffff\1\67\1\61\1\63\1\64\3\uffff\1\70\1\71\17\uffff\1\31\1\33\4\uffff\1\55\1\uffff\1\56\1\62\2\uffff\1\5\22\uffff\1\56\14\uffff\1\23\12\uffff\1\11\5\uffff\1\16\2\uffff\1\22\1\uffff\1\50\1\uffff\1\52\14\uffff\1\51\1\1\10\uffff\1\17\1\uffff\1\27\11\uffff\1\24\4\uffff\1\20\5\uffff\1\15\1\12\1\13\1\14\1\uffff\1\25\4\uffff\1\26\5\uffff\1\21";
2724 static final String DFA26_specialS =
2725 "\35\uffff\1\0\1\5\53\uffff\1\1\1\7\1\uffff\1\2\1\4\35\uffff\1\6\1\uffff\1\3\173\uffff}>";
2726 static final String[] DFA26_transitionS = {
2727 "\2\45\2\uffff\1\45\22\uffff\1\45\1\27\1\35\1\uffff\1\32\1\42\1\25\1\36\1\5\1\6\1\uffff\1\41\1\2\1\41\1\7\1\44\1\37\11\40\1\30\1\uffff\1\22\1\23\1\uffff\1\31\1\uffff\32\33\1\21\1\uffff\1\3\2\43\1\uffff\1\10\1\34\1\11\1\13\1\34\1\4\1\34\1\12\1\1\2\34\1\14\1\34\1\16\1\34\1\17\3\34\1\15\1\20\5\34\1\uffff\1\26\1\uffff\1\24",
2728 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\46\14\47",
2729 "\1\51",
2730 "",
2731 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\54\5\47\1\53\13\47",
2732 "",
2733 "",
2734 "",
2735 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\56\4\47\1\55\2\47",
2736 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\57\13\47",
2737 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\30\47\1\60\1\47",
2738 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\61\25\47",
2739 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\62\25\47",
2740 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\7\47\1\63\20\47\1\64\1\47",
2741 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\65\25\47",
2742 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\13\47\1\66\16\47",
2743 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\67\14\47",
2744 "",
2745 "\1\70\100\uffff\1\71",
2746 "\1\72",
2747 "\1\75\125\uffff\1\74",
2748 "",
2749 "",
2750 "\1\77",
2751 "\1\101",
2752 "",
2753 "\1\106\74\uffff\5\107\1\104\5\107\1\105\7\107\1\103\6\107",
2754 "\12\110\7\uffff\32\110\4\uffff\1\110\1\uffff\32\110",
2755 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2756 "\42\113\1\114\71\113\1\112\uffa3\113",
2757 "\47\116\1\117\64\116\1\115\uffa3\116",
2758 "\1\121\1\122\25\uffff\1\121",
2759 "\1\121\1\122\12\123\13\uffff\1\121",
2760 "\1\41\1\uffff\1\41\2\uffff\1\124\11\125",
2761 "",
2762 "",
2763 "\1\126\4\uffff\1\127",
2764 "",
2765 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\130\27\47",
2766 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2767 "",
2768 "",
2769 "",
2770 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\5\47\1\131\24\47",
2771 "\12\47\7\uffff\32\47\4\uffff\1\132\1\uffff\32\47",
2772 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\133\21\47",
2773 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\134\7\47",
2774 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\135\3\47\1\136\10\47",
2775 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\17\47\1\137\12\47",
2776 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\5\47\1\140\24\47",
2777 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\141\15\47",
2778 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\142\25\47",
2779 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\17\47\1\143\12\47",
2780 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\6\47\1\144\23\47",
2781 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\145\31\47",
2782 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\12\47\1\146\17\47",
2783 "\1\147",
2784 "",
2785 "",
2786 "",
2787 "",
2788 "",
2789 "",
2790 "",
2791 "",
2792 "",
2793 "",
2794 "\1\151",
2795 "\1\152",
2796 "\1\153",
2797 "",
2798 "",
2799 "\12\110\7\uffff\32\110\4\uffff\1\110\1\uffff\32\110",
2800 "",
2801 "\42\117\1\154\71\117\1\154\uffa3\117",
2802 "\42\113\1\114\71\113\1\112\uffa3\113",
2803 "",
2804 "\47\117\1\156\64\117\1\156\uffa3\117",
2805 "\47\116\1\157\64\116\1\115\uffa3\116",
2806 "",
2807 "",
2808 "",
2809 "",
2810 "\1\121\1\122\12\123\13\uffff\1\121",
2811 "\1\121\1\122\25\uffff\1\121",
2812 "\1\121\1\122\12\161\13\uffff\1\121",
2813 "",
2814 "",
2815 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\13\47\1\162\16\47",
2816 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2817 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\3\47\1\164\1\47\1\165\11\47\1\166\12\47",
2818 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\167\13\47",
2819 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\24\47\1\170\5\47",
2820 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\11\47\1\171\20\47",
2821 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\172\13\47",
2822 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\173\13\47",
2823 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\174\21\47",
2824 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\175\15\47",
2825 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\176\13\47",
2826 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\177\25\47",
2827 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\u0080\31\47",
2828 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u0081\21\47",
2829 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u0082\14\47",
2830 "",
2831 "",
2832 "\1\u0083",
2833 "\1\u0084",
2834 "\1\u0085",
2835 "\42\113\1\114\71\113\1\112\uffa3\113",
2836 "",
2837 "\47\116\1\157\64\116\1\115\uffa3\116",
2838 "",
2839 "",
2840 "\1\121\1\122\12\161\13\uffff\1\121",
2841 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\24\47\1\u0087\5\47",
2842 "",
2843 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u0088\13\47",
2844 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\24\47\1\u0089\5\47",
2845 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u008a\10\47",
2846 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\u008b\15\47",
2847 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\u008c\15\47",
2848 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u008d\25\47",
2849 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\13\47\1\u008e\16\47",
2850 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u008f\6\47",
2851 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u0090\14\47",
2852 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\u0091\31\47",
2853 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u0092\10\47",
2854 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2855 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u0094\6\47",
2856 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u0095\14\47",
2857 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u0096\13\47",
2858 "\1\u0097",
2859 "\1\u0098",
2860 "\1\u0099",
2861 "",
2862 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\3\47\1\u009a\26\47",
2863 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\u009b\15\47",
2864 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u009c\14\47",
2865 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u009d\25\47",
2866 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2867 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\17\47\1\u009f\12\47",
2868 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\u00a0\27\47",
2869 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\13\47\1\u00a1\16\47",
2870 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\7\47\1\u00a2\22\47",
2871 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00a3\21\47",
2872 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2873 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00a5\25\47",
2874 "",
2875 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00a6\25\47",
2876 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2877 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\26\47\1\u00a8\3\47",
2878 "\12\107\7\uffff\32\107\4\uffff\1\107\1\uffff\32\107",
2879 "\1\u00aa",
2880 "\12\107\7\uffff\32\107\4\uffff\1\107\1\uffff\32\107",
2881 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00ac\25\47",
2882 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\u00ad\31\47",
2883 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\u00ae\27\47",
2884 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\3\47\1\u00af\26\47",
2885 "",
2886 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00b0\6\47",
2887 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00b1\6\47",
2888 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\u00b2\31\47",
2889 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00b3\25\47",
2890 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00b4\6\47",
2891 "",
2892 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\14\47\1\u00b5\15\47",
2893 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\3\47\1\u00b6\26\47",
2894 "",
2895 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u00b7\14\47",
2896 "",
2897 "\12\107\7\uffff\32\107\4\uffff\1\107\1\uffff\32\107",
2898 "",
2899 "\1\u00b9\7\uffff\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2900 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00ba\21\47",
2901 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00bb\6\47",
2902 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00bc\21\47",
2903 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00bd\21\47",
2904 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\24\47\1\u00be\5\47",
2905 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u00bf\10\47",
2906 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u00c0\7\47",
2907 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00c1\21\47",
2908 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2909 "\12\47\7\uffff\32\47\4\uffff\1\u00c3\1\uffff\32\47",
2910 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2911 "",
2912 "",
2913 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u00c5\14\47",
2914 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u00c6\13\47",
2915 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\u00c7\27\47",
2916 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u00c8\13\47",
2917 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u00c9\10\47",
2918 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\30\47\1\u00ca\1\47",
2919 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\10\47\1\u00cb\21\47",
2920 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u00cc\13\47",
2921 "",
2922 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\u00cd\27\47",
2923 "",
2924 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2925 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u00cf\10\47",
2926 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\1\u00d0\31\47",
2927 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u00d1\14\47",
2928 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00d2\25\47",
2929 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2930 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u00d4\7\47",
2931 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u00d5\14\47",
2932 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\16\47\1\u00d6\13\47",
2933 "",
2934 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u00d7\7\47",
2935 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00d8\6\47",
2936 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2937 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2938 "",
2939 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2940 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2941 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\15\47\1\u00dd\14\47",
2942 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2943 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00df\25\47",
2944 "",
2945 "",
2946 "",
2947 "",
2948 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\11\47\1\u00e0\20\47",
2949 "",
2950 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\22\47\1\u00e1\7\47",
2951 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00e2\25\47",
2952 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2953 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\2\47\1\u00e4\27\47",
2954 "",
2955 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\23\47\1\u00e5\6\47",
2956 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\24\47\1\u00e6\5\47",
2957 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\21\47\1\u00e7\10\47",
2958 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\4\47\1\u00e8\25\47",
2959 "\12\47\7\uffff\32\47\4\uffff\1\47\1\uffff\32\47",
2960 ""
2961 };
2962
2963 static final short[] DFA26_eot = DFA.unpackEncodedString(DFA26_eotS);
2964 static final short[] DFA26_eof = DFA.unpackEncodedString(DFA26_eofS);
2965 static final char[] DFA26_min = DFA.unpackEncodedStringToUnsignedChars(DFA26_minS);
2966 static final char[] DFA26_max = DFA.unpackEncodedStringToUnsignedChars(DFA26_maxS);
2967 static final short[] DFA26_accept = DFA.unpackEncodedString(DFA26_acceptS);
2968 static final short[] DFA26_special = DFA.unpackEncodedString(DFA26_specialS);
2969 static final short[][] DFA26_transition;
2970
2971 static {
2972 int numStates = DFA26_transitionS.length;
2973 DFA26_transition = new short[numStates][];
2974 for (int i=0; i<numStates; i++) {
2975 DFA26_transition[i] = DFA.unpackEncodedString(DFA26_transitionS[i]);
2976 }
2977 }
2978
2979 class DFA26 extends DFA {
2980
2981 public DFA26(BaseRecognizer recognizer) {
2982 this.recognizer = recognizer;
2983 this.decisionNumber = 26;
2984 this.eot = DFA26_eot;
2985 this.eof = DFA26_eof;
2986 this.min = DFA26_min;
2987 this.max = DFA26_max;
2988 this.accept = DFA26_accept;
2989 this.special = DFA26_special;
2990 this.transition = DFA26_transition;
2991 }
2992 public String getDescription() {
2993 return "1:1: Tokens : ( T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | RULE_UPPER_WORD_ID | RULE_LOWER_WORD_ID | RULE_DOUBLE_QUOTE | RULE_SINGLE_QUOTE | RULE_DOLLAR_ID | RULE_DOUBLE_DOLLAR_ID | RULE_LITERAL | RULE_SIGNED_LITERAL | RULE_SIGNED_REAL_ID | RULE_SIGNED_RAT_ID | RULE_SINGLE_COMMENT | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS );";
2994 }
2995 public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
2996 IntStream input = _input;
2997 int _s = s;
2998 switch ( s ) {
2999 case 0 :
3000 int LA26_29 = input.LA(1);
3001
3002 s = -1;
3003 if ( (LA26_29=='\\') ) {s = 74;}
3004
3005 else if ( ((LA26_29>='\u0000' && LA26_29<='!')||(LA26_29>='#' && LA26_29<='[')||(LA26_29>=']' && LA26_29<='\uFFFF')) ) {s = 75;}
3006
3007 else if ( (LA26_29=='\"') ) {s = 76;}
3008
3009 if ( s>=0 ) return s;
3010 break;
3011 case 1 :
3012 int LA26_74 = input.LA(1);
3013
3014 s = -1;
3015 if ( (LA26_74=='\"'||LA26_74=='\\') ) {s = 108;}
3016
3017 else if ( ((LA26_74>='\u0000' && LA26_74<='!')||(LA26_74>='#' && LA26_74<='[')||(LA26_74>=']' && LA26_74<='\uFFFF')) ) {s = 79;}
3018
3019 if ( s>=0 ) return s;
3020 break;
3021 case 2 :
3022 int LA26_77 = input.LA(1);
3023
3024 s = -1;
3025 if ( (LA26_77=='\''||LA26_77=='\\') ) {s = 110;}
3026
3027 else if ( ((LA26_77>='\u0000' && LA26_77<='&')||(LA26_77>='(' && LA26_77<='[')||(LA26_77>=']' && LA26_77<='\uFFFF')) ) {s = 79;}
3028
3029 if ( s>=0 ) return s;
3030 break;
3031 case 3 :
3032 int LA26_110 = input.LA(1);
3033
3034 s = -1;
3035 if ( (LA26_110=='\'') ) {s = 111;}
3036
3037 else if ( (LA26_110=='\\') ) {s = 77;}
3038
3039 else if ( ((LA26_110>='\u0000' && LA26_110<='&')||(LA26_110>='(' && LA26_110<='[')||(LA26_110>=']' && LA26_110<='\uFFFF')) ) {s = 78;}
3040
3041 if ( s>=0 ) return s;
3042 break;
3043 case 4 :
3044 int LA26_78 = input.LA(1);
3045
3046 s = -1;
3047 if ( (LA26_78=='\'') ) {s = 111;}
3048
3049 else if ( (LA26_78=='\\') ) {s = 77;}
3050
3051 else if ( ((LA26_78>='\u0000' && LA26_78<='&')||(LA26_78>='(' && LA26_78<='[')||(LA26_78>=']' && LA26_78<='\uFFFF')) ) {s = 78;}
3052
3053 if ( s>=0 ) return s;
3054 break;
3055 case 5 :
3056 int LA26_30 = input.LA(1);
3057
3058 s = -1;
3059 if ( (LA26_30=='\\') ) {s = 77;}
3060
3061 else if ( ((LA26_30>='\u0000' && LA26_30<='&')||(LA26_30>='(' && LA26_30<='[')||(LA26_30>=']' && LA26_30<='\uFFFF')) ) {s = 78;}
3062
3063 else if ( (LA26_30=='\'') ) {s = 79;}
3064
3065 if ( s>=0 ) return s;
3066 break;
3067 case 6 :
3068 int LA26_108 = input.LA(1);
3069
3070 s = -1;
3071 if ( (LA26_108=='\"') ) {s = 76;}
3072
3073 else if ( (LA26_108=='\\') ) {s = 74;}
3074
3075 else if ( ((LA26_108>='\u0000' && LA26_108<='!')||(LA26_108>='#' && LA26_108<='[')||(LA26_108>=']' && LA26_108<='\uFFFF')) ) {s = 75;}
3076
3077 if ( s>=0 ) return s;
3078 break;
3079 case 7 :
3080 int LA26_75 = input.LA(1);
3081
3082 s = -1;
3083 if ( (LA26_75=='\"') ) {s = 76;}
3084
3085 else if ( (LA26_75=='\\') ) {s = 74;}
3086
3087 else if ( ((LA26_75>='\u0000' && LA26_75<='!')||(LA26_75>='#' && LA26_75<='[')||(LA26_75>=']' && LA26_75<='\uFFFF')) ) {s = 75;}
3088
3089 if ( s>=0 ) return s;
3090 break;
3091 }
3092 NoViableAltException nvae =
3093 new NoViableAltException(getDescription(), 26, _s, input);
3094 error(nvae);
3095 throw nvae;
3096 }
3097 }
3098
3099
3100} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java
new file mode 100644
index 00000000..4388b674
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/parser/antlr/internal/InternalVampireLanguageParser.java
@@ -0,0 +1,7031 @@
1package ca.mcgill.ecse.dslreasoner.parser.antlr.internal;
2
3import org.eclipse.xtext.*;
4import org.eclipse.xtext.parser.*;
5import org.eclipse.xtext.parser.impl.*;
6import org.eclipse.emf.ecore.util.EcoreUtil;
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
9import org.eclipse.xtext.parser.antlr.XtextTokenStream;
10import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
11import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
12import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
13
14
15
16import org.antlr.runtime.*;
17import java.util.Stack;
18import java.util.List;
19import java.util.ArrayList;
20
21@SuppressWarnings("all")
22public class InternalVampireLanguageParser extends AbstractInternalAntlrParser {
23 public static final String[] tokenNames = new String[] {
24 "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_SINGLE_QUOTE", "RULE_LOWER_WORD_ID", "RULE_LITERAL", "RULE_SIGNED_LITERAL", "RULE_SINGLE_COMMENT", "RULE_DOLLAR_ID", "RULE_DOUBLE_DOLLAR_ID", "RULE_UPPER_WORD_ID", "RULE_SIGNED_REAL_ID", "RULE_SIGNED_RAT_ID", "RULE_DOUBLE_QUOTE", "RULE_ALPHA_NUMERIC", "RULE_SIGN", "RULE_INT", "RULE_UNSIGNED_REAL_FRAC_ID", "RULE_UNSIGNED_REAL_EXP_ID", "RULE_UNSIGNED_RAT_ID", "RULE_ANY_OTHER", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "'include('", "',['", "','", "']'", "'fof'", "'('", "')'", "'.'", "'axiom'", "'conjecture'", "'hypothesis'", "'definition'", "'assumption'", "'lemma'", "'theorem'", "'corollary'", "'negated_conjecture'", "'plain'", "'type'", "'fi_domain'", "'fi_functors'", "'fi_predicates'", "'unknown'", "'['", "'<=>'", "'=>'", "'<='", "'<~>'", "'~|'", "'~&'", "'&'", "'|'", "'!'", "':'", "'?'", "'~'", "'!='", "'='", "':='", "'$true'", "'$false'", "'$less'"
25 };
26 public static final int RULE_UNSIGNED_RAT_ID=20;
27 public static final int T__50=50;
28 public static final int RULE_SIGN=16;
29 public static final int T__59=59;
30 public static final int RULE_SIGNED_LITERAL=7;
31 public static final int T__55=55;
32 public static final int T__56=56;
33 public static final int T__57=57;
34 public static final int T__58=58;
35 public static final int T__51=51;
36 public static final int RULE_DOUBLE_QUOTE=14;
37 public static final int T__52=52;
38 public static final int RULE_LITERAL=6;
39 public static final int T__53=53;
40 public static final int RULE_UNSIGNED_REAL_FRAC_ID=18;
41 public static final int T__54=54;
42 public static final int T__60=60;
43 public static final int T__61=61;
44 public static final int RULE_ID=22;
45 public static final int RULE_SINGLE_QUOTE=4;
46 public static final int RULE_SINGLE_COMMENT=8;
47 public static final int T__27=27;
48 public static final int T__28=28;
49 public static final int RULE_INT=17;
50 public static final int T__29=29;
51 public static final int T__66=66;
52 public static final int RULE_ML_COMMENT=24;
53 public static final int T__67=67;
54 public static final int RULE_SIGNED_RAT_ID=13;
55 public static final int T__68=68;
56 public static final int T__62=62;
57 public static final int T__63=63;
58 public static final int T__64=64;
59 public static final int T__65=65;
60 public static final int RULE_LOWER_WORD_ID=5;
61 public static final int RULE_STRING=23;
62 public static final int RULE_SL_COMMENT=25;
63 public static final int T__37=37;
64 public static final int T__38=38;
65 public static final int T__39=39;
66 public static final int T__33=33;
67 public static final int T__34=34;
68 public static final int T__35=35;
69 public static final int T__36=36;
70 public static final int EOF=-1;
71 public static final int T__30=30;
72 public static final int RULE_UNSIGNED_REAL_EXP_ID=19;
73 public static final int T__31=31;
74 public static final int T__32=32;
75 public static final int RULE_UPPER_WORD_ID=11;
76 public static final int RULE_WS=26;
77 public static final int RULE_DOLLAR_ID=9;
78 public static final int RULE_ALPHA_NUMERIC=15;
79 public static final int RULE_ANY_OTHER=21;
80 public static final int RULE_DOUBLE_DOLLAR_ID=10;
81 public static final int T__48=48;
82 public static final int T__49=49;
83 public static final int T__44=44;
84 public static final int T__45=45;
85 public static final int RULE_SIGNED_REAL_ID=12;
86 public static final int T__46=46;
87 public static final int T__47=47;
88 public static final int T__40=40;
89 public static final int T__41=41;
90 public static final int T__42=42;
91 public static final int T__43=43;
92
93 // delegates
94 // delegators
95
96
97 public InternalVampireLanguageParser(TokenStream input) {
98 this(input, new RecognizerSharedState());
99 }
100 public InternalVampireLanguageParser(TokenStream input, RecognizerSharedState state) {
101 super(input, state);
102
103 }
104
105
106 public String[] getTokenNames() { return InternalVampireLanguageParser.tokenNames; }
107 public String getGrammarFileName() { return "InternalVampireLanguage.g"; }
108
109
110
111 private VampireLanguageGrammarAccess grammarAccess;
112
113 public InternalVampireLanguageParser(TokenStream input, VampireLanguageGrammarAccess grammarAccess) {
114 this(input);
115 this.grammarAccess = grammarAccess;
116 registerRules(grammarAccess.getGrammar());
117 }
118
119 @Override
120 protected String getFirstRuleName() {
121 return "VampireModel";
122 }
123
124 @Override
125 protected VampireLanguageGrammarAccess getGrammarAccess() {
126 return grammarAccess;
127 }
128
129
130
131
132 // $ANTLR start "entryRuleVampireModel"
133 // InternalVampireLanguage.g:64:1: entryRuleVampireModel returns [EObject current=null] : iv_ruleVampireModel= ruleVampireModel EOF ;
134 public final EObject entryRuleVampireModel() throws RecognitionException {
135 EObject current = null;
136
137 EObject iv_ruleVampireModel = null;
138
139
140 try {
141 // InternalVampireLanguage.g:64:53: (iv_ruleVampireModel= ruleVampireModel EOF )
142 // InternalVampireLanguage.g:65:2: iv_ruleVampireModel= ruleVampireModel EOF
143 {
144 newCompositeNode(grammarAccess.getVampireModelRule());
145 pushFollow(FOLLOW_1);
146 iv_ruleVampireModel=ruleVampireModel();
147
148 state._fsp--;
149
150 current =iv_ruleVampireModel;
151 match(input,EOF,FOLLOW_2);
152
153 }
154
155 }
156
157 catch (RecognitionException re) {
158 recover(input,re);
159 appendSkippedTokens();
160 }
161 finally {
162 }
163 return current;
164 }
165 // $ANTLR end "entryRuleVampireModel"
166
167
168 // $ANTLR start "ruleVampireModel"
169 // InternalVampireLanguage.g:71:1: ruleVampireModel returns [EObject current=null] : ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) )* ;
170 public final EObject ruleVampireModel() throws RecognitionException {
171 EObject current = null;
172
173 EObject lv_includes_0_0 = null;
174
175 EObject lv_comments_1_0 = null;
176
177 EObject lv_formulas_2_0 = null;
178
179
180
181 enterRule();
182
183 try {
184 // InternalVampireLanguage.g:77:2: ( ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) )* )
185 // InternalVampireLanguage.g:78:2: ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) )*
186 {
187 // InternalVampireLanguage.g:78:2: ( ( (lv_includes_0_0= ruleVLSInclude ) ) | ( (lv_comments_1_0= ruleVLSComment ) ) | ( (lv_formulas_2_0= ruleVLSFofFormula ) ) )*
188 loop1:
189 do {
190 int alt1=4;
191 switch ( input.LA(1) ) {
192 case 27:
193 {
194 alt1=1;
195 }
196 break;
197 case RULE_SINGLE_COMMENT:
198 {
199 alt1=2;
200 }
201 break;
202 case 31:
203 {
204 alt1=3;
205 }
206 break;
207
208 }
209
210 switch (alt1) {
211 case 1 :
212 // InternalVampireLanguage.g:79:3: ( (lv_includes_0_0= ruleVLSInclude ) )
213 {
214 // InternalVampireLanguage.g:79:3: ( (lv_includes_0_0= ruleVLSInclude ) )
215 // InternalVampireLanguage.g:80:4: (lv_includes_0_0= ruleVLSInclude )
216 {
217 // InternalVampireLanguage.g:80:4: (lv_includes_0_0= ruleVLSInclude )
218 // InternalVampireLanguage.g:81:5: lv_includes_0_0= ruleVLSInclude
219 {
220
221 newCompositeNode(grammarAccess.getVampireModelAccess().getIncludesVLSIncludeParserRuleCall_0_0());
222
223 pushFollow(FOLLOW_3);
224 lv_includes_0_0=ruleVLSInclude();
225
226 state._fsp--;
227
228
229 if (current==null) {
230 current = createModelElementForParent(grammarAccess.getVampireModelRule());
231 }
232 add(
233 current,
234 "includes",
235 lv_includes_0_0,
236 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSInclude");
237 afterParserOrEnumRuleCall();
238
239
240 }
241
242
243 }
244
245
246 }
247 break;
248 case 2 :
249 // InternalVampireLanguage.g:99:3: ( (lv_comments_1_0= ruleVLSComment ) )
250 {
251 // InternalVampireLanguage.g:99:3: ( (lv_comments_1_0= ruleVLSComment ) )
252 // InternalVampireLanguage.g:100:4: (lv_comments_1_0= ruleVLSComment )
253 {
254 // InternalVampireLanguage.g:100:4: (lv_comments_1_0= ruleVLSComment )
255 // InternalVampireLanguage.g:101:5: lv_comments_1_0= ruleVLSComment
256 {
257
258 newCompositeNode(grammarAccess.getVampireModelAccess().getCommentsVLSCommentParserRuleCall_1_0());
259
260 pushFollow(FOLLOW_3);
261 lv_comments_1_0=ruleVLSComment();
262
263 state._fsp--;
264
265
266 if (current==null) {
267 current = createModelElementForParent(grammarAccess.getVampireModelRule());
268 }
269 add(
270 current,
271 "comments",
272 lv_comments_1_0,
273 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSComment");
274 afterParserOrEnumRuleCall();
275
276
277 }
278
279
280 }
281
282
283 }
284 break;
285 case 3 :
286 // InternalVampireLanguage.g:119:3: ( (lv_formulas_2_0= ruleVLSFofFormula ) )
287 {
288 // InternalVampireLanguage.g:119:3: ( (lv_formulas_2_0= ruleVLSFofFormula ) )
289 // InternalVampireLanguage.g:120:4: (lv_formulas_2_0= ruleVLSFofFormula )
290 {
291 // InternalVampireLanguage.g:120:4: (lv_formulas_2_0= ruleVLSFofFormula )
292 // InternalVampireLanguage.g:121:5: lv_formulas_2_0= ruleVLSFofFormula
293 {
294
295 newCompositeNode(grammarAccess.getVampireModelAccess().getFormulasVLSFofFormulaParserRuleCall_2_0());
296
297 pushFollow(FOLLOW_3);
298 lv_formulas_2_0=ruleVLSFofFormula();
299
300 state._fsp--;
301
302
303 if (current==null) {
304 current = createModelElementForParent(grammarAccess.getVampireModelRule());
305 }
306 add(
307 current,
308 "formulas",
309 lv_formulas_2_0,
310 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofFormula");
311 afterParserOrEnumRuleCall();
312
313
314 }
315
316
317 }
318
319
320 }
321 break;
322
323 default :
324 break loop1;
325 }
326 } while (true);
327
328
329 }
330
331
332 leaveRule();
333
334 }
335
336 catch (RecognitionException re) {
337 recover(input,re);
338 appendSkippedTokens();
339 }
340 finally {
341 }
342 return current;
343 }
344 // $ANTLR end "ruleVampireModel"
345
346
347 // $ANTLR start "entryRuleVLSInclude"
348 // InternalVampireLanguage.g:142:1: entryRuleVLSInclude returns [EObject current=null] : iv_ruleVLSInclude= ruleVLSInclude EOF ;
349 public final EObject entryRuleVLSInclude() throws RecognitionException {
350 EObject current = null;
351
352 EObject iv_ruleVLSInclude = null;
353
354
355 try {
356 // InternalVampireLanguage.g:142:51: (iv_ruleVLSInclude= ruleVLSInclude EOF )
357 // InternalVampireLanguage.g:143:2: iv_ruleVLSInclude= ruleVLSInclude EOF
358 {
359 newCompositeNode(grammarAccess.getVLSIncludeRule());
360 pushFollow(FOLLOW_1);
361 iv_ruleVLSInclude=ruleVLSInclude();
362
363 state._fsp--;
364
365 current =iv_ruleVLSInclude;
366 match(input,EOF,FOLLOW_2);
367
368 }
369
370 }
371
372 catch (RecognitionException re) {
373 recover(input,re);
374 appendSkippedTokens();
375 }
376 finally {
377 }
378 return current;
379 }
380 // $ANTLR end "entryRuleVLSInclude"
381
382
383 // $ANTLR start "ruleVLSInclude"
384 // InternalVampireLanguage.g:149:1: ruleVLSInclude returns [EObject current=null] : (otherlv_0= 'include(' ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) ) (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )? ) ;
385 public final EObject ruleVLSInclude() throws RecognitionException {
386 EObject current = null;
387
388 Token otherlv_0=null;
389 Token lv_fileName_1_0=null;
390 Token otherlv_2=null;
391 Token otherlv_4=null;
392 Token otherlv_6=null;
393 EObject lv_names_3_0 = null;
394
395 EObject lv_names_5_0 = null;
396
397
398
399 enterRule();
400
401 try {
402 // InternalVampireLanguage.g:155:2: ( (otherlv_0= 'include(' ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) ) (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )? ) )
403 // InternalVampireLanguage.g:156:2: (otherlv_0= 'include(' ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) ) (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )? )
404 {
405 // InternalVampireLanguage.g:156:2: (otherlv_0= 'include(' ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) ) (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )? )
406 // InternalVampireLanguage.g:157:3: otherlv_0= 'include(' ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) ) (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )?
407 {
408 otherlv_0=(Token)match(input,27,FOLLOW_4);
409
410 newLeafNode(otherlv_0, grammarAccess.getVLSIncludeAccess().getIncludeKeyword_0());
411
412 // InternalVampireLanguage.g:161:3: ( (lv_fileName_1_0= RULE_SINGLE_QUOTE ) )
413 // InternalVampireLanguage.g:162:4: (lv_fileName_1_0= RULE_SINGLE_QUOTE )
414 {
415 // InternalVampireLanguage.g:162:4: (lv_fileName_1_0= RULE_SINGLE_QUOTE )
416 // InternalVampireLanguage.g:163:5: lv_fileName_1_0= RULE_SINGLE_QUOTE
417 {
418 lv_fileName_1_0=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_5);
419
420 newLeafNode(lv_fileName_1_0, grammarAccess.getVLSIncludeAccess().getFileNameSINGLE_QUOTETerminalRuleCall_1_0());
421
422
423 if (current==null) {
424 current = createModelElement(grammarAccess.getVLSIncludeRule());
425 }
426 setWithLastConsumed(
427 current,
428 "fileName",
429 lv_fileName_1_0,
430 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
431
432
433 }
434
435
436 }
437
438 // InternalVampireLanguage.g:179:3: (otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']' )?
439 int alt3=2;
440 int LA3_0 = input.LA(1);
441
442 if ( (LA3_0==28) ) {
443 alt3=1;
444 }
445 switch (alt3) {
446 case 1 :
447 // InternalVampireLanguage.g:180:4: otherlv_2= ',[' ( (lv_names_3_0= ruleVLSName ) ) (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )* otherlv_6= ']'
448 {
449 otherlv_2=(Token)match(input,28,FOLLOW_6);
450
451 newLeafNode(otherlv_2, grammarAccess.getVLSIncludeAccess().getCommaLeftSquareBracketKeyword_2_0());
452
453 // InternalVampireLanguage.g:184:4: ( (lv_names_3_0= ruleVLSName ) )
454 // InternalVampireLanguage.g:185:5: (lv_names_3_0= ruleVLSName )
455 {
456 // InternalVampireLanguage.g:185:5: (lv_names_3_0= ruleVLSName )
457 // InternalVampireLanguage.g:186:6: lv_names_3_0= ruleVLSName
458 {
459
460 newCompositeNode(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_1_0());
461
462 pushFollow(FOLLOW_7);
463 lv_names_3_0=ruleVLSName();
464
465 state._fsp--;
466
467
468 if (current==null) {
469 current = createModelElementForParent(grammarAccess.getVLSIncludeRule());
470 }
471 add(
472 current,
473 "names",
474 lv_names_3_0,
475 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
476 afterParserOrEnumRuleCall();
477
478
479 }
480
481
482 }
483
484 // InternalVampireLanguage.g:203:4: (otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) ) )*
485 loop2:
486 do {
487 int alt2=2;
488 int LA2_0 = input.LA(1);
489
490 if ( (LA2_0==29) ) {
491 alt2=1;
492 }
493
494
495 switch (alt2) {
496 case 1 :
497 // InternalVampireLanguage.g:204:5: otherlv_4= ',' ( (lv_names_5_0= ruleVLSName ) )
498 {
499 otherlv_4=(Token)match(input,29,FOLLOW_6);
500
501 newLeafNode(otherlv_4, grammarAccess.getVLSIncludeAccess().getCommaKeyword_2_2_0());
502
503 // InternalVampireLanguage.g:208:5: ( (lv_names_5_0= ruleVLSName ) )
504 // InternalVampireLanguage.g:209:6: (lv_names_5_0= ruleVLSName )
505 {
506 // InternalVampireLanguage.g:209:6: (lv_names_5_0= ruleVLSName )
507 // InternalVampireLanguage.g:210:7: lv_names_5_0= ruleVLSName
508 {
509
510 newCompositeNode(grammarAccess.getVLSIncludeAccess().getNamesVLSNameParserRuleCall_2_2_1_0());
511
512 pushFollow(FOLLOW_7);
513 lv_names_5_0=ruleVLSName();
514
515 state._fsp--;
516
517
518 if (current==null) {
519 current = createModelElementForParent(grammarAccess.getVLSIncludeRule());
520 }
521 add(
522 current,
523 "names",
524 lv_names_5_0,
525 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
526 afterParserOrEnumRuleCall();
527
528
529 }
530
531
532 }
533
534
535 }
536 break;
537
538 default :
539 break loop2;
540 }
541 } while (true);
542
543 otherlv_6=(Token)match(input,30,FOLLOW_2);
544
545 newLeafNode(otherlv_6, grammarAccess.getVLSIncludeAccess().getRightSquareBracketKeyword_2_3());
546
547
548 }
549 break;
550
551 }
552
553
554 }
555
556
557 }
558
559
560 leaveRule();
561
562 }
563
564 catch (RecognitionException re) {
565 recover(input,re);
566 appendSkippedTokens();
567 }
568 finally {
569 }
570 return current;
571 }
572 // $ANTLR end "ruleVLSInclude"
573
574
575 // $ANTLR start "entryRuleVLSName"
576 // InternalVampireLanguage.g:237:1: entryRuleVLSName returns [EObject current=null] : iv_ruleVLSName= ruleVLSName EOF ;
577 public final EObject entryRuleVLSName() throws RecognitionException {
578 EObject current = null;
579
580 EObject iv_ruleVLSName = null;
581
582
583 try {
584 // InternalVampireLanguage.g:237:48: (iv_ruleVLSName= ruleVLSName EOF )
585 // InternalVampireLanguage.g:238:2: iv_ruleVLSName= ruleVLSName EOF
586 {
587 newCompositeNode(grammarAccess.getVLSNameRule());
588 pushFollow(FOLLOW_1);
589 iv_ruleVLSName=ruleVLSName();
590
591 state._fsp--;
592
593 current =iv_ruleVLSName;
594 match(input,EOF,FOLLOW_2);
595
596 }
597
598 }
599
600 catch (RecognitionException re) {
601 recover(input,re);
602 appendSkippedTokens();
603 }
604 finally {
605 }
606 return current;
607 }
608 // $ANTLR end "entryRuleVLSName"
609
610
611 // $ANTLR start "ruleVLSName"
612 // InternalVampireLanguage.g:244:1: ruleVLSName returns [EObject current=null] : ( ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) ) ) ;
613 public final EObject ruleVLSName() throws RecognitionException {
614 EObject current = null;
615
616 Token lv_name_0_1=null;
617 Token lv_name_0_2=null;
618 Token lv_name_0_3=null;
619 Token lv_name_0_4=null;
620
621
622 enterRule();
623
624 try {
625 // InternalVampireLanguage.g:250:2: ( ( ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) ) ) )
626 // InternalVampireLanguage.g:251:2: ( ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) ) )
627 {
628 // InternalVampireLanguage.g:251:2: ( ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) ) )
629 // InternalVampireLanguage.g:252:3: ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) )
630 {
631 // InternalVampireLanguage.g:252:3: ( (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL ) )
632 // InternalVampireLanguage.g:253:4: (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL )
633 {
634 // InternalVampireLanguage.g:253:4: (lv_name_0_1= RULE_LOWER_WORD_ID | lv_name_0_2= RULE_SINGLE_QUOTE | lv_name_0_3= RULE_LITERAL | lv_name_0_4= RULE_SIGNED_LITERAL )
635 int alt4=4;
636 switch ( input.LA(1) ) {
637 case RULE_LOWER_WORD_ID:
638 {
639 alt4=1;
640 }
641 break;
642 case RULE_SINGLE_QUOTE:
643 {
644 alt4=2;
645 }
646 break;
647 case RULE_LITERAL:
648 {
649 alt4=3;
650 }
651 break;
652 case RULE_SIGNED_LITERAL:
653 {
654 alt4=4;
655 }
656 break;
657 default:
658 NoViableAltException nvae =
659 new NoViableAltException("", 4, 0, input);
660
661 throw nvae;
662 }
663
664 switch (alt4) {
665 case 1 :
666 // InternalVampireLanguage.g:254:5: lv_name_0_1= RULE_LOWER_WORD_ID
667 {
668 lv_name_0_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
669
670 newLeafNode(lv_name_0_1, grammarAccess.getVLSNameAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_0());
671
672
673 if (current==null) {
674 current = createModelElement(grammarAccess.getVLSNameRule());
675 }
676 setWithLastConsumed(
677 current,
678 "name",
679 lv_name_0_1,
680 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
681
682
683 }
684 break;
685 case 2 :
686 // InternalVampireLanguage.g:269:5: lv_name_0_2= RULE_SINGLE_QUOTE
687 {
688 lv_name_0_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
689
690 newLeafNode(lv_name_0_2, grammarAccess.getVLSNameAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1());
691
692
693 if (current==null) {
694 current = createModelElement(grammarAccess.getVLSNameRule());
695 }
696 setWithLastConsumed(
697 current,
698 "name",
699 lv_name_0_2,
700 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
701
702
703 }
704 break;
705 case 3 :
706 // InternalVampireLanguage.g:284:5: lv_name_0_3= RULE_LITERAL
707 {
708 lv_name_0_3=(Token)match(input,RULE_LITERAL,FOLLOW_2);
709
710 newLeafNode(lv_name_0_3, grammarAccess.getVLSNameAccess().getNameLITERALTerminalRuleCall_0_2());
711
712
713 if (current==null) {
714 current = createModelElement(grammarAccess.getVLSNameRule());
715 }
716 setWithLastConsumed(
717 current,
718 "name",
719 lv_name_0_3,
720 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LITERAL");
721
722
723 }
724 break;
725 case 4 :
726 // InternalVampireLanguage.g:299:5: lv_name_0_4= RULE_SIGNED_LITERAL
727 {
728 lv_name_0_4=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_2);
729
730 newLeafNode(lv_name_0_4, grammarAccess.getVLSNameAccess().getNameSIGNED_LITERALTerminalRuleCall_0_3());
731
732
733 if (current==null) {
734 current = createModelElement(grammarAccess.getVLSNameRule());
735 }
736 setWithLastConsumed(
737 current,
738 "name",
739 lv_name_0_4,
740 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
741
742
743 }
744 break;
745
746 }
747
748
749 }
750
751
752 }
753
754
755 }
756
757
758 leaveRule();
759
760 }
761
762 catch (RecognitionException re) {
763 recover(input,re);
764 appendSkippedTokens();
765 }
766 finally {
767 }
768 return current;
769 }
770 // $ANTLR end "ruleVLSName"
771
772
773 // $ANTLR start "entryRuleVLSComment"
774 // InternalVampireLanguage.g:319:1: entryRuleVLSComment returns [EObject current=null] : iv_ruleVLSComment= ruleVLSComment EOF ;
775 public final EObject entryRuleVLSComment() throws RecognitionException {
776 EObject current = null;
777
778 EObject iv_ruleVLSComment = null;
779
780
781 try {
782 // InternalVampireLanguage.g:319:51: (iv_ruleVLSComment= ruleVLSComment EOF )
783 // InternalVampireLanguage.g:320:2: iv_ruleVLSComment= ruleVLSComment EOF
784 {
785 newCompositeNode(grammarAccess.getVLSCommentRule());
786 pushFollow(FOLLOW_1);
787 iv_ruleVLSComment=ruleVLSComment();
788
789 state._fsp--;
790
791 current =iv_ruleVLSComment;
792 match(input,EOF,FOLLOW_2);
793
794 }
795
796 }
797
798 catch (RecognitionException re) {
799 recover(input,re);
800 appendSkippedTokens();
801 }
802 finally {
803 }
804 return current;
805 }
806 // $ANTLR end "entryRuleVLSComment"
807
808
809 // $ANTLR start "ruleVLSComment"
810 // InternalVampireLanguage.g:326:1: ruleVLSComment returns [EObject current=null] : ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) ) ;
811 public final EObject ruleVLSComment() throws RecognitionException {
812 EObject current = null;
813
814 Token lv_comment_0_0=null;
815
816
817 enterRule();
818
819 try {
820 // InternalVampireLanguage.g:332:2: ( ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) ) )
821 // InternalVampireLanguage.g:333:2: ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) )
822 {
823 // InternalVampireLanguage.g:333:2: ( (lv_comment_0_0= RULE_SINGLE_COMMENT ) )
824 // InternalVampireLanguage.g:334:3: (lv_comment_0_0= RULE_SINGLE_COMMENT )
825 {
826 // InternalVampireLanguage.g:334:3: (lv_comment_0_0= RULE_SINGLE_COMMENT )
827 // InternalVampireLanguage.g:335:4: lv_comment_0_0= RULE_SINGLE_COMMENT
828 {
829 lv_comment_0_0=(Token)match(input,RULE_SINGLE_COMMENT,FOLLOW_2);
830
831 newLeafNode(lv_comment_0_0, grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_0());
832
833
834 if (current==null) {
835 current = createModelElement(grammarAccess.getVLSCommentRule());
836 }
837 setWithLastConsumed(
838 current,
839 "comment",
840 lv_comment_0_0,
841 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_COMMENT");
842
843
844 }
845
846
847 }
848
849
850 }
851
852
853 leaveRule();
854
855 }
856
857 catch (RecognitionException re) {
858 recover(input,re);
859 appendSkippedTokens();
860 }
861 finally {
862 }
863 return current;
864 }
865 // $ANTLR end "ruleVLSComment"
866
867
868 // $ANTLR start "entryRuleVLSFofFormula"
869 // InternalVampireLanguage.g:354:1: entryRuleVLSFofFormula returns [EObject current=null] : iv_ruleVLSFofFormula= ruleVLSFofFormula EOF ;
870 public final EObject entryRuleVLSFofFormula() throws RecognitionException {
871 EObject current = null;
872
873 EObject iv_ruleVLSFofFormula = null;
874
875
876 try {
877 // InternalVampireLanguage.g:354:54: (iv_ruleVLSFofFormula= ruleVLSFofFormula EOF )
878 // InternalVampireLanguage.g:355:2: iv_ruleVLSFofFormula= ruleVLSFofFormula EOF
879 {
880 newCompositeNode(grammarAccess.getVLSFofFormulaRule());
881 pushFollow(FOLLOW_1);
882 iv_ruleVLSFofFormula=ruleVLSFofFormula();
883
884 state._fsp--;
885
886 current =iv_ruleVLSFofFormula;
887 match(input,EOF,FOLLOW_2);
888
889 }
890
891 }
892
893 catch (RecognitionException re) {
894 recover(input,re);
895 appendSkippedTokens();
896 }
897 finally {
898 }
899 return current;
900 }
901 // $ANTLR end "entryRuleVLSFofFormula"
902
903
904 // $ANTLR start "ruleVLSFofFormula"
905 // InternalVampireLanguage.g:361:1: ruleVLSFofFormula returns [EObject current=null] : (otherlv_0= 'fof' otherlv_1= '(' ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) otherlv_3= ',' ( (lv_fofRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' ) ;
906 public final EObject ruleVLSFofFormula() throws RecognitionException {
907 EObject current = null;
908
909 Token otherlv_0=null;
910 Token otherlv_1=null;
911 Token lv_name_2_1=null;
912 Token lv_name_2_2=null;
913 Token lv_name_2_3=null;
914 Token otherlv_3=null;
915 Token otherlv_5=null;
916 Token otherlv_7=null;
917 Token otherlv_9=null;
918 Token otherlv_10=null;
919 AntlrDatatypeRuleToken lv_fofRole_4_0 = null;
920
921 EObject lv_fofFormula_6_0 = null;
922
923 EObject lv_annotations_8_0 = null;
924
925
926
927 enterRule();
928
929 try {
930 // InternalVampireLanguage.g:367:2: ( (otherlv_0= 'fof' otherlv_1= '(' ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) otherlv_3= ',' ( (lv_fofRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' ) )
931 // InternalVampireLanguage.g:368:2: (otherlv_0= 'fof' otherlv_1= '(' ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) otherlv_3= ',' ( (lv_fofRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' )
932 {
933 // InternalVampireLanguage.g:368:2: (otherlv_0= 'fof' otherlv_1= '(' ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) otherlv_3= ',' ( (lv_fofRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.' )
934 // InternalVampireLanguage.g:369:3: otherlv_0= 'fof' otherlv_1= '(' ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) ) otherlv_3= ',' ( (lv_fofRole_4_0= ruleVLSRole ) ) otherlv_5= ',' ( (lv_fofFormula_6_0= ruleVLSTerm ) ) (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )? otherlv_9= ')' otherlv_10= '.'
935 {
936 otherlv_0=(Token)match(input,31,FOLLOW_8);
937
938 newLeafNode(otherlv_0, grammarAccess.getVLSFofFormulaAccess().getFofKeyword_0());
939
940 otherlv_1=(Token)match(input,32,FOLLOW_9);
941
942 newLeafNode(otherlv_1, grammarAccess.getVLSFofFormulaAccess().getLeftParenthesisKeyword_1());
943
944 // InternalVampireLanguage.g:377:3: ( ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) ) )
945 // InternalVampireLanguage.g:378:4: ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) )
946 {
947 // InternalVampireLanguage.g:378:4: ( (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE ) )
948 // InternalVampireLanguage.g:379:5: (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE )
949 {
950 // InternalVampireLanguage.g:379:5: (lv_name_2_1= RULE_LOWER_WORD_ID | lv_name_2_2= RULE_SIGNED_LITERAL | lv_name_2_3= RULE_SINGLE_QUOTE )
951 int alt5=3;
952 switch ( input.LA(1) ) {
953 case RULE_LOWER_WORD_ID:
954 {
955 alt5=1;
956 }
957 break;
958 case RULE_SIGNED_LITERAL:
959 {
960 alt5=2;
961 }
962 break;
963 case RULE_SINGLE_QUOTE:
964 {
965 alt5=3;
966 }
967 break;
968 default:
969 NoViableAltException nvae =
970 new NoViableAltException("", 5, 0, input);
971
972 throw nvae;
973 }
974
975 switch (alt5) {
976 case 1 :
977 // InternalVampireLanguage.g:380:6: lv_name_2_1= RULE_LOWER_WORD_ID
978 {
979 lv_name_2_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_10);
980
981 newLeafNode(lv_name_2_1, grammarAccess.getVLSFofFormulaAccess().getNameLOWER_WORD_IDTerminalRuleCall_2_0_0());
982
983
984 if (current==null) {
985 current = createModelElement(grammarAccess.getVLSFofFormulaRule());
986 }
987 setWithLastConsumed(
988 current,
989 "name",
990 lv_name_2_1,
991 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
992
993
994 }
995 break;
996 case 2 :
997 // InternalVampireLanguage.g:395:6: lv_name_2_2= RULE_SIGNED_LITERAL
998 {
999 lv_name_2_2=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_10);
1000
1001 newLeafNode(lv_name_2_2, grammarAccess.getVLSFofFormulaAccess().getNameSIGNED_LITERALTerminalRuleCall_2_0_1());
1002
1003
1004 if (current==null) {
1005 current = createModelElement(grammarAccess.getVLSFofFormulaRule());
1006 }
1007 setWithLastConsumed(
1008 current,
1009 "name",
1010 lv_name_2_2,
1011 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
1012
1013
1014 }
1015 break;
1016 case 3 :
1017 // InternalVampireLanguage.g:410:6: lv_name_2_3= RULE_SINGLE_QUOTE
1018 {
1019 lv_name_2_3=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_10);
1020
1021 newLeafNode(lv_name_2_3, grammarAccess.getVLSFofFormulaAccess().getNameSINGLE_QUOTETerminalRuleCall_2_0_2());
1022
1023
1024 if (current==null) {
1025 current = createModelElement(grammarAccess.getVLSFofFormulaRule());
1026 }
1027 setWithLastConsumed(
1028 current,
1029 "name",
1030 lv_name_2_3,
1031 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
1032
1033
1034 }
1035 break;
1036
1037 }
1038
1039
1040 }
1041
1042
1043 }
1044
1045 otherlv_3=(Token)match(input,29,FOLLOW_11);
1046
1047 newLeafNode(otherlv_3, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_3());
1048
1049 // InternalVampireLanguage.g:431:3: ( (lv_fofRole_4_0= ruleVLSRole ) )
1050 // InternalVampireLanguage.g:432:4: (lv_fofRole_4_0= ruleVLSRole )
1051 {
1052 // InternalVampireLanguage.g:432:4: (lv_fofRole_4_0= ruleVLSRole )
1053 // InternalVampireLanguage.g:433:5: lv_fofRole_4_0= ruleVLSRole
1054 {
1055
1056 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofRoleVLSRoleParserRuleCall_4_0());
1057
1058 pushFollow(FOLLOW_10);
1059 lv_fofRole_4_0=ruleVLSRole();
1060
1061 state._fsp--;
1062
1063
1064 if (current==null) {
1065 current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
1066 }
1067 set(
1068 current,
1069 "fofRole",
1070 lv_fofRole_4_0,
1071 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
1072 afterParserOrEnumRuleCall();
1073
1074
1075 }
1076
1077
1078 }
1079
1080 otherlv_5=(Token)match(input,29,FOLLOW_12);
1081
1082 newLeafNode(otherlv_5, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_5());
1083
1084 // InternalVampireLanguage.g:454:3: ( (lv_fofFormula_6_0= ruleVLSTerm ) )
1085 // InternalVampireLanguage.g:455:4: (lv_fofFormula_6_0= ruleVLSTerm )
1086 {
1087 // InternalVampireLanguage.g:455:4: (lv_fofFormula_6_0= ruleVLSTerm )
1088 // InternalVampireLanguage.g:456:5: lv_fofFormula_6_0= ruleVLSTerm
1089 {
1090
1091 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getFofFormulaVLSTermParserRuleCall_6_0());
1092
1093 pushFollow(FOLLOW_13);
1094 lv_fofFormula_6_0=ruleVLSTerm();
1095
1096 state._fsp--;
1097
1098
1099 if (current==null) {
1100 current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
1101 }
1102 set(
1103 current,
1104 "fofFormula",
1105 lv_fofFormula_6_0,
1106 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTerm");
1107 afterParserOrEnumRuleCall();
1108
1109
1110 }
1111
1112
1113 }
1114
1115 // InternalVampireLanguage.g:473:3: (otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) ) )?
1116 int alt6=2;
1117 int LA6_0 = input.LA(1);
1118
1119 if ( (LA6_0==29) ) {
1120 alt6=1;
1121 }
1122 switch (alt6) {
1123 case 1 :
1124 // InternalVampireLanguage.g:474:4: otherlv_7= ',' ( (lv_annotations_8_0= ruleVLSAnnotation ) )
1125 {
1126 otherlv_7=(Token)match(input,29,FOLLOW_14);
1127
1128 newLeafNode(otherlv_7, grammarAccess.getVLSFofFormulaAccess().getCommaKeyword_7_0());
1129
1130 // InternalVampireLanguage.g:478:4: ( (lv_annotations_8_0= ruleVLSAnnotation ) )
1131 // InternalVampireLanguage.g:479:5: (lv_annotations_8_0= ruleVLSAnnotation )
1132 {
1133 // InternalVampireLanguage.g:479:5: (lv_annotations_8_0= ruleVLSAnnotation )
1134 // InternalVampireLanguage.g:480:6: lv_annotations_8_0= ruleVLSAnnotation
1135 {
1136
1137 newCompositeNode(grammarAccess.getVLSFofFormulaAccess().getAnnotationsVLSAnnotationParserRuleCall_7_1_0());
1138
1139 pushFollow(FOLLOW_15);
1140 lv_annotations_8_0=ruleVLSAnnotation();
1141
1142 state._fsp--;
1143
1144
1145 if (current==null) {
1146 current = createModelElementForParent(grammarAccess.getVLSFofFormulaRule());
1147 }
1148 set(
1149 current,
1150 "annotations",
1151 lv_annotations_8_0,
1152 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
1153 afterParserOrEnumRuleCall();
1154
1155
1156 }
1157
1158
1159 }
1160
1161
1162 }
1163 break;
1164
1165 }
1166
1167 otherlv_9=(Token)match(input,33,FOLLOW_16);
1168
1169 newLeafNode(otherlv_9, grammarAccess.getVLSFofFormulaAccess().getRightParenthesisKeyword_8());
1170
1171 otherlv_10=(Token)match(input,34,FOLLOW_2);
1172
1173 newLeafNode(otherlv_10, grammarAccess.getVLSFofFormulaAccess().getFullStopKeyword_9());
1174
1175
1176 }
1177
1178
1179 }
1180
1181
1182 leaveRule();
1183
1184 }
1185
1186 catch (RecognitionException re) {
1187 recover(input,re);
1188 appendSkippedTokens();
1189 }
1190 finally {
1191 }
1192 return current;
1193 }
1194 // $ANTLR end "ruleVLSFofFormula"
1195
1196
1197 // $ANTLR start "entryRuleVLSRole"
1198 // InternalVampireLanguage.g:510:1: entryRuleVLSRole returns [String current=null] : iv_ruleVLSRole= ruleVLSRole EOF ;
1199 public final String entryRuleVLSRole() throws RecognitionException {
1200 String current = null;
1201
1202 AntlrDatatypeRuleToken iv_ruleVLSRole = null;
1203
1204
1205 try {
1206 // InternalVampireLanguage.g:510:47: (iv_ruleVLSRole= ruleVLSRole EOF )
1207 // InternalVampireLanguage.g:511:2: iv_ruleVLSRole= ruleVLSRole EOF
1208 {
1209 newCompositeNode(grammarAccess.getVLSRoleRule());
1210 pushFollow(FOLLOW_1);
1211 iv_ruleVLSRole=ruleVLSRole();
1212
1213 state._fsp--;
1214
1215 current =iv_ruleVLSRole.getText();
1216 match(input,EOF,FOLLOW_2);
1217
1218 }
1219
1220 }
1221
1222 catch (RecognitionException re) {
1223 recover(input,re);
1224 appendSkippedTokens();
1225 }
1226 finally {
1227 }
1228 return current;
1229 }
1230 // $ANTLR end "entryRuleVLSRole"
1231
1232
1233 // $ANTLR start "ruleVLSRole"
1234 // InternalVampireLanguage.g:517:1: ruleVLSRole returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_VLSAxiom_0= ruleVLSAxiom | this_VLSConjecture_1= ruleVLSConjecture | this_VLSHypothesis_2= ruleVLSHypothesis | this_VLSDefinition_3= ruleVLSDefinition | this_VLSAssumption_4= ruleVLSAssumption | this_VLSLemma_5= ruleVLSLemma | this_VLSTheorem_6= ruleVLSTheorem | this_VLSCorollary_7= ruleVLSCorollary | this_VLSNegated_Conjecture_8= ruleVLSNegated_Conjecture | this_VLSPlain_9= ruleVLSPlain | this_VLSType_10= ruleVLSType | this_VLSFi_Domain_11= ruleVLSFi_Domain | this_VLSFi_Functors_12= ruleVLSFi_Functors | this_VLSFi_Predicates_13= ruleVLSFi_Predicates | this_VLSUnknown_14= ruleVLSUnknown ) ;
1235 public final AntlrDatatypeRuleToken ruleVLSRole() throws RecognitionException {
1236 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1237
1238 AntlrDatatypeRuleToken this_VLSAxiom_0 = null;
1239
1240 AntlrDatatypeRuleToken this_VLSConjecture_1 = null;
1241
1242 AntlrDatatypeRuleToken this_VLSHypothesis_2 = null;
1243
1244 AntlrDatatypeRuleToken this_VLSDefinition_3 = null;
1245
1246 AntlrDatatypeRuleToken this_VLSAssumption_4 = null;
1247
1248 AntlrDatatypeRuleToken this_VLSLemma_5 = null;
1249
1250 AntlrDatatypeRuleToken this_VLSTheorem_6 = null;
1251
1252 AntlrDatatypeRuleToken this_VLSCorollary_7 = null;
1253
1254 AntlrDatatypeRuleToken this_VLSNegated_Conjecture_8 = null;
1255
1256 AntlrDatatypeRuleToken this_VLSPlain_9 = null;
1257
1258 AntlrDatatypeRuleToken this_VLSType_10 = null;
1259
1260 AntlrDatatypeRuleToken this_VLSFi_Domain_11 = null;
1261
1262 AntlrDatatypeRuleToken this_VLSFi_Functors_12 = null;
1263
1264 AntlrDatatypeRuleToken this_VLSFi_Predicates_13 = null;
1265
1266 AntlrDatatypeRuleToken this_VLSUnknown_14 = null;
1267
1268
1269
1270 enterRule();
1271
1272 try {
1273 // InternalVampireLanguage.g:523:2: ( (this_VLSAxiom_0= ruleVLSAxiom | this_VLSConjecture_1= ruleVLSConjecture | this_VLSHypothesis_2= ruleVLSHypothesis | this_VLSDefinition_3= ruleVLSDefinition | this_VLSAssumption_4= ruleVLSAssumption | this_VLSLemma_5= ruleVLSLemma | this_VLSTheorem_6= ruleVLSTheorem | this_VLSCorollary_7= ruleVLSCorollary | this_VLSNegated_Conjecture_8= ruleVLSNegated_Conjecture | this_VLSPlain_9= ruleVLSPlain | this_VLSType_10= ruleVLSType | this_VLSFi_Domain_11= ruleVLSFi_Domain | this_VLSFi_Functors_12= ruleVLSFi_Functors | this_VLSFi_Predicates_13= ruleVLSFi_Predicates | this_VLSUnknown_14= ruleVLSUnknown ) )
1274 // InternalVampireLanguage.g:524:2: (this_VLSAxiom_0= ruleVLSAxiom | this_VLSConjecture_1= ruleVLSConjecture | this_VLSHypothesis_2= ruleVLSHypothesis | this_VLSDefinition_3= ruleVLSDefinition | this_VLSAssumption_4= ruleVLSAssumption | this_VLSLemma_5= ruleVLSLemma | this_VLSTheorem_6= ruleVLSTheorem | this_VLSCorollary_7= ruleVLSCorollary | this_VLSNegated_Conjecture_8= ruleVLSNegated_Conjecture | this_VLSPlain_9= ruleVLSPlain | this_VLSType_10= ruleVLSType | this_VLSFi_Domain_11= ruleVLSFi_Domain | this_VLSFi_Functors_12= ruleVLSFi_Functors | this_VLSFi_Predicates_13= ruleVLSFi_Predicates | this_VLSUnknown_14= ruleVLSUnknown )
1275 {
1276 // InternalVampireLanguage.g:524:2: (this_VLSAxiom_0= ruleVLSAxiom | this_VLSConjecture_1= ruleVLSConjecture | this_VLSHypothesis_2= ruleVLSHypothesis | this_VLSDefinition_3= ruleVLSDefinition | this_VLSAssumption_4= ruleVLSAssumption | this_VLSLemma_5= ruleVLSLemma | this_VLSTheorem_6= ruleVLSTheorem | this_VLSCorollary_7= ruleVLSCorollary | this_VLSNegated_Conjecture_8= ruleVLSNegated_Conjecture | this_VLSPlain_9= ruleVLSPlain | this_VLSType_10= ruleVLSType | this_VLSFi_Domain_11= ruleVLSFi_Domain | this_VLSFi_Functors_12= ruleVLSFi_Functors | this_VLSFi_Predicates_13= ruleVLSFi_Predicates | this_VLSUnknown_14= ruleVLSUnknown )
1277 int alt7=15;
1278 switch ( input.LA(1) ) {
1279 case 35:
1280 {
1281 alt7=1;
1282 }
1283 break;
1284 case 36:
1285 {
1286 alt7=2;
1287 }
1288 break;
1289 case 37:
1290 {
1291 alt7=3;
1292 }
1293 break;
1294 case 38:
1295 {
1296 alt7=4;
1297 }
1298 break;
1299 case 39:
1300 {
1301 alt7=5;
1302 }
1303 break;
1304 case 40:
1305 {
1306 alt7=6;
1307 }
1308 break;
1309 case 41:
1310 {
1311 alt7=7;
1312 }
1313 break;
1314 case 42:
1315 {
1316 alt7=8;
1317 }
1318 break;
1319 case 43:
1320 {
1321 alt7=9;
1322 }
1323 break;
1324 case 44:
1325 {
1326 alt7=10;
1327 }
1328 break;
1329 case 45:
1330 {
1331 alt7=11;
1332 }
1333 break;
1334 case 46:
1335 {
1336 alt7=12;
1337 }
1338 break;
1339 case 47:
1340 {
1341 alt7=13;
1342 }
1343 break;
1344 case 48:
1345 {
1346 alt7=14;
1347 }
1348 break;
1349 case 49:
1350 {
1351 alt7=15;
1352 }
1353 break;
1354 default:
1355 NoViableAltException nvae =
1356 new NoViableAltException("", 7, 0, input);
1357
1358 throw nvae;
1359 }
1360
1361 switch (alt7) {
1362 case 1 :
1363 // InternalVampireLanguage.g:525:3: this_VLSAxiom_0= ruleVLSAxiom
1364 {
1365
1366 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSAxiomParserRuleCall_0());
1367
1368 pushFollow(FOLLOW_2);
1369 this_VLSAxiom_0=ruleVLSAxiom();
1370
1371 state._fsp--;
1372
1373
1374 current.merge(this_VLSAxiom_0);
1375
1376
1377 afterParserOrEnumRuleCall();
1378
1379
1380 }
1381 break;
1382 case 2 :
1383 // InternalVampireLanguage.g:536:3: this_VLSConjecture_1= ruleVLSConjecture
1384 {
1385
1386 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSConjectureParserRuleCall_1());
1387
1388 pushFollow(FOLLOW_2);
1389 this_VLSConjecture_1=ruleVLSConjecture();
1390
1391 state._fsp--;
1392
1393
1394 current.merge(this_VLSConjecture_1);
1395
1396
1397 afterParserOrEnumRuleCall();
1398
1399
1400 }
1401 break;
1402 case 3 :
1403 // InternalVampireLanguage.g:547:3: this_VLSHypothesis_2= ruleVLSHypothesis
1404 {
1405
1406 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSHypothesisParserRuleCall_2());
1407
1408 pushFollow(FOLLOW_2);
1409 this_VLSHypothesis_2=ruleVLSHypothesis();
1410
1411 state._fsp--;
1412
1413
1414 current.merge(this_VLSHypothesis_2);
1415
1416
1417 afterParserOrEnumRuleCall();
1418
1419
1420 }
1421 break;
1422 case 4 :
1423 // InternalVampireLanguage.g:558:3: this_VLSDefinition_3= ruleVLSDefinition
1424 {
1425
1426 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSDefinitionParserRuleCall_3());
1427
1428 pushFollow(FOLLOW_2);
1429 this_VLSDefinition_3=ruleVLSDefinition();
1430
1431 state._fsp--;
1432
1433
1434 current.merge(this_VLSDefinition_3);
1435
1436
1437 afterParserOrEnumRuleCall();
1438
1439
1440 }
1441 break;
1442 case 5 :
1443 // InternalVampireLanguage.g:569:3: this_VLSAssumption_4= ruleVLSAssumption
1444 {
1445
1446 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSAssumptionParserRuleCall_4());
1447
1448 pushFollow(FOLLOW_2);
1449 this_VLSAssumption_4=ruleVLSAssumption();
1450
1451 state._fsp--;
1452
1453
1454 current.merge(this_VLSAssumption_4);
1455
1456
1457 afterParserOrEnumRuleCall();
1458
1459
1460 }
1461 break;
1462 case 6 :
1463 // InternalVampireLanguage.g:580:3: this_VLSLemma_5= ruleVLSLemma
1464 {
1465
1466 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSLemmaParserRuleCall_5());
1467
1468 pushFollow(FOLLOW_2);
1469 this_VLSLemma_5=ruleVLSLemma();
1470
1471 state._fsp--;
1472
1473
1474 current.merge(this_VLSLemma_5);
1475
1476
1477 afterParserOrEnumRuleCall();
1478
1479
1480 }
1481 break;
1482 case 7 :
1483 // InternalVampireLanguage.g:591:3: this_VLSTheorem_6= ruleVLSTheorem
1484 {
1485
1486 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSTheoremParserRuleCall_6());
1487
1488 pushFollow(FOLLOW_2);
1489 this_VLSTheorem_6=ruleVLSTheorem();
1490
1491 state._fsp--;
1492
1493
1494 current.merge(this_VLSTheorem_6);
1495
1496
1497 afterParserOrEnumRuleCall();
1498
1499
1500 }
1501 break;
1502 case 8 :
1503 // InternalVampireLanguage.g:602:3: this_VLSCorollary_7= ruleVLSCorollary
1504 {
1505
1506 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSCorollaryParserRuleCall_7());
1507
1508 pushFollow(FOLLOW_2);
1509 this_VLSCorollary_7=ruleVLSCorollary();
1510
1511 state._fsp--;
1512
1513
1514 current.merge(this_VLSCorollary_7);
1515
1516
1517 afterParserOrEnumRuleCall();
1518
1519
1520 }
1521 break;
1522 case 9 :
1523 // InternalVampireLanguage.g:613:3: this_VLSNegated_Conjecture_8= ruleVLSNegated_Conjecture
1524 {
1525
1526 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSNegated_ConjectureParserRuleCall_8());
1527
1528 pushFollow(FOLLOW_2);
1529 this_VLSNegated_Conjecture_8=ruleVLSNegated_Conjecture();
1530
1531 state._fsp--;
1532
1533
1534 current.merge(this_VLSNegated_Conjecture_8);
1535
1536
1537 afterParserOrEnumRuleCall();
1538
1539
1540 }
1541 break;
1542 case 10 :
1543 // InternalVampireLanguage.g:624:3: this_VLSPlain_9= ruleVLSPlain
1544 {
1545
1546 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSPlainParserRuleCall_9());
1547
1548 pushFollow(FOLLOW_2);
1549 this_VLSPlain_9=ruleVLSPlain();
1550
1551 state._fsp--;
1552
1553
1554 current.merge(this_VLSPlain_9);
1555
1556
1557 afterParserOrEnumRuleCall();
1558
1559
1560 }
1561 break;
1562 case 11 :
1563 // InternalVampireLanguage.g:635:3: this_VLSType_10= ruleVLSType
1564 {
1565
1566 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSTypeParserRuleCall_10());
1567
1568 pushFollow(FOLLOW_2);
1569 this_VLSType_10=ruleVLSType();
1570
1571 state._fsp--;
1572
1573
1574 current.merge(this_VLSType_10);
1575
1576
1577 afterParserOrEnumRuleCall();
1578
1579
1580 }
1581 break;
1582 case 12 :
1583 // InternalVampireLanguage.g:646:3: this_VLSFi_Domain_11= ruleVLSFi_Domain
1584 {
1585
1586 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_DomainParserRuleCall_11());
1587
1588 pushFollow(FOLLOW_2);
1589 this_VLSFi_Domain_11=ruleVLSFi_Domain();
1590
1591 state._fsp--;
1592
1593
1594 current.merge(this_VLSFi_Domain_11);
1595
1596
1597 afterParserOrEnumRuleCall();
1598
1599
1600 }
1601 break;
1602 case 13 :
1603 // InternalVampireLanguage.g:657:3: this_VLSFi_Functors_12= ruleVLSFi_Functors
1604 {
1605
1606 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_FunctorsParserRuleCall_12());
1607
1608 pushFollow(FOLLOW_2);
1609 this_VLSFi_Functors_12=ruleVLSFi_Functors();
1610
1611 state._fsp--;
1612
1613
1614 current.merge(this_VLSFi_Functors_12);
1615
1616
1617 afterParserOrEnumRuleCall();
1618
1619
1620 }
1621 break;
1622 case 14 :
1623 // InternalVampireLanguage.g:668:3: this_VLSFi_Predicates_13= ruleVLSFi_Predicates
1624 {
1625
1626 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSFi_PredicatesParserRuleCall_13());
1627
1628 pushFollow(FOLLOW_2);
1629 this_VLSFi_Predicates_13=ruleVLSFi_Predicates();
1630
1631 state._fsp--;
1632
1633
1634 current.merge(this_VLSFi_Predicates_13);
1635
1636
1637 afterParserOrEnumRuleCall();
1638
1639
1640 }
1641 break;
1642 case 15 :
1643 // InternalVampireLanguage.g:679:3: this_VLSUnknown_14= ruleVLSUnknown
1644 {
1645
1646 newCompositeNode(grammarAccess.getVLSRoleAccess().getVLSUnknownParserRuleCall_14());
1647
1648 pushFollow(FOLLOW_2);
1649 this_VLSUnknown_14=ruleVLSUnknown();
1650
1651 state._fsp--;
1652
1653
1654 current.merge(this_VLSUnknown_14);
1655
1656
1657 afterParserOrEnumRuleCall();
1658
1659
1660 }
1661 break;
1662
1663 }
1664
1665
1666 }
1667
1668
1669 leaveRule();
1670
1671 }
1672
1673 catch (RecognitionException re) {
1674 recover(input,re);
1675 appendSkippedTokens();
1676 }
1677 finally {
1678 }
1679 return current;
1680 }
1681 // $ANTLR end "ruleVLSRole"
1682
1683
1684 // $ANTLR start "entryRuleVLSAxiom"
1685 // InternalVampireLanguage.g:693:1: entryRuleVLSAxiom returns [String current=null] : iv_ruleVLSAxiom= ruleVLSAxiom EOF ;
1686 public final String entryRuleVLSAxiom() throws RecognitionException {
1687 String current = null;
1688
1689 AntlrDatatypeRuleToken iv_ruleVLSAxiom = null;
1690
1691
1692 try {
1693 // InternalVampireLanguage.g:693:48: (iv_ruleVLSAxiom= ruleVLSAxiom EOF )
1694 // InternalVampireLanguage.g:694:2: iv_ruleVLSAxiom= ruleVLSAxiom EOF
1695 {
1696 newCompositeNode(grammarAccess.getVLSAxiomRule());
1697 pushFollow(FOLLOW_1);
1698 iv_ruleVLSAxiom=ruleVLSAxiom();
1699
1700 state._fsp--;
1701
1702 current =iv_ruleVLSAxiom.getText();
1703 match(input,EOF,FOLLOW_2);
1704
1705 }
1706
1707 }
1708
1709 catch (RecognitionException re) {
1710 recover(input,re);
1711 appendSkippedTokens();
1712 }
1713 finally {
1714 }
1715 return current;
1716 }
1717 // $ANTLR end "entryRuleVLSAxiom"
1718
1719
1720 // $ANTLR start "ruleVLSAxiom"
1721 // InternalVampireLanguage.g:700:1: ruleVLSAxiom returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'axiom' ;
1722 public final AntlrDatatypeRuleToken ruleVLSAxiom() throws RecognitionException {
1723 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1724
1725 Token kw=null;
1726
1727
1728 enterRule();
1729
1730 try {
1731 // InternalVampireLanguage.g:706:2: (kw= 'axiom' )
1732 // InternalVampireLanguage.g:707:2: kw= 'axiom'
1733 {
1734 kw=(Token)match(input,35,FOLLOW_2);
1735
1736 current.merge(kw);
1737 newLeafNode(kw, grammarAccess.getVLSAxiomAccess().getAxiomKeyword());
1738
1739
1740 }
1741
1742
1743 leaveRule();
1744
1745 }
1746
1747 catch (RecognitionException re) {
1748 recover(input,re);
1749 appendSkippedTokens();
1750 }
1751 finally {
1752 }
1753 return current;
1754 }
1755 // $ANTLR end "ruleVLSAxiom"
1756
1757
1758 // $ANTLR start "entryRuleVLSConjecture"
1759 // InternalVampireLanguage.g:715:1: entryRuleVLSConjecture returns [String current=null] : iv_ruleVLSConjecture= ruleVLSConjecture EOF ;
1760 public final String entryRuleVLSConjecture() throws RecognitionException {
1761 String current = null;
1762
1763 AntlrDatatypeRuleToken iv_ruleVLSConjecture = null;
1764
1765
1766 try {
1767 // InternalVampireLanguage.g:715:53: (iv_ruleVLSConjecture= ruleVLSConjecture EOF )
1768 // InternalVampireLanguage.g:716:2: iv_ruleVLSConjecture= ruleVLSConjecture EOF
1769 {
1770 newCompositeNode(grammarAccess.getVLSConjectureRule());
1771 pushFollow(FOLLOW_1);
1772 iv_ruleVLSConjecture=ruleVLSConjecture();
1773
1774 state._fsp--;
1775
1776 current =iv_ruleVLSConjecture.getText();
1777 match(input,EOF,FOLLOW_2);
1778
1779 }
1780
1781 }
1782
1783 catch (RecognitionException re) {
1784 recover(input,re);
1785 appendSkippedTokens();
1786 }
1787 finally {
1788 }
1789 return current;
1790 }
1791 // $ANTLR end "entryRuleVLSConjecture"
1792
1793
1794 // $ANTLR start "ruleVLSConjecture"
1795 // InternalVampireLanguage.g:722:1: ruleVLSConjecture returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'conjecture' ;
1796 public final AntlrDatatypeRuleToken ruleVLSConjecture() throws RecognitionException {
1797 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1798
1799 Token kw=null;
1800
1801
1802 enterRule();
1803
1804 try {
1805 // InternalVampireLanguage.g:728:2: (kw= 'conjecture' )
1806 // InternalVampireLanguage.g:729:2: kw= 'conjecture'
1807 {
1808 kw=(Token)match(input,36,FOLLOW_2);
1809
1810 current.merge(kw);
1811 newLeafNode(kw, grammarAccess.getVLSConjectureAccess().getConjectureKeyword());
1812
1813
1814 }
1815
1816
1817 leaveRule();
1818
1819 }
1820
1821 catch (RecognitionException re) {
1822 recover(input,re);
1823 appendSkippedTokens();
1824 }
1825 finally {
1826 }
1827 return current;
1828 }
1829 // $ANTLR end "ruleVLSConjecture"
1830
1831
1832 // $ANTLR start "entryRuleVLSHypothesis"
1833 // InternalVampireLanguage.g:737:1: entryRuleVLSHypothesis returns [String current=null] : iv_ruleVLSHypothesis= ruleVLSHypothesis EOF ;
1834 public final String entryRuleVLSHypothesis() throws RecognitionException {
1835 String current = null;
1836
1837 AntlrDatatypeRuleToken iv_ruleVLSHypothesis = null;
1838
1839
1840 try {
1841 // InternalVampireLanguage.g:737:53: (iv_ruleVLSHypothesis= ruleVLSHypothesis EOF )
1842 // InternalVampireLanguage.g:738:2: iv_ruleVLSHypothesis= ruleVLSHypothesis EOF
1843 {
1844 newCompositeNode(grammarAccess.getVLSHypothesisRule());
1845 pushFollow(FOLLOW_1);
1846 iv_ruleVLSHypothesis=ruleVLSHypothesis();
1847
1848 state._fsp--;
1849
1850 current =iv_ruleVLSHypothesis.getText();
1851 match(input,EOF,FOLLOW_2);
1852
1853 }
1854
1855 }
1856
1857 catch (RecognitionException re) {
1858 recover(input,re);
1859 appendSkippedTokens();
1860 }
1861 finally {
1862 }
1863 return current;
1864 }
1865 // $ANTLR end "entryRuleVLSHypothesis"
1866
1867
1868 // $ANTLR start "ruleVLSHypothesis"
1869 // InternalVampireLanguage.g:744:1: ruleVLSHypothesis returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'hypothesis' ;
1870 public final AntlrDatatypeRuleToken ruleVLSHypothesis() throws RecognitionException {
1871 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1872
1873 Token kw=null;
1874
1875
1876 enterRule();
1877
1878 try {
1879 // InternalVampireLanguage.g:750:2: (kw= 'hypothesis' )
1880 // InternalVampireLanguage.g:751:2: kw= 'hypothesis'
1881 {
1882 kw=(Token)match(input,37,FOLLOW_2);
1883
1884 current.merge(kw);
1885 newLeafNode(kw, grammarAccess.getVLSHypothesisAccess().getHypothesisKeyword());
1886
1887
1888 }
1889
1890
1891 leaveRule();
1892
1893 }
1894
1895 catch (RecognitionException re) {
1896 recover(input,re);
1897 appendSkippedTokens();
1898 }
1899 finally {
1900 }
1901 return current;
1902 }
1903 // $ANTLR end "ruleVLSHypothesis"
1904
1905
1906 // $ANTLR start "entryRuleVLSDefinition"
1907 // InternalVampireLanguage.g:759:1: entryRuleVLSDefinition returns [String current=null] : iv_ruleVLSDefinition= ruleVLSDefinition EOF ;
1908 public final String entryRuleVLSDefinition() throws RecognitionException {
1909 String current = null;
1910
1911 AntlrDatatypeRuleToken iv_ruleVLSDefinition = null;
1912
1913
1914 try {
1915 // InternalVampireLanguage.g:759:53: (iv_ruleVLSDefinition= ruleVLSDefinition EOF )
1916 // InternalVampireLanguage.g:760:2: iv_ruleVLSDefinition= ruleVLSDefinition EOF
1917 {
1918 newCompositeNode(grammarAccess.getVLSDefinitionRule());
1919 pushFollow(FOLLOW_1);
1920 iv_ruleVLSDefinition=ruleVLSDefinition();
1921
1922 state._fsp--;
1923
1924 current =iv_ruleVLSDefinition.getText();
1925 match(input,EOF,FOLLOW_2);
1926
1927 }
1928
1929 }
1930
1931 catch (RecognitionException re) {
1932 recover(input,re);
1933 appendSkippedTokens();
1934 }
1935 finally {
1936 }
1937 return current;
1938 }
1939 // $ANTLR end "entryRuleVLSDefinition"
1940
1941
1942 // $ANTLR start "ruleVLSDefinition"
1943 // InternalVampireLanguage.g:766:1: ruleVLSDefinition returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'definition' ;
1944 public final AntlrDatatypeRuleToken ruleVLSDefinition() throws RecognitionException {
1945 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
1946
1947 Token kw=null;
1948
1949
1950 enterRule();
1951
1952 try {
1953 // InternalVampireLanguage.g:772:2: (kw= 'definition' )
1954 // InternalVampireLanguage.g:773:2: kw= 'definition'
1955 {
1956 kw=(Token)match(input,38,FOLLOW_2);
1957
1958 current.merge(kw);
1959 newLeafNode(kw, grammarAccess.getVLSDefinitionAccess().getDefinitionKeyword());
1960
1961
1962 }
1963
1964
1965 leaveRule();
1966
1967 }
1968
1969 catch (RecognitionException re) {
1970 recover(input,re);
1971 appendSkippedTokens();
1972 }
1973 finally {
1974 }
1975 return current;
1976 }
1977 // $ANTLR end "ruleVLSDefinition"
1978
1979
1980 // $ANTLR start "entryRuleVLSAssumption"
1981 // InternalVampireLanguage.g:781:1: entryRuleVLSAssumption returns [String current=null] : iv_ruleVLSAssumption= ruleVLSAssumption EOF ;
1982 public final String entryRuleVLSAssumption() throws RecognitionException {
1983 String current = null;
1984
1985 AntlrDatatypeRuleToken iv_ruleVLSAssumption = null;
1986
1987
1988 try {
1989 // InternalVampireLanguage.g:781:53: (iv_ruleVLSAssumption= ruleVLSAssumption EOF )
1990 // InternalVampireLanguage.g:782:2: iv_ruleVLSAssumption= ruleVLSAssumption EOF
1991 {
1992 newCompositeNode(grammarAccess.getVLSAssumptionRule());
1993 pushFollow(FOLLOW_1);
1994 iv_ruleVLSAssumption=ruleVLSAssumption();
1995
1996 state._fsp--;
1997
1998 current =iv_ruleVLSAssumption.getText();
1999 match(input,EOF,FOLLOW_2);
2000
2001 }
2002
2003 }
2004
2005 catch (RecognitionException re) {
2006 recover(input,re);
2007 appendSkippedTokens();
2008 }
2009 finally {
2010 }
2011 return current;
2012 }
2013 // $ANTLR end "entryRuleVLSAssumption"
2014
2015
2016 // $ANTLR start "ruleVLSAssumption"
2017 // InternalVampireLanguage.g:788:1: ruleVLSAssumption returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'assumption' ;
2018 public final AntlrDatatypeRuleToken ruleVLSAssumption() throws RecognitionException {
2019 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2020
2021 Token kw=null;
2022
2023
2024 enterRule();
2025
2026 try {
2027 // InternalVampireLanguage.g:794:2: (kw= 'assumption' )
2028 // InternalVampireLanguage.g:795:2: kw= 'assumption'
2029 {
2030 kw=(Token)match(input,39,FOLLOW_2);
2031
2032 current.merge(kw);
2033 newLeafNode(kw, grammarAccess.getVLSAssumptionAccess().getAssumptionKeyword());
2034
2035
2036 }
2037
2038
2039 leaveRule();
2040
2041 }
2042
2043 catch (RecognitionException re) {
2044 recover(input,re);
2045 appendSkippedTokens();
2046 }
2047 finally {
2048 }
2049 return current;
2050 }
2051 // $ANTLR end "ruleVLSAssumption"
2052
2053
2054 // $ANTLR start "entryRuleVLSLemma"
2055 // InternalVampireLanguage.g:803:1: entryRuleVLSLemma returns [String current=null] : iv_ruleVLSLemma= ruleVLSLemma EOF ;
2056 public final String entryRuleVLSLemma() throws RecognitionException {
2057 String current = null;
2058
2059 AntlrDatatypeRuleToken iv_ruleVLSLemma = null;
2060
2061
2062 try {
2063 // InternalVampireLanguage.g:803:48: (iv_ruleVLSLemma= ruleVLSLemma EOF )
2064 // InternalVampireLanguage.g:804:2: iv_ruleVLSLemma= ruleVLSLemma EOF
2065 {
2066 newCompositeNode(grammarAccess.getVLSLemmaRule());
2067 pushFollow(FOLLOW_1);
2068 iv_ruleVLSLemma=ruleVLSLemma();
2069
2070 state._fsp--;
2071
2072 current =iv_ruleVLSLemma.getText();
2073 match(input,EOF,FOLLOW_2);
2074
2075 }
2076
2077 }
2078
2079 catch (RecognitionException re) {
2080 recover(input,re);
2081 appendSkippedTokens();
2082 }
2083 finally {
2084 }
2085 return current;
2086 }
2087 // $ANTLR end "entryRuleVLSLemma"
2088
2089
2090 // $ANTLR start "ruleVLSLemma"
2091 // InternalVampireLanguage.g:810:1: ruleVLSLemma returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'lemma' ;
2092 public final AntlrDatatypeRuleToken ruleVLSLemma() throws RecognitionException {
2093 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2094
2095 Token kw=null;
2096
2097
2098 enterRule();
2099
2100 try {
2101 // InternalVampireLanguage.g:816:2: (kw= 'lemma' )
2102 // InternalVampireLanguage.g:817:2: kw= 'lemma'
2103 {
2104 kw=(Token)match(input,40,FOLLOW_2);
2105
2106 current.merge(kw);
2107 newLeafNode(kw, grammarAccess.getVLSLemmaAccess().getLemmaKeyword());
2108
2109
2110 }
2111
2112
2113 leaveRule();
2114
2115 }
2116
2117 catch (RecognitionException re) {
2118 recover(input,re);
2119 appendSkippedTokens();
2120 }
2121 finally {
2122 }
2123 return current;
2124 }
2125 // $ANTLR end "ruleVLSLemma"
2126
2127
2128 // $ANTLR start "entryRuleVLSTheorem"
2129 // InternalVampireLanguage.g:825:1: entryRuleVLSTheorem returns [String current=null] : iv_ruleVLSTheorem= ruleVLSTheorem EOF ;
2130 public final String entryRuleVLSTheorem() throws RecognitionException {
2131 String current = null;
2132
2133 AntlrDatatypeRuleToken iv_ruleVLSTheorem = null;
2134
2135
2136 try {
2137 // InternalVampireLanguage.g:825:50: (iv_ruleVLSTheorem= ruleVLSTheorem EOF )
2138 // InternalVampireLanguage.g:826:2: iv_ruleVLSTheorem= ruleVLSTheorem EOF
2139 {
2140 newCompositeNode(grammarAccess.getVLSTheoremRule());
2141 pushFollow(FOLLOW_1);
2142 iv_ruleVLSTheorem=ruleVLSTheorem();
2143
2144 state._fsp--;
2145
2146 current =iv_ruleVLSTheorem.getText();
2147 match(input,EOF,FOLLOW_2);
2148
2149 }
2150
2151 }
2152
2153 catch (RecognitionException re) {
2154 recover(input,re);
2155 appendSkippedTokens();
2156 }
2157 finally {
2158 }
2159 return current;
2160 }
2161 // $ANTLR end "entryRuleVLSTheorem"
2162
2163
2164 // $ANTLR start "ruleVLSTheorem"
2165 // InternalVampireLanguage.g:832:1: ruleVLSTheorem returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'theorem' ;
2166 public final AntlrDatatypeRuleToken ruleVLSTheorem() throws RecognitionException {
2167 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2168
2169 Token kw=null;
2170
2171
2172 enterRule();
2173
2174 try {
2175 // InternalVampireLanguage.g:838:2: (kw= 'theorem' )
2176 // InternalVampireLanguage.g:839:2: kw= 'theorem'
2177 {
2178 kw=(Token)match(input,41,FOLLOW_2);
2179
2180 current.merge(kw);
2181 newLeafNode(kw, grammarAccess.getVLSTheoremAccess().getTheoremKeyword());
2182
2183
2184 }
2185
2186
2187 leaveRule();
2188
2189 }
2190
2191 catch (RecognitionException re) {
2192 recover(input,re);
2193 appendSkippedTokens();
2194 }
2195 finally {
2196 }
2197 return current;
2198 }
2199 // $ANTLR end "ruleVLSTheorem"
2200
2201
2202 // $ANTLR start "entryRuleVLSCorollary"
2203 // InternalVampireLanguage.g:847:1: entryRuleVLSCorollary returns [String current=null] : iv_ruleVLSCorollary= ruleVLSCorollary EOF ;
2204 public final String entryRuleVLSCorollary() throws RecognitionException {
2205 String current = null;
2206
2207 AntlrDatatypeRuleToken iv_ruleVLSCorollary = null;
2208
2209
2210 try {
2211 // InternalVampireLanguage.g:847:52: (iv_ruleVLSCorollary= ruleVLSCorollary EOF )
2212 // InternalVampireLanguage.g:848:2: iv_ruleVLSCorollary= ruleVLSCorollary EOF
2213 {
2214 newCompositeNode(grammarAccess.getVLSCorollaryRule());
2215 pushFollow(FOLLOW_1);
2216 iv_ruleVLSCorollary=ruleVLSCorollary();
2217
2218 state._fsp--;
2219
2220 current =iv_ruleVLSCorollary.getText();
2221 match(input,EOF,FOLLOW_2);
2222
2223 }
2224
2225 }
2226
2227 catch (RecognitionException re) {
2228 recover(input,re);
2229 appendSkippedTokens();
2230 }
2231 finally {
2232 }
2233 return current;
2234 }
2235 // $ANTLR end "entryRuleVLSCorollary"
2236
2237
2238 // $ANTLR start "ruleVLSCorollary"
2239 // InternalVampireLanguage.g:854:1: ruleVLSCorollary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'corollary' ;
2240 public final AntlrDatatypeRuleToken ruleVLSCorollary() throws RecognitionException {
2241 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2242
2243 Token kw=null;
2244
2245
2246 enterRule();
2247
2248 try {
2249 // InternalVampireLanguage.g:860:2: (kw= 'corollary' )
2250 // InternalVampireLanguage.g:861:2: kw= 'corollary'
2251 {
2252 kw=(Token)match(input,42,FOLLOW_2);
2253
2254 current.merge(kw);
2255 newLeafNode(kw, grammarAccess.getVLSCorollaryAccess().getCorollaryKeyword());
2256
2257
2258 }
2259
2260
2261 leaveRule();
2262
2263 }
2264
2265 catch (RecognitionException re) {
2266 recover(input,re);
2267 appendSkippedTokens();
2268 }
2269 finally {
2270 }
2271 return current;
2272 }
2273 // $ANTLR end "ruleVLSCorollary"
2274
2275
2276 // $ANTLR start "entryRuleVLSNegated_Conjecture"
2277 // InternalVampireLanguage.g:869:1: entryRuleVLSNegated_Conjecture returns [String current=null] : iv_ruleVLSNegated_Conjecture= ruleVLSNegated_Conjecture EOF ;
2278 public final String entryRuleVLSNegated_Conjecture() throws RecognitionException {
2279 String current = null;
2280
2281 AntlrDatatypeRuleToken iv_ruleVLSNegated_Conjecture = null;
2282
2283
2284 try {
2285 // InternalVampireLanguage.g:869:61: (iv_ruleVLSNegated_Conjecture= ruleVLSNegated_Conjecture EOF )
2286 // InternalVampireLanguage.g:870:2: iv_ruleVLSNegated_Conjecture= ruleVLSNegated_Conjecture EOF
2287 {
2288 newCompositeNode(grammarAccess.getVLSNegated_ConjectureRule());
2289 pushFollow(FOLLOW_1);
2290 iv_ruleVLSNegated_Conjecture=ruleVLSNegated_Conjecture();
2291
2292 state._fsp--;
2293
2294 current =iv_ruleVLSNegated_Conjecture.getText();
2295 match(input,EOF,FOLLOW_2);
2296
2297 }
2298
2299 }
2300
2301 catch (RecognitionException re) {
2302 recover(input,re);
2303 appendSkippedTokens();
2304 }
2305 finally {
2306 }
2307 return current;
2308 }
2309 // $ANTLR end "entryRuleVLSNegated_Conjecture"
2310
2311
2312 // $ANTLR start "ruleVLSNegated_Conjecture"
2313 // InternalVampireLanguage.g:876:1: ruleVLSNegated_Conjecture returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'negated_conjecture' ;
2314 public final AntlrDatatypeRuleToken ruleVLSNegated_Conjecture() throws RecognitionException {
2315 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2316
2317 Token kw=null;
2318
2319
2320 enterRule();
2321
2322 try {
2323 // InternalVampireLanguage.g:882:2: (kw= 'negated_conjecture' )
2324 // InternalVampireLanguage.g:883:2: kw= 'negated_conjecture'
2325 {
2326 kw=(Token)match(input,43,FOLLOW_2);
2327
2328 current.merge(kw);
2329 newLeafNode(kw, grammarAccess.getVLSNegated_ConjectureAccess().getNegated_conjectureKeyword());
2330
2331
2332 }
2333
2334
2335 leaveRule();
2336
2337 }
2338
2339 catch (RecognitionException re) {
2340 recover(input,re);
2341 appendSkippedTokens();
2342 }
2343 finally {
2344 }
2345 return current;
2346 }
2347 // $ANTLR end "ruleVLSNegated_Conjecture"
2348
2349
2350 // $ANTLR start "entryRuleVLSPlain"
2351 // InternalVampireLanguage.g:891:1: entryRuleVLSPlain returns [String current=null] : iv_ruleVLSPlain= ruleVLSPlain EOF ;
2352 public final String entryRuleVLSPlain() throws RecognitionException {
2353 String current = null;
2354
2355 AntlrDatatypeRuleToken iv_ruleVLSPlain = null;
2356
2357
2358 try {
2359 // InternalVampireLanguage.g:891:48: (iv_ruleVLSPlain= ruleVLSPlain EOF )
2360 // InternalVampireLanguage.g:892:2: iv_ruleVLSPlain= ruleVLSPlain EOF
2361 {
2362 newCompositeNode(grammarAccess.getVLSPlainRule());
2363 pushFollow(FOLLOW_1);
2364 iv_ruleVLSPlain=ruleVLSPlain();
2365
2366 state._fsp--;
2367
2368 current =iv_ruleVLSPlain.getText();
2369 match(input,EOF,FOLLOW_2);
2370
2371 }
2372
2373 }
2374
2375 catch (RecognitionException re) {
2376 recover(input,re);
2377 appendSkippedTokens();
2378 }
2379 finally {
2380 }
2381 return current;
2382 }
2383 // $ANTLR end "entryRuleVLSPlain"
2384
2385
2386 // $ANTLR start "ruleVLSPlain"
2387 // InternalVampireLanguage.g:898:1: ruleVLSPlain returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'plain' ;
2388 public final AntlrDatatypeRuleToken ruleVLSPlain() throws RecognitionException {
2389 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2390
2391 Token kw=null;
2392
2393
2394 enterRule();
2395
2396 try {
2397 // InternalVampireLanguage.g:904:2: (kw= 'plain' )
2398 // InternalVampireLanguage.g:905:2: kw= 'plain'
2399 {
2400 kw=(Token)match(input,44,FOLLOW_2);
2401
2402 current.merge(kw);
2403 newLeafNode(kw, grammarAccess.getVLSPlainAccess().getPlainKeyword());
2404
2405
2406 }
2407
2408
2409 leaveRule();
2410
2411 }
2412
2413 catch (RecognitionException re) {
2414 recover(input,re);
2415 appendSkippedTokens();
2416 }
2417 finally {
2418 }
2419 return current;
2420 }
2421 // $ANTLR end "ruleVLSPlain"
2422
2423
2424 // $ANTLR start "entryRuleVLSType"
2425 // InternalVampireLanguage.g:913:1: entryRuleVLSType returns [String current=null] : iv_ruleVLSType= ruleVLSType EOF ;
2426 public final String entryRuleVLSType() throws RecognitionException {
2427 String current = null;
2428
2429 AntlrDatatypeRuleToken iv_ruleVLSType = null;
2430
2431
2432 try {
2433 // InternalVampireLanguage.g:913:47: (iv_ruleVLSType= ruleVLSType EOF )
2434 // InternalVampireLanguage.g:914:2: iv_ruleVLSType= ruleVLSType EOF
2435 {
2436 newCompositeNode(grammarAccess.getVLSTypeRule());
2437 pushFollow(FOLLOW_1);
2438 iv_ruleVLSType=ruleVLSType();
2439
2440 state._fsp--;
2441
2442 current =iv_ruleVLSType.getText();
2443 match(input,EOF,FOLLOW_2);
2444
2445 }
2446
2447 }
2448
2449 catch (RecognitionException re) {
2450 recover(input,re);
2451 appendSkippedTokens();
2452 }
2453 finally {
2454 }
2455 return current;
2456 }
2457 // $ANTLR end "entryRuleVLSType"
2458
2459
2460 // $ANTLR start "ruleVLSType"
2461 // InternalVampireLanguage.g:920:1: ruleVLSType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'type' ;
2462 public final AntlrDatatypeRuleToken ruleVLSType() throws RecognitionException {
2463 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2464
2465 Token kw=null;
2466
2467
2468 enterRule();
2469
2470 try {
2471 // InternalVampireLanguage.g:926:2: (kw= 'type' )
2472 // InternalVampireLanguage.g:927:2: kw= 'type'
2473 {
2474 kw=(Token)match(input,45,FOLLOW_2);
2475
2476 current.merge(kw);
2477 newLeafNode(kw, grammarAccess.getVLSTypeAccess().getTypeKeyword());
2478
2479
2480 }
2481
2482
2483 leaveRule();
2484
2485 }
2486
2487 catch (RecognitionException re) {
2488 recover(input,re);
2489 appendSkippedTokens();
2490 }
2491 finally {
2492 }
2493 return current;
2494 }
2495 // $ANTLR end "ruleVLSType"
2496
2497
2498 // $ANTLR start "entryRuleVLSFi_Domain"
2499 // InternalVampireLanguage.g:935:1: entryRuleVLSFi_Domain returns [String current=null] : iv_ruleVLSFi_Domain= ruleVLSFi_Domain EOF ;
2500 public final String entryRuleVLSFi_Domain() throws RecognitionException {
2501 String current = null;
2502
2503 AntlrDatatypeRuleToken iv_ruleVLSFi_Domain = null;
2504
2505
2506 try {
2507 // InternalVampireLanguage.g:935:52: (iv_ruleVLSFi_Domain= ruleVLSFi_Domain EOF )
2508 // InternalVampireLanguage.g:936:2: iv_ruleVLSFi_Domain= ruleVLSFi_Domain EOF
2509 {
2510 newCompositeNode(grammarAccess.getVLSFi_DomainRule());
2511 pushFollow(FOLLOW_1);
2512 iv_ruleVLSFi_Domain=ruleVLSFi_Domain();
2513
2514 state._fsp--;
2515
2516 current =iv_ruleVLSFi_Domain.getText();
2517 match(input,EOF,FOLLOW_2);
2518
2519 }
2520
2521 }
2522
2523 catch (RecognitionException re) {
2524 recover(input,re);
2525 appendSkippedTokens();
2526 }
2527 finally {
2528 }
2529 return current;
2530 }
2531 // $ANTLR end "entryRuleVLSFi_Domain"
2532
2533
2534 // $ANTLR start "ruleVLSFi_Domain"
2535 // InternalVampireLanguage.g:942:1: ruleVLSFi_Domain returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'fi_domain' ;
2536 public final AntlrDatatypeRuleToken ruleVLSFi_Domain() throws RecognitionException {
2537 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2538
2539 Token kw=null;
2540
2541
2542 enterRule();
2543
2544 try {
2545 // InternalVampireLanguage.g:948:2: (kw= 'fi_domain' )
2546 // InternalVampireLanguage.g:949:2: kw= 'fi_domain'
2547 {
2548 kw=(Token)match(input,46,FOLLOW_2);
2549
2550 current.merge(kw);
2551 newLeafNode(kw, grammarAccess.getVLSFi_DomainAccess().getFi_domainKeyword());
2552
2553
2554 }
2555
2556
2557 leaveRule();
2558
2559 }
2560
2561 catch (RecognitionException re) {
2562 recover(input,re);
2563 appendSkippedTokens();
2564 }
2565 finally {
2566 }
2567 return current;
2568 }
2569 // $ANTLR end "ruleVLSFi_Domain"
2570
2571
2572 // $ANTLR start "entryRuleVLSFi_Functors"
2573 // InternalVampireLanguage.g:957:1: entryRuleVLSFi_Functors returns [String current=null] : iv_ruleVLSFi_Functors= ruleVLSFi_Functors EOF ;
2574 public final String entryRuleVLSFi_Functors() throws RecognitionException {
2575 String current = null;
2576
2577 AntlrDatatypeRuleToken iv_ruleVLSFi_Functors = null;
2578
2579
2580 try {
2581 // InternalVampireLanguage.g:957:54: (iv_ruleVLSFi_Functors= ruleVLSFi_Functors EOF )
2582 // InternalVampireLanguage.g:958:2: iv_ruleVLSFi_Functors= ruleVLSFi_Functors EOF
2583 {
2584 newCompositeNode(grammarAccess.getVLSFi_FunctorsRule());
2585 pushFollow(FOLLOW_1);
2586 iv_ruleVLSFi_Functors=ruleVLSFi_Functors();
2587
2588 state._fsp--;
2589
2590 current =iv_ruleVLSFi_Functors.getText();
2591 match(input,EOF,FOLLOW_2);
2592
2593 }
2594
2595 }
2596
2597 catch (RecognitionException re) {
2598 recover(input,re);
2599 appendSkippedTokens();
2600 }
2601 finally {
2602 }
2603 return current;
2604 }
2605 // $ANTLR end "entryRuleVLSFi_Functors"
2606
2607
2608 // $ANTLR start "ruleVLSFi_Functors"
2609 // InternalVampireLanguage.g:964:1: ruleVLSFi_Functors returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'fi_functors' ;
2610 public final AntlrDatatypeRuleToken ruleVLSFi_Functors() throws RecognitionException {
2611 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2612
2613 Token kw=null;
2614
2615
2616 enterRule();
2617
2618 try {
2619 // InternalVampireLanguage.g:970:2: (kw= 'fi_functors' )
2620 // InternalVampireLanguage.g:971:2: kw= 'fi_functors'
2621 {
2622 kw=(Token)match(input,47,FOLLOW_2);
2623
2624 current.merge(kw);
2625 newLeafNode(kw, grammarAccess.getVLSFi_FunctorsAccess().getFi_functorsKeyword());
2626
2627
2628 }
2629
2630
2631 leaveRule();
2632
2633 }
2634
2635 catch (RecognitionException re) {
2636 recover(input,re);
2637 appendSkippedTokens();
2638 }
2639 finally {
2640 }
2641 return current;
2642 }
2643 // $ANTLR end "ruleVLSFi_Functors"
2644
2645
2646 // $ANTLR start "entryRuleVLSFi_Predicates"
2647 // InternalVampireLanguage.g:979:1: entryRuleVLSFi_Predicates returns [String current=null] : iv_ruleVLSFi_Predicates= ruleVLSFi_Predicates EOF ;
2648 public final String entryRuleVLSFi_Predicates() throws RecognitionException {
2649 String current = null;
2650
2651 AntlrDatatypeRuleToken iv_ruleVLSFi_Predicates = null;
2652
2653
2654 try {
2655 // InternalVampireLanguage.g:979:56: (iv_ruleVLSFi_Predicates= ruleVLSFi_Predicates EOF )
2656 // InternalVampireLanguage.g:980:2: iv_ruleVLSFi_Predicates= ruleVLSFi_Predicates EOF
2657 {
2658 newCompositeNode(grammarAccess.getVLSFi_PredicatesRule());
2659 pushFollow(FOLLOW_1);
2660 iv_ruleVLSFi_Predicates=ruleVLSFi_Predicates();
2661
2662 state._fsp--;
2663
2664 current =iv_ruleVLSFi_Predicates.getText();
2665 match(input,EOF,FOLLOW_2);
2666
2667 }
2668
2669 }
2670
2671 catch (RecognitionException re) {
2672 recover(input,re);
2673 appendSkippedTokens();
2674 }
2675 finally {
2676 }
2677 return current;
2678 }
2679 // $ANTLR end "entryRuleVLSFi_Predicates"
2680
2681
2682 // $ANTLR start "ruleVLSFi_Predicates"
2683 // InternalVampireLanguage.g:986:1: ruleVLSFi_Predicates returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'fi_predicates' ;
2684 public final AntlrDatatypeRuleToken ruleVLSFi_Predicates() throws RecognitionException {
2685 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2686
2687 Token kw=null;
2688
2689
2690 enterRule();
2691
2692 try {
2693 // InternalVampireLanguage.g:992:2: (kw= 'fi_predicates' )
2694 // InternalVampireLanguage.g:993:2: kw= 'fi_predicates'
2695 {
2696 kw=(Token)match(input,48,FOLLOW_2);
2697
2698 current.merge(kw);
2699 newLeafNode(kw, grammarAccess.getVLSFi_PredicatesAccess().getFi_predicatesKeyword());
2700
2701
2702 }
2703
2704
2705 leaveRule();
2706
2707 }
2708
2709 catch (RecognitionException re) {
2710 recover(input,re);
2711 appendSkippedTokens();
2712 }
2713 finally {
2714 }
2715 return current;
2716 }
2717 // $ANTLR end "ruleVLSFi_Predicates"
2718
2719
2720 // $ANTLR start "entryRuleVLSUnknown"
2721 // InternalVampireLanguage.g:1001:1: entryRuleVLSUnknown returns [String current=null] : iv_ruleVLSUnknown= ruleVLSUnknown EOF ;
2722 public final String entryRuleVLSUnknown() throws RecognitionException {
2723 String current = null;
2724
2725 AntlrDatatypeRuleToken iv_ruleVLSUnknown = null;
2726
2727
2728 try {
2729 // InternalVampireLanguage.g:1001:50: (iv_ruleVLSUnknown= ruleVLSUnknown EOF )
2730 // InternalVampireLanguage.g:1002:2: iv_ruleVLSUnknown= ruleVLSUnknown EOF
2731 {
2732 newCompositeNode(grammarAccess.getVLSUnknownRule());
2733 pushFollow(FOLLOW_1);
2734 iv_ruleVLSUnknown=ruleVLSUnknown();
2735
2736 state._fsp--;
2737
2738 current =iv_ruleVLSUnknown.getText();
2739 match(input,EOF,FOLLOW_2);
2740
2741 }
2742
2743 }
2744
2745 catch (RecognitionException re) {
2746 recover(input,re);
2747 appendSkippedTokens();
2748 }
2749 finally {
2750 }
2751 return current;
2752 }
2753 // $ANTLR end "entryRuleVLSUnknown"
2754
2755
2756 // $ANTLR start "ruleVLSUnknown"
2757 // InternalVampireLanguage.g:1008:1: ruleVLSUnknown returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'unknown' ;
2758 public final AntlrDatatypeRuleToken ruleVLSUnknown() throws RecognitionException {
2759 AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
2760
2761 Token kw=null;
2762
2763
2764 enterRule();
2765
2766 try {
2767 // InternalVampireLanguage.g:1014:2: (kw= 'unknown' )
2768 // InternalVampireLanguage.g:1015:2: kw= 'unknown'
2769 {
2770 kw=(Token)match(input,49,FOLLOW_2);
2771
2772 current.merge(kw);
2773 newLeafNode(kw, grammarAccess.getVLSUnknownAccess().getUnknownKeyword());
2774
2775
2776 }
2777
2778
2779 leaveRule();
2780
2781 }
2782
2783 catch (RecognitionException re) {
2784 recover(input,re);
2785 appendSkippedTokens();
2786 }
2787 finally {
2788 }
2789 return current;
2790 }
2791 // $ANTLR end "ruleVLSUnknown"
2792
2793
2794 // $ANTLR start "entryRuleVLSAnnotation"
2795 // InternalVampireLanguage.g:1023:1: entryRuleVLSAnnotation returns [EObject current=null] : iv_ruleVLSAnnotation= ruleVLSAnnotation EOF ;
2796 public final EObject entryRuleVLSAnnotation() throws RecognitionException {
2797 EObject current = null;
2798
2799 EObject iv_ruleVLSAnnotation = null;
2800
2801
2802 try {
2803 // InternalVampireLanguage.g:1023:54: (iv_ruleVLSAnnotation= ruleVLSAnnotation EOF )
2804 // InternalVampireLanguage.g:1024:2: iv_ruleVLSAnnotation= ruleVLSAnnotation EOF
2805 {
2806 newCompositeNode(grammarAccess.getVLSAnnotationRule());
2807 pushFollow(FOLLOW_1);
2808 iv_ruleVLSAnnotation=ruleVLSAnnotation();
2809
2810 state._fsp--;
2811
2812 current =iv_ruleVLSAnnotation;
2813 match(input,EOF,FOLLOW_2);
2814
2815 }
2816
2817 }
2818
2819 catch (RecognitionException re) {
2820 recover(input,re);
2821 appendSkippedTokens();
2822 }
2823 finally {
2824 }
2825 return current;
2826 }
2827 // $ANTLR end "entryRuleVLSAnnotation"
2828
2829
2830 // $ANTLR start "ruleVLSAnnotation"
2831 // InternalVampireLanguage.g:1030:1: ruleVLSAnnotation returns [EObject current=null] : ( (otherlv_0= '[' )? ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? (otherlv_5= ']' )? ) ;
2832 public final EObject ruleVLSAnnotation() throws RecognitionException {
2833 EObject current = null;
2834
2835 Token otherlv_0=null;
2836 Token lv_name_1_1=null;
2837 Token lv_name_1_2=null;
2838 Token otherlv_2=null;
2839 Token otherlv_4=null;
2840 Token otherlv_5=null;
2841 AntlrDatatypeRuleToken lv_name_1_3 = null;
2842
2843 EObject lv_followup_3_0 = null;
2844
2845
2846
2847 enterRule();
2848
2849 try {
2850 // InternalVampireLanguage.g:1036:2: ( ( (otherlv_0= '[' )? ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? (otherlv_5= ']' )? ) )
2851 // InternalVampireLanguage.g:1037:2: ( (otherlv_0= '[' )? ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? (otherlv_5= ']' )? )
2852 {
2853 // InternalVampireLanguage.g:1037:2: ( (otherlv_0= '[' )? ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? (otherlv_5= ']' )? )
2854 // InternalVampireLanguage.g:1038:3: (otherlv_0= '[' )? ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )? (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )? (otherlv_5= ']' )?
2855 {
2856 // InternalVampireLanguage.g:1038:3: (otherlv_0= '[' )?
2857 int alt8=2;
2858 int LA8_0 = input.LA(1);
2859
2860 if ( (LA8_0==50) ) {
2861 alt8=1;
2862 }
2863 switch (alt8) {
2864 case 1 :
2865 // InternalVampireLanguage.g:1039:4: otherlv_0= '['
2866 {
2867 otherlv_0=(Token)match(input,50,FOLLOW_17);
2868
2869 newLeafNode(otherlv_0, grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0());
2870
2871
2872 }
2873 break;
2874
2875 }
2876
2877 // InternalVampireLanguage.g:1044:3: ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) ) )?
2878 int alt10=2;
2879 int LA10_0 = input.LA(1);
2880
2881 if ( ((LA10_0>=RULE_SINGLE_QUOTE && LA10_0<=RULE_LOWER_WORD_ID)||(LA10_0>=35 && LA10_0<=49)) ) {
2882 alt10=1;
2883 }
2884 switch (alt10) {
2885 case 1 :
2886 // InternalVampireLanguage.g:1045:4: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) )
2887 {
2888 // InternalVampireLanguage.g:1045:4: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole ) )
2889 // InternalVampireLanguage.g:1046:5: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole )
2890 {
2891 // InternalVampireLanguage.g:1046:5: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= ruleVLSRole )
2892 int alt9=3;
2893 switch ( input.LA(1) ) {
2894 case RULE_LOWER_WORD_ID:
2895 {
2896 alt9=1;
2897 }
2898 break;
2899 case RULE_SINGLE_QUOTE:
2900 {
2901 alt9=2;
2902 }
2903 break;
2904 case 35:
2905 case 36:
2906 case 37:
2907 case 38:
2908 case 39:
2909 case 40:
2910 case 41:
2911 case 42:
2912 case 43:
2913 case 44:
2914 case 45:
2915 case 46:
2916 case 47:
2917 case 48:
2918 case 49:
2919 {
2920 alt9=3;
2921 }
2922 break;
2923 default:
2924 NoViableAltException nvae =
2925 new NoViableAltException("", 9, 0, input);
2926
2927 throw nvae;
2928 }
2929
2930 switch (alt9) {
2931 case 1 :
2932 // InternalVampireLanguage.g:1047:6: lv_name_1_1= RULE_LOWER_WORD_ID
2933 {
2934 lv_name_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_18);
2935
2936 newLeafNode(lv_name_1_1, grammarAccess.getVLSAnnotationAccess().getNameLOWER_WORD_IDTerminalRuleCall_1_0_0());
2937
2938
2939 if (current==null) {
2940 current = createModelElement(grammarAccess.getVLSAnnotationRule());
2941 }
2942 setWithLastConsumed(
2943 current,
2944 "name",
2945 lv_name_1_1,
2946 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
2947
2948
2949 }
2950 break;
2951 case 2 :
2952 // InternalVampireLanguage.g:1062:6: lv_name_1_2= RULE_SINGLE_QUOTE
2953 {
2954 lv_name_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_18);
2955
2956 newLeafNode(lv_name_1_2, grammarAccess.getVLSAnnotationAccess().getNameSINGLE_QUOTETerminalRuleCall_1_0_1());
2957
2958
2959 if (current==null) {
2960 current = createModelElement(grammarAccess.getVLSAnnotationRule());
2961 }
2962 setWithLastConsumed(
2963 current,
2964 "name",
2965 lv_name_1_2,
2966 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
2967
2968
2969 }
2970 break;
2971 case 3 :
2972 // InternalVampireLanguage.g:1077:6: lv_name_1_3= ruleVLSRole
2973 {
2974
2975 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getNameVLSRoleParserRuleCall_1_0_2());
2976
2977 pushFollow(FOLLOW_18);
2978 lv_name_1_3=ruleVLSRole();
2979
2980 state._fsp--;
2981
2982
2983 if (current==null) {
2984 current = createModelElementForParent(grammarAccess.getVLSAnnotationRule());
2985 }
2986 set(
2987 current,
2988 "name",
2989 lv_name_1_3,
2990 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
2991 afterParserOrEnumRuleCall();
2992
2993
2994 }
2995 break;
2996
2997 }
2998
2999
3000 }
3001
3002
3003 }
3004 break;
3005
3006 }
3007
3008 // InternalVampireLanguage.g:1095:3: (otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')' )?
3009 int alt11=2;
3010 int LA11_0 = input.LA(1);
3011
3012 if ( (LA11_0==32) ) {
3013 alt11=1;
3014 }
3015 switch (alt11) {
3016 case 1 :
3017 // InternalVampireLanguage.g:1096:4: otherlv_2= '(' ( (lv_followup_3_0= ruleVLSAnnotationTerms ) ) otherlv_4= ')'
3018 {
3019 otherlv_2=(Token)match(input,32,FOLLOW_19);
3020
3021 newLeafNode(otherlv_2, grammarAccess.getVLSAnnotationAccess().getLeftParenthesisKeyword_2_0());
3022
3023 // InternalVampireLanguage.g:1100:4: ( (lv_followup_3_0= ruleVLSAnnotationTerms ) )
3024 // InternalVampireLanguage.g:1101:5: (lv_followup_3_0= ruleVLSAnnotationTerms )
3025 {
3026 // InternalVampireLanguage.g:1101:5: (lv_followup_3_0= ruleVLSAnnotationTerms )
3027 // InternalVampireLanguage.g:1102:6: lv_followup_3_0= ruleVLSAnnotationTerms
3028 {
3029
3030 newCompositeNode(grammarAccess.getVLSAnnotationAccess().getFollowupVLSAnnotationTermsParserRuleCall_2_1_0());
3031
3032 pushFollow(FOLLOW_15);
3033 lv_followup_3_0=ruleVLSAnnotationTerms();
3034
3035 state._fsp--;
3036
3037
3038 if (current==null) {
3039 current = createModelElementForParent(grammarAccess.getVLSAnnotationRule());
3040 }
3041 set(
3042 current,
3043 "followup",
3044 lv_followup_3_0,
3045 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotationTerms");
3046 afterParserOrEnumRuleCall();
3047
3048
3049 }
3050
3051
3052 }
3053
3054 otherlv_4=(Token)match(input,33,FOLLOW_20);
3055
3056 newLeafNode(otherlv_4, grammarAccess.getVLSAnnotationAccess().getRightParenthesisKeyword_2_2());
3057
3058
3059 }
3060 break;
3061
3062 }
3063
3064 // InternalVampireLanguage.g:1124:3: (otherlv_5= ']' )?
3065 int alt12=2;
3066 int LA12_0 = input.LA(1);
3067
3068 if ( (LA12_0==30) ) {
3069 alt12=1;
3070 }
3071 switch (alt12) {
3072 case 1 :
3073 // InternalVampireLanguage.g:1125:4: otherlv_5= ']'
3074 {
3075 otherlv_5=(Token)match(input,30,FOLLOW_2);
3076
3077 newLeafNode(otherlv_5, grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3());
3078
3079
3080 }
3081 break;
3082
3083 }
3084
3085
3086 }
3087
3088
3089 }
3090
3091
3092 leaveRule();
3093
3094 }
3095
3096 catch (RecognitionException re) {
3097 recover(input,re);
3098 appendSkippedTokens();
3099 }
3100 finally {
3101 }
3102 return current;
3103 }
3104 // $ANTLR end "ruleVLSAnnotation"
3105
3106
3107 // $ANTLR start "entryRuleVLSAnnotationTerms"
3108 // InternalVampireLanguage.g:1134:1: entryRuleVLSAnnotationTerms returns [EObject current=null] : iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF ;
3109 public final EObject entryRuleVLSAnnotationTerms() throws RecognitionException {
3110 EObject current = null;
3111
3112 EObject iv_ruleVLSAnnotationTerms = null;
3113
3114
3115 try {
3116 // InternalVampireLanguage.g:1134:59: (iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF )
3117 // InternalVampireLanguage.g:1135:2: iv_ruleVLSAnnotationTerms= ruleVLSAnnotationTerms EOF
3118 {
3119 newCompositeNode(grammarAccess.getVLSAnnotationTermsRule());
3120 pushFollow(FOLLOW_1);
3121 iv_ruleVLSAnnotationTerms=ruleVLSAnnotationTerms();
3122
3123 state._fsp--;
3124
3125 current =iv_ruleVLSAnnotationTerms;
3126 match(input,EOF,FOLLOW_2);
3127
3128 }
3129
3130 }
3131
3132 catch (RecognitionException re) {
3133 recover(input,re);
3134 appendSkippedTokens();
3135 }
3136 finally {
3137 }
3138 return current;
3139 }
3140 // $ANTLR end "entryRuleVLSAnnotationTerms"
3141
3142
3143 // $ANTLR start "ruleVLSAnnotationTerms"
3144 // InternalVampireLanguage.g:1141:1: ruleVLSAnnotationTerms returns [EObject current=null] : ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* ) ;
3145 public final EObject ruleVLSAnnotationTerms() throws RecognitionException {
3146 EObject current = null;
3147
3148 Token otherlv_1=null;
3149 EObject lv_terms_0_0 = null;
3150
3151 EObject lv_terms_2_0 = null;
3152
3153
3154
3155 enterRule();
3156
3157 try {
3158 // InternalVampireLanguage.g:1147:2: ( ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* ) )
3159 // InternalVampireLanguage.g:1148:2: ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* )
3160 {
3161 // InternalVampireLanguage.g:1148:2: ( ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )* )
3162 // InternalVampireLanguage.g:1149:3: ( (lv_terms_0_0= ruleVLSAnnotation ) ) (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )*
3163 {
3164 // InternalVampireLanguage.g:1149:3: ( (lv_terms_0_0= ruleVLSAnnotation ) )
3165 // InternalVampireLanguage.g:1150:4: (lv_terms_0_0= ruleVLSAnnotation )
3166 {
3167 // InternalVampireLanguage.g:1150:4: (lv_terms_0_0= ruleVLSAnnotation )
3168 // InternalVampireLanguage.g:1151:5: lv_terms_0_0= ruleVLSAnnotation
3169 {
3170
3171 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_0_0());
3172
3173 pushFollow(FOLLOW_21);
3174 lv_terms_0_0=ruleVLSAnnotation();
3175
3176 state._fsp--;
3177
3178
3179 if (current==null) {
3180 current = createModelElementForParent(grammarAccess.getVLSAnnotationTermsRule());
3181 }
3182 add(
3183 current,
3184 "terms",
3185 lv_terms_0_0,
3186 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
3187 afterParserOrEnumRuleCall();
3188
3189
3190 }
3191
3192
3193 }
3194
3195 // InternalVampireLanguage.g:1168:3: (otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) ) )*
3196 loop13:
3197 do {
3198 int alt13=2;
3199 int LA13_0 = input.LA(1);
3200
3201 if ( (LA13_0==29) ) {
3202 alt13=1;
3203 }
3204
3205
3206 switch (alt13) {
3207 case 1 :
3208 // InternalVampireLanguage.g:1169:4: otherlv_1= ',' ( (lv_terms_2_0= ruleVLSAnnotation ) )
3209 {
3210 otherlv_1=(Token)match(input,29,FOLLOW_19);
3211
3212 newLeafNode(otherlv_1, grammarAccess.getVLSAnnotationTermsAccess().getCommaKeyword_1_0());
3213
3214 // InternalVampireLanguage.g:1173:4: ( (lv_terms_2_0= ruleVLSAnnotation ) )
3215 // InternalVampireLanguage.g:1174:5: (lv_terms_2_0= ruleVLSAnnotation )
3216 {
3217 // InternalVampireLanguage.g:1174:5: (lv_terms_2_0= ruleVLSAnnotation )
3218 // InternalVampireLanguage.g:1175:6: lv_terms_2_0= ruleVLSAnnotation
3219 {
3220
3221 newCompositeNode(grammarAccess.getVLSAnnotationTermsAccess().getTermsVLSAnnotationParserRuleCall_1_1_0());
3222
3223 pushFollow(FOLLOW_21);
3224 lv_terms_2_0=ruleVLSAnnotation();
3225
3226 state._fsp--;
3227
3228
3229 if (current==null) {
3230 current = createModelElementForParent(grammarAccess.getVLSAnnotationTermsRule());
3231 }
3232 add(
3233 current,
3234 "terms",
3235 lv_terms_2_0,
3236 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
3237 afterParserOrEnumRuleCall();
3238
3239
3240 }
3241
3242
3243 }
3244
3245
3246 }
3247 break;
3248
3249 default :
3250 break loop13;
3251 }
3252 } while (true);
3253
3254
3255 }
3256
3257
3258 }
3259
3260
3261 leaveRule();
3262
3263 }
3264
3265 catch (RecognitionException re) {
3266 recover(input,re);
3267 appendSkippedTokens();
3268 }
3269 finally {
3270 }
3271 return current;
3272 }
3273 // $ANTLR end "ruleVLSAnnotationTerms"
3274
3275
3276 // $ANTLR start "entryRuleVLSTerm"
3277 // InternalVampireLanguage.g:1197:1: entryRuleVLSTerm returns [EObject current=null] : iv_ruleVLSTerm= ruleVLSTerm EOF ;
3278 public final EObject entryRuleVLSTerm() throws RecognitionException {
3279 EObject current = null;
3280
3281 EObject iv_ruleVLSTerm = null;
3282
3283
3284 try {
3285 // InternalVampireLanguage.g:1197:48: (iv_ruleVLSTerm= ruleVLSTerm EOF )
3286 // InternalVampireLanguage.g:1198:2: iv_ruleVLSTerm= ruleVLSTerm EOF
3287 {
3288 newCompositeNode(grammarAccess.getVLSTermRule());
3289 pushFollow(FOLLOW_1);
3290 iv_ruleVLSTerm=ruleVLSTerm();
3291
3292 state._fsp--;
3293
3294 current =iv_ruleVLSTerm;
3295 match(input,EOF,FOLLOW_2);
3296
3297 }
3298
3299 }
3300
3301 catch (RecognitionException re) {
3302 recover(input,re);
3303 appendSkippedTokens();
3304 }
3305 finally {
3306 }
3307 return current;
3308 }
3309 // $ANTLR end "entryRuleVLSTerm"
3310
3311
3312 // $ANTLR start "ruleVLSTerm"
3313 // InternalVampireLanguage.g:1204:1: ruleVLSTerm returns [EObject current=null] : this_VLSBinary_0= ruleVLSBinary ;
3314 public final EObject ruleVLSTerm() throws RecognitionException {
3315 EObject current = null;
3316
3317 EObject this_VLSBinary_0 = null;
3318
3319
3320
3321 enterRule();
3322
3323 try {
3324 // InternalVampireLanguage.g:1210:2: (this_VLSBinary_0= ruleVLSBinary )
3325 // InternalVampireLanguage.g:1211:2: this_VLSBinary_0= ruleVLSBinary
3326 {
3327
3328 newCompositeNode(grammarAccess.getVLSTermAccess().getVLSBinaryParserRuleCall());
3329
3330 pushFollow(FOLLOW_2);
3331 this_VLSBinary_0=ruleVLSBinary();
3332
3333 state._fsp--;
3334
3335
3336 current = this_VLSBinary_0;
3337 afterParserOrEnumRuleCall();
3338
3339
3340 }
3341
3342
3343 leaveRule();
3344
3345 }
3346
3347 catch (RecognitionException re) {
3348 recover(input,re);
3349 appendSkippedTokens();
3350 }
3351 finally {
3352 }
3353 return current;
3354 }
3355 // $ANTLR end "ruleVLSTerm"
3356
3357
3358 // $ANTLR start "entryRuleVLSBinary"
3359 // InternalVampireLanguage.g:1222:1: entryRuleVLSBinary returns [EObject current=null] : iv_ruleVLSBinary= ruleVLSBinary EOF ;
3360 public final EObject entryRuleVLSBinary() throws RecognitionException {
3361 EObject current = null;
3362
3363 EObject iv_ruleVLSBinary = null;
3364
3365
3366 try {
3367 // InternalVampireLanguage.g:1222:50: (iv_ruleVLSBinary= ruleVLSBinary EOF )
3368 // InternalVampireLanguage.g:1223:2: iv_ruleVLSBinary= ruleVLSBinary EOF
3369 {
3370 newCompositeNode(grammarAccess.getVLSBinaryRule());
3371 pushFollow(FOLLOW_1);
3372 iv_ruleVLSBinary=ruleVLSBinary();
3373
3374 state._fsp--;
3375
3376 current =iv_ruleVLSBinary;
3377 match(input,EOF,FOLLOW_2);
3378
3379 }
3380
3381 }
3382
3383 catch (RecognitionException re) {
3384 recover(input,re);
3385 appendSkippedTokens();
3386 }
3387 finally {
3388 }
3389 return current;
3390 }
3391 // $ANTLR end "entryRuleVLSBinary"
3392
3393
3394 // $ANTLR start "ruleVLSBinary"
3395 // InternalVampireLanguage.g:1229:1: ruleVLSBinary returns [EObject current=null] : (this_VLSUnitaryFormula_0= ruleVLSUnitaryFormula ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )? ) ;
3396 public final EObject ruleVLSBinary() throws RecognitionException {
3397 EObject current = null;
3398
3399 Token otherlv_2=null;
3400 Token otherlv_4=null;
3401 Token otherlv_6=null;
3402 Token otherlv_8=null;
3403 Token otherlv_10=null;
3404 Token otherlv_12=null;
3405 Token otherlv_15=null;
3406 Token otherlv_18=null;
3407 EObject this_VLSUnitaryFormula_0 = null;
3408
3409 EObject lv_right_13_0 = null;
3410
3411 EObject lv_right_16_0 = null;
3412
3413 EObject lv_right_19_0 = null;
3414
3415
3416
3417 enterRule();
3418
3419 try {
3420 // InternalVampireLanguage.g:1235:2: ( (this_VLSUnitaryFormula_0= ruleVLSUnitaryFormula ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )? ) )
3421 // InternalVampireLanguage.g:1236:2: (this_VLSUnitaryFormula_0= ruleVLSUnitaryFormula ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )? )
3422 {
3423 // InternalVampireLanguage.g:1236:2: (this_VLSUnitaryFormula_0= ruleVLSUnitaryFormula ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )? )
3424 // InternalVampireLanguage.g:1237:3: this_VLSUnitaryFormula_0= ruleVLSUnitaryFormula ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )?
3425 {
3426
3427 newCompositeNode(grammarAccess.getVLSBinaryAccess().getVLSUnitaryFormulaParserRuleCall_0());
3428
3429 pushFollow(FOLLOW_22);
3430 this_VLSUnitaryFormula_0=ruleVLSUnitaryFormula();
3431
3432 state._fsp--;
3433
3434
3435 current = this_VLSUnitaryFormula_0;
3436 afterParserOrEnumRuleCall();
3437
3438 // InternalVampireLanguage.g:1245:3: ( ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) ) | ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+ | ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+ )?
3439 int alt17=4;
3440 switch ( input.LA(1) ) {
3441 case 51:
3442 case 52:
3443 case 53:
3444 case 54:
3445 case 55:
3446 case 56:
3447 {
3448 alt17=1;
3449 }
3450 break;
3451 case 57:
3452 {
3453 alt17=2;
3454 }
3455 break;
3456 case 58:
3457 {
3458 alt17=3;
3459 }
3460 break;
3461 }
3462
3463 switch (alt17) {
3464 case 1 :
3465 // InternalVampireLanguage.g:1246:4: ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) )
3466 {
3467 // InternalVampireLanguage.g:1246:4: ( ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) ) )
3468 // InternalVampireLanguage.g:1247:5: ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) ) ( (lv_right_13_0= ruleVLSUnitaryFormula ) )
3469 {
3470 // InternalVampireLanguage.g:1247:5: ( ( () otherlv_2= '<=>' ) | ( () otherlv_4= '=>' ) | ( () otherlv_6= '<=' ) | ( () otherlv_8= '<~>' ) | ( () otherlv_10= '~|' ) | ( () otherlv_12= '~&' ) )
3471 int alt14=6;
3472 switch ( input.LA(1) ) {
3473 case 51:
3474 {
3475 alt14=1;
3476 }
3477 break;
3478 case 52:
3479 {
3480 alt14=2;
3481 }
3482 break;
3483 case 53:
3484 {
3485 alt14=3;
3486 }
3487 break;
3488 case 54:
3489 {
3490 alt14=4;
3491 }
3492 break;
3493 case 55:
3494 {
3495 alt14=5;
3496 }
3497 break;
3498 case 56:
3499 {
3500 alt14=6;
3501 }
3502 break;
3503 default:
3504 NoViableAltException nvae =
3505 new NoViableAltException("", 14, 0, input);
3506
3507 throw nvae;
3508 }
3509
3510 switch (alt14) {
3511 case 1 :
3512 // InternalVampireLanguage.g:1248:6: ( () otherlv_2= '<=>' )
3513 {
3514 // InternalVampireLanguage.g:1248:6: ( () otherlv_2= '<=>' )
3515 // InternalVampireLanguage.g:1249:7: () otherlv_2= '<=>'
3516 {
3517 // InternalVampireLanguage.g:1249:7: ()
3518 // InternalVampireLanguage.g:1250:8:
3519 {
3520
3521 current = forceCreateModelElementAndSet(
3522 grammarAccess.getVLSBinaryAccess().getVLSEquivalentLeftAction_1_0_0_0_0(),
3523 current);
3524
3525
3526 }
3527
3528 otherlv_2=(Token)match(input,51,FOLLOW_12);
3529
3530 newLeafNode(otherlv_2, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1());
3531
3532
3533 }
3534
3535
3536 }
3537 break;
3538 case 2 :
3539 // InternalVampireLanguage.g:1262:6: ( () otherlv_4= '=>' )
3540 {
3541 // InternalVampireLanguage.g:1262:6: ( () otherlv_4= '=>' )
3542 // InternalVampireLanguage.g:1263:7: () otherlv_4= '=>'
3543 {
3544 // InternalVampireLanguage.g:1263:7: ()
3545 // InternalVampireLanguage.g:1264:8:
3546 {
3547
3548 current = forceCreateModelElementAndSet(
3549 grammarAccess.getVLSBinaryAccess().getVLSImpliesLeftAction_1_0_0_1_0(),
3550 current);
3551
3552
3553 }
3554
3555 otherlv_4=(Token)match(input,52,FOLLOW_12);
3556
3557 newLeafNode(otherlv_4, grammarAccess.getVLSBinaryAccess().getEqualsSignGreaterThanSignKeyword_1_0_0_1_1());
3558
3559
3560 }
3561
3562
3563 }
3564 break;
3565 case 3 :
3566 // InternalVampireLanguage.g:1276:6: ( () otherlv_6= '<=' )
3567 {
3568 // InternalVampireLanguage.g:1276:6: ( () otherlv_6= '<=' )
3569 // InternalVampireLanguage.g:1277:7: () otherlv_6= '<='
3570 {
3571 // InternalVampireLanguage.g:1277:7: ()
3572 // InternalVampireLanguage.g:1278:8:
3573 {
3574
3575 current = forceCreateModelElementAndSet(
3576 grammarAccess.getVLSBinaryAccess().getVLSRevImpliesLeftAction_1_0_0_2_0(),
3577 current);
3578
3579
3580 }
3581
3582 otherlv_6=(Token)match(input,53,FOLLOW_12);
3583
3584 newLeafNode(otherlv_6, grammarAccess.getVLSBinaryAccess().getLessThanSignEqualsSignKeyword_1_0_0_2_1());
3585
3586
3587 }
3588
3589
3590 }
3591 break;
3592 case 4 :
3593 // InternalVampireLanguage.g:1290:6: ( () otherlv_8= '<~>' )
3594 {
3595 // InternalVampireLanguage.g:1290:6: ( () otherlv_8= '<~>' )
3596 // InternalVampireLanguage.g:1291:7: () otherlv_8= '<~>'
3597 {
3598 // InternalVampireLanguage.g:1291:7: ()
3599 // InternalVampireLanguage.g:1292:8:
3600 {
3601
3602 current = forceCreateModelElementAndSet(
3603 grammarAccess.getVLSBinaryAccess().getVLSXnorLeftAction_1_0_0_3_0(),
3604 current);
3605
3606
3607 }
3608
3609 otherlv_8=(Token)match(input,54,FOLLOW_12);
3610
3611 newLeafNode(otherlv_8, grammarAccess.getVLSBinaryAccess().getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1());
3612
3613
3614 }
3615
3616
3617 }
3618 break;
3619 case 5 :
3620 // InternalVampireLanguage.g:1304:6: ( () otherlv_10= '~|' )
3621 {
3622 // InternalVampireLanguage.g:1304:6: ( () otherlv_10= '~|' )
3623 // InternalVampireLanguage.g:1305:7: () otherlv_10= '~|'
3624 {
3625 // InternalVampireLanguage.g:1305:7: ()
3626 // InternalVampireLanguage.g:1306:8:
3627 {
3628
3629 current = forceCreateModelElementAndSet(
3630 grammarAccess.getVLSBinaryAccess().getVLSNorLeftAction_1_0_0_4_0(),
3631 current);
3632
3633
3634 }
3635
3636 otherlv_10=(Token)match(input,55,FOLLOW_12);
3637
3638 newLeafNode(otherlv_10, grammarAccess.getVLSBinaryAccess().getTildeVerticalLineKeyword_1_0_0_4_1());
3639
3640
3641 }
3642
3643
3644 }
3645 break;
3646 case 6 :
3647 // InternalVampireLanguage.g:1318:6: ( () otherlv_12= '~&' )
3648 {
3649 // InternalVampireLanguage.g:1318:6: ( () otherlv_12= '~&' )
3650 // InternalVampireLanguage.g:1319:7: () otherlv_12= '~&'
3651 {
3652 // InternalVampireLanguage.g:1319:7: ()
3653 // InternalVampireLanguage.g:1320:8:
3654 {
3655
3656 current = forceCreateModelElementAndSet(
3657 grammarAccess.getVLSBinaryAccess().getVLSNandLeftAction_1_0_0_5_0(),
3658 current);
3659
3660
3661 }
3662
3663 otherlv_12=(Token)match(input,56,FOLLOW_12);
3664
3665 newLeafNode(otherlv_12, grammarAccess.getVLSBinaryAccess().getTildeAmpersandKeyword_1_0_0_5_1());
3666
3667
3668 }
3669
3670
3671 }
3672 break;
3673
3674 }
3675
3676 // InternalVampireLanguage.g:1332:5: ( (lv_right_13_0= ruleVLSUnitaryFormula ) )
3677 // InternalVampireLanguage.g:1333:6: (lv_right_13_0= ruleVLSUnitaryFormula )
3678 {
3679 // InternalVampireLanguage.g:1333:6: (lv_right_13_0= ruleVLSUnitaryFormula )
3680 // InternalVampireLanguage.g:1334:7: lv_right_13_0= ruleVLSUnitaryFormula
3681 {
3682
3683 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0());
3684
3685 pushFollow(FOLLOW_2);
3686 lv_right_13_0=ruleVLSUnitaryFormula();
3687
3688 state._fsp--;
3689
3690
3691 if (current==null) {
3692 current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
3693 }
3694 set(
3695 current,
3696 "right",
3697 lv_right_13_0,
3698 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
3699 afterParserOrEnumRuleCall();
3700
3701
3702 }
3703
3704
3705 }
3706
3707
3708 }
3709
3710
3711 }
3712 break;
3713 case 2 :
3714 // InternalVampireLanguage.g:1353:4: ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+
3715 {
3716 // InternalVampireLanguage.g:1353:4: ( () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) ) )+
3717 int cnt15=0;
3718 loop15:
3719 do {
3720 int alt15=2;
3721 int LA15_0 = input.LA(1);
3722
3723 if ( (LA15_0==57) ) {
3724 alt15=1;
3725 }
3726
3727
3728 switch (alt15) {
3729 case 1 :
3730 // InternalVampireLanguage.g:1354:5: () otherlv_15= '&' ( (lv_right_16_0= ruleVLSUnitaryFormula ) )
3731 {
3732 // InternalVampireLanguage.g:1354:5: ()
3733 // InternalVampireLanguage.g:1355:6:
3734 {
3735
3736 current = forceCreateModelElementAndSet(
3737 grammarAccess.getVLSBinaryAccess().getVLSAndLeftAction_1_1_0(),
3738 current);
3739
3740
3741 }
3742
3743 otherlv_15=(Token)match(input,57,FOLLOW_12);
3744
3745 newLeafNode(otherlv_15, grammarAccess.getVLSBinaryAccess().getAmpersandKeyword_1_1_1());
3746
3747 // InternalVampireLanguage.g:1365:5: ( (lv_right_16_0= ruleVLSUnitaryFormula ) )
3748 // InternalVampireLanguage.g:1366:6: (lv_right_16_0= ruleVLSUnitaryFormula )
3749 {
3750 // InternalVampireLanguage.g:1366:6: (lv_right_16_0= ruleVLSUnitaryFormula )
3751 // InternalVampireLanguage.g:1367:7: lv_right_16_0= ruleVLSUnitaryFormula
3752 {
3753
3754 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0());
3755
3756 pushFollow(FOLLOW_23);
3757 lv_right_16_0=ruleVLSUnitaryFormula();
3758
3759 state._fsp--;
3760
3761
3762 if (current==null) {
3763 current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
3764 }
3765 set(
3766 current,
3767 "right",
3768 lv_right_16_0,
3769 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
3770 afterParserOrEnumRuleCall();
3771
3772
3773 }
3774
3775
3776 }
3777
3778
3779 }
3780 break;
3781
3782 default :
3783 if ( cnt15 >= 1 ) break loop15;
3784 EarlyExitException eee =
3785 new EarlyExitException(15, input);
3786 throw eee;
3787 }
3788 cnt15++;
3789 } while (true);
3790
3791
3792 }
3793 break;
3794 case 3 :
3795 // InternalVampireLanguage.g:1386:4: ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+
3796 {
3797 // InternalVampireLanguage.g:1386:4: ( () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) ) )+
3798 int cnt16=0;
3799 loop16:
3800 do {
3801 int alt16=2;
3802 int LA16_0 = input.LA(1);
3803
3804 if ( (LA16_0==58) ) {
3805 alt16=1;
3806 }
3807
3808
3809 switch (alt16) {
3810 case 1 :
3811 // InternalVampireLanguage.g:1387:5: () otherlv_18= '|' ( (lv_right_19_0= ruleVLSUnitaryFormula ) )
3812 {
3813 // InternalVampireLanguage.g:1387:5: ()
3814 // InternalVampireLanguage.g:1388:6:
3815 {
3816
3817 current = forceCreateModelElementAndSet(
3818 grammarAccess.getVLSBinaryAccess().getVLSOrLeftAction_1_2_0(),
3819 current);
3820
3821
3822 }
3823
3824 otherlv_18=(Token)match(input,58,FOLLOW_12);
3825
3826 newLeafNode(otherlv_18, grammarAccess.getVLSBinaryAccess().getVerticalLineKeyword_1_2_1());
3827
3828 // InternalVampireLanguage.g:1398:5: ( (lv_right_19_0= ruleVLSUnitaryFormula ) )
3829 // InternalVampireLanguage.g:1399:6: (lv_right_19_0= ruleVLSUnitaryFormula )
3830 {
3831 // InternalVampireLanguage.g:1399:6: (lv_right_19_0= ruleVLSUnitaryFormula )
3832 // InternalVampireLanguage.g:1400:7: lv_right_19_0= ruleVLSUnitaryFormula
3833 {
3834
3835 newCompositeNode(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0());
3836
3837 pushFollow(FOLLOW_24);
3838 lv_right_19_0=ruleVLSUnitaryFormula();
3839
3840 state._fsp--;
3841
3842
3843 if (current==null) {
3844 current = createModelElementForParent(grammarAccess.getVLSBinaryRule());
3845 }
3846 set(
3847 current,
3848 "right",
3849 lv_right_19_0,
3850 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
3851 afterParserOrEnumRuleCall();
3852
3853
3854 }
3855
3856
3857 }
3858
3859
3860 }
3861 break;
3862
3863 default :
3864 if ( cnt16 >= 1 ) break loop16;
3865 EarlyExitException eee =
3866 new EarlyExitException(16, input);
3867 throw eee;
3868 }
3869 cnt16++;
3870 } while (true);
3871
3872
3873 }
3874 break;
3875
3876 }
3877
3878
3879 }
3880
3881
3882 }
3883
3884
3885 leaveRule();
3886
3887 }
3888
3889 catch (RecognitionException re) {
3890 recover(input,re);
3891 appendSkippedTokens();
3892 }
3893 finally {
3894 }
3895 return current;
3896 }
3897 // $ANTLR end "ruleVLSBinary"
3898
3899
3900 // $ANTLR start "entryRuleVLSUnitaryFormula"
3901 // InternalVampireLanguage.g:1423:1: entryRuleVLSUnitaryFormula returns [EObject current=null] : iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF ;
3902 public final EObject entryRuleVLSUnitaryFormula() throws RecognitionException {
3903 EObject current = null;
3904
3905 EObject iv_ruleVLSUnitaryFormula = null;
3906
3907
3908 try {
3909 // InternalVampireLanguage.g:1423:58: (iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF )
3910 // InternalVampireLanguage.g:1424:2: iv_ruleVLSUnitaryFormula= ruleVLSUnitaryFormula EOF
3911 {
3912 newCompositeNode(grammarAccess.getVLSUnitaryFormulaRule());
3913 pushFollow(FOLLOW_1);
3914 iv_ruleVLSUnitaryFormula=ruleVLSUnitaryFormula();
3915
3916 state._fsp--;
3917
3918 current =iv_ruleVLSUnitaryFormula;
3919 match(input,EOF,FOLLOW_2);
3920
3921 }
3922
3923 }
3924
3925 catch (RecognitionException re) {
3926 recover(input,re);
3927 appendSkippedTokens();
3928 }
3929 finally {
3930 }
3931 return current;
3932 }
3933 // $ANTLR end "entryRuleVLSUnitaryFormula"
3934
3935
3936 // $ANTLR start "ruleVLSUnitaryFormula"
3937 // InternalVampireLanguage.g:1430:1: ruleVLSUnitaryFormula returns [EObject current=null] : (this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier | this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier | this_VLSUnaryNegation_2= ruleVLSUnaryNegation | this_VLSUnaryInfix_3= ruleVLSUnaryInfix | (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' ) ) ;
3938 public final EObject ruleVLSUnitaryFormula() throws RecognitionException {
3939 EObject current = null;
3940
3941 Token otherlv_4=null;
3942 Token otherlv_6=null;
3943 EObject this_VLSUniversalQuantifier_0 = null;
3944
3945 EObject this_VLSExistentialQuantifier_1 = null;
3946
3947 EObject this_VLSUnaryNegation_2 = null;
3948
3949 EObject this_VLSUnaryInfix_3 = null;
3950
3951 EObject this_VLSTerm_5 = null;
3952
3953
3954
3955 enterRule();
3956
3957 try {
3958 // InternalVampireLanguage.g:1436:2: ( (this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier | this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier | this_VLSUnaryNegation_2= ruleVLSUnaryNegation | this_VLSUnaryInfix_3= ruleVLSUnaryInfix | (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' ) ) )
3959 // InternalVampireLanguage.g:1437:2: (this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier | this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier | this_VLSUnaryNegation_2= ruleVLSUnaryNegation | this_VLSUnaryInfix_3= ruleVLSUnaryInfix | (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' ) )
3960 {
3961 // InternalVampireLanguage.g:1437:2: (this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier | this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier | this_VLSUnaryNegation_2= ruleVLSUnaryNegation | this_VLSUnaryInfix_3= ruleVLSUnaryInfix | (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' ) )
3962 int alt18=5;
3963 switch ( input.LA(1) ) {
3964 case 59:
3965 {
3966 alt18=1;
3967 }
3968 break;
3969 case 61:
3970 {
3971 alt18=2;
3972 }
3973 break;
3974 case 62:
3975 {
3976 alt18=3;
3977 }
3978 break;
3979 case RULE_SINGLE_QUOTE:
3980 case RULE_LOWER_WORD_ID:
3981 case RULE_SIGNED_LITERAL:
3982 case RULE_DOLLAR_ID:
3983 case RULE_DOUBLE_DOLLAR_ID:
3984 case RULE_UPPER_WORD_ID:
3985 case RULE_SIGNED_REAL_ID:
3986 case RULE_SIGNED_RAT_ID:
3987 case RULE_DOUBLE_QUOTE:
3988 case 35:
3989 case 36:
3990 case 37:
3991 case 38:
3992 case 39:
3993 case 40:
3994 case 41:
3995 case 42:
3996 case 43:
3997 case 44:
3998 case 45:
3999 case 46:
4000 case 47:
4001 case 48:
4002 case 49:
4003 case 66:
4004 case 67:
4005 case 68:
4006 {
4007 alt18=4;
4008 }
4009 break;
4010 case 32:
4011 {
4012 alt18=5;
4013 }
4014 break;
4015 default:
4016 NoViableAltException nvae =
4017 new NoViableAltException("", 18, 0, input);
4018
4019 throw nvae;
4020 }
4021
4022 switch (alt18) {
4023 case 1 :
4024 // InternalVampireLanguage.g:1438:3: this_VLSUniversalQuantifier_0= ruleVLSUniversalQuantifier
4025 {
4026
4027 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUniversalQuantifierParserRuleCall_0());
4028
4029 pushFollow(FOLLOW_2);
4030 this_VLSUniversalQuantifier_0=ruleVLSUniversalQuantifier();
4031
4032 state._fsp--;
4033
4034
4035 current = this_VLSUniversalQuantifier_0;
4036 afterParserOrEnumRuleCall();
4037
4038
4039 }
4040 break;
4041 case 2 :
4042 // InternalVampireLanguage.g:1447:3: this_VLSExistentialQuantifier_1= ruleVLSExistentialQuantifier
4043 {
4044
4045 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSExistentialQuantifierParserRuleCall_1());
4046
4047 pushFollow(FOLLOW_2);
4048 this_VLSExistentialQuantifier_1=ruleVLSExistentialQuantifier();
4049
4050 state._fsp--;
4051
4052
4053 current = this_VLSExistentialQuantifier_1;
4054 afterParserOrEnumRuleCall();
4055
4056
4057 }
4058 break;
4059 case 3 :
4060 // InternalVampireLanguage.g:1456:3: this_VLSUnaryNegation_2= ruleVLSUnaryNegation
4061 {
4062
4063 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryNegationParserRuleCall_2());
4064
4065 pushFollow(FOLLOW_2);
4066 this_VLSUnaryNegation_2=ruleVLSUnaryNegation();
4067
4068 state._fsp--;
4069
4070
4071 current = this_VLSUnaryNegation_2;
4072 afterParserOrEnumRuleCall();
4073
4074
4075 }
4076 break;
4077 case 4 :
4078 // InternalVampireLanguage.g:1465:3: this_VLSUnaryInfix_3= ruleVLSUnaryInfix
4079 {
4080
4081 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSUnaryInfixParserRuleCall_3());
4082
4083 pushFollow(FOLLOW_2);
4084 this_VLSUnaryInfix_3=ruleVLSUnaryInfix();
4085
4086 state._fsp--;
4087
4088
4089 current = this_VLSUnaryInfix_3;
4090 afterParserOrEnumRuleCall();
4091
4092
4093 }
4094 break;
4095 case 5 :
4096 // InternalVampireLanguage.g:1474:3: (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' )
4097 {
4098 // InternalVampireLanguage.g:1474:3: (otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')' )
4099 // InternalVampireLanguage.g:1475:4: otherlv_4= '(' this_VLSTerm_5= ruleVLSTerm otherlv_6= ')'
4100 {
4101 otherlv_4=(Token)match(input,32,FOLLOW_12);
4102
4103 newLeafNode(otherlv_4, grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0());
4104
4105
4106 newCompositeNode(grammarAccess.getVLSUnitaryFormulaAccess().getVLSTermParserRuleCall_4_1());
4107
4108 pushFollow(FOLLOW_15);
4109 this_VLSTerm_5=ruleVLSTerm();
4110
4111 state._fsp--;
4112
4113
4114 current = this_VLSTerm_5;
4115 afterParserOrEnumRuleCall();
4116
4117 otherlv_6=(Token)match(input,33,FOLLOW_2);
4118
4119 newLeafNode(otherlv_6, grammarAccess.getVLSUnitaryFormulaAccess().getRightParenthesisKeyword_4_2());
4120
4121
4122 }
4123
4124
4125 }
4126 break;
4127
4128 }
4129
4130
4131 }
4132
4133
4134 leaveRule();
4135
4136 }
4137
4138 catch (RecognitionException re) {
4139 recover(input,re);
4140 appendSkippedTokens();
4141 }
4142 finally {
4143 }
4144 return current;
4145 }
4146 // $ANTLR end "ruleVLSUnitaryFormula"
4147
4148
4149 // $ANTLR start "entryRuleVLSUniversalQuantifier"
4150 // InternalVampireLanguage.g:1496:1: entryRuleVLSUniversalQuantifier returns [EObject current=null] : iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF ;
4151 public final EObject entryRuleVLSUniversalQuantifier() throws RecognitionException {
4152 EObject current = null;
4153
4154 EObject iv_ruleVLSUniversalQuantifier = null;
4155
4156
4157 try {
4158 // InternalVampireLanguage.g:1496:63: (iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF )
4159 // InternalVampireLanguage.g:1497:2: iv_ruleVLSUniversalQuantifier= ruleVLSUniversalQuantifier EOF
4160 {
4161 newCompositeNode(grammarAccess.getVLSUniversalQuantifierRule());
4162 pushFollow(FOLLOW_1);
4163 iv_ruleVLSUniversalQuantifier=ruleVLSUniversalQuantifier();
4164
4165 state._fsp--;
4166
4167 current =iv_ruleVLSUniversalQuantifier;
4168 match(input,EOF,FOLLOW_2);
4169
4170 }
4171
4172 }
4173
4174 catch (RecognitionException re) {
4175 recover(input,re);
4176 appendSkippedTokens();
4177 }
4178 finally {
4179 }
4180 return current;
4181 }
4182 // $ANTLR end "entryRuleVLSUniversalQuantifier"
4183
4184
4185 // $ANTLR start "ruleVLSUniversalQuantifier"
4186 // InternalVampireLanguage.g:1503:1: ruleVLSUniversalQuantifier returns [EObject current=null] : ( () (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) ;
4187 public final EObject ruleVLSUniversalQuantifier() throws RecognitionException {
4188 EObject current = null;
4189
4190 Token otherlv_1=null;
4191 Token otherlv_2=null;
4192 Token otherlv_4=null;
4193 Token otherlv_6=null;
4194 Token otherlv_7=null;
4195 EObject lv_variables_3_0 = null;
4196
4197 EObject lv_variables_5_0 = null;
4198
4199 EObject lv_operand_8_0 = null;
4200
4201
4202
4203 enterRule();
4204
4205 try {
4206 // InternalVampireLanguage.g:1509:2: ( ( () (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) )
4207 // InternalVampireLanguage.g:1510:2: ( () (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
4208 {
4209 // InternalVampireLanguage.g:1510:2: ( () (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
4210 // InternalVampireLanguage.g:1511:3: () (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
4211 {
4212 // InternalVampireLanguage.g:1511:3: ()
4213 // InternalVampireLanguage.g:1512:4:
4214 {
4215
4216 current = forceCreateModelElement(
4217 grammarAccess.getVLSUniversalQuantifierAccess().getVLSUniversalQuantifierAction_0(),
4218 current);
4219
4220
4221 }
4222
4223 // InternalVampireLanguage.g:1518:3: (otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' )
4224 // InternalVampireLanguage.g:1519:4: otherlv_1= '!' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':'
4225 {
4226 otherlv_1=(Token)match(input,59,FOLLOW_25);
4227
4228 newLeafNode(otherlv_1, grammarAccess.getVLSUniversalQuantifierAccess().getExclamationMarkKeyword_1_0());
4229
4230 otherlv_2=(Token)match(input,50,FOLLOW_26);
4231
4232 newLeafNode(otherlv_2, grammarAccess.getVLSUniversalQuantifierAccess().getLeftSquareBracketKeyword_1_1());
4233
4234 // InternalVampireLanguage.g:1527:4: ( (lv_variables_3_0= ruleVLSVariable ) )
4235 // InternalVampireLanguage.g:1528:5: (lv_variables_3_0= ruleVLSVariable )
4236 {
4237 // InternalVampireLanguage.g:1528:5: (lv_variables_3_0= ruleVLSVariable )
4238 // InternalVampireLanguage.g:1529:6: lv_variables_3_0= ruleVLSVariable
4239 {
4240
4241 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
4242
4243 pushFollow(FOLLOW_7);
4244 lv_variables_3_0=ruleVLSVariable();
4245
4246 state._fsp--;
4247
4248
4249 if (current==null) {
4250 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
4251 }
4252 add(
4253 current,
4254 "variables",
4255 lv_variables_3_0,
4256 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4257 afterParserOrEnumRuleCall();
4258
4259
4260 }
4261
4262
4263 }
4264
4265 // InternalVampireLanguage.g:1546:4: (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )*
4266 loop19:
4267 do {
4268 int alt19=2;
4269 int LA19_0 = input.LA(1);
4270
4271 if ( (LA19_0==29) ) {
4272 alt19=1;
4273 }
4274
4275
4276 switch (alt19) {
4277 case 1 :
4278 // InternalVampireLanguage.g:1547:5: otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) )
4279 {
4280 otherlv_4=(Token)match(input,29,FOLLOW_26);
4281
4282 newLeafNode(otherlv_4, grammarAccess.getVLSUniversalQuantifierAccess().getCommaKeyword_1_3_0());
4283
4284 // InternalVampireLanguage.g:1551:5: ( (lv_variables_5_0= ruleVLSVariable ) )
4285 // InternalVampireLanguage.g:1552:6: (lv_variables_5_0= ruleVLSVariable )
4286 {
4287 // InternalVampireLanguage.g:1552:6: (lv_variables_5_0= ruleVLSVariable )
4288 // InternalVampireLanguage.g:1553:7: lv_variables_5_0= ruleVLSVariable
4289 {
4290
4291 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
4292
4293 pushFollow(FOLLOW_7);
4294 lv_variables_5_0=ruleVLSVariable();
4295
4296 state._fsp--;
4297
4298
4299 if (current==null) {
4300 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
4301 }
4302 add(
4303 current,
4304 "variables",
4305 lv_variables_5_0,
4306 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4307 afterParserOrEnumRuleCall();
4308
4309
4310 }
4311
4312
4313 }
4314
4315
4316 }
4317 break;
4318
4319 default :
4320 break loop19;
4321 }
4322 } while (true);
4323
4324 otherlv_6=(Token)match(input,30,FOLLOW_27);
4325
4326 newLeafNode(otherlv_6, grammarAccess.getVLSUniversalQuantifierAccess().getRightSquareBracketKeyword_1_4());
4327
4328 otherlv_7=(Token)match(input,60,FOLLOW_12);
4329
4330 newLeafNode(otherlv_7, grammarAccess.getVLSUniversalQuantifierAccess().getColonKeyword_1_5());
4331
4332
4333 }
4334
4335 // InternalVampireLanguage.g:1580:3: ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
4336 // InternalVampireLanguage.g:1581:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
4337 {
4338 // InternalVampireLanguage.g:1581:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
4339 // InternalVampireLanguage.g:1582:5: lv_operand_8_0= ruleVLSUnitaryFormula
4340 {
4341
4342 newCompositeNode(grammarAccess.getVLSUniversalQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
4343
4344 pushFollow(FOLLOW_2);
4345 lv_operand_8_0=ruleVLSUnitaryFormula();
4346
4347 state._fsp--;
4348
4349
4350 if (current==null) {
4351 current = createModelElementForParent(grammarAccess.getVLSUniversalQuantifierRule());
4352 }
4353 set(
4354 current,
4355 "operand",
4356 lv_operand_8_0,
4357 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
4358 afterParserOrEnumRuleCall();
4359
4360
4361 }
4362
4363
4364 }
4365
4366
4367 }
4368
4369
4370 }
4371
4372
4373 leaveRule();
4374
4375 }
4376
4377 catch (RecognitionException re) {
4378 recover(input,re);
4379 appendSkippedTokens();
4380 }
4381 finally {
4382 }
4383 return current;
4384 }
4385 // $ANTLR end "ruleVLSUniversalQuantifier"
4386
4387
4388 // $ANTLR start "entryRuleVLSExistentialQuantifier"
4389 // InternalVampireLanguage.g:1603:1: entryRuleVLSExistentialQuantifier returns [EObject current=null] : iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF ;
4390 public final EObject entryRuleVLSExistentialQuantifier() throws RecognitionException {
4391 EObject current = null;
4392
4393 EObject iv_ruleVLSExistentialQuantifier = null;
4394
4395
4396 try {
4397 // InternalVampireLanguage.g:1603:65: (iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF )
4398 // InternalVampireLanguage.g:1604:2: iv_ruleVLSExistentialQuantifier= ruleVLSExistentialQuantifier EOF
4399 {
4400 newCompositeNode(grammarAccess.getVLSExistentialQuantifierRule());
4401 pushFollow(FOLLOW_1);
4402 iv_ruleVLSExistentialQuantifier=ruleVLSExistentialQuantifier();
4403
4404 state._fsp--;
4405
4406 current =iv_ruleVLSExistentialQuantifier;
4407 match(input,EOF,FOLLOW_2);
4408
4409 }
4410
4411 }
4412
4413 catch (RecognitionException re) {
4414 recover(input,re);
4415 appendSkippedTokens();
4416 }
4417 finally {
4418 }
4419 return current;
4420 }
4421 // $ANTLR end "entryRuleVLSExistentialQuantifier"
4422
4423
4424 // $ANTLR start "ruleVLSExistentialQuantifier"
4425 // InternalVampireLanguage.g:1610:1: ruleVLSExistentialQuantifier returns [EObject current=null] : ( () (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) ;
4426 public final EObject ruleVLSExistentialQuantifier() throws RecognitionException {
4427 EObject current = null;
4428
4429 Token otherlv_1=null;
4430 Token otherlv_2=null;
4431 Token otherlv_4=null;
4432 Token otherlv_6=null;
4433 Token otherlv_7=null;
4434 EObject lv_variables_3_0 = null;
4435
4436 EObject lv_variables_5_0 = null;
4437
4438 EObject lv_operand_8_0 = null;
4439
4440
4441
4442 enterRule();
4443
4444 try {
4445 // InternalVampireLanguage.g:1616:2: ( ( () (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) ) )
4446 // InternalVampireLanguage.g:1617:2: ( () (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
4447 {
4448 // InternalVampireLanguage.g:1617:2: ( () (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) ) )
4449 // InternalVampireLanguage.g:1618:3: () (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' ) ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
4450 {
4451 // InternalVampireLanguage.g:1618:3: ()
4452 // InternalVampireLanguage.g:1619:4:
4453 {
4454
4455 current = forceCreateModelElement(
4456 grammarAccess.getVLSExistentialQuantifierAccess().getVLSExistentialQuantifierAction_0(),
4457 current);
4458
4459
4460 }
4461
4462 // InternalVampireLanguage.g:1625:3: (otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':' )
4463 // InternalVampireLanguage.g:1626:4: otherlv_1= '?' otherlv_2= '[' ( (lv_variables_3_0= ruleVLSVariable ) ) (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )* otherlv_6= ']' otherlv_7= ':'
4464 {
4465 otherlv_1=(Token)match(input,61,FOLLOW_25);
4466
4467 newLeafNode(otherlv_1, grammarAccess.getVLSExistentialQuantifierAccess().getQuestionMarkKeyword_1_0());
4468
4469 otherlv_2=(Token)match(input,50,FOLLOW_26);
4470
4471 newLeafNode(otherlv_2, grammarAccess.getVLSExistentialQuantifierAccess().getLeftSquareBracketKeyword_1_1());
4472
4473 // InternalVampireLanguage.g:1634:4: ( (lv_variables_3_0= ruleVLSVariable ) )
4474 // InternalVampireLanguage.g:1635:5: (lv_variables_3_0= ruleVLSVariable )
4475 {
4476 // InternalVampireLanguage.g:1635:5: (lv_variables_3_0= ruleVLSVariable )
4477 // InternalVampireLanguage.g:1636:6: lv_variables_3_0= ruleVLSVariable
4478 {
4479
4480 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_2_0());
4481
4482 pushFollow(FOLLOW_7);
4483 lv_variables_3_0=ruleVLSVariable();
4484
4485 state._fsp--;
4486
4487
4488 if (current==null) {
4489 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
4490 }
4491 add(
4492 current,
4493 "variables",
4494 lv_variables_3_0,
4495 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4496 afterParserOrEnumRuleCall();
4497
4498
4499 }
4500
4501
4502 }
4503
4504 // InternalVampireLanguage.g:1653:4: (otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) ) )*
4505 loop20:
4506 do {
4507 int alt20=2;
4508 int LA20_0 = input.LA(1);
4509
4510 if ( (LA20_0==29) ) {
4511 alt20=1;
4512 }
4513
4514
4515 switch (alt20) {
4516 case 1 :
4517 // InternalVampireLanguage.g:1654:5: otherlv_4= ',' ( (lv_variables_5_0= ruleVLSVariable ) )
4518 {
4519 otherlv_4=(Token)match(input,29,FOLLOW_26);
4520
4521 newLeafNode(otherlv_4, grammarAccess.getVLSExistentialQuantifierAccess().getCommaKeyword_1_3_0());
4522
4523 // InternalVampireLanguage.g:1658:5: ( (lv_variables_5_0= ruleVLSVariable ) )
4524 // InternalVampireLanguage.g:1659:6: (lv_variables_5_0= ruleVLSVariable )
4525 {
4526 // InternalVampireLanguage.g:1659:6: (lv_variables_5_0= ruleVLSVariable )
4527 // InternalVampireLanguage.g:1660:7: lv_variables_5_0= ruleVLSVariable
4528 {
4529
4530 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getVariablesVLSVariableParserRuleCall_1_3_1_0());
4531
4532 pushFollow(FOLLOW_7);
4533 lv_variables_5_0=ruleVLSVariable();
4534
4535 state._fsp--;
4536
4537
4538 if (current==null) {
4539 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
4540 }
4541 add(
4542 current,
4543 "variables",
4544 lv_variables_5_0,
4545 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
4546 afterParserOrEnumRuleCall();
4547
4548
4549 }
4550
4551
4552 }
4553
4554
4555 }
4556 break;
4557
4558 default :
4559 break loop20;
4560 }
4561 } while (true);
4562
4563 otherlv_6=(Token)match(input,30,FOLLOW_27);
4564
4565 newLeafNode(otherlv_6, grammarAccess.getVLSExistentialQuantifierAccess().getRightSquareBracketKeyword_1_4());
4566
4567 otherlv_7=(Token)match(input,60,FOLLOW_12);
4568
4569 newLeafNode(otherlv_7, grammarAccess.getVLSExistentialQuantifierAccess().getColonKeyword_1_5());
4570
4571
4572 }
4573
4574 // InternalVampireLanguage.g:1687:3: ( (lv_operand_8_0= ruleVLSUnitaryFormula ) )
4575 // InternalVampireLanguage.g:1688:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
4576 {
4577 // InternalVampireLanguage.g:1688:4: (lv_operand_8_0= ruleVLSUnitaryFormula )
4578 // InternalVampireLanguage.g:1689:5: lv_operand_8_0= ruleVLSUnitaryFormula
4579 {
4580
4581 newCompositeNode(grammarAccess.getVLSExistentialQuantifierAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
4582
4583 pushFollow(FOLLOW_2);
4584 lv_operand_8_0=ruleVLSUnitaryFormula();
4585
4586 state._fsp--;
4587
4588
4589 if (current==null) {
4590 current = createModelElementForParent(grammarAccess.getVLSExistentialQuantifierRule());
4591 }
4592 set(
4593 current,
4594 "operand",
4595 lv_operand_8_0,
4596 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
4597 afterParserOrEnumRuleCall();
4598
4599
4600 }
4601
4602
4603 }
4604
4605
4606 }
4607
4608
4609 }
4610
4611
4612 leaveRule();
4613
4614 }
4615
4616 catch (RecognitionException re) {
4617 recover(input,re);
4618 appendSkippedTokens();
4619 }
4620 finally {
4621 }
4622 return current;
4623 }
4624 // $ANTLR end "ruleVLSExistentialQuantifier"
4625
4626
4627 // $ANTLR start "entryRuleVLSUnaryNegation"
4628 // InternalVampireLanguage.g:1710:1: entryRuleVLSUnaryNegation returns [EObject current=null] : iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF ;
4629 public final EObject entryRuleVLSUnaryNegation() throws RecognitionException {
4630 EObject current = null;
4631
4632 EObject iv_ruleVLSUnaryNegation = null;
4633
4634
4635 try {
4636 // InternalVampireLanguage.g:1710:57: (iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF )
4637 // InternalVampireLanguage.g:1711:2: iv_ruleVLSUnaryNegation= ruleVLSUnaryNegation EOF
4638 {
4639 newCompositeNode(grammarAccess.getVLSUnaryNegationRule());
4640 pushFollow(FOLLOW_1);
4641 iv_ruleVLSUnaryNegation=ruleVLSUnaryNegation();
4642
4643 state._fsp--;
4644
4645 current =iv_ruleVLSUnaryNegation;
4646 match(input,EOF,FOLLOW_2);
4647
4648 }
4649
4650 }
4651
4652 catch (RecognitionException re) {
4653 recover(input,re);
4654 appendSkippedTokens();
4655 }
4656 finally {
4657 }
4658 return current;
4659 }
4660 // $ANTLR end "entryRuleVLSUnaryNegation"
4661
4662
4663 // $ANTLR start "ruleVLSUnaryNegation"
4664 // InternalVampireLanguage.g:1717:1: ruleVLSUnaryNegation returns [EObject current=null] : ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) ) ;
4665 public final EObject ruleVLSUnaryNegation() throws RecognitionException {
4666 EObject current = null;
4667
4668 Token otherlv_1=null;
4669 EObject lv_operand_2_0 = null;
4670
4671
4672
4673 enterRule();
4674
4675 try {
4676 // InternalVampireLanguage.g:1723:2: ( ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) ) )
4677 // InternalVampireLanguage.g:1724:2: ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) )
4678 {
4679 // InternalVampireLanguage.g:1724:2: ( () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) ) )
4680 // InternalVampireLanguage.g:1725:3: () otherlv_1= '~' ( (lv_operand_2_0= ruleVLSUnitaryFormula ) )
4681 {
4682 // InternalVampireLanguage.g:1725:3: ()
4683 // InternalVampireLanguage.g:1726:4:
4684 {
4685
4686 current = forceCreateModelElement(
4687 grammarAccess.getVLSUnaryNegationAccess().getVLSUnaryNegationAction_0(),
4688 current);
4689
4690
4691 }
4692
4693 otherlv_1=(Token)match(input,62,FOLLOW_12);
4694
4695 newLeafNode(otherlv_1, grammarAccess.getVLSUnaryNegationAccess().getTildeKeyword_1());
4696
4697 // InternalVampireLanguage.g:1736:3: ( (lv_operand_2_0= ruleVLSUnitaryFormula ) )
4698 // InternalVampireLanguage.g:1737:4: (lv_operand_2_0= ruleVLSUnitaryFormula )
4699 {
4700 // InternalVampireLanguage.g:1737:4: (lv_operand_2_0= ruleVLSUnitaryFormula )
4701 // InternalVampireLanguage.g:1738:5: lv_operand_2_0= ruleVLSUnitaryFormula
4702 {
4703
4704 newCompositeNode(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0());
4705
4706 pushFollow(FOLLOW_2);
4707 lv_operand_2_0=ruleVLSUnitaryFormula();
4708
4709 state._fsp--;
4710
4711
4712 if (current==null) {
4713 current = createModelElementForParent(grammarAccess.getVLSUnaryNegationRule());
4714 }
4715 set(
4716 current,
4717 "operand",
4718 lv_operand_2_0,
4719 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
4720 afterParserOrEnumRuleCall();
4721
4722
4723 }
4724
4725
4726 }
4727
4728
4729 }
4730
4731
4732 }
4733
4734
4735 leaveRule();
4736
4737 }
4738
4739 catch (RecognitionException re) {
4740 recover(input,re);
4741 appendSkippedTokens();
4742 }
4743 finally {
4744 }
4745 return current;
4746 }
4747 // $ANTLR end "ruleVLSUnaryNegation"
4748
4749
4750 // $ANTLR start "entryRuleVLSUnaryInfix"
4751 // InternalVampireLanguage.g:1759:1: entryRuleVLSUnaryInfix returns [EObject current=null] : iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF ;
4752 public final EObject entryRuleVLSUnaryInfix() throws RecognitionException {
4753 EObject current = null;
4754
4755 EObject iv_ruleVLSUnaryInfix = null;
4756
4757
4758 try {
4759 // InternalVampireLanguage.g:1759:54: (iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF )
4760 // InternalVampireLanguage.g:1760:2: iv_ruleVLSUnaryInfix= ruleVLSUnaryInfix EOF
4761 {
4762 newCompositeNode(grammarAccess.getVLSUnaryInfixRule());
4763 pushFollow(FOLLOW_1);
4764 iv_ruleVLSUnaryInfix=ruleVLSUnaryInfix();
4765
4766 state._fsp--;
4767
4768 current =iv_ruleVLSUnaryInfix;
4769 match(input,EOF,FOLLOW_2);
4770
4771 }
4772
4773 }
4774
4775 catch (RecognitionException re) {
4776 recover(input,re);
4777 appendSkippedTokens();
4778 }
4779 finally {
4780 }
4781 return current;
4782 }
4783 // $ANTLR end "entryRuleVLSUnaryInfix"
4784
4785
4786 // $ANTLR start "ruleVLSUnaryInfix"
4787 // InternalVampireLanguage.g:1766:1: ruleVLSUnaryInfix returns [EObject current=null] : (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? ) ;
4788 public final EObject ruleVLSUnaryInfix() throws RecognitionException {
4789 EObject current = null;
4790
4791 Token otherlv_2=null;
4792 Token otherlv_4=null;
4793 Token otherlv_6=null;
4794 EObject this_VLSAtomic_0 = null;
4795
4796 EObject lv_right_7_0 = null;
4797
4798
4799
4800 enterRule();
4801
4802 try {
4803 // InternalVampireLanguage.g:1772:2: ( (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? ) )
4804 // InternalVampireLanguage.g:1773:2: (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? )
4805 {
4806 // InternalVampireLanguage.g:1773:2: (this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )? )
4807 // InternalVampireLanguage.g:1774:3: this_VLSAtomic_0= ruleVLSAtomic ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )?
4808 {
4809
4810 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getVLSAtomicParserRuleCall_0());
4811
4812 pushFollow(FOLLOW_28);
4813 this_VLSAtomic_0=ruleVLSAtomic();
4814
4815 state._fsp--;
4816
4817
4818 current = this_VLSAtomic_0;
4819 afterParserOrEnumRuleCall();
4820
4821 // InternalVampireLanguage.g:1782:3: ( ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) ) )?
4822 int alt22=2;
4823 int LA22_0 = input.LA(1);
4824
4825 if ( ((LA22_0>=63 && LA22_0<=65)) ) {
4826 alt22=1;
4827 }
4828 switch (alt22) {
4829 case 1 :
4830 // InternalVampireLanguage.g:1783:4: ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) ) ( (lv_right_7_0= ruleVLSAtomic ) )
4831 {
4832 // InternalVampireLanguage.g:1783:4: ( ( () otherlv_2= '!=' ) | ( () otherlv_4= '=' ) | ( () otherlv_6= ':=' ) )
4833 int alt21=3;
4834 switch ( input.LA(1) ) {
4835 case 63:
4836 {
4837 alt21=1;
4838 }
4839 break;
4840 case 64:
4841 {
4842 alt21=2;
4843 }
4844 break;
4845 case 65:
4846 {
4847 alt21=3;
4848 }
4849 break;
4850 default:
4851 NoViableAltException nvae =
4852 new NoViableAltException("", 21, 0, input);
4853
4854 throw nvae;
4855 }
4856
4857 switch (alt21) {
4858 case 1 :
4859 // InternalVampireLanguage.g:1784:5: ( () otherlv_2= '!=' )
4860 {
4861 // InternalVampireLanguage.g:1784:5: ( () otherlv_2= '!=' )
4862 // InternalVampireLanguage.g:1785:6: () otherlv_2= '!='
4863 {
4864 // InternalVampireLanguage.g:1785:6: ()
4865 // InternalVampireLanguage.g:1786:7:
4866 {
4867
4868 current = forceCreateModelElementAndSet(
4869 grammarAccess.getVLSUnaryInfixAccess().getVLSInequalityLeftAction_1_0_0_0(),
4870 current);
4871
4872
4873 }
4874
4875 otherlv_2=(Token)match(input,63,FOLLOW_29);
4876
4877 newLeafNode(otherlv_2, grammarAccess.getVLSUnaryInfixAccess().getExclamationMarkEqualsSignKeyword_1_0_0_1());
4878
4879
4880 }
4881
4882
4883 }
4884 break;
4885 case 2 :
4886 // InternalVampireLanguage.g:1798:5: ( () otherlv_4= '=' )
4887 {
4888 // InternalVampireLanguage.g:1798:5: ( () otherlv_4= '=' )
4889 // InternalVampireLanguage.g:1799:6: () otherlv_4= '='
4890 {
4891 // InternalVampireLanguage.g:1799:6: ()
4892 // InternalVampireLanguage.g:1800:7:
4893 {
4894
4895 current = forceCreateModelElementAndSet(
4896 grammarAccess.getVLSUnaryInfixAccess().getVLSEqualityLeftAction_1_0_1_0(),
4897 current);
4898
4899
4900 }
4901
4902 otherlv_4=(Token)match(input,64,FOLLOW_29);
4903
4904 newLeafNode(otherlv_4, grammarAccess.getVLSUnaryInfixAccess().getEqualsSignKeyword_1_0_1_1());
4905
4906
4907 }
4908
4909
4910 }
4911 break;
4912 case 3 :
4913 // InternalVampireLanguage.g:1812:5: ( () otherlv_6= ':=' )
4914 {
4915 // InternalVampireLanguage.g:1812:5: ( () otherlv_6= ':=' )
4916 // InternalVampireLanguage.g:1813:6: () otherlv_6= ':='
4917 {
4918 // InternalVampireLanguage.g:1813:6: ()
4919 // InternalVampireLanguage.g:1814:7:
4920 {
4921
4922 current = forceCreateModelElementAndSet(
4923 grammarAccess.getVLSUnaryInfixAccess().getVLSAssignmentLeftAction_1_0_2_0(),
4924 current);
4925
4926
4927 }
4928
4929 otherlv_6=(Token)match(input,65,FOLLOW_29);
4930
4931 newLeafNode(otherlv_6, grammarAccess.getVLSUnaryInfixAccess().getColonEqualsSignKeyword_1_0_2_1());
4932
4933
4934 }
4935
4936
4937 }
4938 break;
4939
4940 }
4941
4942 // InternalVampireLanguage.g:1826:4: ( (lv_right_7_0= ruleVLSAtomic ) )
4943 // InternalVampireLanguage.g:1827:5: (lv_right_7_0= ruleVLSAtomic )
4944 {
4945 // InternalVampireLanguage.g:1827:5: (lv_right_7_0= ruleVLSAtomic )
4946 // InternalVampireLanguage.g:1828:6: lv_right_7_0= ruleVLSAtomic
4947 {
4948
4949 newCompositeNode(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0());
4950
4951 pushFollow(FOLLOW_2);
4952 lv_right_7_0=ruleVLSAtomic();
4953
4954 state._fsp--;
4955
4956
4957 if (current==null) {
4958 current = createModelElementForParent(grammarAccess.getVLSUnaryInfixRule());
4959 }
4960 set(
4961 current,
4962 "right",
4963 lv_right_7_0,
4964 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAtomic");
4965 afterParserOrEnumRuleCall();
4966
4967
4968 }
4969
4970
4971 }
4972
4973
4974 }
4975 break;
4976
4977 }
4978
4979
4980 }
4981
4982
4983 }
4984
4985
4986 leaveRule();
4987
4988 }
4989
4990 catch (RecognitionException re) {
4991 recover(input,re);
4992 appendSkippedTokens();
4993 }
4994 finally {
4995 }
4996 return current;
4997 }
4998 // $ANTLR end "ruleVLSUnaryInfix"
4999
5000
5001 // $ANTLR start "entryRuleVLSAtomic"
5002 // InternalVampireLanguage.g:1850:1: entryRuleVLSAtomic returns [EObject current=null] : iv_ruleVLSAtomic= ruleVLSAtomic EOF ;
5003 public final EObject entryRuleVLSAtomic() throws RecognitionException {
5004 EObject current = null;
5005
5006 EObject iv_ruleVLSAtomic = null;
5007
5008
5009 try {
5010 // InternalVampireLanguage.g:1850:50: (iv_ruleVLSAtomic= ruleVLSAtomic EOF )
5011 // InternalVampireLanguage.g:1851:2: iv_ruleVLSAtomic= ruleVLSAtomic EOF
5012 {
5013 newCompositeNode(grammarAccess.getVLSAtomicRule());
5014 pushFollow(FOLLOW_1);
5015 iv_ruleVLSAtomic=ruleVLSAtomic();
5016
5017 state._fsp--;
5018
5019 current =iv_ruleVLSAtomic;
5020 match(input,EOF,FOLLOW_2);
5021
5022 }
5023
5024 }
5025
5026 catch (RecognitionException re) {
5027 recover(input,re);
5028 appendSkippedTokens();
5029 }
5030 finally {
5031 }
5032 return current;
5033 }
5034 // $ANTLR end "entryRuleVLSAtomic"
5035
5036
5037 // $ANTLR start "ruleVLSAtomic"
5038 // InternalVampireLanguage.g:1857:1: ruleVLSAtomic returns [EObject current=null] : (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm ) ;
5039 public final EObject ruleVLSAtomic() throws RecognitionException {
5040 EObject current = null;
5041
5042 EObject this_VLSAtomicConstant_0 = null;
5043
5044 EObject this_VLSAtomicFunction_1 = null;
5045
5046 EObject this_VLSVariable_2 = null;
5047
5048 EObject this_VLSDefinedTerm_3 = null;
5049
5050
5051
5052 enterRule();
5053
5054 try {
5055 // InternalVampireLanguage.g:1863:2: ( (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm ) )
5056 // InternalVampireLanguage.g:1864:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm )
5057 {
5058 // InternalVampireLanguage.g:1864:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm )
5059 int alt23=4;
5060 alt23 = dfa23.predict(input);
5061 switch (alt23) {
5062 case 1 :
5063 // InternalVampireLanguage.g:1865:3: this_VLSAtomicConstant_0= ruleVLSAtomicConstant
5064 {
5065
5066 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicConstantParserRuleCall_0());
5067
5068 pushFollow(FOLLOW_2);
5069 this_VLSAtomicConstant_0=ruleVLSAtomicConstant();
5070
5071 state._fsp--;
5072
5073
5074 current = this_VLSAtomicConstant_0;
5075 afterParserOrEnumRuleCall();
5076
5077
5078 }
5079 break;
5080 case 2 :
5081 // InternalVampireLanguage.g:1874:3: this_VLSAtomicFunction_1= ruleVLSAtomicFunction
5082 {
5083
5084 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSAtomicFunctionParserRuleCall_1());
5085
5086 pushFollow(FOLLOW_2);
5087 this_VLSAtomicFunction_1=ruleVLSAtomicFunction();
5088
5089 state._fsp--;
5090
5091
5092 current = this_VLSAtomicFunction_1;
5093 afterParserOrEnumRuleCall();
5094
5095
5096 }
5097 break;
5098 case 3 :
5099 // InternalVampireLanguage.g:1883:3: this_VLSVariable_2= ruleVLSVariable
5100 {
5101
5102 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSVariableParserRuleCall_2());
5103
5104 pushFollow(FOLLOW_2);
5105 this_VLSVariable_2=ruleVLSVariable();
5106
5107 state._fsp--;
5108
5109
5110 current = this_VLSVariable_2;
5111 afterParserOrEnumRuleCall();
5112
5113
5114 }
5115 break;
5116 case 4 :
5117 // InternalVampireLanguage.g:1892:3: this_VLSDefinedTerm_3= ruleVLSDefinedTerm
5118 {
5119
5120 newCompositeNode(grammarAccess.getVLSAtomicAccess().getVLSDefinedTermParserRuleCall_3());
5121
5122 pushFollow(FOLLOW_2);
5123 this_VLSDefinedTerm_3=ruleVLSDefinedTerm();
5124
5125 state._fsp--;
5126
5127
5128 current = this_VLSDefinedTerm_3;
5129 afterParserOrEnumRuleCall();
5130
5131
5132 }
5133 break;
5134
5135 }
5136
5137
5138 }
5139
5140
5141 leaveRule();
5142
5143 }
5144
5145 catch (RecognitionException re) {
5146 recover(input,re);
5147 appendSkippedTokens();
5148 }
5149 finally {
5150 }
5151 return current;
5152 }
5153 // $ANTLR end "ruleVLSAtomic"
5154
5155
5156 // $ANTLR start "entryRuleVLSAtomicConstant"
5157 // InternalVampireLanguage.g:1904:1: entryRuleVLSAtomicConstant returns [EObject current=null] : iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF ;
5158 public final EObject entryRuleVLSAtomicConstant() throws RecognitionException {
5159 EObject current = null;
5160
5161 EObject iv_ruleVLSAtomicConstant = null;
5162
5163
5164 try {
5165 // InternalVampireLanguage.g:1904:58: (iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF )
5166 // InternalVampireLanguage.g:1905:2: iv_ruleVLSAtomicConstant= ruleVLSAtomicConstant EOF
5167 {
5168 newCompositeNode(grammarAccess.getVLSAtomicConstantRule());
5169 pushFollow(FOLLOW_1);
5170 iv_ruleVLSAtomicConstant=ruleVLSAtomicConstant();
5171
5172 state._fsp--;
5173
5174 current =iv_ruleVLSAtomicConstant;
5175 match(input,EOF,FOLLOW_2);
5176
5177 }
5178
5179 }
5180
5181 catch (RecognitionException re) {
5182 recover(input,re);
5183 appendSkippedTokens();
5184 }
5185 finally {
5186 }
5187 return current;
5188 }
5189 // $ANTLR end "entryRuleVLSAtomicConstant"
5190
5191
5192 // $ANTLR start "ruleVLSAtomicConstant"
5193 // InternalVampireLanguage.g:1911:1: ruleVLSAtomicConstant returns [EObject current=null] : ( ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) ) | ( () otherlv_3= '$true' ) | ( () otherlv_5= '$false' ) ) ;
5194 public final EObject ruleVLSAtomicConstant() throws RecognitionException {
5195 EObject current = null;
5196
5197 Token lv_name_1_1=null;
5198 Token lv_name_1_2=null;
5199 Token lv_name_1_3=null;
5200 Token lv_name_1_4=null;
5201 Token otherlv_3=null;
5202 Token otherlv_5=null;
5203 AntlrDatatypeRuleToken lv_name_1_5 = null;
5204
5205
5206
5207 enterRule();
5208
5209 try {
5210 // InternalVampireLanguage.g:1917:2: ( ( ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) ) | ( () otherlv_3= '$true' ) | ( () otherlv_5= '$false' ) ) )
5211 // InternalVampireLanguage.g:1918:2: ( ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) ) | ( () otherlv_3= '$true' ) | ( () otherlv_5= '$false' ) )
5212 {
5213 // InternalVampireLanguage.g:1918:2: ( ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) ) | ( () otherlv_3= '$true' ) | ( () otherlv_5= '$false' ) )
5214 int alt25=3;
5215 switch ( input.LA(1) ) {
5216 case RULE_SINGLE_QUOTE:
5217 case RULE_LOWER_WORD_ID:
5218 case RULE_DOLLAR_ID:
5219 case RULE_DOUBLE_DOLLAR_ID:
5220 case 35:
5221 case 36:
5222 case 37:
5223 case 38:
5224 case 39:
5225 case 40:
5226 case 41:
5227 case 42:
5228 case 43:
5229 case 44:
5230 case 45:
5231 case 46:
5232 case 47:
5233 case 48:
5234 case 49:
5235 {
5236 alt25=1;
5237 }
5238 break;
5239 case 66:
5240 {
5241 alt25=2;
5242 }
5243 break;
5244 case 67:
5245 {
5246 alt25=3;
5247 }
5248 break;
5249 default:
5250 NoViableAltException nvae =
5251 new NoViableAltException("", 25, 0, input);
5252
5253 throw nvae;
5254 }
5255
5256 switch (alt25) {
5257 case 1 :
5258 // InternalVampireLanguage.g:1919:3: ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) )
5259 {
5260 // InternalVampireLanguage.g:1919:3: ( () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) ) )
5261 // InternalVampireLanguage.g:1920:4: () ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) )
5262 {
5263 // InternalVampireLanguage.g:1920:4: ()
5264 // InternalVampireLanguage.g:1921:5:
5265 {
5266
5267 current = forceCreateModelElement(
5268 grammarAccess.getVLSAtomicConstantAccess().getVLSConstantAction_0_0(),
5269 current);
5270
5271
5272 }
5273
5274 // InternalVampireLanguage.g:1927:4: ( ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) ) )
5275 // InternalVampireLanguage.g:1928:5: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) )
5276 {
5277 // InternalVampireLanguage.g:1928:5: ( (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole ) )
5278 // InternalVampireLanguage.g:1929:6: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole )
5279 {
5280 // InternalVampireLanguage.g:1929:6: (lv_name_1_1= RULE_LOWER_WORD_ID | lv_name_1_2= RULE_SINGLE_QUOTE | lv_name_1_3= RULE_DOLLAR_ID | lv_name_1_4= RULE_DOUBLE_DOLLAR_ID | lv_name_1_5= ruleVLSRole )
5281 int alt24=5;
5282 switch ( input.LA(1) ) {
5283 case RULE_LOWER_WORD_ID:
5284 {
5285 alt24=1;
5286 }
5287 break;
5288 case RULE_SINGLE_QUOTE:
5289 {
5290 alt24=2;
5291 }
5292 break;
5293 case RULE_DOLLAR_ID:
5294 {
5295 alt24=3;
5296 }
5297 break;
5298 case RULE_DOUBLE_DOLLAR_ID:
5299 {
5300 alt24=4;
5301 }
5302 break;
5303 case 35:
5304 case 36:
5305 case 37:
5306 case 38:
5307 case 39:
5308 case 40:
5309 case 41:
5310 case 42:
5311 case 43:
5312 case 44:
5313 case 45:
5314 case 46:
5315 case 47:
5316 case 48:
5317 case 49:
5318 {
5319 alt24=5;
5320 }
5321 break;
5322 default:
5323 NoViableAltException nvae =
5324 new NoViableAltException("", 24, 0, input);
5325
5326 throw nvae;
5327 }
5328
5329 switch (alt24) {
5330 case 1 :
5331 // InternalVampireLanguage.g:1930:7: lv_name_1_1= RULE_LOWER_WORD_ID
5332 {
5333 lv_name_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_2);
5334
5335 newLeafNode(lv_name_1_1, grammarAccess.getVLSAtomicConstantAccess().getNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
5336
5337
5338 if (current==null) {
5339 current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
5340 }
5341 setWithLastConsumed(
5342 current,
5343 "name",
5344 lv_name_1_1,
5345 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
5346
5347
5348 }
5349 break;
5350 case 2 :
5351 // InternalVampireLanguage.g:1945:7: lv_name_1_2= RULE_SINGLE_QUOTE
5352 {
5353 lv_name_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_2);
5354
5355 newLeafNode(lv_name_1_2, grammarAccess.getVLSAtomicConstantAccess().getNameSINGLE_QUOTETerminalRuleCall_0_1_0_1());
5356
5357
5358 if (current==null) {
5359 current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
5360 }
5361 setWithLastConsumed(
5362 current,
5363 "name",
5364 lv_name_1_2,
5365 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
5366
5367
5368 }
5369 break;
5370 case 3 :
5371 // InternalVampireLanguage.g:1960:7: lv_name_1_3= RULE_DOLLAR_ID
5372 {
5373 lv_name_1_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_2);
5374
5375 newLeafNode(lv_name_1_3, grammarAccess.getVLSAtomicConstantAccess().getNameDOLLAR_IDTerminalRuleCall_0_1_0_2());
5376
5377
5378 if (current==null) {
5379 current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
5380 }
5381 setWithLastConsumed(
5382 current,
5383 "name",
5384 lv_name_1_3,
5385 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
5386
5387
5388 }
5389 break;
5390 case 4 :
5391 // InternalVampireLanguage.g:1975:7: lv_name_1_4= RULE_DOUBLE_DOLLAR_ID
5392 {
5393 lv_name_1_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_2);
5394
5395 newLeafNode(lv_name_1_4, grammarAccess.getVLSAtomicConstantAccess().getNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
5396
5397
5398 if (current==null) {
5399 current = createModelElement(grammarAccess.getVLSAtomicConstantRule());
5400 }
5401 setWithLastConsumed(
5402 current,
5403 "name",
5404 lv_name_1_4,
5405 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
5406
5407
5408 }
5409 break;
5410 case 5 :
5411 // InternalVampireLanguage.g:1990:7: lv_name_1_5= ruleVLSRole
5412 {
5413
5414 newCompositeNode(grammarAccess.getVLSAtomicConstantAccess().getNameVLSRoleParserRuleCall_0_1_0_4());
5415
5416 pushFollow(FOLLOW_2);
5417 lv_name_1_5=ruleVLSRole();
5418
5419 state._fsp--;
5420
5421
5422 if (current==null) {
5423 current = createModelElementForParent(grammarAccess.getVLSAtomicConstantRule());
5424 }
5425 set(
5426 current,
5427 "name",
5428 lv_name_1_5,
5429 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
5430 afterParserOrEnumRuleCall();
5431
5432
5433 }
5434 break;
5435
5436 }
5437
5438
5439 }
5440
5441
5442 }
5443
5444
5445 }
5446
5447
5448 }
5449 break;
5450 case 2 :
5451 // InternalVampireLanguage.g:2010:3: ( () otherlv_3= '$true' )
5452 {
5453 // InternalVampireLanguage.g:2010:3: ( () otherlv_3= '$true' )
5454 // InternalVampireLanguage.g:2011:4: () otherlv_3= '$true'
5455 {
5456 // InternalVampireLanguage.g:2011:4: ()
5457 // InternalVampireLanguage.g:2012:5:
5458 {
5459
5460 current = forceCreateModelElement(
5461 grammarAccess.getVLSAtomicConstantAccess().getVLSTrueAction_1_0(),
5462 current);
5463
5464
5465 }
5466
5467 otherlv_3=(Token)match(input,66,FOLLOW_2);
5468
5469 newLeafNode(otherlv_3, grammarAccess.getVLSAtomicConstantAccess().getTrueKeyword_1_1());
5470
5471
5472 }
5473
5474
5475 }
5476 break;
5477 case 3 :
5478 // InternalVampireLanguage.g:2024:3: ( () otherlv_5= '$false' )
5479 {
5480 // InternalVampireLanguage.g:2024:3: ( () otherlv_5= '$false' )
5481 // InternalVampireLanguage.g:2025:4: () otherlv_5= '$false'
5482 {
5483 // InternalVampireLanguage.g:2025:4: ()
5484 // InternalVampireLanguage.g:2026:5:
5485 {
5486
5487 current = forceCreateModelElement(
5488 grammarAccess.getVLSAtomicConstantAccess().getVLSFalseAction_2_0(),
5489 current);
5490
5491
5492 }
5493
5494 otherlv_5=(Token)match(input,67,FOLLOW_2);
5495
5496 newLeafNode(otherlv_5, grammarAccess.getVLSAtomicConstantAccess().getFalseKeyword_2_1());
5497
5498
5499 }
5500
5501
5502 }
5503 break;
5504
5505 }
5506
5507
5508 }
5509
5510
5511 leaveRule();
5512
5513 }
5514
5515 catch (RecognitionException re) {
5516 recover(input,re);
5517 appendSkippedTokens();
5518 }
5519 finally {
5520 }
5521 return current;
5522 }
5523 // $ANTLR end "ruleVLSAtomicConstant"
5524
5525
5526 // $ANTLR start "entryRuleVLSAtomicFunction"
5527 // InternalVampireLanguage.g:2041:1: entryRuleVLSAtomicFunction returns [EObject current=null] : iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF ;
5528 public final EObject entryRuleVLSAtomicFunction() throws RecognitionException {
5529 EObject current = null;
5530
5531 EObject iv_ruleVLSAtomicFunction = null;
5532
5533
5534 try {
5535 // InternalVampireLanguage.g:2041:58: (iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF )
5536 // InternalVampireLanguage.g:2042:2: iv_ruleVLSAtomicFunction= ruleVLSAtomicFunction EOF
5537 {
5538 newCompositeNode(grammarAccess.getVLSAtomicFunctionRule());
5539 pushFollow(FOLLOW_1);
5540 iv_ruleVLSAtomicFunction=ruleVLSAtomicFunction();
5541
5542 state._fsp--;
5543
5544 current =iv_ruleVLSAtomicFunction;
5545 match(input,EOF,FOLLOW_2);
5546
5547 }
5548
5549 }
5550
5551 catch (RecognitionException re) {
5552 recover(input,re);
5553 appendSkippedTokens();
5554 }
5555 finally {
5556 }
5557 return current;
5558 }
5559 // $ANTLR end "entryRuleVLSAtomicFunction"
5560
5561
5562 // $ANTLR start "ruleVLSAtomicFunction"
5563 // InternalVampireLanguage.g:2048:1: ruleVLSAtomicFunction returns [EObject current=null] : ( ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) ) | ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' ) ) ;
5564 public final EObject ruleVLSAtomicFunction() throws RecognitionException {
5565 EObject current = null;
5566
5567 Token lv_constant_1_1=null;
5568 Token lv_constant_1_2=null;
5569 Token lv_constant_1_3=null;
5570 Token lv_constant_1_4=null;
5571 Token otherlv_2=null;
5572 Token otherlv_4=null;
5573 Token otherlv_6=null;
5574 Token lv_name_8_0=null;
5575 Token otherlv_9=null;
5576 Token otherlv_11=null;
5577 Token otherlv_13=null;
5578 AntlrDatatypeRuleToken lv_constant_1_5 = null;
5579
5580 EObject lv_terms_3_0 = null;
5581
5582 EObject lv_terms_5_0 = null;
5583
5584 EObject lv_terms_10_0 = null;
5585
5586 EObject lv_terms_12_0 = null;
5587
5588
5589
5590 enterRule();
5591
5592 try {
5593 // InternalVampireLanguage.g:2054:2: ( ( ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) ) | ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' ) ) )
5594 // InternalVampireLanguage.g:2055:2: ( ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) ) | ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' ) )
5595 {
5596 // InternalVampireLanguage.g:2055:2: ( ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) ) | ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' ) )
5597 int alt28=2;
5598 int LA28_0 = input.LA(1);
5599
5600 if ( ((LA28_0>=RULE_SINGLE_QUOTE && LA28_0<=RULE_LOWER_WORD_ID)||(LA28_0>=RULE_DOLLAR_ID && LA28_0<=RULE_DOUBLE_DOLLAR_ID)||(LA28_0>=35 && LA28_0<=49)) ) {
5601 alt28=1;
5602 }
5603 else if ( (LA28_0==68) ) {
5604 alt28=2;
5605 }
5606 else {
5607 NoViableAltException nvae =
5608 new NoViableAltException("", 28, 0, input);
5609
5610 throw nvae;
5611 }
5612 switch (alt28) {
5613 case 1 :
5614 // InternalVampireLanguage.g:2056:3: ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) )
5615 {
5616 // InternalVampireLanguage.g:2056:3: ( () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' ) )
5617 // InternalVampireLanguage.g:2057:4: () ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) ) (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' )
5618 {
5619 // InternalVampireLanguage.g:2057:4: ()
5620 // InternalVampireLanguage.g:2058:5:
5621 {
5622
5623 current = forceCreateModelElement(
5624 grammarAccess.getVLSAtomicFunctionAccess().getVLSFunctionAction_0_0(),
5625 current);
5626
5627
5628 }
5629
5630 // InternalVampireLanguage.g:2064:4: ( ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) ) )
5631 // InternalVampireLanguage.g:2065:5: ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) )
5632 {
5633 // InternalVampireLanguage.g:2065:5: ( (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole ) )
5634 // InternalVampireLanguage.g:2066:6: (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole )
5635 {
5636 // InternalVampireLanguage.g:2066:6: (lv_constant_1_1= RULE_LOWER_WORD_ID | lv_constant_1_2= RULE_SINGLE_QUOTE | lv_constant_1_3= RULE_DOLLAR_ID | lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID | lv_constant_1_5= ruleVLSRole )
5637 int alt26=5;
5638 switch ( input.LA(1) ) {
5639 case RULE_LOWER_WORD_ID:
5640 {
5641 alt26=1;
5642 }
5643 break;
5644 case RULE_SINGLE_QUOTE:
5645 {
5646 alt26=2;
5647 }
5648 break;
5649 case RULE_DOLLAR_ID:
5650 {
5651 alt26=3;
5652 }
5653 break;
5654 case RULE_DOUBLE_DOLLAR_ID:
5655 {
5656 alt26=4;
5657 }
5658 break;
5659 case 35:
5660 case 36:
5661 case 37:
5662 case 38:
5663 case 39:
5664 case 40:
5665 case 41:
5666 case 42:
5667 case 43:
5668 case 44:
5669 case 45:
5670 case 46:
5671 case 47:
5672 case 48:
5673 case 49:
5674 {
5675 alt26=5;
5676 }
5677 break;
5678 default:
5679 NoViableAltException nvae =
5680 new NoViableAltException("", 26, 0, input);
5681
5682 throw nvae;
5683 }
5684
5685 switch (alt26) {
5686 case 1 :
5687 // InternalVampireLanguage.g:2067:7: lv_constant_1_1= RULE_LOWER_WORD_ID
5688 {
5689 lv_constant_1_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_8);
5690
5691 newLeafNode(lv_constant_1_1, grammarAccess.getVLSAtomicFunctionAccess().getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0());
5692
5693
5694 if (current==null) {
5695 current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
5696 }
5697 setWithLastConsumed(
5698 current,
5699 "constant",
5700 lv_constant_1_1,
5701 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
5702
5703
5704 }
5705 break;
5706 case 2 :
5707 // InternalVampireLanguage.g:2082:7: lv_constant_1_2= RULE_SINGLE_QUOTE
5708 {
5709 lv_constant_1_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_8);
5710
5711 newLeafNode(lv_constant_1_2, grammarAccess.getVLSAtomicFunctionAccess().getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1());
5712
5713
5714 if (current==null) {
5715 current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
5716 }
5717 setWithLastConsumed(
5718 current,
5719 "constant",
5720 lv_constant_1_2,
5721 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
5722
5723
5724 }
5725 break;
5726 case 3 :
5727 // InternalVampireLanguage.g:2097:7: lv_constant_1_3= RULE_DOLLAR_ID
5728 {
5729 lv_constant_1_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_8);
5730
5731 newLeafNode(lv_constant_1_3, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2());
5732
5733
5734 if (current==null) {
5735 current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
5736 }
5737 setWithLastConsumed(
5738 current,
5739 "constant",
5740 lv_constant_1_3,
5741 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
5742
5743
5744 }
5745 break;
5746 case 4 :
5747 // InternalVampireLanguage.g:2112:7: lv_constant_1_4= RULE_DOUBLE_DOLLAR_ID
5748 {
5749 lv_constant_1_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_8);
5750
5751 newLeafNode(lv_constant_1_4, grammarAccess.getVLSAtomicFunctionAccess().getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3());
5752
5753
5754 if (current==null) {
5755 current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
5756 }
5757 setWithLastConsumed(
5758 current,
5759 "constant",
5760 lv_constant_1_4,
5761 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
5762
5763
5764 }
5765 break;
5766 case 5 :
5767 // InternalVampireLanguage.g:2127:7: lv_constant_1_5= ruleVLSRole
5768 {
5769
5770 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getConstantVLSRoleParserRuleCall_0_1_0_4());
5771
5772 pushFollow(FOLLOW_8);
5773 lv_constant_1_5=ruleVLSRole();
5774
5775 state._fsp--;
5776
5777
5778 if (current==null) {
5779 current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
5780 }
5781 set(
5782 current,
5783 "constant",
5784 lv_constant_1_5,
5785 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
5786 afterParserOrEnumRuleCall();
5787
5788
5789 }
5790 break;
5791
5792 }
5793
5794
5795 }
5796
5797
5798 }
5799
5800 // InternalVampireLanguage.g:2145:4: (otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')' )
5801 // InternalVampireLanguage.g:2146:5: otherlv_2= '(' ( (lv_terms_3_0= ruleVLSFofTerm ) ) (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )* otherlv_6= ')'
5802 {
5803 otherlv_2=(Token)match(input,32,FOLLOW_29);
5804
5805 newLeafNode(otherlv_2, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_0_2_0());
5806
5807 // InternalVampireLanguage.g:2150:5: ( (lv_terms_3_0= ruleVLSFofTerm ) )
5808 // InternalVampireLanguage.g:2151:6: (lv_terms_3_0= ruleVLSFofTerm )
5809 {
5810 // InternalVampireLanguage.g:2151:6: (lv_terms_3_0= ruleVLSFofTerm )
5811 // InternalVampireLanguage.g:2152:7: lv_terms_3_0= ruleVLSFofTerm
5812 {
5813
5814 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_1_0());
5815
5816 pushFollow(FOLLOW_13);
5817 lv_terms_3_0=ruleVLSFofTerm();
5818
5819 state._fsp--;
5820
5821
5822 if (current==null) {
5823 current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
5824 }
5825 add(
5826 current,
5827 "terms",
5828 lv_terms_3_0,
5829 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
5830 afterParserOrEnumRuleCall();
5831
5832
5833 }
5834
5835
5836 }
5837
5838 // InternalVampireLanguage.g:2169:5: (otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) ) )*
5839 loop27:
5840 do {
5841 int alt27=2;
5842 int LA27_0 = input.LA(1);
5843
5844 if ( (LA27_0==29) ) {
5845 alt27=1;
5846 }
5847
5848
5849 switch (alt27) {
5850 case 1 :
5851 // InternalVampireLanguage.g:2170:6: otherlv_4= ',' ( (lv_terms_5_0= ruleVLSFofTerm ) )
5852 {
5853 otherlv_4=(Token)match(input,29,FOLLOW_29);
5854
5855 newLeafNode(otherlv_4, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_0_2_2_0());
5856
5857 // InternalVampireLanguage.g:2174:6: ( (lv_terms_5_0= ruleVLSFofTerm ) )
5858 // InternalVampireLanguage.g:2175:7: (lv_terms_5_0= ruleVLSFofTerm )
5859 {
5860 // InternalVampireLanguage.g:2175:7: (lv_terms_5_0= ruleVLSFofTerm )
5861 // InternalVampireLanguage.g:2176:8: lv_terms_5_0= ruleVLSFofTerm
5862 {
5863
5864 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_0_2_2_1_0());
5865
5866 pushFollow(FOLLOW_13);
5867 lv_terms_5_0=ruleVLSFofTerm();
5868
5869 state._fsp--;
5870
5871
5872 if (current==null) {
5873 current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
5874 }
5875 add(
5876 current,
5877 "terms",
5878 lv_terms_5_0,
5879 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
5880 afterParserOrEnumRuleCall();
5881
5882
5883 }
5884
5885
5886 }
5887
5888
5889 }
5890 break;
5891
5892 default :
5893 break loop27;
5894 }
5895 } while (true);
5896
5897 otherlv_6=(Token)match(input,33,FOLLOW_2);
5898
5899 newLeafNode(otherlv_6, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_0_2_3());
5900
5901
5902 }
5903
5904
5905 }
5906
5907
5908 }
5909 break;
5910 case 2 :
5911 // InternalVampireLanguage.g:2201:3: ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' )
5912 {
5913 // InternalVampireLanguage.g:2201:3: ( () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')' )
5914 // InternalVampireLanguage.g:2202:4: () ( (lv_name_8_0= '$less' ) ) otherlv_9= '(' ( (lv_terms_10_0= ruleVLSFofTerm ) ) otherlv_11= ',' ( (lv_terms_12_0= ruleVLSFofTerm ) ) otherlv_13= ')'
5915 {
5916 // InternalVampireLanguage.g:2202:4: ()
5917 // InternalVampireLanguage.g:2203:5:
5918 {
5919
5920 current = forceCreateModelElement(
5921 grammarAccess.getVLSAtomicFunctionAccess().getVLSLessAction_1_0(),
5922 current);
5923
5924
5925 }
5926
5927 // InternalVampireLanguage.g:2209:4: ( (lv_name_8_0= '$less' ) )
5928 // InternalVampireLanguage.g:2210:5: (lv_name_8_0= '$less' )
5929 {
5930 // InternalVampireLanguage.g:2210:5: (lv_name_8_0= '$less' )
5931 // InternalVampireLanguage.g:2211:6: lv_name_8_0= '$less'
5932 {
5933 lv_name_8_0=(Token)match(input,68,FOLLOW_8);
5934
5935 newLeafNode(lv_name_8_0, grammarAccess.getVLSAtomicFunctionAccess().getNameLessKeyword_1_1_0());
5936
5937
5938 if (current==null) {
5939 current = createModelElement(grammarAccess.getVLSAtomicFunctionRule());
5940 }
5941 setWithLastConsumed(current, "name", lv_name_8_0, "$less");
5942
5943
5944 }
5945
5946
5947 }
5948
5949 otherlv_9=(Token)match(input,32,FOLLOW_29);
5950
5951 newLeafNode(otherlv_9, grammarAccess.getVLSAtomicFunctionAccess().getLeftParenthesisKeyword_1_2());
5952
5953 // InternalVampireLanguage.g:2227:4: ( (lv_terms_10_0= ruleVLSFofTerm ) )
5954 // InternalVampireLanguage.g:2228:5: (lv_terms_10_0= ruleVLSFofTerm )
5955 {
5956 // InternalVampireLanguage.g:2228:5: (lv_terms_10_0= ruleVLSFofTerm )
5957 // InternalVampireLanguage.g:2229:6: lv_terms_10_0= ruleVLSFofTerm
5958 {
5959
5960 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_3_0());
5961
5962 pushFollow(FOLLOW_10);
5963 lv_terms_10_0=ruleVLSFofTerm();
5964
5965 state._fsp--;
5966
5967
5968 if (current==null) {
5969 current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
5970 }
5971 add(
5972 current,
5973 "terms",
5974 lv_terms_10_0,
5975 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
5976 afterParserOrEnumRuleCall();
5977
5978
5979 }
5980
5981
5982 }
5983
5984 otherlv_11=(Token)match(input,29,FOLLOW_29);
5985
5986 newLeafNode(otherlv_11, grammarAccess.getVLSAtomicFunctionAccess().getCommaKeyword_1_4());
5987
5988 // InternalVampireLanguage.g:2250:4: ( (lv_terms_12_0= ruleVLSFofTerm ) )
5989 // InternalVampireLanguage.g:2251:5: (lv_terms_12_0= ruleVLSFofTerm )
5990 {
5991 // InternalVampireLanguage.g:2251:5: (lv_terms_12_0= ruleVLSFofTerm )
5992 // InternalVampireLanguage.g:2252:6: lv_terms_12_0= ruleVLSFofTerm
5993 {
5994
5995 newCompositeNode(grammarAccess.getVLSAtomicFunctionAccess().getTermsVLSFofTermParserRuleCall_1_5_0());
5996
5997 pushFollow(FOLLOW_15);
5998 lv_terms_12_0=ruleVLSFofTerm();
5999
6000 state._fsp--;
6001
6002
6003 if (current==null) {
6004 current = createModelElementForParent(grammarAccess.getVLSAtomicFunctionRule());
6005 }
6006 add(
6007 current,
6008 "terms",
6009 lv_terms_12_0,
6010 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
6011 afterParserOrEnumRuleCall();
6012
6013
6014 }
6015
6016
6017 }
6018
6019 otherlv_13=(Token)match(input,33,FOLLOW_2);
6020
6021 newLeafNode(otherlv_13, grammarAccess.getVLSAtomicFunctionAccess().getRightParenthesisKeyword_1_6());
6022
6023
6024 }
6025
6026
6027 }
6028 break;
6029
6030 }
6031
6032
6033 }
6034
6035
6036 leaveRule();
6037
6038 }
6039
6040 catch (RecognitionException re) {
6041 recover(input,re);
6042 appendSkippedTokens();
6043 }
6044 finally {
6045 }
6046 return current;
6047 }
6048 // $ANTLR end "ruleVLSAtomicFunction"
6049
6050
6051 // $ANTLR start "entryRuleVLSVariable"
6052 // InternalVampireLanguage.g:2278:1: entryRuleVLSVariable returns [EObject current=null] : iv_ruleVLSVariable= ruleVLSVariable EOF ;
6053 public final EObject entryRuleVLSVariable() throws RecognitionException {
6054 EObject current = null;
6055
6056 EObject iv_ruleVLSVariable = null;
6057
6058
6059 try {
6060 // InternalVampireLanguage.g:2278:52: (iv_ruleVLSVariable= ruleVLSVariable EOF )
6061 // InternalVampireLanguage.g:2279:2: iv_ruleVLSVariable= ruleVLSVariable EOF
6062 {
6063 newCompositeNode(grammarAccess.getVLSVariableRule());
6064 pushFollow(FOLLOW_1);
6065 iv_ruleVLSVariable=ruleVLSVariable();
6066
6067 state._fsp--;
6068
6069 current =iv_ruleVLSVariable;
6070 match(input,EOF,FOLLOW_2);
6071
6072 }
6073
6074 }
6075
6076 catch (RecognitionException re) {
6077 recover(input,re);
6078 appendSkippedTokens();
6079 }
6080 finally {
6081 }
6082 return current;
6083 }
6084 // $ANTLR end "entryRuleVLSVariable"
6085
6086
6087 // $ANTLR start "ruleVLSVariable"
6088 // InternalVampireLanguage.g:2285:1: ruleVLSVariable returns [EObject current=null] : ( (lv_name_0_0= RULE_UPPER_WORD_ID ) ) ;
6089 public final EObject ruleVLSVariable() throws RecognitionException {
6090 EObject current = null;
6091
6092 Token lv_name_0_0=null;
6093
6094
6095 enterRule();
6096
6097 try {
6098 // InternalVampireLanguage.g:2291:2: ( ( (lv_name_0_0= RULE_UPPER_WORD_ID ) ) )
6099 // InternalVampireLanguage.g:2292:2: ( (lv_name_0_0= RULE_UPPER_WORD_ID ) )
6100 {
6101 // InternalVampireLanguage.g:2292:2: ( (lv_name_0_0= RULE_UPPER_WORD_ID ) )
6102 // InternalVampireLanguage.g:2293:3: (lv_name_0_0= RULE_UPPER_WORD_ID )
6103 {
6104 // InternalVampireLanguage.g:2293:3: (lv_name_0_0= RULE_UPPER_WORD_ID )
6105 // InternalVampireLanguage.g:2294:4: lv_name_0_0= RULE_UPPER_WORD_ID
6106 {
6107 lv_name_0_0=(Token)match(input,RULE_UPPER_WORD_ID,FOLLOW_2);
6108
6109 newLeafNode(lv_name_0_0, grammarAccess.getVLSVariableAccess().getNameUPPER_WORD_IDTerminalRuleCall_0());
6110
6111
6112 if (current==null) {
6113 current = createModelElement(grammarAccess.getVLSVariableRule());
6114 }
6115 setWithLastConsumed(
6116 current,
6117 "name",
6118 lv_name_0_0,
6119 "ca.mcgill.ecse.dslreasoner.VampireLanguage.UPPER_WORD_ID");
6120
6121
6122 }
6123
6124
6125 }
6126
6127
6128 }
6129
6130
6131 leaveRule();
6132
6133 }
6134
6135 catch (RecognitionException re) {
6136 recover(input,re);
6137 appendSkippedTokens();
6138 }
6139 finally {
6140 }
6141 return current;
6142 }
6143 // $ANTLR end "ruleVLSVariable"
6144
6145
6146 // $ANTLR start "entryRuleVLSFofTerm"
6147 // InternalVampireLanguage.g:2313:1: entryRuleVLSFofTerm returns [EObject current=null] : iv_ruleVLSFofTerm= ruleVLSFofTerm EOF ;
6148 public final EObject entryRuleVLSFofTerm() throws RecognitionException {
6149 EObject current = null;
6150
6151 EObject iv_ruleVLSFofTerm = null;
6152
6153
6154 try {
6155 // InternalVampireLanguage.g:2313:51: (iv_ruleVLSFofTerm= ruleVLSFofTerm EOF )
6156 // InternalVampireLanguage.g:2314:2: iv_ruleVLSFofTerm= ruleVLSFofTerm EOF
6157 {
6158 newCompositeNode(grammarAccess.getVLSFofTermRule());
6159 pushFollow(FOLLOW_1);
6160 iv_ruleVLSFofTerm=ruleVLSFofTerm();
6161
6162 state._fsp--;
6163
6164 current =iv_ruleVLSFofTerm;
6165 match(input,EOF,FOLLOW_2);
6166
6167 }
6168
6169 }
6170
6171 catch (RecognitionException re) {
6172 recover(input,re);
6173 appendSkippedTokens();
6174 }
6175 finally {
6176 }
6177 return current;
6178 }
6179 // $ANTLR end "entryRuleVLSFofTerm"
6180
6181
6182 // $ANTLR start "ruleVLSFofTerm"
6183 // InternalVampireLanguage.g:2320:1: ruleVLSFofTerm returns [EObject current=null] : (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionFof_1= ruleVLSFunctionFof | this_VLSDefinedTerm_2= ruleVLSDefinedTerm ) ;
6184 public final EObject ruleVLSFofTerm() throws RecognitionException {
6185 EObject current = null;
6186
6187 EObject this_VLSVariable_0 = null;
6188
6189 EObject this_VLSFunctionFof_1 = null;
6190
6191 EObject this_VLSDefinedTerm_2 = null;
6192
6193
6194
6195 enterRule();
6196
6197 try {
6198 // InternalVampireLanguage.g:2326:2: ( (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionFof_1= ruleVLSFunctionFof | this_VLSDefinedTerm_2= ruleVLSDefinedTerm ) )
6199 // InternalVampireLanguage.g:2327:2: (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionFof_1= ruleVLSFunctionFof | this_VLSDefinedTerm_2= ruleVLSDefinedTerm )
6200 {
6201 // InternalVampireLanguage.g:2327:2: (this_VLSVariable_0= ruleVLSVariable | this_VLSFunctionFof_1= ruleVLSFunctionFof | this_VLSDefinedTerm_2= ruleVLSDefinedTerm )
6202 int alt29=3;
6203 switch ( input.LA(1) ) {
6204 case RULE_UPPER_WORD_ID:
6205 {
6206 alt29=1;
6207 }
6208 break;
6209 case RULE_SINGLE_QUOTE:
6210 case RULE_LOWER_WORD_ID:
6211 case RULE_DOLLAR_ID:
6212 case RULE_DOUBLE_DOLLAR_ID:
6213 {
6214 alt29=2;
6215 }
6216 break;
6217 case RULE_SIGNED_LITERAL:
6218 case RULE_SIGNED_REAL_ID:
6219 case RULE_SIGNED_RAT_ID:
6220 case RULE_DOUBLE_QUOTE:
6221 {
6222 alt29=3;
6223 }
6224 break;
6225 default:
6226 NoViableAltException nvae =
6227 new NoViableAltException("", 29, 0, input);
6228
6229 throw nvae;
6230 }
6231
6232 switch (alt29) {
6233 case 1 :
6234 // InternalVampireLanguage.g:2328:3: this_VLSVariable_0= ruleVLSVariable
6235 {
6236
6237 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSVariableParserRuleCall_0());
6238
6239 pushFollow(FOLLOW_2);
6240 this_VLSVariable_0=ruleVLSVariable();
6241
6242 state._fsp--;
6243
6244
6245 current = this_VLSVariable_0;
6246 afterParserOrEnumRuleCall();
6247
6248
6249 }
6250 break;
6251 case 2 :
6252 // InternalVampireLanguage.g:2337:3: this_VLSFunctionFof_1= ruleVLSFunctionFof
6253 {
6254
6255 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSFunctionFofParserRuleCall_1());
6256
6257 pushFollow(FOLLOW_2);
6258 this_VLSFunctionFof_1=ruleVLSFunctionFof();
6259
6260 state._fsp--;
6261
6262
6263 current = this_VLSFunctionFof_1;
6264 afterParserOrEnumRuleCall();
6265
6266
6267 }
6268 break;
6269 case 3 :
6270 // InternalVampireLanguage.g:2346:3: this_VLSDefinedTerm_2= ruleVLSDefinedTerm
6271 {
6272
6273 newCompositeNode(grammarAccess.getVLSFofTermAccess().getVLSDefinedTermParserRuleCall_2());
6274
6275 pushFollow(FOLLOW_2);
6276 this_VLSDefinedTerm_2=ruleVLSDefinedTerm();
6277
6278 state._fsp--;
6279
6280
6281 current = this_VLSDefinedTerm_2;
6282 afterParserOrEnumRuleCall();
6283
6284
6285 }
6286 break;
6287
6288 }
6289
6290
6291 }
6292
6293
6294 leaveRule();
6295
6296 }
6297
6298 catch (RecognitionException re) {
6299 recover(input,re);
6300 appendSkippedTokens();
6301 }
6302 finally {
6303 }
6304 return current;
6305 }
6306 // $ANTLR end "ruleVLSFofTerm"
6307
6308
6309 // $ANTLR start "entryRuleVLSFunctionFof"
6310 // InternalVampireLanguage.g:2358:1: entryRuleVLSFunctionFof returns [EObject current=null] : iv_ruleVLSFunctionFof= ruleVLSFunctionFof EOF ;
6311 public final EObject entryRuleVLSFunctionFof() throws RecognitionException {
6312 EObject current = null;
6313
6314 EObject iv_ruleVLSFunctionFof = null;
6315
6316
6317 try {
6318 // InternalVampireLanguage.g:2358:55: (iv_ruleVLSFunctionFof= ruleVLSFunctionFof EOF )
6319 // InternalVampireLanguage.g:2359:2: iv_ruleVLSFunctionFof= ruleVLSFunctionFof EOF
6320 {
6321 newCompositeNode(grammarAccess.getVLSFunctionFofRule());
6322 pushFollow(FOLLOW_1);
6323 iv_ruleVLSFunctionFof=ruleVLSFunctionFof();
6324
6325 state._fsp--;
6326
6327 current =iv_ruleVLSFunctionFof;
6328 match(input,EOF,FOLLOW_2);
6329
6330 }
6331
6332 }
6333
6334 catch (RecognitionException re) {
6335 recover(input,re);
6336 appendSkippedTokens();
6337 }
6338 finally {
6339 }
6340 return current;
6341 }
6342 // $ANTLR end "entryRuleVLSFunctionFof"
6343
6344
6345 // $ANTLR start "ruleVLSFunctionFof"
6346 // InternalVampireLanguage.g:2365:1: ruleVLSFunctionFof returns [EObject current=null] : ( ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) ) (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )? ) ;
6347 public final EObject ruleVLSFunctionFof() throws RecognitionException {
6348 EObject current = null;
6349
6350 Token lv_functor_0_1=null;
6351 Token lv_functor_0_2=null;
6352 Token lv_functor_0_3=null;
6353 Token lv_functor_0_4=null;
6354 Token otherlv_1=null;
6355 Token otherlv_3=null;
6356 Token otherlv_5=null;
6357 EObject lv_terms_2_0 = null;
6358
6359 EObject lv_terms_4_0 = null;
6360
6361
6362
6363 enterRule();
6364
6365 try {
6366 // InternalVampireLanguage.g:2371:2: ( ( ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) ) (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )? ) )
6367 // InternalVampireLanguage.g:2372:2: ( ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) ) (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )? )
6368 {
6369 // InternalVampireLanguage.g:2372:2: ( ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) ) (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )? )
6370 // InternalVampireLanguage.g:2373:3: ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) ) (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )?
6371 {
6372 // InternalVampireLanguage.g:2373:3: ( ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) ) )
6373 // InternalVampireLanguage.g:2374:4: ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) )
6374 {
6375 // InternalVampireLanguage.g:2374:4: ( (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID ) )
6376 // InternalVampireLanguage.g:2375:5: (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID )
6377 {
6378 // InternalVampireLanguage.g:2375:5: (lv_functor_0_1= RULE_LOWER_WORD_ID | lv_functor_0_2= RULE_SINGLE_QUOTE | lv_functor_0_3= RULE_DOLLAR_ID | lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID )
6379 int alt30=4;
6380 switch ( input.LA(1) ) {
6381 case RULE_LOWER_WORD_ID:
6382 {
6383 alt30=1;
6384 }
6385 break;
6386 case RULE_SINGLE_QUOTE:
6387 {
6388 alt30=2;
6389 }
6390 break;
6391 case RULE_DOLLAR_ID:
6392 {
6393 alt30=3;
6394 }
6395 break;
6396 case RULE_DOUBLE_DOLLAR_ID:
6397 {
6398 alt30=4;
6399 }
6400 break;
6401 default:
6402 NoViableAltException nvae =
6403 new NoViableAltException("", 30, 0, input);
6404
6405 throw nvae;
6406 }
6407
6408 switch (alt30) {
6409 case 1 :
6410 // InternalVampireLanguage.g:2376:6: lv_functor_0_1= RULE_LOWER_WORD_ID
6411 {
6412 lv_functor_0_1=(Token)match(input,RULE_LOWER_WORD_ID,FOLLOW_30);
6413
6414 newLeafNode(lv_functor_0_1, grammarAccess.getVLSFunctionFofAccess().getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0());
6415
6416
6417 if (current==null) {
6418 current = createModelElement(grammarAccess.getVLSFunctionFofRule());
6419 }
6420 setWithLastConsumed(
6421 current,
6422 "functor",
6423 lv_functor_0_1,
6424 "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
6425
6426
6427 }
6428 break;
6429 case 2 :
6430 // InternalVampireLanguage.g:2391:6: lv_functor_0_2= RULE_SINGLE_QUOTE
6431 {
6432 lv_functor_0_2=(Token)match(input,RULE_SINGLE_QUOTE,FOLLOW_30);
6433
6434 newLeafNode(lv_functor_0_2, grammarAccess.getVLSFunctionFofAccess().getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1());
6435
6436
6437 if (current==null) {
6438 current = createModelElement(grammarAccess.getVLSFunctionFofRule());
6439 }
6440 setWithLastConsumed(
6441 current,
6442 "functor",
6443 lv_functor_0_2,
6444 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
6445
6446
6447 }
6448 break;
6449 case 3 :
6450 // InternalVampireLanguage.g:2406:6: lv_functor_0_3= RULE_DOLLAR_ID
6451 {
6452 lv_functor_0_3=(Token)match(input,RULE_DOLLAR_ID,FOLLOW_30);
6453
6454 newLeafNode(lv_functor_0_3, grammarAccess.getVLSFunctionFofAccess().getFunctorDOLLAR_IDTerminalRuleCall_0_0_2());
6455
6456
6457 if (current==null) {
6458 current = createModelElement(grammarAccess.getVLSFunctionFofRule());
6459 }
6460 setWithLastConsumed(
6461 current,
6462 "functor",
6463 lv_functor_0_3,
6464 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
6465
6466
6467 }
6468 break;
6469 case 4 :
6470 // InternalVampireLanguage.g:2421:6: lv_functor_0_4= RULE_DOUBLE_DOLLAR_ID
6471 {
6472 lv_functor_0_4=(Token)match(input,RULE_DOUBLE_DOLLAR_ID,FOLLOW_30);
6473
6474 newLeafNode(lv_functor_0_4, grammarAccess.getVLSFunctionFofAccess().getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3());
6475
6476
6477 if (current==null) {
6478 current = createModelElement(grammarAccess.getVLSFunctionFofRule());
6479 }
6480 setWithLastConsumed(
6481 current,
6482 "functor",
6483 lv_functor_0_4,
6484 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
6485
6486
6487 }
6488 break;
6489
6490 }
6491
6492
6493 }
6494
6495
6496 }
6497
6498 // InternalVampireLanguage.g:2438:3: (otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')' )?
6499 int alt32=2;
6500 int LA32_0 = input.LA(1);
6501
6502 if ( (LA32_0==32) ) {
6503 alt32=1;
6504 }
6505 switch (alt32) {
6506 case 1 :
6507 // InternalVampireLanguage.g:2439:4: otherlv_1= '(' ( (lv_terms_2_0= ruleVLSFofTerm ) ) (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )* otherlv_5= ')'
6508 {
6509 otherlv_1=(Token)match(input,32,FOLLOW_29);
6510
6511 newLeafNode(otherlv_1, grammarAccess.getVLSFunctionFofAccess().getLeftParenthesisKeyword_1_0());
6512
6513 // InternalVampireLanguage.g:2443:4: ( (lv_terms_2_0= ruleVLSFofTerm ) )
6514 // InternalVampireLanguage.g:2444:5: (lv_terms_2_0= ruleVLSFofTerm )
6515 {
6516 // InternalVampireLanguage.g:2444:5: (lv_terms_2_0= ruleVLSFofTerm )
6517 // InternalVampireLanguage.g:2445:6: lv_terms_2_0= ruleVLSFofTerm
6518 {
6519
6520 newCompositeNode(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_1_0());
6521
6522 pushFollow(FOLLOW_13);
6523 lv_terms_2_0=ruleVLSFofTerm();
6524
6525 state._fsp--;
6526
6527
6528 if (current==null) {
6529 current = createModelElementForParent(grammarAccess.getVLSFunctionFofRule());
6530 }
6531 add(
6532 current,
6533 "terms",
6534 lv_terms_2_0,
6535 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
6536 afterParserOrEnumRuleCall();
6537
6538
6539 }
6540
6541
6542 }
6543
6544 // InternalVampireLanguage.g:2462:4: (otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) ) )*
6545 loop31:
6546 do {
6547 int alt31=2;
6548 int LA31_0 = input.LA(1);
6549
6550 if ( (LA31_0==29) ) {
6551 alt31=1;
6552 }
6553
6554
6555 switch (alt31) {
6556 case 1 :
6557 // InternalVampireLanguage.g:2463:5: otherlv_3= ',' ( (lv_terms_4_0= ruleVLSFofTerm ) )
6558 {
6559 otherlv_3=(Token)match(input,29,FOLLOW_29);
6560
6561 newLeafNode(otherlv_3, grammarAccess.getVLSFunctionFofAccess().getCommaKeyword_1_2_0());
6562
6563 // InternalVampireLanguage.g:2467:5: ( (lv_terms_4_0= ruleVLSFofTerm ) )
6564 // InternalVampireLanguage.g:2468:6: (lv_terms_4_0= ruleVLSFofTerm )
6565 {
6566 // InternalVampireLanguage.g:2468:6: (lv_terms_4_0= ruleVLSFofTerm )
6567 // InternalVampireLanguage.g:2469:7: lv_terms_4_0= ruleVLSFofTerm
6568 {
6569
6570 newCompositeNode(grammarAccess.getVLSFunctionFofAccess().getTermsVLSFofTermParserRuleCall_1_2_1_0());
6571
6572 pushFollow(FOLLOW_13);
6573 lv_terms_4_0=ruleVLSFofTerm();
6574
6575 state._fsp--;
6576
6577
6578 if (current==null) {
6579 current = createModelElementForParent(grammarAccess.getVLSFunctionFofRule());
6580 }
6581 add(
6582 current,
6583 "terms",
6584 lv_terms_4_0,
6585 "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
6586 afterParserOrEnumRuleCall();
6587
6588
6589 }
6590
6591
6592 }
6593
6594
6595 }
6596 break;
6597
6598 default :
6599 break loop31;
6600 }
6601 } while (true);
6602
6603 otherlv_5=(Token)match(input,33,FOLLOW_2);
6604
6605 newLeafNode(otherlv_5, grammarAccess.getVLSFunctionFofAccess().getRightParenthesisKeyword_1_3());
6606
6607
6608 }
6609 break;
6610
6611 }
6612
6613
6614 }
6615
6616
6617 }
6618
6619
6620 leaveRule();
6621
6622 }
6623
6624 catch (RecognitionException re) {
6625 recover(input,re);
6626 appendSkippedTokens();
6627 }
6628 finally {
6629 }
6630 return current;
6631 }
6632 // $ANTLR end "ruleVLSFunctionFof"
6633
6634
6635 // $ANTLR start "entryRuleVLSDefinedTerm"
6636 // InternalVampireLanguage.g:2496:1: entryRuleVLSDefinedTerm returns [EObject current=null] : iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF ;
6637 public final EObject entryRuleVLSDefinedTerm() throws RecognitionException {
6638 EObject current = null;
6639
6640 EObject iv_ruleVLSDefinedTerm = null;
6641
6642
6643 try {
6644 // InternalVampireLanguage.g:2496:55: (iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF )
6645 // InternalVampireLanguage.g:2497:2: iv_ruleVLSDefinedTerm= ruleVLSDefinedTerm EOF
6646 {
6647 newCompositeNode(grammarAccess.getVLSDefinedTermRule());
6648 pushFollow(FOLLOW_1);
6649 iv_ruleVLSDefinedTerm=ruleVLSDefinedTerm();
6650
6651 state._fsp--;
6652
6653 current =iv_ruleVLSDefinedTerm;
6654 match(input,EOF,FOLLOW_2);
6655
6656 }
6657
6658 }
6659
6660 catch (RecognitionException re) {
6661 recover(input,re);
6662 appendSkippedTokens();
6663 }
6664 finally {
6665 }
6666 return current;
6667 }
6668 // $ANTLR end "entryRuleVLSDefinedTerm"
6669
6670
6671 // $ANTLR start "ruleVLSDefinedTerm"
6672 // InternalVampireLanguage.g:2503:1: ruleVLSDefinedTerm returns [EObject current=null] : ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) ) | ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) ) | ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) ) ) ;
6673 public final EObject ruleVLSDefinedTerm() throws RecognitionException {
6674 EObject current = null;
6675
6676 Token lv_value_1_0=null;
6677 Token lv_value_3_0=null;
6678 Token lv_value_5_0=null;
6679 Token lv_value_7_0=null;
6680
6681
6682 enterRule();
6683
6684 try {
6685 // InternalVampireLanguage.g:2509:2: ( ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) ) | ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) ) | ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) ) ) )
6686 // InternalVampireLanguage.g:2510:2: ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) ) | ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) ) | ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) ) )
6687 {
6688 // InternalVampireLanguage.g:2510:2: ( ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) ) | ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) ) | ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) ) | ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) ) )
6689 int alt33=4;
6690 switch ( input.LA(1) ) {
6691 case RULE_SIGNED_LITERAL:
6692 {
6693 alt33=1;
6694 }
6695 break;
6696 case RULE_SIGNED_REAL_ID:
6697 {
6698 alt33=2;
6699 }
6700 break;
6701 case RULE_SIGNED_RAT_ID:
6702 {
6703 alt33=3;
6704 }
6705 break;
6706 case RULE_DOUBLE_QUOTE:
6707 {
6708 alt33=4;
6709 }
6710 break;
6711 default:
6712 NoViableAltException nvae =
6713 new NoViableAltException("", 33, 0, input);
6714
6715 throw nvae;
6716 }
6717
6718 switch (alt33) {
6719 case 1 :
6720 // InternalVampireLanguage.g:2511:3: ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) )
6721 {
6722 // InternalVampireLanguage.g:2511:3: ( () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) ) )
6723 // InternalVampireLanguage.g:2512:4: () ( (lv_value_1_0= RULE_SIGNED_LITERAL ) )
6724 {
6725 // InternalVampireLanguage.g:2512:4: ()
6726 // InternalVampireLanguage.g:2513:5:
6727 {
6728
6729 current = forceCreateModelElement(
6730 grammarAccess.getVLSDefinedTermAccess().getVLSIntAction_0_0(),
6731 current);
6732
6733
6734 }
6735
6736 // InternalVampireLanguage.g:2519:4: ( (lv_value_1_0= RULE_SIGNED_LITERAL ) )
6737 // InternalVampireLanguage.g:2520:5: (lv_value_1_0= RULE_SIGNED_LITERAL )
6738 {
6739 // InternalVampireLanguage.g:2520:5: (lv_value_1_0= RULE_SIGNED_LITERAL )
6740 // InternalVampireLanguage.g:2521:6: lv_value_1_0= RULE_SIGNED_LITERAL
6741 {
6742 lv_value_1_0=(Token)match(input,RULE_SIGNED_LITERAL,FOLLOW_2);
6743
6744 newLeafNode(lv_value_1_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_LITERALTerminalRuleCall_0_1_0());
6745
6746
6747 if (current==null) {
6748 current = createModelElement(grammarAccess.getVLSDefinedTermRule());
6749 }
6750 setWithLastConsumed(
6751 current,
6752 "value",
6753 lv_value_1_0,
6754 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
6755
6756
6757 }
6758
6759
6760 }
6761
6762
6763 }
6764
6765
6766 }
6767 break;
6768 case 2 :
6769 // InternalVampireLanguage.g:2539:3: ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) )
6770 {
6771 // InternalVampireLanguage.g:2539:3: ( () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) ) )
6772 // InternalVampireLanguage.g:2540:4: () ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) )
6773 {
6774 // InternalVampireLanguage.g:2540:4: ()
6775 // InternalVampireLanguage.g:2541:5:
6776 {
6777
6778 current = forceCreateModelElement(
6779 grammarAccess.getVLSDefinedTermAccess().getVLSRealAction_1_0(),
6780 current);
6781
6782
6783 }
6784
6785 // InternalVampireLanguage.g:2547:4: ( (lv_value_3_0= RULE_SIGNED_REAL_ID ) )
6786 // InternalVampireLanguage.g:2548:5: (lv_value_3_0= RULE_SIGNED_REAL_ID )
6787 {
6788 // InternalVampireLanguage.g:2548:5: (lv_value_3_0= RULE_SIGNED_REAL_ID )
6789 // InternalVampireLanguage.g:2549:6: lv_value_3_0= RULE_SIGNED_REAL_ID
6790 {
6791 lv_value_3_0=(Token)match(input,RULE_SIGNED_REAL_ID,FOLLOW_2);
6792
6793 newLeafNode(lv_value_3_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0());
6794
6795
6796 if (current==null) {
6797 current = createModelElement(grammarAccess.getVLSDefinedTermRule());
6798 }
6799 setWithLastConsumed(
6800 current,
6801 "value",
6802 lv_value_3_0,
6803 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_REAL_ID");
6804
6805
6806 }
6807
6808
6809 }
6810
6811
6812 }
6813
6814
6815 }
6816 break;
6817 case 3 :
6818 // InternalVampireLanguage.g:2567:3: ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) )
6819 {
6820 // InternalVampireLanguage.g:2567:3: ( () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) ) )
6821 // InternalVampireLanguage.g:2568:4: () ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) )
6822 {
6823 // InternalVampireLanguage.g:2568:4: ()
6824 // InternalVampireLanguage.g:2569:5:
6825 {
6826
6827 current = forceCreateModelElement(
6828 grammarAccess.getVLSDefinedTermAccess().getVLSRationalAction_2_0(),
6829 current);
6830
6831
6832 }
6833
6834 // InternalVampireLanguage.g:2575:4: ( (lv_value_5_0= RULE_SIGNED_RAT_ID ) )
6835 // InternalVampireLanguage.g:2576:5: (lv_value_5_0= RULE_SIGNED_RAT_ID )
6836 {
6837 // InternalVampireLanguage.g:2576:5: (lv_value_5_0= RULE_SIGNED_RAT_ID )
6838 // InternalVampireLanguage.g:2577:6: lv_value_5_0= RULE_SIGNED_RAT_ID
6839 {
6840 lv_value_5_0=(Token)match(input,RULE_SIGNED_RAT_ID,FOLLOW_2);
6841
6842 newLeafNode(lv_value_5_0, grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0());
6843
6844
6845 if (current==null) {
6846 current = createModelElement(grammarAccess.getVLSDefinedTermRule());
6847 }
6848 setWithLastConsumed(
6849 current,
6850 "value",
6851 lv_value_5_0,
6852 "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_RAT_ID");
6853
6854
6855 }
6856
6857
6858 }
6859
6860
6861 }
6862
6863
6864 }
6865 break;
6866 case 4 :
6867 // InternalVampireLanguage.g:2595:3: ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) )
6868 {
6869 // InternalVampireLanguage.g:2595:3: ( () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) ) )
6870 // InternalVampireLanguage.g:2596:4: () ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) )
6871 {
6872 // InternalVampireLanguage.g:2596:4: ()
6873 // InternalVampireLanguage.g:2597:5:
6874 {
6875
6876 current = forceCreateModelElement(
6877 grammarAccess.getVLSDefinedTermAccess().getVLSDoubleQuoteAction_3_0(),
6878 current);
6879
6880
6881 }
6882
6883 // InternalVampireLanguage.g:2603:4: ( (lv_value_7_0= RULE_DOUBLE_QUOTE ) )
6884 // InternalVampireLanguage.g:2604:5: (lv_value_7_0= RULE_DOUBLE_QUOTE )
6885 {
6886 // InternalVampireLanguage.g:2604:5: (lv_value_7_0= RULE_DOUBLE_QUOTE )
6887 // InternalVampireLanguage.g:2605:6: lv_value_7_0= RULE_DOUBLE_QUOTE
6888 {
6889 lv_value_7_0=(Token)match(input,RULE_DOUBLE_QUOTE,FOLLOW_2);
6890
6891 newLeafNode(lv_value_7_0, grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_3_1_0());
6892
6893
6894 if (current==null) {
6895 current = createModelElement(grammarAccess.getVLSDefinedTermRule());
6896 }
6897 setWithLastConsumed(
6898 current,
6899 "value",
6900 lv_value_7_0,
6901 "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_QUOTE");
6902
6903
6904 }
6905
6906
6907 }
6908
6909
6910 }
6911
6912
6913 }
6914 break;
6915
6916 }
6917
6918
6919 }
6920
6921
6922 leaveRule();
6923
6924 }
6925
6926 catch (RecognitionException re) {
6927 recover(input,re);
6928 appendSkippedTokens();
6929 }
6930 finally {
6931 }
6932 return current;
6933 }
6934 // $ANTLR end "ruleVLSDefinedTerm"
6935
6936 // Delegated rules
6937
6938
6939 protected DFA23 dfa23 = new DFA23(this);
6940 static final String dfa_1s = "\30\uffff";
6941 static final String dfa_2s = "\1\uffff\23\24\4\uffff";
6942 static final String dfa_3s = "\1\4\23\35\4\uffff";
6943 static final String dfa_4s = "\1\104\23\101\4\uffff";
6944 static final String dfa_5s = "\24\uffff\1\1\1\2\1\3\1\4";
6945 static final String dfa_6s = "\30\uffff}>";
6946 static final String[] dfa_7s = {
6947 "\1\2\1\1\1\uffff\1\27\1\uffff\1\3\1\4\1\26\3\27\24\uffff\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\20\uffff\2\24\1\25",
6948 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6949 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6950 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6951 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6952 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6953 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6954 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6955 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6956 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6957 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6958 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6959 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6960 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6961 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6962 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6963 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6964 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6965 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6966 "\1\24\2\uffff\1\25\1\24\21\uffff\10\24\4\uffff\3\24",
6967 "",
6968 "",
6969 "",
6970 ""
6971 };
6972
6973 static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
6974 static final short[] dfa_2 = DFA.unpackEncodedString(dfa_2s);
6975 static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
6976 static final char[] dfa_4 = DFA.unpackEncodedStringToUnsignedChars(dfa_4s);
6977 static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
6978 static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s);
6979 static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s);
6980
6981 class DFA23 extends DFA {
6982
6983 public DFA23(BaseRecognizer recognizer) {
6984 this.recognizer = recognizer;
6985 this.decisionNumber = 23;
6986 this.eot = dfa_1;
6987 this.eof = dfa_2;
6988 this.min = dfa_3;
6989 this.max = dfa_4;
6990 this.accept = dfa_5;
6991 this.special = dfa_6;
6992 this.transition = dfa_7;
6993 }
6994 public String getDescription() {
6995 return "1864:2: (this_VLSAtomicConstant_0= ruleVLSAtomicConstant | this_VLSAtomicFunction_1= ruleVLSAtomicFunction | this_VLSVariable_2= ruleVLSVariable | this_VLSDefinedTerm_3= ruleVLSDefinedTerm )";
6996 }
6997 }
6998
6999
7000 public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
7001 public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
7002 public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000088000102L});
7003 public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000010L});
7004 public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000010000002L});
7005 public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00000000000000F0L});
7006 public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000060000000L});
7007 public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000100000000L});
7008 public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x00000000000000B0L});
7009 public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000020000000L});
7010 public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0003FFF800000000L});
7011 public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x6803FFF900007EB0L,0x000000000000001CL});
7012 public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000220000000L});
7013 public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0007FFFB40000030L});
7014 public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000200000000L});
7015 public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000400000000L});
7016 public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0003FFF940000032L});
7017 public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000140000002L});
7018 public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0007FFF960000030L});
7019 public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000040000002L});
7020 public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000020000002L});
7021 public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x07F8000000000002L});
7022 public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0200000000000002L});
7023 public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0400000000000002L});
7024 public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0004000000000000L});
7025 public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000800L});
7026 public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x1000000000000000L});
7027 public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x8000000000000002L,0x0000000000000003L});
7028 public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0003FFF800007EB0L,0x000000000000001CL});
7029 public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000100000002L});
7030
7031} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/scoping/AbstractVampireLanguageScopeProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/scoping/AbstractVampireLanguageScopeProvider.java
new file mode 100644
index 00000000..0f5a902d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/scoping/AbstractVampireLanguageScopeProvider.java
@@ -0,0 +1,9 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.scoping;
5
6import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider;
7
8public abstract class AbstractVampireLanguageScopeProvider extends DelegatingScopeProvider {
9}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSemanticSequencer.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSemanticSequencer.java
new file mode 100644
index 00000000..aacb9647
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSemanticSequencer.java
@@ -0,0 +1,1011 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.serializer;
5
6import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDoubleQuote;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier;
16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse;
17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof;
20import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies;
21import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude;
22import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality;
23import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInt;
24import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess;
25import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName;
26import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand;
27import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor;
28import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr;
29import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRational;
30import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSReal;
31import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies;
32import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue;
33import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation;
34import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
35import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
36import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor;
37import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
38import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel;
39import com.google.inject.Inject;
40import java.util.Set;
41import org.eclipse.emf.ecore.EObject;
42import org.eclipse.emf.ecore.EPackage;
43import org.eclipse.xtext.Action;
44import org.eclipse.xtext.Parameter;
45import org.eclipse.xtext.ParserRule;
46import org.eclipse.xtext.serializer.ISerializationContext;
47import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
48import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer;
49import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
50
51@SuppressWarnings("all")
52public class VampireLanguageSemanticSequencer extends AbstractDelegatingSemanticSequencer {
53
54 @Inject
55 private VampireLanguageGrammarAccess grammarAccess;
56
57 @Override
58 public void sequence(ISerializationContext context, EObject semanticObject) {
59 EPackage epackage = semanticObject.eClass().getEPackage();
60 ParserRule rule = context.getParserRule();
61 Action action = context.getAssignedAction();
62 Set<Parameter> parameters = context.getEnabledBooleanParameters();
63 if (epackage == VampireLanguagePackage.eINSTANCE)
64 switch (semanticObject.eClass().getClassifierID()) {
65 case VampireLanguagePackage.VLS_AND:
66 sequence_VLSBinary(context, (VLSAnd) semanticObject);
67 return;
68 case VampireLanguagePackage.VLS_ANNOTATION:
69 if (rule == grammarAccess.getVLSAnnotationTermsRule()) {
70 sequence_VLSAnnotationTerms(context, (VLSAnnotation) semanticObject);
71 return;
72 }
73 else if (rule == grammarAccess.getVLSAnnotationRule()) {
74 sequence_VLSAnnotation(context, (VLSAnnotation) semanticObject);
75 return;
76 }
77 else break;
78 case VampireLanguagePackage.VLS_ASSIGNMENT:
79 sequence_VLSUnaryInfix(context, (VLSAssignment) semanticObject);
80 return;
81 case VampireLanguagePackage.VLS_COMMENT:
82 sequence_VLSComment(context, (VLSComment) semanticObject);
83 return;
84 case VampireLanguagePackage.VLS_CONSTANT:
85 sequence_VLSAtomicConstant(context, (VLSConstant) semanticObject);
86 return;
87 case VampireLanguagePackage.VLS_DOUBLE_QUOTE:
88 sequence_VLSDefinedTerm(context, (VLSDoubleQuote) semanticObject);
89 return;
90 case VampireLanguagePackage.VLS_EQUALITY:
91 sequence_VLSUnaryInfix(context, (VLSEquality) semanticObject);
92 return;
93 case VampireLanguagePackage.VLS_EQUIVALENT:
94 sequence_VLSBinary(context, (VLSEquivalent) semanticObject);
95 return;
96 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER:
97 sequence_VLSExistentialQuantifier(context, (VLSExistentialQuantifier) semanticObject);
98 return;
99 case VampireLanguagePackage.VLS_FALSE:
100 sequence_VLSAtomicConstant(context, (VLSFalse) semanticObject);
101 return;
102 case VampireLanguagePackage.VLS_FOF_FORMULA:
103 sequence_VLSFofFormula(context, (VLSFofFormula) semanticObject);
104 return;
105 case VampireLanguagePackage.VLS_FUNCTION:
106 sequence_VLSAtomicFunction(context, (VLSFunction) semanticObject);
107 return;
108 case VampireLanguagePackage.VLS_FUNCTION_FOF:
109 sequence_VLSFunctionFof(context, (VLSFunctionFof) semanticObject);
110 return;
111 case VampireLanguagePackage.VLS_IMPLIES:
112 sequence_VLSBinary(context, (VLSImplies) semanticObject);
113 return;
114 case VampireLanguagePackage.VLS_INCLUDE:
115 sequence_VLSInclude(context, (VLSInclude) semanticObject);
116 return;
117 case VampireLanguagePackage.VLS_INEQUALITY:
118 sequence_VLSUnaryInfix(context, (VLSInequality) semanticObject);
119 return;
120 case VampireLanguagePackage.VLS_INT:
121 sequence_VLSDefinedTerm(context, (VLSInt) semanticObject);
122 return;
123 case VampireLanguagePackage.VLS_LESS:
124 sequence_VLSAtomicFunction(context, (VLSLess) semanticObject);
125 return;
126 case VampireLanguagePackage.VLS_NAME:
127 sequence_VLSName(context, (VLSName) semanticObject);
128 return;
129 case VampireLanguagePackage.VLS_NAND:
130 sequence_VLSBinary(context, (VLSNand) semanticObject);
131 return;
132 case VampireLanguagePackage.VLS_NOR:
133 sequence_VLSBinary(context, (VLSNor) semanticObject);
134 return;
135 case VampireLanguagePackage.VLS_OR:
136 sequence_VLSBinary(context, (VLSOr) semanticObject);
137 return;
138 case VampireLanguagePackage.VLS_RATIONAL:
139 sequence_VLSDefinedTerm(context, (VLSRational) semanticObject);
140 return;
141 case VampireLanguagePackage.VLS_REAL:
142 sequence_VLSDefinedTerm(context, (VLSReal) semanticObject);
143 return;
144 case VampireLanguagePackage.VLS_REV_IMPLIES:
145 sequence_VLSBinary(context, (VLSRevImplies) semanticObject);
146 return;
147 case VampireLanguagePackage.VLS_TRUE:
148 sequence_VLSAtomicConstant(context, (VLSTrue) semanticObject);
149 return;
150 case VampireLanguagePackage.VLS_UNARY_NEGATION:
151 sequence_VLSUnaryNegation(context, (VLSUnaryNegation) semanticObject);
152 return;
153 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER:
154 sequence_VLSUniversalQuantifier(context, (VLSUniversalQuantifier) semanticObject);
155 return;
156 case VampireLanguagePackage.VLS_VARIABLE:
157 sequence_VLSVariable(context, (VLSVariable) semanticObject);
158 return;
159 case VampireLanguagePackage.VLS_XNOR:
160 sequence_VLSBinary(context, (VLSXnor) semanticObject);
161 return;
162 case VampireLanguagePackage.VAMPIRE_MODEL:
163 sequence_VampireModel(context, (VampireModel) semanticObject);
164 return;
165 }
166 if (errorAcceptor != null)
167 errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
168 }
169
170 /**
171 * Contexts:
172 * VLSAnnotationTerms returns VLSAnnotation
173 *
174 * Constraint:
175 * (terms+=VLSAnnotation terms+=VLSAnnotation*)
176 */
177 protected void sequence_VLSAnnotationTerms(ISerializationContext context, VLSAnnotation semanticObject) {
178 genericSequencer.createSequence(context, semanticObject);
179 }
180
181
182 /**
183 * Contexts:
184 * VLSAnnotation returns VLSAnnotation
185 *
186 * Constraint:
187 * (((name=LOWER_WORD_ID | name=SINGLE_QUOTE | name=VLSRole) followup=VLSAnnotationTerms) | followup=VLSAnnotationTerms)?
188 */
189 protected void sequence_VLSAnnotation(ISerializationContext context, VLSAnnotation semanticObject) {
190 genericSequencer.createSequence(context, semanticObject);
191 }
192
193
194 /**
195 * Contexts:
196 * VLSTerm returns VLSConstant
197 * VLSBinary returns VLSConstant
198 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSConstant
199 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSConstant
200 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSConstant
201 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSConstant
202 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSConstant
203 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSConstant
204 * VLSBinary.VLSAnd_1_1_0 returns VLSConstant
205 * VLSBinary.VLSOr_1_2_0 returns VLSConstant
206 * VLSUnitaryFormula returns VLSConstant
207 * VLSUnaryInfix returns VLSConstant
208 * VLSUnaryInfix.VLSInequality_1_0_0_0 returns VLSConstant
209 * VLSUnaryInfix.VLSEquality_1_0_1_0 returns VLSConstant
210 * VLSUnaryInfix.VLSAssignment_1_0_2_0 returns VLSConstant
211 * VLSAtomic returns VLSConstant
212 * VLSAtomicConstant returns VLSConstant
213 *
214 * Constraint:
215 * (name=LOWER_WORD_ID | name=SINGLE_QUOTE | name=DOLLAR_ID | name=DOUBLE_DOLLAR_ID | name=VLSRole)
216 */
217 protected void sequence_VLSAtomicConstant(ISerializationContext context, VLSConstant semanticObject) {
218 genericSequencer.createSequence(context, semanticObject);
219 }
220
221
222 /**
223 * Contexts:
224 * VLSTerm returns VLSFalse
225 * VLSBinary returns VLSFalse
226 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSFalse
227 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSFalse
228 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSFalse
229 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSFalse
230 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSFalse
231 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSFalse
232 * VLSBinary.VLSAnd_1_1_0 returns VLSFalse
233 * VLSBinary.VLSOr_1_2_0 returns VLSFalse
234 * VLSUnitaryFormula returns VLSFalse
235 * VLSUnaryInfix returns VLSFalse
236 * VLSUnaryInfix.VLSInequality_1_0_0_0 returns VLSFalse
237 * VLSUnaryInfix.VLSEquality_1_0_1_0 returns VLSFalse
238 * VLSUnaryInfix.VLSAssignment_1_0_2_0 returns VLSFalse
239 * VLSAtomic returns VLSFalse
240 * VLSAtomicConstant returns VLSFalse
241 *
242 * Constraint:
243 * {VLSFalse}
244 */
245 protected void sequence_VLSAtomicConstant(ISerializationContext context, VLSFalse semanticObject) {
246 genericSequencer.createSequence(context, semanticObject);
247 }
248
249
250 /**
251 * Contexts:
252 * VLSTerm returns VLSTrue
253 * VLSBinary returns VLSTrue
254 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSTrue
255 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSTrue
256 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSTrue
257 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSTrue
258 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSTrue
259 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSTrue
260 * VLSBinary.VLSAnd_1_1_0 returns VLSTrue
261 * VLSBinary.VLSOr_1_2_0 returns VLSTrue
262 * VLSUnitaryFormula returns VLSTrue
263 * VLSUnaryInfix returns VLSTrue
264 * VLSUnaryInfix.VLSInequality_1_0_0_0 returns VLSTrue
265 * VLSUnaryInfix.VLSEquality_1_0_1_0 returns VLSTrue
266 * VLSUnaryInfix.VLSAssignment_1_0_2_0 returns VLSTrue
267 * VLSAtomic returns VLSTrue
268 * VLSAtomicConstant returns VLSTrue
269 *
270 * Constraint:
271 * {VLSTrue}
272 */
273 protected void sequence_VLSAtomicConstant(ISerializationContext context, VLSTrue semanticObject) {
274 genericSequencer.createSequence(context, semanticObject);
275 }
276
277
278 /**
279 * Contexts:
280 * VLSTerm returns VLSFunction
281 * VLSBinary returns VLSFunction
282 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSFunction
283 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSFunction
284 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSFunction
285 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSFunction
286 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSFunction
287 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSFunction
288 * VLSBinary.VLSAnd_1_1_0 returns VLSFunction
289 * VLSBinary.VLSOr_1_2_0 returns VLSFunction
290 * VLSUnitaryFormula returns VLSFunction
291 * VLSUnaryInfix returns VLSFunction
292 * VLSUnaryInfix.VLSInequality_1_0_0_0 returns VLSFunction
293 * VLSUnaryInfix.VLSEquality_1_0_1_0 returns VLSFunction
294 * VLSUnaryInfix.VLSAssignment_1_0_2_0 returns VLSFunction
295 * VLSAtomic returns VLSFunction
296 * VLSAtomicFunction returns VLSFunction
297 *
298 * Constraint:
299 * (
300 * (constant=LOWER_WORD_ID | constant=SINGLE_QUOTE | constant=DOLLAR_ID | constant=DOUBLE_DOLLAR_ID | constant=VLSRole)
301 * terms+=VLSFofTerm
302 * terms+=VLSFofTerm*
303 * )
304 */
305 protected void sequence_VLSAtomicFunction(ISerializationContext context, VLSFunction semanticObject) {
306 genericSequencer.createSequence(context, semanticObject);
307 }
308
309
310 /**
311 * Contexts:
312 * VLSTerm returns VLSLess
313 * VLSBinary returns VLSLess
314 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSLess
315 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSLess
316 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSLess
317 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSLess
318 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSLess
319 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSLess
320 * VLSBinary.VLSAnd_1_1_0 returns VLSLess
321 * VLSBinary.VLSOr_1_2_0 returns VLSLess
322 * VLSUnitaryFormula returns VLSLess
323 * VLSUnaryInfix returns VLSLess
324 * VLSUnaryInfix.VLSInequality_1_0_0_0 returns VLSLess
325 * VLSUnaryInfix.VLSEquality_1_0_1_0 returns VLSLess
326 * VLSUnaryInfix.VLSAssignment_1_0_2_0 returns VLSLess
327 * VLSAtomic returns VLSLess
328 * VLSAtomicFunction returns VLSLess
329 *
330 * Constraint:
331 * (name='$less' terms+=VLSFofTerm terms+=VLSFofTerm)
332 */
333 protected void sequence_VLSAtomicFunction(ISerializationContext context, VLSLess semanticObject) {
334 genericSequencer.createSequence(context, semanticObject);
335 }
336
337
338 /**
339 * Contexts:
340 * VLSTerm returns VLSAnd
341 * VLSBinary returns VLSAnd
342 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSAnd
343 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSAnd
344 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSAnd
345 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSAnd
346 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSAnd
347 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSAnd
348 * VLSBinary.VLSAnd_1_1_0 returns VLSAnd
349 * VLSBinary.VLSOr_1_2_0 returns VLSAnd
350 * VLSUnitaryFormula returns VLSAnd
351 *
352 * Constraint:
353 * (left=VLSBinary_VLSAnd_1_1_0 right=VLSUnitaryFormula)
354 */
355 protected void sequence_VLSBinary(ISerializationContext context, VLSAnd semanticObject) {
356 if (errorAcceptor != null) {
357 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_AND__LEFT) == ValueTransient.YES)
358 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_AND__LEFT));
359 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_AND__RIGHT) == ValueTransient.YES)
360 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_AND__RIGHT));
361 }
362 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
363 feeder.accept(grammarAccess.getVLSBinaryAccess().getVLSAndLeftAction_1_1_0(), semanticObject.getLeft());
364 feeder.accept(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0(), semanticObject.getRight());
365 feeder.finish();
366 }
367
368
369 /**
370 * Contexts:
371 * VLSTerm returns VLSEquivalent
372 * VLSBinary returns VLSEquivalent
373 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSEquivalent
374 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSEquivalent
375 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSEquivalent
376 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSEquivalent
377 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSEquivalent
378 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSEquivalent
379 * VLSBinary.VLSAnd_1_1_0 returns VLSEquivalent
380 * VLSBinary.VLSOr_1_2_0 returns VLSEquivalent
381 * VLSUnitaryFormula returns VLSEquivalent
382 *
383 * Constraint:
384 * (left=VLSBinary_VLSEquivalent_1_0_0_0_0 right=VLSUnitaryFormula)
385 */
386 protected void sequence_VLSBinary(ISerializationContext context, VLSEquivalent semanticObject) {
387 if (errorAcceptor != null) {
388 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_EQUIVALENT__LEFT) == ValueTransient.YES)
389 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_EQUIVALENT__LEFT));
390 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_EQUIVALENT__RIGHT) == ValueTransient.YES)
391 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_EQUIVALENT__RIGHT));
392 }
393 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
394 feeder.accept(grammarAccess.getVLSBinaryAccess().getVLSEquivalentLeftAction_1_0_0_0_0(), semanticObject.getLeft());
395 feeder.accept(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0(), semanticObject.getRight());
396 feeder.finish();
397 }
398
399
400 /**
401 * Contexts:
402 * VLSTerm returns VLSImplies
403 * VLSBinary returns VLSImplies
404 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSImplies
405 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSImplies
406 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSImplies
407 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSImplies
408 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSImplies
409 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSImplies
410 * VLSBinary.VLSAnd_1_1_0 returns VLSImplies
411 * VLSBinary.VLSOr_1_2_0 returns VLSImplies
412 * VLSUnitaryFormula returns VLSImplies
413 *
414 * Constraint:
415 * (left=VLSBinary_VLSImplies_1_0_0_1_0 right=VLSUnitaryFormula)
416 */
417 protected void sequence_VLSBinary(ISerializationContext context, VLSImplies semanticObject) {
418 if (errorAcceptor != null) {
419 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_IMPLIES__LEFT) == ValueTransient.YES)
420 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_IMPLIES__LEFT));
421 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_IMPLIES__RIGHT) == ValueTransient.YES)
422 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_IMPLIES__RIGHT));
423 }
424 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
425 feeder.accept(grammarAccess.getVLSBinaryAccess().getVLSImpliesLeftAction_1_0_0_1_0(), semanticObject.getLeft());
426 feeder.accept(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0(), semanticObject.getRight());
427 feeder.finish();
428 }
429
430
431 /**
432 * Contexts:
433 * VLSTerm returns VLSNand
434 * VLSBinary returns VLSNand
435 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSNand
436 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSNand
437 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSNand
438 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSNand
439 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSNand
440 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSNand
441 * VLSBinary.VLSAnd_1_1_0 returns VLSNand
442 * VLSBinary.VLSOr_1_2_0 returns VLSNand
443 * VLSUnitaryFormula returns VLSNand
444 *
445 * Constraint:
446 * (left=VLSBinary_VLSNand_1_0_0_5_0 right=VLSUnitaryFormula)
447 */
448 protected void sequence_VLSBinary(ISerializationContext context, VLSNand semanticObject) {
449 if (errorAcceptor != null) {
450 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_NAND__LEFT) == ValueTransient.YES)
451 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_NAND__LEFT));
452 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_NAND__RIGHT) == ValueTransient.YES)
453 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_NAND__RIGHT));
454 }
455 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
456 feeder.accept(grammarAccess.getVLSBinaryAccess().getVLSNandLeftAction_1_0_0_5_0(), semanticObject.getLeft());
457 feeder.accept(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0(), semanticObject.getRight());
458 feeder.finish();
459 }
460
461
462 /**
463 * Contexts:
464 * VLSTerm returns VLSNor
465 * VLSBinary returns VLSNor
466 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSNor
467 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSNor
468 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSNor
469 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSNor
470 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSNor
471 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSNor
472 * VLSBinary.VLSAnd_1_1_0 returns VLSNor
473 * VLSBinary.VLSOr_1_2_0 returns VLSNor
474 * VLSUnitaryFormula returns VLSNor
475 *
476 * Constraint:
477 * (left=VLSBinary_VLSNor_1_0_0_4_0 right=VLSUnitaryFormula)
478 */
479 protected void sequence_VLSBinary(ISerializationContext context, VLSNor semanticObject) {
480 if (errorAcceptor != null) {
481 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_NOR__LEFT) == ValueTransient.YES)
482 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_NOR__LEFT));
483 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_NOR__RIGHT) == ValueTransient.YES)
484 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_NOR__RIGHT));
485 }
486 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
487 feeder.accept(grammarAccess.getVLSBinaryAccess().getVLSNorLeftAction_1_0_0_4_0(), semanticObject.getLeft());
488 feeder.accept(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0(), semanticObject.getRight());
489 feeder.finish();
490 }
491
492
493 /**
494 * Contexts:
495 * VLSTerm returns VLSOr
496 * VLSBinary returns VLSOr
497 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSOr
498 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSOr
499 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSOr
500 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSOr
501 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSOr
502 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSOr
503 * VLSBinary.VLSAnd_1_1_0 returns VLSOr
504 * VLSBinary.VLSOr_1_2_0 returns VLSOr
505 * VLSUnitaryFormula returns VLSOr
506 *
507 * Constraint:
508 * (left=VLSBinary_VLSOr_1_2_0 right=VLSUnitaryFormula)
509 */
510 protected void sequence_VLSBinary(ISerializationContext context, VLSOr semanticObject) {
511 if (errorAcceptor != null) {
512 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_OR__LEFT) == ValueTransient.YES)
513 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_OR__LEFT));
514 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_OR__RIGHT) == ValueTransient.YES)
515 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_OR__RIGHT));
516 }
517 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
518 feeder.accept(grammarAccess.getVLSBinaryAccess().getVLSOrLeftAction_1_2_0(), semanticObject.getLeft());
519 feeder.accept(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0(), semanticObject.getRight());
520 feeder.finish();
521 }
522
523
524 /**
525 * Contexts:
526 * VLSTerm returns VLSRevImplies
527 * VLSBinary returns VLSRevImplies
528 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSRevImplies
529 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSRevImplies
530 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSRevImplies
531 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSRevImplies
532 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSRevImplies
533 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSRevImplies
534 * VLSBinary.VLSAnd_1_1_0 returns VLSRevImplies
535 * VLSBinary.VLSOr_1_2_0 returns VLSRevImplies
536 * VLSUnitaryFormula returns VLSRevImplies
537 *
538 * Constraint:
539 * (left=VLSBinary_VLSRevImplies_1_0_0_2_0 right=VLSUnitaryFormula)
540 */
541 protected void sequence_VLSBinary(ISerializationContext context, VLSRevImplies semanticObject) {
542 if (errorAcceptor != null) {
543 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_REV_IMPLIES__LEFT) == ValueTransient.YES)
544 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_REV_IMPLIES__LEFT));
545 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_REV_IMPLIES__RIGHT) == ValueTransient.YES)
546 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_REV_IMPLIES__RIGHT));
547 }
548 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
549 feeder.accept(grammarAccess.getVLSBinaryAccess().getVLSRevImpliesLeftAction_1_0_0_2_0(), semanticObject.getLeft());
550 feeder.accept(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0(), semanticObject.getRight());
551 feeder.finish();
552 }
553
554
555 /**
556 * Contexts:
557 * VLSTerm returns VLSXnor
558 * VLSBinary returns VLSXnor
559 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSXnor
560 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSXnor
561 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSXnor
562 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSXnor
563 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSXnor
564 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSXnor
565 * VLSBinary.VLSAnd_1_1_0 returns VLSXnor
566 * VLSBinary.VLSOr_1_2_0 returns VLSXnor
567 * VLSUnitaryFormula returns VLSXnor
568 *
569 * Constraint:
570 * (left=VLSBinary_VLSXnor_1_0_0_3_0 right=VLSUnitaryFormula)
571 */
572 protected void sequence_VLSBinary(ISerializationContext context, VLSXnor semanticObject) {
573 if (errorAcceptor != null) {
574 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_XNOR__LEFT) == ValueTransient.YES)
575 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_XNOR__LEFT));
576 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_XNOR__RIGHT) == ValueTransient.YES)
577 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_XNOR__RIGHT));
578 }
579 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
580 feeder.accept(grammarAccess.getVLSBinaryAccess().getVLSXnorLeftAction_1_0_0_3_0(), semanticObject.getLeft());
581 feeder.accept(grammarAccess.getVLSBinaryAccess().getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0(), semanticObject.getRight());
582 feeder.finish();
583 }
584
585
586 /**
587 * Contexts:
588 * VLSComment returns VLSComment
589 *
590 * Constraint:
591 * comment=SINGLE_COMMENT
592 */
593 protected void sequence_VLSComment(ISerializationContext context, VLSComment semanticObject) {
594 if (errorAcceptor != null) {
595 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_COMMENT__COMMENT) == ValueTransient.YES)
596 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_COMMENT__COMMENT));
597 }
598 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
599 feeder.accept(grammarAccess.getVLSCommentAccess().getCommentSINGLE_COMMENTTerminalRuleCall_0(), semanticObject.getComment());
600 feeder.finish();
601 }
602
603
604 /**
605 * Contexts:
606 * VLSTerm returns VLSDoubleQuote
607 * VLSBinary returns VLSDoubleQuote
608 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSDoubleQuote
609 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSDoubleQuote
610 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSDoubleQuote
611 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSDoubleQuote
612 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSDoubleQuote
613 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSDoubleQuote
614 * VLSBinary.VLSAnd_1_1_0 returns VLSDoubleQuote
615 * VLSBinary.VLSOr_1_2_0 returns VLSDoubleQuote
616 * VLSUnitaryFormula returns VLSDoubleQuote
617 * VLSUnaryInfix returns VLSDoubleQuote
618 * VLSUnaryInfix.VLSInequality_1_0_0_0 returns VLSDoubleQuote
619 * VLSUnaryInfix.VLSEquality_1_0_1_0 returns VLSDoubleQuote
620 * VLSUnaryInfix.VLSAssignment_1_0_2_0 returns VLSDoubleQuote
621 * VLSAtomic returns VLSDoubleQuote
622 * VLSFofTerm returns VLSDoubleQuote
623 * VLSDefinedTerm returns VLSDoubleQuote
624 *
625 * Constraint:
626 * value=DOUBLE_QUOTE
627 */
628 protected void sequence_VLSDefinedTerm(ISerializationContext context, VLSDoubleQuote semanticObject) {
629 if (errorAcceptor != null) {
630 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_DEFINED_TERM__VALUE) == ValueTransient.YES)
631 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_DEFINED_TERM__VALUE));
632 }
633 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
634 feeder.accept(grammarAccess.getVLSDefinedTermAccess().getValueDOUBLE_QUOTETerminalRuleCall_3_1_0(), semanticObject.getValue());
635 feeder.finish();
636 }
637
638
639 /**
640 * Contexts:
641 * VLSTerm returns VLSInt
642 * VLSBinary returns VLSInt
643 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSInt
644 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSInt
645 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSInt
646 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSInt
647 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSInt
648 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSInt
649 * VLSBinary.VLSAnd_1_1_0 returns VLSInt
650 * VLSBinary.VLSOr_1_2_0 returns VLSInt
651 * VLSUnitaryFormula returns VLSInt
652 * VLSUnaryInfix returns VLSInt
653 * VLSUnaryInfix.VLSInequality_1_0_0_0 returns VLSInt
654 * VLSUnaryInfix.VLSEquality_1_0_1_0 returns VLSInt
655 * VLSUnaryInfix.VLSAssignment_1_0_2_0 returns VLSInt
656 * VLSAtomic returns VLSInt
657 * VLSFofTerm returns VLSInt
658 * VLSDefinedTerm returns VLSInt
659 *
660 * Constraint:
661 * value=SIGNED_LITERAL
662 */
663 protected void sequence_VLSDefinedTerm(ISerializationContext context, VLSInt semanticObject) {
664 if (errorAcceptor != null) {
665 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_DEFINED_TERM__VALUE) == ValueTransient.YES)
666 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_DEFINED_TERM__VALUE));
667 }
668 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
669 feeder.accept(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_LITERALTerminalRuleCall_0_1_0(), semanticObject.getValue());
670 feeder.finish();
671 }
672
673
674 /**
675 * Contexts:
676 * VLSTerm returns VLSRational
677 * VLSBinary returns VLSRational
678 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSRational
679 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSRational
680 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSRational
681 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSRational
682 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSRational
683 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSRational
684 * VLSBinary.VLSAnd_1_1_0 returns VLSRational
685 * VLSBinary.VLSOr_1_2_0 returns VLSRational
686 * VLSUnitaryFormula returns VLSRational
687 * VLSUnaryInfix returns VLSRational
688 * VLSUnaryInfix.VLSInequality_1_0_0_0 returns VLSRational
689 * VLSUnaryInfix.VLSEquality_1_0_1_0 returns VLSRational
690 * VLSUnaryInfix.VLSAssignment_1_0_2_0 returns VLSRational
691 * VLSAtomic returns VLSRational
692 * VLSFofTerm returns VLSRational
693 * VLSDefinedTerm returns VLSRational
694 *
695 * Constraint:
696 * value=SIGNED_RAT_ID
697 */
698 protected void sequence_VLSDefinedTerm(ISerializationContext context, VLSRational semanticObject) {
699 if (errorAcceptor != null) {
700 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_DEFINED_TERM__VALUE) == ValueTransient.YES)
701 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_DEFINED_TERM__VALUE));
702 }
703 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
704 feeder.accept(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0(), semanticObject.getValue());
705 feeder.finish();
706 }
707
708
709 /**
710 * Contexts:
711 * VLSTerm returns VLSReal
712 * VLSBinary returns VLSReal
713 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSReal
714 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSReal
715 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSReal
716 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSReal
717 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSReal
718 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSReal
719 * VLSBinary.VLSAnd_1_1_0 returns VLSReal
720 * VLSBinary.VLSOr_1_2_0 returns VLSReal
721 * VLSUnitaryFormula returns VLSReal
722 * VLSUnaryInfix returns VLSReal
723 * VLSUnaryInfix.VLSInequality_1_0_0_0 returns VLSReal
724 * VLSUnaryInfix.VLSEquality_1_0_1_0 returns VLSReal
725 * VLSUnaryInfix.VLSAssignment_1_0_2_0 returns VLSReal
726 * VLSAtomic returns VLSReal
727 * VLSFofTerm returns VLSReal
728 * VLSDefinedTerm returns VLSReal
729 *
730 * Constraint:
731 * value=SIGNED_REAL_ID
732 */
733 protected void sequence_VLSDefinedTerm(ISerializationContext context, VLSReal semanticObject) {
734 if (errorAcceptor != null) {
735 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_DEFINED_TERM__VALUE) == ValueTransient.YES)
736 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_DEFINED_TERM__VALUE));
737 }
738 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
739 feeder.accept(grammarAccess.getVLSDefinedTermAccess().getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0(), semanticObject.getValue());
740 feeder.finish();
741 }
742
743
744 /**
745 * Contexts:
746 * VLSTerm returns VLSExistentialQuantifier
747 * VLSBinary returns VLSExistentialQuantifier
748 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSExistentialQuantifier
749 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSExistentialQuantifier
750 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSExistentialQuantifier
751 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSExistentialQuantifier
752 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSExistentialQuantifier
753 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSExistentialQuantifier
754 * VLSBinary.VLSAnd_1_1_0 returns VLSExistentialQuantifier
755 * VLSBinary.VLSOr_1_2_0 returns VLSExistentialQuantifier
756 * VLSUnitaryFormula returns VLSExistentialQuantifier
757 * VLSExistentialQuantifier returns VLSExistentialQuantifier
758 *
759 * Constraint:
760 * (variables+=VLSVariable variables+=VLSVariable* operand=VLSUnitaryFormula)
761 */
762 protected void sequence_VLSExistentialQuantifier(ISerializationContext context, VLSExistentialQuantifier semanticObject) {
763 genericSequencer.createSequence(context, semanticObject);
764 }
765
766
767 /**
768 * Contexts:
769 * VLSFofFormula returns VLSFofFormula
770 *
771 * Constraint:
772 * ((name=LOWER_WORD_ID | name=SIGNED_LITERAL | name=SINGLE_QUOTE) fofRole=VLSRole fofFormula=VLSTerm annotations=VLSAnnotation?)
773 */
774 protected void sequence_VLSFofFormula(ISerializationContext context, VLSFofFormula semanticObject) {
775 genericSequencer.createSequence(context, semanticObject);
776 }
777
778
779 /**
780 * Contexts:
781 * VLSFofTerm returns VLSFunctionFof
782 * VLSFunctionFof returns VLSFunctionFof
783 *
784 * Constraint:
785 * ((functor=LOWER_WORD_ID | functor=SINGLE_QUOTE | functor=DOLLAR_ID | functor=DOUBLE_DOLLAR_ID) (terms+=VLSFofTerm terms+=VLSFofTerm*)?)
786 */
787 protected void sequence_VLSFunctionFof(ISerializationContext context, VLSFunctionFof semanticObject) {
788 genericSequencer.createSequence(context, semanticObject);
789 }
790
791
792 /**
793 * Contexts:
794 * VLSInclude returns VLSInclude
795 *
796 * Constraint:
797 * (fileName=SINGLE_QUOTE (names+=VLSName names+=VLSName*)?)
798 */
799 protected void sequence_VLSInclude(ISerializationContext context, VLSInclude semanticObject) {
800 genericSequencer.createSequence(context, semanticObject);
801 }
802
803
804 /**
805 * Contexts:
806 * VLSName returns VLSName
807 *
808 * Constraint:
809 * (name=LOWER_WORD_ID | name=SINGLE_QUOTE | name=LITERAL | name=SIGNED_LITERAL)
810 */
811 protected void sequence_VLSName(ISerializationContext context, VLSName semanticObject) {
812 genericSequencer.createSequence(context, semanticObject);
813 }
814
815
816 /**
817 * Contexts:
818 * VLSTerm returns VLSAssignment
819 * VLSBinary returns VLSAssignment
820 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSAssignment
821 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSAssignment
822 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSAssignment
823 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSAssignment
824 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSAssignment
825 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSAssignment
826 * VLSBinary.VLSAnd_1_1_0 returns VLSAssignment
827 * VLSBinary.VLSOr_1_2_0 returns VLSAssignment
828 * VLSUnitaryFormula returns VLSAssignment
829 * VLSUnaryInfix returns VLSAssignment
830 *
831 * Constraint:
832 * (left=VLSUnaryInfix_VLSAssignment_1_0_2_0 right=VLSAtomic)
833 */
834 protected void sequence_VLSUnaryInfix(ISerializationContext context, VLSAssignment semanticObject) {
835 if (errorAcceptor != null) {
836 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_ASSIGNMENT__LEFT) == ValueTransient.YES)
837 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_ASSIGNMENT__LEFT));
838 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_ASSIGNMENT__RIGHT) == ValueTransient.YES)
839 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_ASSIGNMENT__RIGHT));
840 }
841 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
842 feeder.accept(grammarAccess.getVLSUnaryInfixAccess().getVLSAssignmentLeftAction_1_0_2_0(), semanticObject.getLeft());
843 feeder.accept(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0(), semanticObject.getRight());
844 feeder.finish();
845 }
846
847
848 /**
849 * Contexts:
850 * VLSTerm returns VLSEquality
851 * VLSBinary returns VLSEquality
852 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSEquality
853 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSEquality
854 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSEquality
855 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSEquality
856 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSEquality
857 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSEquality
858 * VLSBinary.VLSAnd_1_1_0 returns VLSEquality
859 * VLSBinary.VLSOr_1_2_0 returns VLSEquality
860 * VLSUnitaryFormula returns VLSEquality
861 * VLSUnaryInfix returns VLSEquality
862 *
863 * Constraint:
864 * (left=VLSUnaryInfix_VLSEquality_1_0_1_0 right=VLSAtomic)
865 */
866 protected void sequence_VLSUnaryInfix(ISerializationContext context, VLSEquality semanticObject) {
867 if (errorAcceptor != null) {
868 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_EQUALITY__LEFT) == ValueTransient.YES)
869 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_EQUALITY__LEFT));
870 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_EQUALITY__RIGHT) == ValueTransient.YES)
871 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_EQUALITY__RIGHT));
872 }
873 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
874 feeder.accept(grammarAccess.getVLSUnaryInfixAccess().getVLSEqualityLeftAction_1_0_1_0(), semanticObject.getLeft());
875 feeder.accept(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0(), semanticObject.getRight());
876 feeder.finish();
877 }
878
879
880 /**
881 * Contexts:
882 * VLSTerm returns VLSInequality
883 * VLSBinary returns VLSInequality
884 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSInequality
885 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSInequality
886 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSInequality
887 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSInequality
888 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSInequality
889 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSInequality
890 * VLSBinary.VLSAnd_1_1_0 returns VLSInequality
891 * VLSBinary.VLSOr_1_2_0 returns VLSInequality
892 * VLSUnitaryFormula returns VLSInequality
893 * VLSUnaryInfix returns VLSInequality
894 *
895 * Constraint:
896 * (left=VLSUnaryInfix_VLSInequality_1_0_0_0 right=VLSAtomic)
897 */
898 protected void sequence_VLSUnaryInfix(ISerializationContext context, VLSInequality semanticObject) {
899 if (errorAcceptor != null) {
900 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_INEQUALITY__LEFT) == ValueTransient.YES)
901 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_INEQUALITY__LEFT));
902 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_INEQUALITY__RIGHT) == ValueTransient.YES)
903 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_INEQUALITY__RIGHT));
904 }
905 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
906 feeder.accept(grammarAccess.getVLSUnaryInfixAccess().getVLSInequalityLeftAction_1_0_0_0(), semanticObject.getLeft());
907 feeder.accept(grammarAccess.getVLSUnaryInfixAccess().getRightVLSAtomicParserRuleCall_1_1_0(), semanticObject.getRight());
908 feeder.finish();
909 }
910
911
912 /**
913 * Contexts:
914 * VLSTerm returns VLSUnaryNegation
915 * VLSBinary returns VLSUnaryNegation
916 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSUnaryNegation
917 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSUnaryNegation
918 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSUnaryNegation
919 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSUnaryNegation
920 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSUnaryNegation
921 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSUnaryNegation
922 * VLSBinary.VLSAnd_1_1_0 returns VLSUnaryNegation
923 * VLSBinary.VLSOr_1_2_0 returns VLSUnaryNegation
924 * VLSUnitaryFormula returns VLSUnaryNegation
925 * VLSUnaryNegation returns VLSUnaryNegation
926 *
927 * Constraint:
928 * operand=VLSUnitaryFormula
929 */
930 protected void sequence_VLSUnaryNegation(ISerializationContext context, VLSUnaryNegation semanticObject) {
931 if (errorAcceptor != null) {
932 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_UNARY_NEGATION__OPERAND) == ValueTransient.YES)
933 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_UNARY_NEGATION__OPERAND));
934 }
935 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
936 feeder.accept(grammarAccess.getVLSUnaryNegationAccess().getOperandVLSUnitaryFormulaParserRuleCall_2_0(), semanticObject.getOperand());
937 feeder.finish();
938 }
939
940
941 /**
942 * Contexts:
943 * VLSTerm returns VLSUniversalQuantifier
944 * VLSBinary returns VLSUniversalQuantifier
945 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSUniversalQuantifier
946 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSUniversalQuantifier
947 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSUniversalQuantifier
948 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSUniversalQuantifier
949 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSUniversalQuantifier
950 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSUniversalQuantifier
951 * VLSBinary.VLSAnd_1_1_0 returns VLSUniversalQuantifier
952 * VLSBinary.VLSOr_1_2_0 returns VLSUniversalQuantifier
953 * VLSUnitaryFormula returns VLSUniversalQuantifier
954 * VLSUniversalQuantifier returns VLSUniversalQuantifier
955 *
956 * Constraint:
957 * (variables+=VLSVariable variables+=VLSVariable* operand=VLSUnitaryFormula)
958 */
959 protected void sequence_VLSUniversalQuantifier(ISerializationContext context, VLSUniversalQuantifier semanticObject) {
960 genericSequencer.createSequence(context, semanticObject);
961 }
962
963
964 /**
965 * Contexts:
966 * VLSTerm returns VLSVariable
967 * VLSBinary returns VLSVariable
968 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSVariable
969 * VLSBinary.VLSImplies_1_0_0_1_0 returns VLSVariable
970 * VLSBinary.VLSRevImplies_1_0_0_2_0 returns VLSVariable
971 * VLSBinary.VLSXnor_1_0_0_3_0 returns VLSVariable
972 * VLSBinary.VLSNor_1_0_0_4_0 returns VLSVariable
973 * VLSBinary.VLSNand_1_0_0_5_0 returns VLSVariable
974 * VLSBinary.VLSAnd_1_1_0 returns VLSVariable
975 * VLSBinary.VLSOr_1_2_0 returns VLSVariable
976 * VLSUnitaryFormula returns VLSVariable
977 * VLSUnaryInfix returns VLSVariable
978 * VLSUnaryInfix.VLSInequality_1_0_0_0 returns VLSVariable
979 * VLSUnaryInfix.VLSEquality_1_0_1_0 returns VLSVariable
980 * VLSUnaryInfix.VLSAssignment_1_0_2_0 returns VLSVariable
981 * VLSAtomic returns VLSVariable
982 * VLSVariable returns VLSVariable
983 * VLSFofTerm returns VLSVariable
984 *
985 * Constraint:
986 * name=UPPER_WORD_ID
987 */
988 protected void sequence_VLSVariable(ISerializationContext context, VLSVariable semanticObject) {
989 if (errorAcceptor != null) {
990 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_VARIABLE__NAME) == ValueTransient.YES)
991 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_VARIABLE__NAME));
992 }
993 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
994 feeder.accept(grammarAccess.getVLSVariableAccess().getNameUPPER_WORD_IDTerminalRuleCall_0(), semanticObject.getName());
995 feeder.finish();
996 }
997
998
999 /**
1000 * Contexts:
1001 * VampireModel returns VampireModel
1002 *
1003 * Constraint:
1004 * (includes+=VLSInclude | comments+=VLSComment | formulas+=VLSFofFormula)+
1005 */
1006 protected void sequence_VampireModel(ISerializationContext context, VampireModel semanticObject) {
1007 genericSequencer.createSequence(context, semanticObject);
1008 }
1009
1010
1011}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSyntacticSequencer.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSyntacticSequencer.java
new file mode 100644
index 00000000..5c1a720e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSyntacticSequencer.java
@@ -0,0 +1,151 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.serializer;
5
6import ca.mcgill.ecse.dslreasoner.services.VampireLanguageGrammarAccess;
7import com.google.inject.Inject;
8import java.util.List;
9import org.eclipse.emf.ecore.EObject;
10import org.eclipse.xtext.IGrammarAccess;
11import org.eclipse.xtext.RuleCall;
12import org.eclipse.xtext.nodemodel.INode;
13import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
14import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
15import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
16import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
17import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
18
19@SuppressWarnings("all")
20public class VampireLanguageSyntacticSequencer extends AbstractSyntacticSequencer {
21
22 protected VampireLanguageGrammarAccess grammarAccess;
23 protected AbstractElementAlias match_VLSAnnotation_LeftSquareBracketKeyword_0_q;
24 protected AbstractElementAlias match_VLSAnnotation_RightSquareBracketKeyword_3_q;
25 protected AbstractElementAlias match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_a;
26 protected AbstractElementAlias match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_p;
27
28 @Inject
29 protected void init(IGrammarAccess access) {
30 grammarAccess = (VampireLanguageGrammarAccess) access;
31 match_VLSAnnotation_LeftSquareBracketKeyword_0_q = new TokenAlias(false, true, grammarAccess.getVLSAnnotationAccess().getLeftSquareBracketKeyword_0());
32 match_VLSAnnotation_RightSquareBracketKeyword_3_q = new TokenAlias(false, true, grammarAccess.getVLSAnnotationAccess().getRightSquareBracketKeyword_3());
33 match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_a = new TokenAlias(true, true, grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0());
34 match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_p = new TokenAlias(true, false, grammarAccess.getVLSUnitaryFormulaAccess().getLeftParenthesisKeyword_4_0());
35 }
36
37 @Override
38 protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
39 return "";
40 }
41
42
43 @Override
44 protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
45 if (transition.getAmbiguousSyntaxes().isEmpty()) return;
46 List<INode> transitionNodes = collectNodes(fromNode, toNode);
47 for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
48 List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
49 if (match_VLSAnnotation_LeftSquareBracketKeyword_0_q.equals(syntax))
50 emit_VLSAnnotation_LeftSquareBracketKeyword_0_q(semanticObject, getLastNavigableState(), syntaxNodes);
51 else if (match_VLSAnnotation_RightSquareBracketKeyword_3_q.equals(syntax))
52 emit_VLSAnnotation_RightSquareBracketKeyword_3_q(semanticObject, getLastNavigableState(), syntaxNodes);
53 else if (match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_a.equals(syntax))
54 emit_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
55 else if (match_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_p.equals(syntax))
56 emit_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
57 else acceptNodes(getLastNavigableState(), syntaxNodes);
58 }
59 }
60
61 /**
62 * Ambiguous syntax:
63 * '['?
64 *
65 * This ambiguous syntax occurs at:
66 * (rule start) (ambiguity) '(' followup=VLSAnnotationTerms
67 * (rule start) (ambiguity) ']'? (rule start)
68 * (rule start) (ambiguity) name=LOWER_WORD_ID
69 * (rule start) (ambiguity) name=SINGLE_QUOTE
70 * (rule start) (ambiguity) name=VLSRole
71 */
72 protected void emit_VLSAnnotation_LeftSquareBracketKeyword_0_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
73 acceptNodes(transition, nodes);
74 }
75
76 /**
77 * Ambiguous syntax:
78 * ']'?
79 *
80 * This ambiguous syntax occurs at:
81 * (rule start) '['? (ambiguity) (rule start)
82 * followup=VLSAnnotationTerms ')' (ambiguity) (rule end)
83 * name=LOWER_WORD_ID (ambiguity) (rule end)
84 * name=SINGLE_QUOTE (ambiguity) (rule end)
85 * name=VLSRole (ambiguity) (rule end)
86 */
87 protected void emit_VLSAnnotation_RightSquareBracketKeyword_3_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
88 acceptNodes(transition, nodes);
89 }
90
91 /**
92 * Ambiguous syntax:
93 * '('*
94 *
95 * This ambiguous syntax occurs at:
96 * (rule start) (ambiguity) '!' '[' variables+=VLSVariable
97 * (rule start) (ambiguity) '$false' (rule start)
98 * (rule start) (ambiguity) '$true' (rule start)
99 * (rule start) (ambiguity) '?' '[' variables+=VLSVariable
100 * (rule start) (ambiguity) '~' operand=VLSUnitaryFormula
101 * (rule start) (ambiguity) constant=DOLLAR_ID
102 * (rule start) (ambiguity) constant=DOUBLE_DOLLAR_ID
103 * (rule start) (ambiguity) constant=LOWER_WORD_ID
104 * (rule start) (ambiguity) constant=SINGLE_QUOTE
105 * (rule start) (ambiguity) constant=VLSRole
106 * (rule start) (ambiguity) name='$less'
107 * (rule start) (ambiguity) name=DOLLAR_ID
108 * (rule start) (ambiguity) name=DOUBLE_DOLLAR_ID
109 * (rule start) (ambiguity) name=LOWER_WORD_ID
110 * (rule start) (ambiguity) name=SINGLE_QUOTE
111 * (rule start) (ambiguity) name=UPPER_WORD_ID
112 * (rule start) (ambiguity) name=VLSRole
113 * (rule start) (ambiguity) value=DOUBLE_QUOTE
114 * (rule start) (ambiguity) value=SIGNED_LITERAL
115 * (rule start) (ambiguity) value=SIGNED_RAT_ID
116 * (rule start) (ambiguity) value=SIGNED_REAL_ID
117 * (rule start) (ambiguity) {VLSAnd.left=}
118 * (rule start) (ambiguity) {VLSAssignment.left=}
119 * (rule start) (ambiguity) {VLSEquality.left=}
120 * (rule start) (ambiguity) {VLSEquivalent.left=}
121 * (rule start) (ambiguity) {VLSImplies.left=}
122 * (rule start) (ambiguity) {VLSInequality.left=}
123 * (rule start) (ambiguity) {VLSNand.left=}
124 * (rule start) (ambiguity) {VLSNor.left=}
125 * (rule start) (ambiguity) {VLSOr.left=}
126 * (rule start) (ambiguity) {VLSRevImplies.left=}
127 * (rule start) (ambiguity) {VLSXnor.left=}
128 */
129 protected void emit_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
130 acceptNodes(transition, nodes);
131 }
132
133 /**
134 * Ambiguous syntax:
135 * '('+
136 *
137 * This ambiguous syntax occurs at:
138 * (rule start) (ambiguity) {VLSAnd.left=}
139 * (rule start) (ambiguity) {VLSEquivalent.left=}
140 * (rule start) (ambiguity) {VLSImplies.left=}
141 * (rule start) (ambiguity) {VLSNand.left=}
142 * (rule start) (ambiguity) {VLSNor.left=}
143 * (rule start) (ambiguity) {VLSOr.left=}
144 * (rule start) (ambiguity) {VLSRevImplies.left=}
145 * (rule start) (ambiguity) {VLSXnor.left=}
146 */
147 protected void emit_VLSUnitaryFormula_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
148 acceptNodes(transition, nodes);
149 }
150
151}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/services/VampireLanguageGrammarAccess.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/services/VampireLanguageGrammarAccess.java
new file mode 100644
index 00000000..4c2157c3
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/services/VampireLanguageGrammarAccess.java
@@ -0,0 +1,2220 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.services;
5
6import com.google.inject.Inject;
7import com.google.inject.Singleton;
8import java.util.List;
9import org.eclipse.xtext.Action;
10import org.eclipse.xtext.Alternatives;
11import org.eclipse.xtext.Assignment;
12import org.eclipse.xtext.Grammar;
13import org.eclipse.xtext.GrammarUtil;
14import org.eclipse.xtext.Group;
15import org.eclipse.xtext.Keyword;
16import org.eclipse.xtext.ParserRule;
17import org.eclipse.xtext.RuleCall;
18import org.eclipse.xtext.TerminalRule;
19import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
20import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
21import org.eclipse.xtext.service.GrammarProvider;
22
23@Singleton
24public class VampireLanguageGrammarAccess extends AbstractGrammarElementFinder {
25
26 public class VampireModelElements extends AbstractParserRuleElementFinder {
27 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VampireModel");
28 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
29 private final Assignment cIncludesAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
30 private final RuleCall cIncludesVLSIncludeParserRuleCall_0_0 = (RuleCall)cIncludesAssignment_0.eContents().get(0);
31 private final Assignment cCommentsAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
32 private final RuleCall cCommentsVLSCommentParserRuleCall_1_0 = (RuleCall)cCommentsAssignment_1.eContents().get(0);
33 private final Assignment cFormulasAssignment_2 = (Assignment)cAlternatives.eContents().get(2);
34 private final RuleCall cFormulasVLSFofFormulaParserRuleCall_2_0 = (RuleCall)cFormulasAssignment_2.eContents().get(0);
35
36 ////@@@@@@@@@@@
37 ////2 things TODO:
38 ////1. fix anotations (ln77)
39 ////2. can only use declared variables in formula (ln 158)
40 ////@@@@@@@@@@@
41 //VampireModel:
42 // (includes+=VLSInclude | comments+=VLSComment | formulas+=VLSFofFormula)*;
43 @Override public ParserRule getRule() { return rule; }
44
45 //(includes+=VLSInclude | comments+=VLSComment | formulas+=VLSFofFormula)*
46 public Alternatives getAlternatives() { return cAlternatives; }
47
48 //includes+=VLSInclude
49 public Assignment getIncludesAssignment_0() { return cIncludesAssignment_0; }
50
51 //VLSInclude
52 public RuleCall getIncludesVLSIncludeParserRuleCall_0_0() { return cIncludesVLSIncludeParserRuleCall_0_0; }
53
54 //comments+=VLSComment
55 public Assignment getCommentsAssignment_1() { return cCommentsAssignment_1; }
56
57 //VLSComment
58 public RuleCall getCommentsVLSCommentParserRuleCall_1_0() { return cCommentsVLSCommentParserRuleCall_1_0; }
59
60 //formulas+=VLSFofFormula
61 public Assignment getFormulasAssignment_2() { return cFormulasAssignment_2; }
62
63 //VLSFofFormula
64 public RuleCall getFormulasVLSFofFormulaParserRuleCall_2_0() { return cFormulasVLSFofFormulaParserRuleCall_2_0; }
65 }
66 public class VLSIncludeElements extends AbstractParserRuleElementFinder {
67 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSInclude");
68 private final Group cGroup = (Group)rule.eContents().get(1);
69 private final Keyword cIncludeKeyword_0 = (Keyword)cGroup.eContents().get(0);
70 private final Assignment cFileNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
71 private final RuleCall cFileNameSINGLE_QUOTETerminalRuleCall_1_0 = (RuleCall)cFileNameAssignment_1.eContents().get(0);
72 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
73 private final Keyword cCommaLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
74 private final Assignment cNamesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
75 private final RuleCall cNamesVLSNameParserRuleCall_2_1_0 = (RuleCall)cNamesAssignment_2_1.eContents().get(0);
76 private final Group cGroup_2_2 = (Group)cGroup_2.eContents().get(2);
77 private final Keyword cCommaKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0);
78 private final Assignment cNamesAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1);
79 private final RuleCall cNamesVLSNameParserRuleCall_2_2_1_0 = (RuleCall)cNamesAssignment_2_2_1.eContents().get(0);
80 private final Keyword cRightSquareBracketKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3);
81
82 ////terminal ID: ( !('('|')'|'\r'|'\n') )+ ;
83 ////////////////////////////////////
84 //// VLS types
85 ////////////////////////////////////
86 //// <includes>
87 //VLSInclude:
88 // 'include(' fileName=SINGLE_QUOTE (',[' names+=VLSName (',' names+=VLSName)* ']')?;
89 @Override public ParserRule getRule() { return rule; }
90
91 //'include(' fileName=SINGLE_QUOTE (',[' names+=VLSName (',' names+=VLSName)* ']')?
92 public Group getGroup() { return cGroup; }
93
94 //'include('
95 public Keyword getIncludeKeyword_0() { return cIncludeKeyword_0; }
96
97 //fileName=SINGLE_QUOTE
98 public Assignment getFileNameAssignment_1() { return cFileNameAssignment_1; }
99
100 //SINGLE_QUOTE
101 public RuleCall getFileNameSINGLE_QUOTETerminalRuleCall_1_0() { return cFileNameSINGLE_QUOTETerminalRuleCall_1_0; }
102
103 //(',[' names+=VLSName (',' names+=VLSName)* ']')?
104 public Group getGroup_2() { return cGroup_2; }
105
106 //',['
107 public Keyword getCommaLeftSquareBracketKeyword_2_0() { return cCommaLeftSquareBracketKeyword_2_0; }
108
109 //names+=VLSName
110 public Assignment getNamesAssignment_2_1() { return cNamesAssignment_2_1; }
111
112 //VLSName
113 public RuleCall getNamesVLSNameParserRuleCall_2_1_0() { return cNamesVLSNameParserRuleCall_2_1_0; }
114
115 //(',' names+=VLSName)*
116 public Group getGroup_2_2() { return cGroup_2_2; }
117
118 //','
119 public Keyword getCommaKeyword_2_2_0() { return cCommaKeyword_2_2_0; }
120
121 //names+=VLSName
122 public Assignment getNamesAssignment_2_2_1() { return cNamesAssignment_2_2_1; }
123
124 //VLSName
125 public RuleCall getNamesVLSNameParserRuleCall_2_2_1_0() { return cNamesVLSNameParserRuleCall_2_2_1_0; }
126
127 //']'
128 public Keyword getRightSquareBracketKeyword_2_3() { return cRightSquareBracketKeyword_2_3; }
129 }
130 public class VLSNameElements extends AbstractParserRuleElementFinder {
131 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSName");
132 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
133 private final Alternatives cNameAlternatives_0 = (Alternatives)cNameAssignment.eContents().get(0);
134 private final RuleCall cNameLOWER_WORD_IDTerminalRuleCall_0_0 = (RuleCall)cNameAlternatives_0.eContents().get(0);
135 private final RuleCall cNameSINGLE_QUOTETerminalRuleCall_0_1 = (RuleCall)cNameAlternatives_0.eContents().get(1);
136 private final RuleCall cNameLITERALTerminalRuleCall_0_2 = (RuleCall)cNameAlternatives_0.eContents().get(2);
137 private final RuleCall cNameSIGNED_LITERALTerminalRuleCall_0_3 = (RuleCall)cNameAlternatives_0.eContents().get(3);
138
139 //VLSName:
140 // name=(LOWER_WORD_ID | SINGLE_QUOTE | LITERAL | SIGNED_LITERAL);
141 @Override public ParserRule getRule() { return rule; }
142
143 //name=(LOWER_WORD_ID | SINGLE_QUOTE | LITERAL | SIGNED_LITERAL)
144 public Assignment getNameAssignment() { return cNameAssignment; }
145
146 //(LOWER_WORD_ID | SINGLE_QUOTE | LITERAL | SIGNED_LITERAL)
147 public Alternatives getNameAlternatives_0() { return cNameAlternatives_0; }
148
149 //LOWER_WORD_ID
150 public RuleCall getNameLOWER_WORD_IDTerminalRuleCall_0_0() { return cNameLOWER_WORD_IDTerminalRuleCall_0_0; }
151
152 //SINGLE_QUOTE
153 public RuleCall getNameSINGLE_QUOTETerminalRuleCall_0_1() { return cNameSINGLE_QUOTETerminalRuleCall_0_1; }
154
155 //LITERAL
156 public RuleCall getNameLITERALTerminalRuleCall_0_2() { return cNameLITERALTerminalRuleCall_0_2; }
157
158 //SIGNED_LITERAL
159 public RuleCall getNameSIGNED_LITERALTerminalRuleCall_0_3() { return cNameSIGNED_LITERALTerminalRuleCall_0_3; }
160 }
161 public class VLSCommentElements extends AbstractParserRuleElementFinder {
162 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSComment");
163 private final Assignment cCommentAssignment = (Assignment)rule.eContents().get(1);
164 private final RuleCall cCommentSINGLE_COMMENTTerminalRuleCall_0 = (RuleCall)cCommentAssignment.eContents().get(0);
165
166 //// <comments>
167 //VLSComment:
168 // comment=SINGLE_COMMENT
169 // //need to add a new line at the end of the file for the case where the last line is a comment
170 //;
171 @Override public ParserRule getRule() { return rule; }
172
173 //comment=SINGLE_COMMENT
174 public Assignment getCommentAssignment() { return cCommentAssignment; }
175
176 //SINGLE_COMMENT
177 public RuleCall getCommentSINGLE_COMMENTTerminalRuleCall_0() { return cCommentSINGLE_COMMENTTerminalRuleCall_0; }
178 }
179 public class VLSFofFormulaElements extends AbstractParserRuleElementFinder {
180 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofFormula");
181 private final Group cGroup = (Group)rule.eContents().get(1);
182 private final Keyword cFofKeyword_0 = (Keyword)cGroup.eContents().get(0);
183 private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
184 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
185 private final Alternatives cNameAlternatives_2_0 = (Alternatives)cNameAssignment_2.eContents().get(0);
186 private final RuleCall cNameLOWER_WORD_IDTerminalRuleCall_2_0_0 = (RuleCall)cNameAlternatives_2_0.eContents().get(0);
187 private final RuleCall cNameSIGNED_LITERALTerminalRuleCall_2_0_1 = (RuleCall)cNameAlternatives_2_0.eContents().get(1);
188 private final RuleCall cNameSINGLE_QUOTETerminalRuleCall_2_0_2 = (RuleCall)cNameAlternatives_2_0.eContents().get(2);
189 private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3);
190 private final Assignment cFofRoleAssignment_4 = (Assignment)cGroup.eContents().get(4);
191 private final RuleCall cFofRoleVLSRoleParserRuleCall_4_0 = (RuleCall)cFofRoleAssignment_4.eContents().get(0);
192 private final Keyword cCommaKeyword_5 = (Keyword)cGroup.eContents().get(5);
193 private final Assignment cFofFormulaAssignment_6 = (Assignment)cGroup.eContents().get(6);
194 private final RuleCall cFofFormulaVLSTermParserRuleCall_6_0 = (RuleCall)cFofFormulaAssignment_6.eContents().get(0);
195 private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
196 private final Keyword cCommaKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
197 private final Assignment cAnnotationsAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
198 private final RuleCall cAnnotationsVLSAnnotationParserRuleCall_7_1_0 = (RuleCall)cAnnotationsAssignment_7_1.eContents().get(0);
199 private final Keyword cRightParenthesisKeyword_8 = (Keyword)cGroup.eContents().get(8);
200 private final Keyword cFullStopKeyword_9 = (Keyword)cGroup.eContents().get(9);
201
202 ////VLSConstantDeclaration: name = (LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID );
203 //// <FOF formulas>
204 //VLSFofFormula:
205 // 'fof' '(' name=(LOWER_WORD_ID | SIGNED_LITERAL | SINGLE_QUOTE) ',' fofRole=VLSRole ',' fofFormula=VLSTerm (','
206 // annotations=VLSAnnotation)? ')' '.';
207 @Override public ParserRule getRule() { return rule; }
208
209 //'fof' '(' name=(LOWER_WORD_ID | SIGNED_LITERAL | SINGLE_QUOTE) ',' fofRole=VLSRole ',' fofFormula=VLSTerm (','
210 //annotations=VLSAnnotation)? ')' '.'
211 public Group getGroup() { return cGroup; }
212
213 //'fof'
214 public Keyword getFofKeyword_0() { return cFofKeyword_0; }
215
216 //'('
217 public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
218
219 //name=(LOWER_WORD_ID | SIGNED_LITERAL | SINGLE_QUOTE)
220 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
221
222 //(LOWER_WORD_ID | SIGNED_LITERAL | SINGLE_QUOTE)
223 public Alternatives getNameAlternatives_2_0() { return cNameAlternatives_2_0; }
224
225 //LOWER_WORD_ID
226 public RuleCall getNameLOWER_WORD_IDTerminalRuleCall_2_0_0() { return cNameLOWER_WORD_IDTerminalRuleCall_2_0_0; }
227
228 //SIGNED_LITERAL
229 public RuleCall getNameSIGNED_LITERALTerminalRuleCall_2_0_1() { return cNameSIGNED_LITERALTerminalRuleCall_2_0_1; }
230
231 //SINGLE_QUOTE
232 public RuleCall getNameSINGLE_QUOTETerminalRuleCall_2_0_2() { return cNameSINGLE_QUOTETerminalRuleCall_2_0_2; }
233
234 //','
235 public Keyword getCommaKeyword_3() { return cCommaKeyword_3; }
236
237 //fofRole=VLSRole
238 public Assignment getFofRoleAssignment_4() { return cFofRoleAssignment_4; }
239
240 //VLSRole
241 public RuleCall getFofRoleVLSRoleParserRuleCall_4_0() { return cFofRoleVLSRoleParserRuleCall_4_0; }
242
243 //','
244 public Keyword getCommaKeyword_5() { return cCommaKeyword_5; }
245
246 //fofFormula=VLSTerm
247 public Assignment getFofFormulaAssignment_6() { return cFofFormulaAssignment_6; }
248
249 //VLSTerm
250 public RuleCall getFofFormulaVLSTermParserRuleCall_6_0() { return cFofFormulaVLSTermParserRuleCall_6_0; }
251
252 //(',' annotations=VLSAnnotation)?
253 public Group getGroup_7() { return cGroup_7; }
254
255 //','
256 public Keyword getCommaKeyword_7_0() { return cCommaKeyword_7_0; }
257
258 //annotations=VLSAnnotation
259 public Assignment getAnnotationsAssignment_7_1() { return cAnnotationsAssignment_7_1; }
260
261 //VLSAnnotation
262 public RuleCall getAnnotationsVLSAnnotationParserRuleCall_7_1_0() { return cAnnotationsVLSAnnotationParserRuleCall_7_1_0; }
263
264 //')'
265 public Keyword getRightParenthesisKeyword_8() { return cRightParenthesisKeyword_8; }
266
267 //'.'
268 public Keyword getFullStopKeyword_9() { return cFullStopKeyword_9; }
269 }
270 public class VLSRoleElements extends AbstractParserRuleElementFinder {
271 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSRole");
272 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
273 private final RuleCall cVLSAxiomParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
274 private final RuleCall cVLSConjectureParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
275 private final RuleCall cVLSHypothesisParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
276 private final RuleCall cVLSDefinitionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
277 private final RuleCall cVLSAssumptionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
278 private final RuleCall cVLSLemmaParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
279 private final RuleCall cVLSTheoremParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
280 private final RuleCall cVLSCorollaryParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
281 private final RuleCall cVLSNegated_ConjectureParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8);
282 private final RuleCall cVLSPlainParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9);
283 private final RuleCall cVLSTypeParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10);
284 private final RuleCall cVLSFi_DomainParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11);
285 private final RuleCall cVLSFi_FunctorsParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12);
286 private final RuleCall cVLSFi_PredicatesParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13);
287 private final RuleCall cVLSUnknownParserRuleCall_14 = (RuleCall)cAlternatives.eContents().get(14);
288
289 ///*
290 ////NAME
291 //VLSName:
292 // //(atomic_Word = Atomic_Word | integer = Integer | single_quote_word = Single_Quote_Word)
293 // name = (LOWER_WORD_ID | SIGNED_INT_ID | SINGLE_QUOTE)
294 //;
295 //*/ //<ROLE>
296 //VLSRole:
297 // VLSAxiom | VLSConjecture | VLSHypothesis | VLSDefinition | VLSAssumption | VLSLemma | VLSTheorem | VLSCorollary |
298 // VLSNegated_Conjecture | VLSPlain | VLSType | VLSFi_Domain | VLSFi_Functors | VLSFi_Predicates | VLSUnknown;
299 @Override public ParserRule getRule() { return rule; }
300
301 //VLSAxiom | VLSConjecture | VLSHypothesis | VLSDefinition | VLSAssumption | VLSLemma | VLSTheorem | VLSCorollary |
302 //VLSNegated_Conjecture | VLSPlain | VLSType | VLSFi_Domain | VLSFi_Functors | VLSFi_Predicates | VLSUnknown
303 public Alternatives getAlternatives() { return cAlternatives; }
304
305 //VLSAxiom
306 public RuleCall getVLSAxiomParserRuleCall_0() { return cVLSAxiomParserRuleCall_0; }
307
308 //VLSConjecture
309 public RuleCall getVLSConjectureParserRuleCall_1() { return cVLSConjectureParserRuleCall_1; }
310
311 //VLSHypothesis
312 public RuleCall getVLSHypothesisParserRuleCall_2() { return cVLSHypothesisParserRuleCall_2; }
313
314 //VLSDefinition
315 public RuleCall getVLSDefinitionParserRuleCall_3() { return cVLSDefinitionParserRuleCall_3; }
316
317 //VLSAssumption
318 public RuleCall getVLSAssumptionParserRuleCall_4() { return cVLSAssumptionParserRuleCall_4; }
319
320 //VLSLemma
321 public RuleCall getVLSLemmaParserRuleCall_5() { return cVLSLemmaParserRuleCall_5; }
322
323 //VLSTheorem
324 public RuleCall getVLSTheoremParserRuleCall_6() { return cVLSTheoremParserRuleCall_6; }
325
326 //VLSCorollary
327 public RuleCall getVLSCorollaryParserRuleCall_7() { return cVLSCorollaryParserRuleCall_7; }
328
329 //VLSNegated_Conjecture
330 public RuleCall getVLSNegated_ConjectureParserRuleCall_8() { return cVLSNegated_ConjectureParserRuleCall_8; }
331
332 //VLSPlain
333 public RuleCall getVLSPlainParserRuleCall_9() { return cVLSPlainParserRuleCall_9; }
334
335 //VLSType
336 public RuleCall getVLSTypeParserRuleCall_10() { return cVLSTypeParserRuleCall_10; }
337
338 //VLSFi_Domain
339 public RuleCall getVLSFi_DomainParserRuleCall_11() { return cVLSFi_DomainParserRuleCall_11; }
340
341 //VLSFi_Functors
342 public RuleCall getVLSFi_FunctorsParserRuleCall_12() { return cVLSFi_FunctorsParserRuleCall_12; }
343
344 //VLSFi_Predicates
345 public RuleCall getVLSFi_PredicatesParserRuleCall_13() { return cVLSFi_PredicatesParserRuleCall_13; }
346
347 //VLSUnknown
348 public RuleCall getVLSUnknownParserRuleCall_14() { return cVLSUnknownParserRuleCall_14; }
349 }
350 public class VLSAxiomElements extends AbstractParserRuleElementFinder {
351 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAxiom");
352 private final Keyword cAxiomKeyword = (Keyword)rule.eContents().get(1);
353
354 //VLSAxiom:
355 // "axiom";
356 @Override public ParserRule getRule() { return rule; }
357
358 //"axiom"
359 public Keyword getAxiomKeyword() { return cAxiomKeyword; }
360 }
361 public class VLSConjectureElements extends AbstractParserRuleElementFinder {
362 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSConjecture");
363 private final Keyword cConjectureKeyword = (Keyword)rule.eContents().get(1);
364
365 //VLSConjecture:
366 // "conjecture";
367 @Override public ParserRule getRule() { return rule; }
368
369 //"conjecture"
370 public Keyword getConjectureKeyword() { return cConjectureKeyword; }
371 }
372 public class VLSHypothesisElements extends AbstractParserRuleElementFinder {
373 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSHypothesis");
374 private final Keyword cHypothesisKeyword = (Keyword)rule.eContents().get(1);
375
376 //VLSHypothesis:
377 // "hypothesis";
378 @Override public ParserRule getRule() { return rule; }
379
380 //"hypothesis"
381 public Keyword getHypothesisKeyword() { return cHypothesisKeyword; }
382 }
383 public class VLSDefinitionElements extends AbstractParserRuleElementFinder {
384 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSDefinition");
385 private final Keyword cDefinitionKeyword = (Keyword)rule.eContents().get(1);
386
387 //VLSDefinition:
388 // "definition";
389 @Override public ParserRule getRule() { return rule; }
390
391 //"definition"
392 public Keyword getDefinitionKeyword() { return cDefinitionKeyword; }
393 }
394 public class VLSAssumptionElements extends AbstractParserRuleElementFinder {
395 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAssumption");
396 private final Keyword cAssumptionKeyword = (Keyword)rule.eContents().get(1);
397
398 //VLSAssumption:
399 // "assumption";
400 @Override public ParserRule getRule() { return rule; }
401
402 //"assumption"
403 public Keyword getAssumptionKeyword() { return cAssumptionKeyword; }
404 }
405 public class VLSLemmaElements extends AbstractParserRuleElementFinder {
406 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSLemma");
407 private final Keyword cLemmaKeyword = (Keyword)rule.eContents().get(1);
408
409 //VLSLemma:
410 // "lemma";
411 @Override public ParserRule getRule() { return rule; }
412
413 //"lemma"
414 public Keyword getLemmaKeyword() { return cLemmaKeyword; }
415 }
416 public class VLSTheoremElements extends AbstractParserRuleElementFinder {
417 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTheorem");
418 private final Keyword cTheoremKeyword = (Keyword)rule.eContents().get(1);
419
420 //VLSTheorem:
421 // "theorem";
422 @Override public ParserRule getRule() { return rule; }
423
424 //"theorem"
425 public Keyword getTheoremKeyword() { return cTheoremKeyword; }
426 }
427 public class VLSCorollaryElements extends AbstractParserRuleElementFinder {
428 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSCorollary");
429 private final Keyword cCorollaryKeyword = (Keyword)rule.eContents().get(1);
430
431 //VLSCorollary:
432 // "corollary";
433 @Override public ParserRule getRule() { return rule; }
434
435 //"corollary"
436 public Keyword getCorollaryKeyword() { return cCorollaryKeyword; }
437 }
438 public class VLSNegated_ConjectureElements extends AbstractParserRuleElementFinder {
439 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSNegated_Conjecture");
440 private final Keyword cNegated_conjectureKeyword = (Keyword)rule.eContents().get(1);
441
442 //VLSNegated_Conjecture:
443 // "negated_conjecture";
444 @Override public ParserRule getRule() { return rule; }
445
446 //"negated_conjecture"
447 public Keyword getNegated_conjectureKeyword() { return cNegated_conjectureKeyword; }
448 }
449 public class VLSPlainElements extends AbstractParserRuleElementFinder {
450 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSPlain");
451 private final Keyword cPlainKeyword = (Keyword)rule.eContents().get(1);
452
453 //VLSPlain:
454 // "plain";
455 @Override public ParserRule getRule() { return rule; }
456
457 //"plain"
458 public Keyword getPlainKeyword() { return cPlainKeyword; }
459 }
460 public class VLSTypeElements extends AbstractParserRuleElementFinder {
461 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSType");
462 private final Keyword cTypeKeyword = (Keyword)rule.eContents().get(1);
463
464 //VLSType:
465 // "type";
466 @Override public ParserRule getRule() { return rule; }
467
468 //"type"
469 public Keyword getTypeKeyword() { return cTypeKeyword; }
470 }
471 public class VLSFi_DomainElements extends AbstractParserRuleElementFinder {
472 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFi_Domain");
473 private final Keyword cFi_domainKeyword = (Keyword)rule.eContents().get(1);
474
475 //VLSFi_Domain:
476 // "fi_domain";
477 @Override public ParserRule getRule() { return rule; }
478
479 //"fi_domain"
480 public Keyword getFi_domainKeyword() { return cFi_domainKeyword; }
481 }
482 public class VLSFi_FunctorsElements extends AbstractParserRuleElementFinder {
483 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFi_Functors");
484 private final Keyword cFi_functorsKeyword = (Keyword)rule.eContents().get(1);
485
486 //VLSFi_Functors:
487 // "fi_functors";
488 @Override public ParserRule getRule() { return rule; }
489
490 //"fi_functors"
491 public Keyword getFi_functorsKeyword() { return cFi_functorsKeyword; }
492 }
493 public class VLSFi_PredicatesElements extends AbstractParserRuleElementFinder {
494 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFi_Predicates");
495 private final Keyword cFi_predicatesKeyword = (Keyword)rule.eContents().get(1);
496
497 //VLSFi_Predicates:
498 // "fi_predicates";
499 @Override public ParserRule getRule() { return rule; }
500
501 //"fi_predicates"
502 public Keyword getFi_predicatesKeyword() { return cFi_predicatesKeyword; }
503 }
504 public class VLSUnknownElements extends AbstractParserRuleElementFinder {
505 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnknown");
506 private final Keyword cUnknownKeyword = (Keyword)rule.eContents().get(1);
507
508 //VLSUnknown:
509 // "unknown";
510 @Override public ParserRule getRule() { return rule; }
511
512 //"unknown"
513 public Keyword getUnknownKeyword() { return cUnknownKeyword; }
514 }
515 public class VLSAnnotationElements extends AbstractParserRuleElementFinder {
516 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotation");
517 private final Group cGroup = (Group)rule.eContents().get(1);
518 private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
519 private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
520 private final Alternatives cNameAlternatives_1_0 = (Alternatives)cNameAssignment_1.eContents().get(0);
521 private final RuleCall cNameLOWER_WORD_IDTerminalRuleCall_1_0_0 = (RuleCall)cNameAlternatives_1_0.eContents().get(0);
522 private final RuleCall cNameSINGLE_QUOTETerminalRuleCall_1_0_1 = (RuleCall)cNameAlternatives_1_0.eContents().get(1);
523 private final RuleCall cNameVLSRoleParserRuleCall_1_0_2 = (RuleCall)cNameAlternatives_1_0.eContents().get(2);
524 private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
525 private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
526 private final Assignment cFollowupAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
527 private final RuleCall cFollowupVLSAnnotationTermsParserRuleCall_2_1_0 = (RuleCall)cFollowupAssignment_2_1.eContents().get(0);
528 private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
529 private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
530
531 //// <ANNOTATION>
532 //// Not at all based on the website. based on what we think the output will be like
533 //VLSAnnotation:
534 // '['? name=(LOWER_WORD_ID | SINGLE_QUOTE | VLSRole)? ('(' followup=VLSAnnotationTerms ')')? ']'?;
535 @Override public ParserRule getRule() { return rule; }
536
537 //'['? name=(LOWER_WORD_ID | SINGLE_QUOTE | VLSRole)? ('(' followup=VLSAnnotationTerms ')')? ']'?
538 public Group getGroup() { return cGroup; }
539
540 //'['?
541 public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
542
543 //name=(LOWER_WORD_ID | SINGLE_QUOTE | VLSRole)?
544 public Assignment getNameAssignment_1() { return cNameAssignment_1; }
545
546 //(LOWER_WORD_ID | SINGLE_QUOTE | VLSRole)
547 public Alternatives getNameAlternatives_1_0() { return cNameAlternatives_1_0; }
548
549 //LOWER_WORD_ID
550 public RuleCall getNameLOWER_WORD_IDTerminalRuleCall_1_0_0() { return cNameLOWER_WORD_IDTerminalRuleCall_1_0_0; }
551
552 //SINGLE_QUOTE
553 public RuleCall getNameSINGLE_QUOTETerminalRuleCall_1_0_1() { return cNameSINGLE_QUOTETerminalRuleCall_1_0_1; }
554
555 //VLSRole
556 public RuleCall getNameVLSRoleParserRuleCall_1_0_2() { return cNameVLSRoleParserRuleCall_1_0_2; }
557
558 //('(' followup=VLSAnnotationTerms ')')?
559 public Group getGroup_2() { return cGroup_2; }
560
561 //'('
562 public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; }
563
564 //followup=VLSAnnotationTerms
565 public Assignment getFollowupAssignment_2_1() { return cFollowupAssignment_2_1; }
566
567 //VLSAnnotationTerms
568 public RuleCall getFollowupVLSAnnotationTermsParserRuleCall_2_1_0() { return cFollowupVLSAnnotationTermsParserRuleCall_2_1_0; }
569
570 //')'
571 public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; }
572
573 //']'?
574 public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; }
575 }
576 public class VLSAnnotationTermsElements extends AbstractParserRuleElementFinder {
577 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAnnotationTerms");
578 private final Group cGroup = (Group)rule.eContents().get(1);
579 private final Assignment cTermsAssignment_0 = (Assignment)cGroup.eContents().get(0);
580 private final RuleCall cTermsVLSAnnotationParserRuleCall_0_0 = (RuleCall)cTermsAssignment_0.eContents().get(0);
581 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
582 private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
583 private final Assignment cTermsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
584 private final RuleCall cTermsVLSAnnotationParserRuleCall_1_1_0 = (RuleCall)cTermsAssignment_1_1.eContents().get(0);
585
586 //VLSAnnotationTerms VLSAnnotation:
587 // terms+=VLSAnnotation (',' terms+=VLSAnnotation)*;
588 @Override public ParserRule getRule() { return rule; }
589
590 //terms+=VLSAnnotation (',' terms+=VLSAnnotation)*
591 public Group getGroup() { return cGroup; }
592
593 //terms+=VLSAnnotation
594 public Assignment getTermsAssignment_0() { return cTermsAssignment_0; }
595
596 //VLSAnnotation
597 public RuleCall getTermsVLSAnnotationParserRuleCall_0_0() { return cTermsVLSAnnotationParserRuleCall_0_0; }
598
599 //(',' terms+=VLSAnnotation)*
600 public Group getGroup_1() { return cGroup_1; }
601
602 //','
603 public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
604
605 //terms+=VLSAnnotation
606 public Assignment getTermsAssignment_1_1() { return cTermsAssignment_1_1; }
607
608 //VLSAnnotation
609 public RuleCall getTermsVLSAnnotationParserRuleCall_1_1_0() { return cTermsVLSAnnotationParserRuleCall_1_1_0; }
610 }
611 public class VLSTermElements extends AbstractParserRuleElementFinder {
612 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTerm");
613 private final RuleCall cVLSBinaryParserRuleCall = (RuleCall)rule.eContents().get(1);
614
615 ////////////////////////////////////
616 //// VLS Terms
617 ////////////////////////////////////
618 //VLSTerm:
619 // VLSBinary;
620 @Override public ParserRule getRule() { return rule; }
621
622 ////( VLSLogic | VLSSequent)
623 //VLSBinary
624 public RuleCall getVLSBinaryParserRuleCall() { return cVLSBinaryParserRuleCall; }
625 }
626 public class VLSBinaryElements extends AbstractParserRuleElementFinder {
627 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSBinary");
628 private final Group cGroup = (Group)rule.eContents().get(1);
629 private final RuleCall cVLSUnitaryFormulaParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
630 private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
631 private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
632 private final Alternatives cAlternatives_1_0_0 = (Alternatives)cGroup_1_0.eContents().get(0);
633 private final Group cGroup_1_0_0_0 = (Group)cAlternatives_1_0_0.eContents().get(0);
634 private final Action cVLSEquivalentLeftAction_1_0_0_0_0 = (Action)cGroup_1_0_0_0.eContents().get(0);
635 private final Keyword cLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1 = (Keyword)cGroup_1_0_0_0.eContents().get(1);
636 private final Group cGroup_1_0_0_1 = (Group)cAlternatives_1_0_0.eContents().get(1);
637 private final Action cVLSImpliesLeftAction_1_0_0_1_0 = (Action)cGroup_1_0_0_1.eContents().get(0);
638 private final Keyword cEqualsSignGreaterThanSignKeyword_1_0_0_1_1 = (Keyword)cGroup_1_0_0_1.eContents().get(1);
639 private final Group cGroup_1_0_0_2 = (Group)cAlternatives_1_0_0.eContents().get(2);
640 private final Action cVLSRevImpliesLeftAction_1_0_0_2_0 = (Action)cGroup_1_0_0_2.eContents().get(0);
641 private final Keyword cLessThanSignEqualsSignKeyword_1_0_0_2_1 = (Keyword)cGroup_1_0_0_2.eContents().get(1);
642 private final Group cGroup_1_0_0_3 = (Group)cAlternatives_1_0_0.eContents().get(3);
643 private final Action cVLSXnorLeftAction_1_0_0_3_0 = (Action)cGroup_1_0_0_3.eContents().get(0);
644 private final Keyword cLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1 = (Keyword)cGroup_1_0_0_3.eContents().get(1);
645 private final Group cGroup_1_0_0_4 = (Group)cAlternatives_1_0_0.eContents().get(4);
646 private final Action cVLSNorLeftAction_1_0_0_4_0 = (Action)cGroup_1_0_0_4.eContents().get(0);
647 private final Keyword cTildeVerticalLineKeyword_1_0_0_4_1 = (Keyword)cGroup_1_0_0_4.eContents().get(1);
648 private final Group cGroup_1_0_0_5 = (Group)cAlternatives_1_0_0.eContents().get(5);
649 private final Action cVLSNandLeftAction_1_0_0_5_0 = (Action)cGroup_1_0_0_5.eContents().get(0);
650 private final Keyword cTildeAmpersandKeyword_1_0_0_5_1 = (Keyword)cGroup_1_0_0_5.eContents().get(1);
651 private final Assignment cRightAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1);
652 private final RuleCall cRightVLSUnitaryFormulaParserRuleCall_1_0_1_0 = (RuleCall)cRightAssignment_1_0_1.eContents().get(0);
653 private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
654 private final Action cVLSAndLeftAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0);
655 private final Keyword cAmpersandKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
656 private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2);
657 private final RuleCall cRightVLSUnitaryFormulaParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0);
658 private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2);
659 private final Action cVLSOrLeftAction_1_2_0 = (Action)cGroup_1_2.eContents().get(0);
660 private final Keyword cVerticalLineKeyword_1_2_1 = (Keyword)cGroup_1_2.eContents().get(1);
661 private final Assignment cRightAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2);
662 private final RuleCall cRightVLSUnitaryFormulaParserRuleCall_1_2_2_0 = (RuleCall)cRightAssignment_1_2_2.eContents().get(0);
663
664 ////*
665 ////VLSBinaryFormula
666 //VLSBinary VLSTerm:
667 // VLSUnitaryFormula (({VLSEquivalent.left=current} "<=>" | {VLSImplies.left=current} "=>" |
668 // {VLSRevImplies.left=current} "<=" | {VLSXnor.left=current} "<~>" | {VLSNor.left=current} "~|" |
669 // {VLSNand.left=current} "~&") right=VLSUnitaryFormula | ({VLSAnd.left=current} '&' right=VLSUnitaryFormula)+
670 // | ({VLSOr.left=current} '|' right=VLSUnitaryFormula)+)?;
671 @Override public ParserRule getRule() { return rule; }
672
673 //VLSUnitaryFormula (({VLSEquivalent.left=current} "<=>" | {VLSImplies.left=current} "=>" | {VLSRevImplies.left=current}
674 //"<=" | {VLSXnor.left=current} "<~>" | {VLSNor.left=current} "~|" | {VLSNand.left=current} "~&")
675 //right=VLSUnitaryFormula | ({VLSAnd.left=current} '&' right=VLSUnitaryFormula)+ | ({VLSOr.left=current} '|'
676 //right=VLSUnitaryFormula)+)?
677 public Group getGroup() { return cGroup; }
678
679 //VLSUnitaryFormula
680 public RuleCall getVLSUnitaryFormulaParserRuleCall_0() { return cVLSUnitaryFormulaParserRuleCall_0; }
681
682 //(({VLSEquivalent.left=current} "<=>" | {VLSImplies.left=current} "=>" | {VLSRevImplies.left=current} "<=" |
683 //{VLSXnor.left=current} "<~>" | {VLSNor.left=current} "~|" | {VLSNand.left=current} "~&") right=VLSUnitaryFormula |
684 //({VLSAnd.left=current} '&' right=VLSUnitaryFormula)+ | ({VLSOr.left=current} '|' right=VLSUnitaryFormula)+)?
685 public Alternatives getAlternatives_1() { return cAlternatives_1; }
686
687 //({VLSEquivalent.left=current} "<=>" | {VLSImplies.left=current} "=>" | {VLSRevImplies.left=current} "<=" |
688 //{VLSXnor.left=current} "<~>" | {VLSNor.left=current} "~|" | {VLSNand.left=current} "~&") right=VLSUnitaryFormula
689 public Group getGroup_1_0() { return cGroup_1_0; }
690
691 //{VLSEquivalent.left=current} "<=>" | {VLSImplies.left=current} "=>" | {VLSRevImplies.left=current} "<=" |
692 //{VLSXnor.left=current} "<~>" | {VLSNor.left=current} "~|" | {VLSNand.left=current} "~&"
693 public Alternatives getAlternatives_1_0_0() { return cAlternatives_1_0_0; }
694
695 //{VLSEquivalent.left=current} "<=>"
696 public Group getGroup_1_0_0_0() { return cGroup_1_0_0_0; }
697
698 //{VLSEquivalent.left=current}
699 public Action getVLSEquivalentLeftAction_1_0_0_0_0() { return cVLSEquivalentLeftAction_1_0_0_0_0; }
700
701 //"<=>"
702 public Keyword getLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1() { return cLessThanSignEqualsSignGreaterThanSignKeyword_1_0_0_0_1; }
703
704 //{VLSImplies.left=current} "=>"
705 public Group getGroup_1_0_0_1() { return cGroup_1_0_0_1; }
706
707 //{VLSImplies.left=current}
708 public Action getVLSImpliesLeftAction_1_0_0_1_0() { return cVLSImpliesLeftAction_1_0_0_1_0; }
709
710 //"=>"
711 public Keyword getEqualsSignGreaterThanSignKeyword_1_0_0_1_1() { return cEqualsSignGreaterThanSignKeyword_1_0_0_1_1; }
712
713 //{VLSRevImplies.left=current} "<="
714 public Group getGroup_1_0_0_2() { return cGroup_1_0_0_2; }
715
716 //{VLSRevImplies.left=current}
717 public Action getVLSRevImpliesLeftAction_1_0_0_2_0() { return cVLSRevImpliesLeftAction_1_0_0_2_0; }
718
719 //"<="
720 public Keyword getLessThanSignEqualsSignKeyword_1_0_0_2_1() { return cLessThanSignEqualsSignKeyword_1_0_0_2_1; }
721
722 //{VLSXnor.left=current} "<~>"
723 public Group getGroup_1_0_0_3() { return cGroup_1_0_0_3; }
724
725 //{VLSXnor.left=current}
726 public Action getVLSXnorLeftAction_1_0_0_3_0() { return cVLSXnorLeftAction_1_0_0_3_0; }
727
728 //"<~>"
729 public Keyword getLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1() { return cLessThanSignTildeGreaterThanSignKeyword_1_0_0_3_1; }
730
731 //{VLSNor.left=current} "~|"
732 public Group getGroup_1_0_0_4() { return cGroup_1_0_0_4; }
733
734 //{VLSNor.left=current}
735 public Action getVLSNorLeftAction_1_0_0_4_0() { return cVLSNorLeftAction_1_0_0_4_0; }
736
737 //"~|"
738 public Keyword getTildeVerticalLineKeyword_1_0_0_4_1() { return cTildeVerticalLineKeyword_1_0_0_4_1; }
739
740 //{VLSNand.left=current} "~&"
741 public Group getGroup_1_0_0_5() { return cGroup_1_0_0_5; }
742
743 //{VLSNand.left=current}
744 public Action getVLSNandLeftAction_1_0_0_5_0() { return cVLSNandLeftAction_1_0_0_5_0; }
745
746 //"~&"
747 public Keyword getTildeAmpersandKeyword_1_0_0_5_1() { return cTildeAmpersandKeyword_1_0_0_5_1; }
748
749 //right=VLSUnitaryFormula
750 public Assignment getRightAssignment_1_0_1() { return cRightAssignment_1_0_1; }
751
752 //VLSUnitaryFormula
753 public RuleCall getRightVLSUnitaryFormulaParserRuleCall_1_0_1_0() { return cRightVLSUnitaryFormulaParserRuleCall_1_0_1_0; }
754
755 //({VLSAnd.left=current} '&' right=VLSUnitaryFormula)+
756 public Group getGroup_1_1() { return cGroup_1_1; }
757
758 //{VLSAnd.left=current}
759 public Action getVLSAndLeftAction_1_1_0() { return cVLSAndLeftAction_1_1_0; }
760
761 //'&'
762 public Keyword getAmpersandKeyword_1_1_1() { return cAmpersandKeyword_1_1_1; }
763
764 //right=VLSUnitaryFormula
765 public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; }
766
767 //VLSUnitaryFormula
768 public RuleCall getRightVLSUnitaryFormulaParserRuleCall_1_1_2_0() { return cRightVLSUnitaryFormulaParserRuleCall_1_1_2_0; }
769
770 //({VLSOr.left=current} '|' right=VLSUnitaryFormula)+
771 public Group getGroup_1_2() { return cGroup_1_2; }
772
773 //{VLSOr.left=current}
774 public Action getVLSOrLeftAction_1_2_0() { return cVLSOrLeftAction_1_2_0; }
775
776 //'|'
777 public Keyword getVerticalLineKeyword_1_2_1() { return cVerticalLineKeyword_1_2_1; }
778
779 //right=VLSUnitaryFormula
780 public Assignment getRightAssignment_1_2_2() { return cRightAssignment_1_2_2; }
781
782 //VLSUnitaryFormula
783 public RuleCall getRightVLSUnitaryFormulaParserRuleCall_1_2_2_0() { return cRightVLSUnitaryFormulaParserRuleCall_1_2_2_0; }
784 }
785 public class VLSUnitaryFormulaElements extends AbstractParserRuleElementFinder {
786 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnitaryFormula");
787 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
788 private final RuleCall cVLSUniversalQuantifierParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
789 private final RuleCall cVLSExistentialQuantifierParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
790 private final RuleCall cVLSUnaryNegationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
791 private final RuleCall cVLSUnaryInfixParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
792 private final Group cGroup_4 = (Group)cAlternatives.eContents().get(4);
793 private final Keyword cLeftParenthesisKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
794 private final RuleCall cVLSTermParserRuleCall_4_1 = (RuleCall)cGroup_4.eContents().get(1);
795 private final Keyword cRightParenthesisKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2);
796
797 ////VLSUnitaryFormula
798 //VLSUnitaryFormula VLSTerm:
799 // VLSUniversalQuantifier | VLSExistentialQuantifier | VLSUnaryNegation | VLSUnaryInfix
800 // //| VLSEquality
801 // | '(' VLSTerm ')';
802 @Override public ParserRule getRule() { return rule; }
803
804 //VLSUniversalQuantifier | VLSExistentialQuantifier | VLSUnaryNegation | VLSUnaryInfix //| VLSEquality
805 //| '(' VLSTerm ')'
806 public Alternatives getAlternatives() { return cAlternatives; }
807
808 //VLSUniversalQuantifier
809 public RuleCall getVLSUniversalQuantifierParserRuleCall_0() { return cVLSUniversalQuantifierParserRuleCall_0; }
810
811 //VLSExistentialQuantifier
812 public RuleCall getVLSExistentialQuantifierParserRuleCall_1() { return cVLSExistentialQuantifierParserRuleCall_1; }
813
814 //VLSUnaryNegation
815 public RuleCall getVLSUnaryNegationParserRuleCall_2() { return cVLSUnaryNegationParserRuleCall_2; }
816
817 //VLSUnaryInfix
818 public RuleCall getVLSUnaryInfixParserRuleCall_3() { return cVLSUnaryInfixParserRuleCall_3; }
819
820 //'(' VLSTerm ')'
821 public Group getGroup_4() { return cGroup_4; }
822
823 //'('
824 public Keyword getLeftParenthesisKeyword_4_0() { return cLeftParenthesisKeyword_4_0; }
825
826 //VLSTerm
827 public RuleCall getVLSTermParserRuleCall_4_1() { return cVLSTermParserRuleCall_4_1; }
828
829 //')'
830 public Keyword getRightParenthesisKeyword_4_2() { return cRightParenthesisKeyword_4_2; }
831 }
832 public class VLSUniversalQuantifierElements extends AbstractParserRuleElementFinder {
833 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUniversalQuantifier");
834 private final Group cGroup = (Group)rule.eContents().get(1);
835 private final Action cVLSUniversalQuantifierAction_0 = (Action)cGroup.eContents().get(0);
836 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
837 private final Keyword cExclamationMarkKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
838 private final Keyword cLeftSquareBracketKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
839 private final Assignment cVariablesAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
840 private final RuleCall cVariablesVLSVariableParserRuleCall_1_2_0 = (RuleCall)cVariablesAssignment_1_2.eContents().get(0);
841 private final Group cGroup_1_3 = (Group)cGroup_1.eContents().get(3);
842 private final Keyword cCommaKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0);
843 private final Assignment cVariablesAssignment_1_3_1 = (Assignment)cGroup_1_3.eContents().get(1);
844 private final RuleCall cVariablesVLSVariableParserRuleCall_1_3_1_0 = (RuleCall)cVariablesAssignment_1_3_1.eContents().get(0);
845 private final Keyword cRightSquareBracketKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4);
846 private final Keyword cColonKeyword_1_5 = (Keyword)cGroup_1.eContents().get(5);
847 private final Assignment cOperandAssignment_2 = (Assignment)cGroup.eContents().get(2);
848 private final RuleCall cOperandVLSUnitaryFormulaParserRuleCall_2_0 = (RuleCall)cOperandAssignment_2.eContents().get(0);
849
850 //VLSUniversalQuantifier VLSTerm:
851 // {VLSUniversalQuantifier} ("!" '[' variables+=VLSVariable (',' variables+=VLSVariable)* ']' ':')
852 // operand=VLSUnitaryFormula;
853 @Override public ParserRule getRule() { return rule; }
854
855 //{VLSUniversalQuantifier} ("!" '[' variables+=VLSVariable (',' variables+=VLSVariable)* ']' ':')
856 //operand=VLSUnitaryFormula
857 public Group getGroup() { return cGroup; }
858
859 //{VLSUniversalQuantifier}
860 public Action getVLSUniversalQuantifierAction_0() { return cVLSUniversalQuantifierAction_0; }
861
862 //"!" '[' variables+=VLSVariable (',' variables+=VLSVariable)* ']' ':'
863 public Group getGroup_1() { return cGroup_1; }
864
865 //"!"
866 public Keyword getExclamationMarkKeyword_1_0() { return cExclamationMarkKeyword_1_0; }
867
868 //'['
869 public Keyword getLeftSquareBracketKeyword_1_1() { return cLeftSquareBracketKeyword_1_1; }
870
871 //variables+=VLSVariable
872 public Assignment getVariablesAssignment_1_2() { return cVariablesAssignment_1_2; }
873
874 //VLSVariable
875 public RuleCall getVariablesVLSVariableParserRuleCall_1_2_0() { return cVariablesVLSVariableParserRuleCall_1_2_0; }
876
877 //(',' variables+=VLSVariable)*
878 public Group getGroup_1_3() { return cGroup_1_3; }
879
880 //','
881 public Keyword getCommaKeyword_1_3_0() { return cCommaKeyword_1_3_0; }
882
883 //variables+=VLSVariable
884 public Assignment getVariablesAssignment_1_3_1() { return cVariablesAssignment_1_3_1; }
885
886 //VLSVariable
887 public RuleCall getVariablesVLSVariableParserRuleCall_1_3_1_0() { return cVariablesVLSVariableParserRuleCall_1_3_1_0; }
888
889 //']'
890 public Keyword getRightSquareBracketKeyword_1_4() { return cRightSquareBracketKeyword_1_4; }
891
892 //':'
893 public Keyword getColonKeyword_1_5() { return cColonKeyword_1_5; }
894
895 //operand=VLSUnitaryFormula
896 public Assignment getOperandAssignment_2() { return cOperandAssignment_2; }
897
898 //VLSUnitaryFormula
899 public RuleCall getOperandVLSUnitaryFormulaParserRuleCall_2_0() { return cOperandVLSUnitaryFormulaParserRuleCall_2_0; }
900 }
901 public class VLSExistentialQuantifierElements extends AbstractParserRuleElementFinder {
902 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSExistentialQuantifier");
903 private final Group cGroup = (Group)rule.eContents().get(1);
904 private final Action cVLSExistentialQuantifierAction_0 = (Action)cGroup.eContents().get(0);
905 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
906 private final Keyword cQuestionMarkKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
907 private final Keyword cLeftSquareBracketKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
908 private final Assignment cVariablesAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
909 private final RuleCall cVariablesVLSVariableParserRuleCall_1_2_0 = (RuleCall)cVariablesAssignment_1_2.eContents().get(0);
910 private final Group cGroup_1_3 = (Group)cGroup_1.eContents().get(3);
911 private final Keyword cCommaKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0);
912 private final Assignment cVariablesAssignment_1_3_1 = (Assignment)cGroup_1_3.eContents().get(1);
913 private final RuleCall cVariablesVLSVariableParserRuleCall_1_3_1_0 = (RuleCall)cVariablesAssignment_1_3_1.eContents().get(0);
914 private final Keyword cRightSquareBracketKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4);
915 private final Keyword cColonKeyword_1_5 = (Keyword)cGroup_1.eContents().get(5);
916 private final Assignment cOperandAssignment_2 = (Assignment)cGroup.eContents().get(2);
917 private final RuleCall cOperandVLSUnitaryFormulaParserRuleCall_2_0 = (RuleCall)cOperandAssignment_2.eContents().get(0);
918
919 //VLSExistentialQuantifier VLSTerm:
920 // {VLSExistentialQuantifier} ("?" '[' variables+=VLSVariable (',' variables+=VLSVariable)* ']' ':')
921 // operand=VLSUnitaryFormula;
922 @Override public ParserRule getRule() { return rule; }
923
924 //{VLSExistentialQuantifier} ("?" '[' variables+=VLSVariable (',' variables+=VLSVariable)* ']' ':')
925 //operand=VLSUnitaryFormula
926 public Group getGroup() { return cGroup; }
927
928 //{VLSExistentialQuantifier}
929 public Action getVLSExistentialQuantifierAction_0() { return cVLSExistentialQuantifierAction_0; }
930
931 //"?" '[' variables+=VLSVariable (',' variables+=VLSVariable)* ']' ':'
932 public Group getGroup_1() { return cGroup_1; }
933
934 //"?"
935 public Keyword getQuestionMarkKeyword_1_0() { return cQuestionMarkKeyword_1_0; }
936
937 //'['
938 public Keyword getLeftSquareBracketKeyword_1_1() { return cLeftSquareBracketKeyword_1_1; }
939
940 //variables+=VLSVariable
941 public Assignment getVariablesAssignment_1_2() { return cVariablesAssignment_1_2; }
942
943 //VLSVariable
944 public RuleCall getVariablesVLSVariableParserRuleCall_1_2_0() { return cVariablesVLSVariableParserRuleCall_1_2_0; }
945
946 //(',' variables+=VLSVariable)*
947 public Group getGroup_1_3() { return cGroup_1_3; }
948
949 //','
950 public Keyword getCommaKeyword_1_3_0() { return cCommaKeyword_1_3_0; }
951
952 //variables+=VLSVariable
953 public Assignment getVariablesAssignment_1_3_1() { return cVariablesAssignment_1_3_1; }
954
955 //VLSVariable
956 public RuleCall getVariablesVLSVariableParserRuleCall_1_3_1_0() { return cVariablesVLSVariableParserRuleCall_1_3_1_0; }
957
958 //']'
959 public Keyword getRightSquareBracketKeyword_1_4() { return cRightSquareBracketKeyword_1_4; }
960
961 //':'
962 public Keyword getColonKeyword_1_5() { return cColonKeyword_1_5; }
963
964 //operand=VLSUnitaryFormula
965 public Assignment getOperandAssignment_2() { return cOperandAssignment_2; }
966
967 //VLSUnitaryFormula
968 public RuleCall getOperandVLSUnitaryFormulaParserRuleCall_2_0() { return cOperandVLSUnitaryFormulaParserRuleCall_2_0; }
969 }
970 public class VLSUnaryNegationElements extends AbstractParserRuleElementFinder {
971 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnaryNegation");
972 private final Group cGroup = (Group)rule.eContents().get(1);
973 private final Action cVLSUnaryNegationAction_0 = (Action)cGroup.eContents().get(0);
974 private final Keyword cTildeKeyword_1 = (Keyword)cGroup.eContents().get(1);
975 private final Assignment cOperandAssignment_2 = (Assignment)cGroup.eContents().get(2);
976 private final RuleCall cOperandVLSUnitaryFormulaParserRuleCall_2_0 = (RuleCall)cOperandAssignment_2.eContents().get(0);
977
978 //VLSUnaryNegation VLSTerm:
979 // {VLSUnaryNegation} '~' operand=VLSUnitaryFormula;
980 @Override public ParserRule getRule() { return rule; }
981
982 //{VLSUnaryNegation} '~' operand=VLSUnitaryFormula
983 public Group getGroup() { return cGroup; }
984
985 //{VLSUnaryNegation}
986 public Action getVLSUnaryNegationAction_0() { return cVLSUnaryNegationAction_0; }
987
988 //'~'
989 public Keyword getTildeKeyword_1() { return cTildeKeyword_1; }
990
991 //operand=VLSUnitaryFormula
992 public Assignment getOperandAssignment_2() { return cOperandAssignment_2; }
993
994 //VLSUnitaryFormula
995 public RuleCall getOperandVLSUnitaryFormulaParserRuleCall_2_0() { return cOperandVLSUnitaryFormulaParserRuleCall_2_0; }
996 }
997 public class VLSUnaryInfixElements extends AbstractParserRuleElementFinder {
998 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSUnaryInfix");
999 private final Group cGroup = (Group)rule.eContents().get(1);
1000 private final RuleCall cVLSAtomicParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
1001 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
1002 private final Alternatives cAlternatives_1_0 = (Alternatives)cGroup_1.eContents().get(0);
1003 private final Group cGroup_1_0_0 = (Group)cAlternatives_1_0.eContents().get(0);
1004 private final Action cVLSInequalityLeftAction_1_0_0_0 = (Action)cGroup_1_0_0.eContents().get(0);
1005 private final Keyword cExclamationMarkEqualsSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1);
1006 private final Group cGroup_1_0_1 = (Group)cAlternatives_1_0.eContents().get(1);
1007 private final Action cVLSEqualityLeftAction_1_0_1_0 = (Action)cGroup_1_0_1.eContents().get(0);
1008 private final Keyword cEqualsSignKeyword_1_0_1_1 = (Keyword)cGroup_1_0_1.eContents().get(1);
1009 private final Group cGroup_1_0_2 = (Group)cAlternatives_1_0.eContents().get(2);
1010 private final Action cVLSAssignmentLeftAction_1_0_2_0 = (Action)cGroup_1_0_2.eContents().get(0);
1011 private final Keyword cColonEqualsSignKeyword_1_0_2_1 = (Keyword)cGroup_1_0_2.eContents().get(1);
1012 private final Assignment cRightAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
1013 private final RuleCall cRightVLSAtomicParserRuleCall_1_1_0 = (RuleCall)cRightAssignment_1_1.eContents().get(0);
1014
1015 //VLSUnaryInfix VLSTerm:
1016 // VLSAtomic (({VLSInequality.left=current} "!=" | {VLSEquality.left=current} "=" | {VLSAssignment.left=current} ":=")
1017 // right=VLSAtomic)?;
1018 @Override public ParserRule getRule() { return rule; }
1019
1020 //VLSAtomic (({VLSInequality.left=current} "!=" | {VLSEquality.left=current} "=" | {VLSAssignment.left=current} ":=")
1021 //right=VLSAtomic)?
1022 public Group getGroup() { return cGroup; }
1023
1024 //VLSAtomic
1025 public RuleCall getVLSAtomicParserRuleCall_0() { return cVLSAtomicParserRuleCall_0; }
1026
1027 //(({VLSInequality.left=current} "!=" | {VLSEquality.left=current} "=" | {VLSAssignment.left=current} ":=")
1028 //right=VLSAtomic)?
1029 public Group getGroup_1() { return cGroup_1; }
1030
1031 //{VLSInequality.left=current} "!=" | {VLSEquality.left=current} "=" | {VLSAssignment.left=current} ":="
1032 public Alternatives getAlternatives_1_0() { return cAlternatives_1_0; }
1033
1034 //{VLSInequality.left=current} "!="
1035 public Group getGroup_1_0_0() { return cGroup_1_0_0; }
1036
1037 //{VLSInequality.left=current}
1038 public Action getVLSInequalityLeftAction_1_0_0_0() { return cVLSInequalityLeftAction_1_0_0_0; }
1039
1040 //"!="
1041 public Keyword getExclamationMarkEqualsSignKeyword_1_0_0_1() { return cExclamationMarkEqualsSignKeyword_1_0_0_1; }
1042
1043 //{VLSEquality.left=current} "="
1044 public Group getGroup_1_0_1() { return cGroup_1_0_1; }
1045
1046 //{VLSEquality.left=current}
1047 public Action getVLSEqualityLeftAction_1_0_1_0() { return cVLSEqualityLeftAction_1_0_1_0; }
1048
1049 //"="
1050 public Keyword getEqualsSignKeyword_1_0_1_1() { return cEqualsSignKeyword_1_0_1_1; }
1051
1052 //{VLSAssignment.left=current} ":="
1053 public Group getGroup_1_0_2() { return cGroup_1_0_2; }
1054
1055 //{VLSAssignment.left=current}
1056 public Action getVLSAssignmentLeftAction_1_0_2_0() { return cVLSAssignmentLeftAction_1_0_2_0; }
1057
1058 //":="
1059 public Keyword getColonEqualsSignKeyword_1_0_2_1() { return cColonEqualsSignKeyword_1_0_2_1; }
1060
1061 //right=VLSAtomic
1062 public Assignment getRightAssignment_1_1() { return cRightAssignment_1_1; }
1063
1064 //VLSAtomic
1065 public RuleCall getRightVLSAtomicParserRuleCall_1_1_0() { return cRightVLSAtomicParserRuleCall_1_1_0; }
1066 }
1067 public class VLSAtomicElements extends AbstractParserRuleElementFinder {
1068 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAtomic");
1069 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1070 private final RuleCall cVLSAtomicConstantParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1071 private final RuleCall cVLSAtomicFunctionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1072 private final RuleCall cVLSVariableParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1073 private final RuleCall cVLSDefinedTermParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
1074
1075 ////NOT SUREEEE
1076 ////VLSEquality returns VLSTerm:
1077 //// VLSFofTerm ({VLSEquality.left = current} "=" right = VLSFofTerm)?
1078 ////
1079 ////;
1080 ///*
1081 //enum VLSDefinedFunctor:
1082 // UMINUS='$uminus' | SUM='$sum' | DIFFERENCE='$difference' | PRODUCT='$product' | QUOTIENT='$quotient' |
1083 // QUOTIENT_E='$quotient_e' | QUOTIENT_T='$quotient_t' | QUOTIENT_F='$quotient_f' | REMAINDER_E='$remainder_e' |
1084 // REMAINDER_T='$remainder_t' | REMAINDER_F='$remainder_f' | FLOOR='$floor' | CEILING='$ceiling' |
1085 // TRUNCATE='$truncate' | ROUND='$round' | TO_INT='$to_int' | TO_RAT='$to_rat' | TO_REAL='$to_real'
1086 // ;
1087 //*/ VLSAtomic VLSTerm:
1088 // VLSAtomicConstant | VLSAtomicFunction | VLSVariable
1089 // | VLSDefinedTerm //temporary solution. this is only valid for equality, not for != or :=
1090 // //| VLSEquality
1091 //;
1092 @Override public ParserRule getRule() { return rule; }
1093
1094 //VLSAtomicConstant | VLSAtomicFunction | VLSVariable | VLSDefinedTerm
1095 public Alternatives getAlternatives() { return cAlternatives; }
1096
1097 //VLSAtomicConstant
1098 public RuleCall getVLSAtomicConstantParserRuleCall_0() { return cVLSAtomicConstantParserRuleCall_0; }
1099
1100 //VLSAtomicFunction
1101 public RuleCall getVLSAtomicFunctionParserRuleCall_1() { return cVLSAtomicFunctionParserRuleCall_1; }
1102
1103 //VLSVariable
1104 public RuleCall getVLSVariableParserRuleCall_2() { return cVLSVariableParserRuleCall_2; }
1105
1106 //VLSDefinedTerm
1107 public RuleCall getVLSDefinedTermParserRuleCall_3() { return cVLSDefinedTermParserRuleCall_3; }
1108 }
1109 public class VLSAtomicConstantElements extends AbstractParserRuleElementFinder {
1110 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAtomicConstant");
1111 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1112 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
1113 private final Action cVLSConstantAction_0_0 = (Action)cGroup_0.eContents().get(0);
1114 private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
1115 private final Alternatives cNameAlternatives_0_1_0 = (Alternatives)cNameAssignment_0_1.eContents().get(0);
1116 private final RuleCall cNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0 = (RuleCall)cNameAlternatives_0_1_0.eContents().get(0);
1117 private final RuleCall cNameSINGLE_QUOTETerminalRuleCall_0_1_0_1 = (RuleCall)cNameAlternatives_0_1_0.eContents().get(1);
1118 private final RuleCall cNameDOLLAR_IDTerminalRuleCall_0_1_0_2 = (RuleCall)cNameAlternatives_0_1_0.eContents().get(2);
1119 private final RuleCall cNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3 = (RuleCall)cNameAlternatives_0_1_0.eContents().get(3);
1120 private final RuleCall cNameVLSRoleParserRuleCall_0_1_0_4 = (RuleCall)cNameAlternatives_0_1_0.eContents().get(4);
1121 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
1122 private final Action cVLSTrueAction_1_0 = (Action)cGroup_1.eContents().get(0);
1123 private final Keyword cTrueKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
1124 private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
1125 private final Action cVLSFalseAction_2_0 = (Action)cGroup_2.eContents().get(0);
1126 private final Keyword cFalseKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
1127
1128 //VLSAtomicConstant VLSTerm:
1129 // {VLSConstant} name=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole) | {VLSTrue} '$true' |
1130 // {VLSFalse} '$false';
1131 @Override public ParserRule getRule() { return rule; }
1132
1133 //{VLSConstant} name=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole) | {VLSTrue} '$true' |
1134 //{VLSFalse} '$false'
1135 public Alternatives getAlternatives() { return cAlternatives; }
1136
1137 //{VLSConstant} name=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole)
1138 public Group getGroup_0() { return cGroup_0; }
1139
1140 //{VLSConstant}
1141 public Action getVLSConstantAction_0_0() { return cVLSConstantAction_0_0; }
1142
1143 //name=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole)
1144 public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }
1145
1146 //(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole)
1147 public Alternatives getNameAlternatives_0_1_0() { return cNameAlternatives_0_1_0; }
1148
1149 //LOWER_WORD_ID
1150 public RuleCall getNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0() { return cNameLOWER_WORD_IDTerminalRuleCall_0_1_0_0; }
1151
1152 //SINGLE_QUOTE
1153 public RuleCall getNameSINGLE_QUOTETerminalRuleCall_0_1_0_1() { return cNameSINGLE_QUOTETerminalRuleCall_0_1_0_1; }
1154
1155 //DOLLAR_ID
1156 public RuleCall getNameDOLLAR_IDTerminalRuleCall_0_1_0_2() { return cNameDOLLAR_IDTerminalRuleCall_0_1_0_2; }
1157
1158 //DOUBLE_DOLLAR_ID
1159 public RuleCall getNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3() { return cNameDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3; }
1160
1161 //VLSRole
1162 public RuleCall getNameVLSRoleParserRuleCall_0_1_0_4() { return cNameVLSRoleParserRuleCall_0_1_0_4; }
1163
1164 //{VLSTrue} '$true'
1165 public Group getGroup_1() { return cGroup_1; }
1166
1167 //{VLSTrue}
1168 public Action getVLSTrueAction_1_0() { return cVLSTrueAction_1_0; }
1169
1170 //'$true'
1171 public Keyword getTrueKeyword_1_1() { return cTrueKeyword_1_1; }
1172
1173 //{VLSFalse} '$false'
1174 public Group getGroup_2() { return cGroup_2; }
1175
1176 //{VLSFalse}
1177 public Action getVLSFalseAction_2_0() { return cVLSFalseAction_2_0; }
1178
1179 //'$false'
1180 public Keyword getFalseKeyword_2_1() { return cFalseKeyword_2_1; }
1181 }
1182 public class VLSAtomicFunctionElements extends AbstractParserRuleElementFinder {
1183 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSAtomicFunction");
1184 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1185 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
1186 private final Action cVLSFunctionAction_0_0 = (Action)cGroup_0.eContents().get(0);
1187 private final Assignment cConstantAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
1188 private final Alternatives cConstantAlternatives_0_1_0 = (Alternatives)cConstantAssignment_0_1.eContents().get(0);
1189 private final RuleCall cConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0 = (RuleCall)cConstantAlternatives_0_1_0.eContents().get(0);
1190 private final RuleCall cConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1 = (RuleCall)cConstantAlternatives_0_1_0.eContents().get(1);
1191 private final RuleCall cConstantDOLLAR_IDTerminalRuleCall_0_1_0_2 = (RuleCall)cConstantAlternatives_0_1_0.eContents().get(2);
1192 private final RuleCall cConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3 = (RuleCall)cConstantAlternatives_0_1_0.eContents().get(3);
1193 private final RuleCall cConstantVLSRoleParserRuleCall_0_1_0_4 = (RuleCall)cConstantAlternatives_0_1_0.eContents().get(4);
1194 private final Group cGroup_0_2 = (Group)cGroup_0.eContents().get(2);
1195 private final Keyword cLeftParenthesisKeyword_0_2_0 = (Keyword)cGroup_0_2.eContents().get(0);
1196 private final Assignment cTermsAssignment_0_2_1 = (Assignment)cGroup_0_2.eContents().get(1);
1197 private final RuleCall cTermsVLSFofTermParserRuleCall_0_2_1_0 = (RuleCall)cTermsAssignment_0_2_1.eContents().get(0);
1198 private final Group cGroup_0_2_2 = (Group)cGroup_0_2.eContents().get(2);
1199 private final Keyword cCommaKeyword_0_2_2_0 = (Keyword)cGroup_0_2_2.eContents().get(0);
1200 private final Assignment cTermsAssignment_0_2_2_1 = (Assignment)cGroup_0_2_2.eContents().get(1);
1201 private final RuleCall cTermsVLSFofTermParserRuleCall_0_2_2_1_0 = (RuleCall)cTermsAssignment_0_2_2_1.eContents().get(0);
1202 private final Keyword cRightParenthesisKeyword_0_2_3 = (Keyword)cGroup_0_2.eContents().get(3);
1203 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
1204 private final Action cVLSLessAction_1_0 = (Action)cGroup_1.eContents().get(0);
1205 private final Assignment cNameAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
1206 private final Keyword cNameLessKeyword_1_1_0 = (Keyword)cNameAssignment_1_1.eContents().get(0);
1207 private final Keyword cLeftParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
1208 private final Assignment cTermsAssignment_1_3 = (Assignment)cGroup_1.eContents().get(3);
1209 private final RuleCall cTermsVLSFofTermParserRuleCall_1_3_0 = (RuleCall)cTermsAssignment_1_3.eContents().get(0);
1210 private final Keyword cCommaKeyword_1_4 = (Keyword)cGroup_1.eContents().get(4);
1211 private final Assignment cTermsAssignment_1_5 = (Assignment)cGroup_1.eContents().get(5);
1212 private final RuleCall cTermsVLSFofTermParserRuleCall_1_5_0 = (RuleCall)cTermsAssignment_1_5.eContents().get(0);
1213 private final Keyword cRightParenthesisKeyword_1_6 = (Keyword)cGroup_1.eContents().get(6);
1214
1215 //VLSAtomicFunction VLSTerm:
1216 // {VLSFunction} constant=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole) ('(' terms+=VLSFofTerm
1217 // (',' terms+=VLSFofTerm)* ')') | {VLSLess} name='$less' '(' terms+=VLSFofTerm ',' terms+=VLSFofTerm ')';
1218 @Override public ParserRule getRule() { return rule; }
1219
1220 //{VLSFunction} constant=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole) ('(' terms+=VLSFofTerm
1221 //(',' terms+=VLSFofTerm)* ')') | {VLSLess} name='$less' '(' terms+=VLSFofTerm ',' terms+=VLSFofTerm ')'
1222 public Alternatives getAlternatives() { return cAlternatives; }
1223
1224 //{VLSFunction} constant=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole) ('(' terms+=VLSFofTerm
1225 //(',' terms+=VLSFofTerm)* ')')
1226 public Group getGroup_0() { return cGroup_0; }
1227
1228 //{VLSFunction}
1229 public Action getVLSFunctionAction_0_0() { return cVLSFunctionAction_0_0; }
1230
1231 //constant=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole)
1232 public Assignment getConstantAssignment_0_1() { return cConstantAssignment_0_1; }
1233
1234 //(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole)
1235 public Alternatives getConstantAlternatives_0_1_0() { return cConstantAlternatives_0_1_0; }
1236
1237 //LOWER_WORD_ID
1238 public RuleCall getConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0() { return cConstantLOWER_WORD_IDTerminalRuleCall_0_1_0_0; }
1239
1240 //SINGLE_QUOTE
1241 public RuleCall getConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1() { return cConstantSINGLE_QUOTETerminalRuleCall_0_1_0_1; }
1242
1243 //DOLLAR_ID
1244 public RuleCall getConstantDOLLAR_IDTerminalRuleCall_0_1_0_2() { return cConstantDOLLAR_IDTerminalRuleCall_0_1_0_2; }
1245
1246 //DOUBLE_DOLLAR_ID
1247 public RuleCall getConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3() { return cConstantDOUBLE_DOLLAR_IDTerminalRuleCall_0_1_0_3; }
1248
1249 //VLSRole
1250 public RuleCall getConstantVLSRoleParserRuleCall_0_1_0_4() { return cConstantVLSRoleParserRuleCall_0_1_0_4; }
1251
1252 //'(' terms+=VLSFofTerm (',' terms+=VLSFofTerm)* ')'
1253 public Group getGroup_0_2() { return cGroup_0_2; }
1254
1255 //'('
1256 public Keyword getLeftParenthesisKeyword_0_2_0() { return cLeftParenthesisKeyword_0_2_0; }
1257
1258 //terms+=VLSFofTerm
1259 public Assignment getTermsAssignment_0_2_1() { return cTermsAssignment_0_2_1; }
1260
1261 //VLSFofTerm
1262 public RuleCall getTermsVLSFofTermParserRuleCall_0_2_1_0() { return cTermsVLSFofTermParserRuleCall_0_2_1_0; }
1263
1264 //(',' terms+=VLSFofTerm)*
1265 public Group getGroup_0_2_2() { return cGroup_0_2_2; }
1266
1267 //','
1268 public Keyword getCommaKeyword_0_2_2_0() { return cCommaKeyword_0_2_2_0; }
1269
1270 //terms+=VLSFofTerm
1271 public Assignment getTermsAssignment_0_2_2_1() { return cTermsAssignment_0_2_2_1; }
1272
1273 //VLSFofTerm
1274 public RuleCall getTermsVLSFofTermParserRuleCall_0_2_2_1_0() { return cTermsVLSFofTermParserRuleCall_0_2_2_1_0; }
1275
1276 //')'
1277 public Keyword getRightParenthesisKeyword_0_2_3() { return cRightParenthesisKeyword_0_2_3; }
1278
1279 //{VLSLess} name='$less' '(' terms+=VLSFofTerm ',' terms+=VLSFofTerm ')'
1280 public Group getGroup_1() { return cGroup_1; }
1281
1282 //{VLSLess}
1283 public Action getVLSLessAction_1_0() { return cVLSLessAction_1_0; }
1284
1285 //name='$less'
1286 public Assignment getNameAssignment_1_1() { return cNameAssignment_1_1; }
1287
1288 //'$less'
1289 public Keyword getNameLessKeyword_1_1_0() { return cNameLessKeyword_1_1_0; }
1290
1291 //'('
1292 public Keyword getLeftParenthesisKeyword_1_2() { return cLeftParenthesisKeyword_1_2; }
1293
1294 //terms+=VLSFofTerm
1295 public Assignment getTermsAssignment_1_3() { return cTermsAssignment_1_3; }
1296
1297 //VLSFofTerm
1298 public RuleCall getTermsVLSFofTermParserRuleCall_1_3_0() { return cTermsVLSFofTermParserRuleCall_1_3_0; }
1299
1300 //','
1301 public Keyword getCommaKeyword_1_4() { return cCommaKeyword_1_4; }
1302
1303 //terms+=VLSFofTerm
1304 public Assignment getTermsAssignment_1_5() { return cTermsAssignment_1_5; }
1305
1306 //VLSFofTerm
1307 public RuleCall getTermsVLSFofTermParserRuleCall_1_5_0() { return cTermsVLSFofTermParserRuleCall_1_5_0; }
1308
1309 //')'
1310 public Keyword getRightParenthesisKeyword_1_6() { return cRightParenthesisKeyword_1_6; }
1311 }
1312 public class VLSVariableElements extends AbstractParserRuleElementFinder {
1313 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSVariable");
1314 private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
1315 private final RuleCall cNameUPPER_WORD_IDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
1316
1317 //VLSVariable:
1318 // name=UPPER_WORD_ID;
1319 @Override public ParserRule getRule() { return rule; }
1320
1321 //name=UPPER_WORD_ID
1322 public Assignment getNameAssignment() { return cNameAssignment; }
1323
1324 //UPPER_WORD_ID
1325 public RuleCall getNameUPPER_WORD_IDTerminalRuleCall_0() { return cNameUPPER_WORD_IDTerminalRuleCall_0; }
1326 }
1327 public class VLSFofTermElements extends AbstractParserRuleElementFinder {
1328 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofTerm");
1329 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1330 private final RuleCall cVLSVariableParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
1331 private final RuleCall cVLSFunctionFofParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
1332 private final RuleCall cVLSDefinedTermParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
1333
1334 //VLSFofTerm VLSTerm:
1335 // VLSVariable | VLSFunctionFof | VLSDefinedTerm;
1336 @Override public ParserRule getRule() { return rule; }
1337
1338 ////(VLSVariable | VLSFunction | VLSTffConditional | VLSTffLet | VLSTffTuple)
1339 //VLSVariable | VLSFunctionFof | VLSDefinedTerm
1340 public Alternatives getAlternatives() { return cAlternatives; }
1341
1342 //VLSVariable
1343 public RuleCall getVLSVariableParserRuleCall_0() { return cVLSVariableParserRuleCall_0; }
1344
1345 //VLSFunctionFof
1346 public RuleCall getVLSFunctionFofParserRuleCall_1() { return cVLSFunctionFofParserRuleCall_1; }
1347
1348 //VLSDefinedTerm
1349 public RuleCall getVLSDefinedTermParserRuleCall_2() { return cVLSDefinedTermParserRuleCall_2; }
1350 }
1351 public class VLSFunctionFofElements extends AbstractParserRuleElementFinder {
1352 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFunctionFof");
1353 private final Group cGroup = (Group)rule.eContents().get(1);
1354 private final Assignment cFunctorAssignment_0 = (Assignment)cGroup.eContents().get(0);
1355 private final Alternatives cFunctorAlternatives_0_0 = (Alternatives)cFunctorAssignment_0.eContents().get(0);
1356 private final RuleCall cFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0 = (RuleCall)cFunctorAlternatives_0_0.eContents().get(0);
1357 private final RuleCall cFunctorSINGLE_QUOTETerminalRuleCall_0_0_1 = (RuleCall)cFunctorAlternatives_0_0.eContents().get(1);
1358 private final RuleCall cFunctorDOLLAR_IDTerminalRuleCall_0_0_2 = (RuleCall)cFunctorAlternatives_0_0.eContents().get(2);
1359 private final RuleCall cFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3 = (RuleCall)cFunctorAlternatives_0_0.eContents().get(3);
1360 private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
1361 private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
1362 private final Assignment cTermsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
1363 private final RuleCall cTermsVLSFofTermParserRuleCall_1_1_0 = (RuleCall)cTermsAssignment_1_1.eContents().get(0);
1364 private final Group cGroup_1_2 = (Group)cGroup_1.eContents().get(2);
1365 private final Keyword cCommaKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0);
1366 private final Assignment cTermsAssignment_1_2_1 = (Assignment)cGroup_1_2.eContents().get(1);
1367 private final RuleCall cTermsVLSFofTermParserRuleCall_1_2_1_0 = (RuleCall)cTermsAssignment_1_2_1.eContents().get(0);
1368 private final Keyword cRightParenthesisKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3);
1369
1370 //VLSFunctionFof:
1371 // functor=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID) ('(' terms+=VLSFofTerm (',' terms+=VLSFofTerm)*
1372 // ')')?;
1373 @Override public ParserRule getRule() { return rule; }
1374
1375 ////? on next line causes warning
1376 ////TODO might need replace DOLLAR_ID with enum rule
1377 //functor=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID) ('(' terms+=VLSFofTerm (',' terms+=VLSFofTerm)*
1378 //')')?
1379 public Group getGroup() { return cGroup; }
1380
1381 ////? on next line causes warning
1382 ////TODO might need replace DOLLAR_ID with enum rule
1383 //functor=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID)
1384 public Assignment getFunctorAssignment_0() { return cFunctorAssignment_0; }
1385
1386 //(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID)
1387 public Alternatives getFunctorAlternatives_0_0() { return cFunctorAlternatives_0_0; }
1388
1389 //LOWER_WORD_ID
1390 public RuleCall getFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0() { return cFunctorLOWER_WORD_IDTerminalRuleCall_0_0_0; }
1391
1392 //SINGLE_QUOTE
1393 public RuleCall getFunctorSINGLE_QUOTETerminalRuleCall_0_0_1() { return cFunctorSINGLE_QUOTETerminalRuleCall_0_0_1; }
1394
1395 //DOLLAR_ID
1396 public RuleCall getFunctorDOLLAR_IDTerminalRuleCall_0_0_2() { return cFunctorDOLLAR_IDTerminalRuleCall_0_0_2; }
1397
1398 //DOUBLE_DOLLAR_ID
1399 public RuleCall getFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3() { return cFunctorDOUBLE_DOLLAR_IDTerminalRuleCall_0_0_3; }
1400
1401 //('(' terms+=VLSFofTerm (',' terms+=VLSFofTerm)* ')')?
1402 public Group getGroup_1() { return cGroup_1; }
1403
1404 //'('
1405 public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; }
1406
1407 //terms+=VLSFofTerm
1408 public Assignment getTermsAssignment_1_1() { return cTermsAssignment_1_1; }
1409
1410 //VLSFofTerm
1411 public RuleCall getTermsVLSFofTermParserRuleCall_1_1_0() { return cTermsVLSFofTermParserRuleCall_1_1_0; }
1412
1413 //(',' terms+=VLSFofTerm)*
1414 public Group getGroup_1_2() { return cGroup_1_2; }
1415
1416 //','
1417 public Keyword getCommaKeyword_1_2_0() { return cCommaKeyword_1_2_0; }
1418
1419 //terms+=VLSFofTerm
1420 public Assignment getTermsAssignment_1_2_1() { return cTermsAssignment_1_2_1; }
1421
1422 //VLSFofTerm
1423 public RuleCall getTermsVLSFofTermParserRuleCall_1_2_1_0() { return cTermsVLSFofTermParserRuleCall_1_2_1_0; }
1424
1425 //')'
1426 public Keyword getRightParenthesisKeyword_1_3() { return cRightParenthesisKeyword_1_3; }
1427 }
1428 public class VLSDefinedTermElements extends AbstractParserRuleElementFinder {
1429 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSDefinedTerm");
1430 private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
1431 private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
1432 private final Action cVLSIntAction_0_0 = (Action)cGroup_0.eContents().get(0);
1433 private final Assignment cValueAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
1434 private final RuleCall cValueSIGNED_LITERALTerminalRuleCall_0_1_0 = (RuleCall)cValueAssignment_0_1.eContents().get(0);
1435 private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
1436 private final Action cVLSRealAction_1_0 = (Action)cGroup_1.eContents().get(0);
1437 private final Assignment cValueAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
1438 private final RuleCall cValueSIGNED_REAL_IDTerminalRuleCall_1_1_0 = (RuleCall)cValueAssignment_1_1.eContents().get(0);
1439 private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
1440 private final Action cVLSRationalAction_2_0 = (Action)cGroup_2.eContents().get(0);
1441 private final Assignment cValueAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
1442 private final RuleCall cValueSIGNED_RAT_IDTerminalRuleCall_2_1_0 = (RuleCall)cValueAssignment_2_1.eContents().get(0);
1443 private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
1444 private final Action cVLSDoubleQuoteAction_3_0 = (Action)cGroup_3.eContents().get(0);
1445 private final Assignment cValueAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
1446 private final RuleCall cValueDOUBLE_QUOTETerminalRuleCall_3_1_0 = (RuleCall)cValueAssignment_3_1.eContents().get(0);
1447
1448 //VLSDefinedTerm:
1449 // {VLSInt} value=SIGNED_LITERAL | {VLSReal} value=SIGNED_REAL_ID | {VLSRational} value=SIGNED_RAT_ID | {VLSDoubleQuote}
1450 // value=DOUBLE_QUOTE;
1451 @Override public ParserRule getRule() { return rule; }
1452
1453 //{VLSInt} value=SIGNED_LITERAL | {VLSReal} value=SIGNED_REAL_ID | {VLSRational} value=SIGNED_RAT_ID | {VLSDoubleQuote}
1454 //value=DOUBLE_QUOTE
1455 public Alternatives getAlternatives() { return cAlternatives; }
1456
1457 //{VLSInt} value=SIGNED_LITERAL
1458 public Group getGroup_0() { return cGroup_0; }
1459
1460 //{VLSInt}
1461 public Action getVLSIntAction_0_0() { return cVLSIntAction_0_0; }
1462
1463 //value=SIGNED_LITERAL
1464 public Assignment getValueAssignment_0_1() { return cValueAssignment_0_1; }
1465
1466 //SIGNED_LITERAL
1467 public RuleCall getValueSIGNED_LITERALTerminalRuleCall_0_1_0() { return cValueSIGNED_LITERALTerminalRuleCall_0_1_0; }
1468
1469 //{VLSReal} value=SIGNED_REAL_ID
1470 public Group getGroup_1() { return cGroup_1; }
1471
1472 //{VLSReal}
1473 public Action getVLSRealAction_1_0() { return cVLSRealAction_1_0; }
1474
1475 //value=SIGNED_REAL_ID
1476 public Assignment getValueAssignment_1_1() { return cValueAssignment_1_1; }
1477
1478 //SIGNED_REAL_ID
1479 public RuleCall getValueSIGNED_REAL_IDTerminalRuleCall_1_1_0() { return cValueSIGNED_REAL_IDTerminalRuleCall_1_1_0; }
1480
1481 //{VLSRational} value=SIGNED_RAT_ID
1482 public Group getGroup_2() { return cGroup_2; }
1483
1484 //{VLSRational}
1485 public Action getVLSRationalAction_2_0() { return cVLSRationalAction_2_0; }
1486
1487 //value=SIGNED_RAT_ID
1488 public Assignment getValueAssignment_2_1() { return cValueAssignment_2_1; }
1489
1490 //SIGNED_RAT_ID
1491 public RuleCall getValueSIGNED_RAT_IDTerminalRuleCall_2_1_0() { return cValueSIGNED_RAT_IDTerminalRuleCall_2_1_0; }
1492
1493 //{VLSDoubleQuote} value=DOUBLE_QUOTE
1494 public Group getGroup_3() { return cGroup_3; }
1495
1496 //{VLSDoubleQuote}
1497 public Action getVLSDoubleQuoteAction_3_0() { return cVLSDoubleQuoteAction_3_0; }
1498
1499 //value=DOUBLE_QUOTE
1500 public Assignment getValueAssignment_3_1() { return cValueAssignment_3_1; }
1501
1502 //DOUBLE_QUOTE
1503 public RuleCall getValueDOUBLE_QUOTETerminalRuleCall_3_1_0() { return cValueDOUBLE_QUOTETerminalRuleCall_3_1_0; }
1504 }
1505
1506
1507 private final VampireModelElements pVampireModel;
1508 private final TerminalRule tALPHA_NUMERIC;
1509 private final TerminalRule tUPPER_WORD_ID;
1510 private final TerminalRule tLOWER_WORD_ID;
1511 private final TerminalRule tDOUBLE_QUOTE;
1512 private final TerminalRule tSINGLE_QUOTE;
1513 private final TerminalRule tSIGN;
1514 private final TerminalRule tDOLLAR_ID;
1515 private final TerminalRule tDOUBLE_DOLLAR_ID;
1516 private final TerminalRule tLITERAL;
1517 private final TerminalRule tSIGNED_LITERAL;
1518 private final TerminalRule tUNSIGNED_REAL_FRAC_ID;
1519 private final TerminalRule tUNSIGNED_REAL_EXP_ID;
1520 private final TerminalRule tSIGNED_REAL_ID;
1521 private final TerminalRule tUNSIGNED_RAT_ID;
1522 private final TerminalRule tSIGNED_RAT_ID;
1523 private final TerminalRule tANY_OTHER;
1524 private final TerminalRule tSINGLE_COMMENT;
1525 private final VLSIncludeElements pVLSInclude;
1526 private final VLSNameElements pVLSName;
1527 private final VLSCommentElements pVLSComment;
1528 private final VLSFofFormulaElements pVLSFofFormula;
1529 private final VLSRoleElements pVLSRole;
1530 private final VLSAxiomElements pVLSAxiom;
1531 private final VLSConjectureElements pVLSConjecture;
1532 private final VLSHypothesisElements pVLSHypothesis;
1533 private final VLSDefinitionElements pVLSDefinition;
1534 private final VLSAssumptionElements pVLSAssumption;
1535 private final VLSLemmaElements pVLSLemma;
1536 private final VLSTheoremElements pVLSTheorem;
1537 private final VLSCorollaryElements pVLSCorollary;
1538 private final VLSNegated_ConjectureElements pVLSNegated_Conjecture;
1539 private final VLSPlainElements pVLSPlain;
1540 private final VLSTypeElements pVLSType;
1541 private final VLSFi_DomainElements pVLSFi_Domain;
1542 private final VLSFi_FunctorsElements pVLSFi_Functors;
1543 private final VLSFi_PredicatesElements pVLSFi_Predicates;
1544 private final VLSUnknownElements pVLSUnknown;
1545 private final VLSAnnotationElements pVLSAnnotation;
1546 private final VLSAnnotationTermsElements pVLSAnnotationTerms;
1547 private final VLSTermElements pVLSTerm;
1548 private final VLSBinaryElements pVLSBinary;
1549 private final VLSUnitaryFormulaElements pVLSUnitaryFormula;
1550 private final VLSUniversalQuantifierElements pVLSUniversalQuantifier;
1551 private final VLSExistentialQuantifierElements pVLSExistentialQuantifier;
1552 private final VLSUnaryNegationElements pVLSUnaryNegation;
1553 private final VLSUnaryInfixElements pVLSUnaryInfix;
1554 private final VLSAtomicElements pVLSAtomic;
1555 private final VLSAtomicConstantElements pVLSAtomicConstant;
1556 private final VLSAtomicFunctionElements pVLSAtomicFunction;
1557 private final VLSVariableElements pVLSVariable;
1558 private final VLSFofTermElements pVLSFofTerm;
1559 private final VLSFunctionFofElements pVLSFunctionFof;
1560 private final VLSDefinedTermElements pVLSDefinedTerm;
1561
1562 private final Grammar grammar;
1563
1564 private final TerminalsGrammarAccess gaTerminals;
1565
1566 @Inject
1567 public VampireLanguageGrammarAccess(GrammarProvider grammarProvider,
1568 TerminalsGrammarAccess gaTerminals) {
1569 this.grammar = internalFindGrammar(grammarProvider);
1570 this.gaTerminals = gaTerminals;
1571 this.pVampireModel = new VampireModelElements();
1572 this.tALPHA_NUMERIC = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.ALPHA_NUMERIC");
1573 this.tUPPER_WORD_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.UPPER_WORD_ID");
1574 this.tLOWER_WORD_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.LOWER_WORD_ID");
1575 this.tDOUBLE_QUOTE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_QUOTE");
1576 this.tSINGLE_QUOTE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_QUOTE");
1577 this.tSIGN = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGN");
1578 this.tDOLLAR_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOLLAR_ID");
1579 this.tDOUBLE_DOLLAR_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.DOUBLE_DOLLAR_ID");
1580 this.tLITERAL = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.LITERAL");
1581 this.tSIGNED_LITERAL = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_LITERAL");
1582 this.tUNSIGNED_REAL_FRAC_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.UNSIGNED_REAL_FRAC_ID");
1583 this.tUNSIGNED_REAL_EXP_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.UNSIGNED_REAL_EXP_ID");
1584 this.tSIGNED_REAL_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_REAL_ID");
1585 this.tUNSIGNED_RAT_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.UNSIGNED_RAT_ID");
1586 this.tSIGNED_RAT_ID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.SIGNED_RAT_ID");
1587 this.tANY_OTHER = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.ANY_OTHER");
1588 this.tSINGLE_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.SINGLE_COMMENT");
1589 this.pVLSInclude = new VLSIncludeElements();
1590 this.pVLSName = new VLSNameElements();
1591 this.pVLSComment = new VLSCommentElements();
1592 this.pVLSFofFormula = new VLSFofFormulaElements();
1593 this.pVLSRole = new VLSRoleElements();
1594 this.pVLSAxiom = new VLSAxiomElements();
1595 this.pVLSConjecture = new VLSConjectureElements();
1596 this.pVLSHypothesis = new VLSHypothesisElements();
1597 this.pVLSDefinition = new VLSDefinitionElements();
1598 this.pVLSAssumption = new VLSAssumptionElements();
1599 this.pVLSLemma = new VLSLemmaElements();
1600 this.pVLSTheorem = new VLSTheoremElements();
1601 this.pVLSCorollary = new VLSCorollaryElements();
1602 this.pVLSNegated_Conjecture = new VLSNegated_ConjectureElements();
1603 this.pVLSPlain = new VLSPlainElements();
1604 this.pVLSType = new VLSTypeElements();
1605 this.pVLSFi_Domain = new VLSFi_DomainElements();
1606 this.pVLSFi_Functors = new VLSFi_FunctorsElements();
1607 this.pVLSFi_Predicates = new VLSFi_PredicatesElements();
1608 this.pVLSUnknown = new VLSUnknownElements();
1609 this.pVLSAnnotation = new VLSAnnotationElements();
1610 this.pVLSAnnotationTerms = new VLSAnnotationTermsElements();
1611 this.pVLSTerm = new VLSTermElements();
1612 this.pVLSBinary = new VLSBinaryElements();
1613 this.pVLSUnitaryFormula = new VLSUnitaryFormulaElements();
1614 this.pVLSUniversalQuantifier = new VLSUniversalQuantifierElements();
1615 this.pVLSExistentialQuantifier = new VLSExistentialQuantifierElements();
1616 this.pVLSUnaryNegation = new VLSUnaryNegationElements();
1617 this.pVLSUnaryInfix = new VLSUnaryInfixElements();
1618 this.pVLSAtomic = new VLSAtomicElements();
1619 this.pVLSAtomicConstant = new VLSAtomicConstantElements();
1620 this.pVLSAtomicFunction = new VLSAtomicFunctionElements();
1621 this.pVLSVariable = new VLSVariableElements();
1622 this.pVLSFofTerm = new VLSFofTermElements();
1623 this.pVLSFunctionFof = new VLSFunctionFofElements();
1624 this.pVLSDefinedTerm = new VLSDefinedTermElements();
1625 }
1626
1627 protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
1628 Grammar grammar = grammarProvider.getGrammar(this);
1629 while (grammar != null) {
1630 if ("ca.mcgill.ecse.dslreasoner.VampireLanguage".equals(grammar.getName())) {
1631 return grammar;
1632 }
1633 List<Grammar> grammars = grammar.getUsedGrammars();
1634 if (!grammars.isEmpty()) {
1635 grammar = grammars.iterator().next();
1636 } else {
1637 return null;
1638 }
1639 }
1640 return grammar;
1641 }
1642
1643 @Override
1644 public Grammar getGrammar() {
1645 return grammar;
1646 }
1647
1648
1649 public TerminalsGrammarAccess getTerminalsGrammarAccess() {
1650 return gaTerminals;
1651 }
1652
1653
1654 ////@@@@@@@@@@@
1655 ////2 things TODO:
1656 ////1. fix anotations (ln77)
1657 ////2. can only use declared variables in formula (ln 158)
1658 ////@@@@@@@@@@@
1659 //VampireModel:
1660 // (includes+=VLSInclude | comments+=VLSComment | formulas+=VLSFofFormula)*;
1661 public VampireModelElements getVampireModelAccess() {
1662 return pVampireModel;
1663 }
1664
1665 public ParserRule getVampireModelRule() {
1666 return getVampireModelAccess().getRule();
1667 }
1668
1669 //terminal ALPHA_NUMERIC:
1670 // 'a'..'z' | 'A'..'Z' | '0'..'9' | '_';
1671 public TerminalRule getALPHA_NUMERICRule() {
1672 return tALPHA_NUMERIC;
1673 }
1674
1675 //terminal UPPER_WORD_ID:
1676 // 'A'..'Z' ALPHA_NUMERIC*;
1677 public TerminalRule getUPPER_WORD_IDRule() {
1678 return tUPPER_WORD_ID;
1679 }
1680
1681 //terminal LOWER_WORD_ID:
1682 // 'a'..'z' ALPHA_NUMERIC*;
1683 public TerminalRule getLOWER_WORD_IDRule() {
1684 return tLOWER_WORD_ID;
1685 }
1686
1687 //terminal DOUBLE_QUOTE:
1688 // '"' ('\\' ('"' | '\\') | !('\\' | '"'))* '"';
1689 public TerminalRule getDOUBLE_QUOTERule() {
1690 return tDOUBLE_QUOTE;
1691 }
1692
1693 //terminal SINGLE_QUOTE:
1694 // "'" ('\\' ("'" | '\\') | !('\\' | "'"))+ "'";
1695 public TerminalRule getSINGLE_QUOTERule() {
1696 return tSINGLE_QUOTE;
1697 }
1698
1699 //terminal SIGN:
1700 // '+' | '-';
1701 public TerminalRule getSIGNRule() {
1702 return tSIGN;
1703 }
1704
1705 //terminal DOLLAR_ID:
1706 // '$' LOWER_WORD_ID;
1707 public TerminalRule getDOLLAR_IDRule() {
1708 return tDOLLAR_ID;
1709 }
1710
1711 //terminal DOUBLE_DOLLAR_ID:
1712 // '$$' LOWER_WORD_ID;
1713 public TerminalRule getDOUBLE_DOLLAR_IDRule() {
1714 return tDOUBLE_DOLLAR_ID;
1715 }
1716
1717 //terminal LITERAL:
1718 // '0' | '1'..'9' INT?;
1719 public TerminalRule getLITERALRule() {
1720 return tLITERAL;
1721 }
1722
1723 //terminal SIGNED_LITERAL:
1724 // SIGN* LITERAL;
1725 public TerminalRule getSIGNED_LITERALRule() {
1726 return tSIGNED_LITERAL;
1727 }
1728
1729 //terminal UNSIGNED_REAL_FRAC_ID:
1730 // LITERAL '.' INT;
1731 public TerminalRule getUNSIGNED_REAL_FRAC_IDRule() {
1732 return tUNSIGNED_REAL_FRAC_ID;
1733 }
1734
1735 //terminal UNSIGNED_REAL_EXP_ID:
1736 // (LITERAL | UNSIGNED_REAL_FRAC_ID) 'Ee' SIGN* INT;
1737 public TerminalRule getUNSIGNED_REAL_EXP_IDRule() {
1738 return tUNSIGNED_REAL_EXP_ID;
1739 }
1740
1741 //terminal SIGNED_REAL_ID:
1742 // SIGN* (UNSIGNED_REAL_FRAC_ID | UNSIGNED_REAL_EXP_ID);
1743 public TerminalRule getSIGNED_REAL_IDRule() {
1744 return tSIGNED_REAL_ID;
1745 }
1746
1747 //terminal UNSIGNED_RAT_ID:
1748 // LITERAL '/' '1'..'9' INT?;
1749 public TerminalRule getUNSIGNED_RAT_IDRule() {
1750 return tUNSIGNED_RAT_ID;
1751 }
1752
1753 //terminal SIGNED_RAT_ID:
1754 // SIGN* UNSIGNED_RAT_ID;
1755 public TerminalRule getSIGNED_RAT_IDRule() {
1756 return tSIGNED_RAT_ID;
1757 }
1758
1759 //terminal ANY_OTHER:
1760 // '%' !('\n' | '\r')* '\r';
1761 public TerminalRule getANY_OTHERRule() {
1762 return tANY_OTHER;
1763 }
1764
1765 //terminal SINGLE_COMMENT:
1766 // ANY_OTHER;
1767 public TerminalRule getSINGLE_COMMENTRule() {
1768 return tSINGLE_COMMENT;
1769 }
1770
1771 ////terminal ID: ( !('('|')'|'\r'|'\n') )+ ;
1772 ////////////////////////////////////
1773 //// VLS types
1774 ////////////////////////////////////
1775 //// <includes>
1776 //VLSInclude:
1777 // 'include(' fileName=SINGLE_QUOTE (',[' names+=VLSName (',' names+=VLSName)* ']')?;
1778 public VLSIncludeElements getVLSIncludeAccess() {
1779 return pVLSInclude;
1780 }
1781
1782 public ParserRule getVLSIncludeRule() {
1783 return getVLSIncludeAccess().getRule();
1784 }
1785
1786 //VLSName:
1787 // name=(LOWER_WORD_ID | SINGLE_QUOTE | LITERAL | SIGNED_LITERAL);
1788 public VLSNameElements getVLSNameAccess() {
1789 return pVLSName;
1790 }
1791
1792 public ParserRule getVLSNameRule() {
1793 return getVLSNameAccess().getRule();
1794 }
1795
1796 //// <comments>
1797 //VLSComment:
1798 // comment=SINGLE_COMMENT
1799 // //need to add a new line at the end of the file for the case where the last line is a comment
1800 //;
1801 public VLSCommentElements getVLSCommentAccess() {
1802 return pVLSComment;
1803 }
1804
1805 public ParserRule getVLSCommentRule() {
1806 return getVLSCommentAccess().getRule();
1807 }
1808
1809 ////VLSConstantDeclaration: name = (LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID );
1810 //// <FOF formulas>
1811 //VLSFofFormula:
1812 // 'fof' '(' name=(LOWER_WORD_ID | SIGNED_LITERAL | SINGLE_QUOTE) ',' fofRole=VLSRole ',' fofFormula=VLSTerm (','
1813 // annotations=VLSAnnotation)? ')' '.';
1814 public VLSFofFormulaElements getVLSFofFormulaAccess() {
1815 return pVLSFofFormula;
1816 }
1817
1818 public ParserRule getVLSFofFormulaRule() {
1819 return getVLSFofFormulaAccess().getRule();
1820 }
1821
1822 ///*
1823 ////NAME
1824 //VLSName:
1825 // //(atomic_Word = Atomic_Word | integer = Integer | single_quote_word = Single_Quote_Word)
1826 // name = (LOWER_WORD_ID | SIGNED_INT_ID | SINGLE_QUOTE)
1827 //;
1828 //*/ //<ROLE>
1829 //VLSRole:
1830 // VLSAxiom | VLSConjecture | VLSHypothesis | VLSDefinition | VLSAssumption | VLSLemma | VLSTheorem | VLSCorollary |
1831 // VLSNegated_Conjecture | VLSPlain | VLSType | VLSFi_Domain | VLSFi_Functors | VLSFi_Predicates | VLSUnknown;
1832 public VLSRoleElements getVLSRoleAccess() {
1833 return pVLSRole;
1834 }
1835
1836 public ParserRule getVLSRoleRule() {
1837 return getVLSRoleAccess().getRule();
1838 }
1839
1840 //VLSAxiom:
1841 // "axiom";
1842 public VLSAxiomElements getVLSAxiomAccess() {
1843 return pVLSAxiom;
1844 }
1845
1846 public ParserRule getVLSAxiomRule() {
1847 return getVLSAxiomAccess().getRule();
1848 }
1849
1850 //VLSConjecture:
1851 // "conjecture";
1852 public VLSConjectureElements getVLSConjectureAccess() {
1853 return pVLSConjecture;
1854 }
1855
1856 public ParserRule getVLSConjectureRule() {
1857 return getVLSConjectureAccess().getRule();
1858 }
1859
1860 //VLSHypothesis:
1861 // "hypothesis";
1862 public VLSHypothesisElements getVLSHypothesisAccess() {
1863 return pVLSHypothesis;
1864 }
1865
1866 public ParserRule getVLSHypothesisRule() {
1867 return getVLSHypothesisAccess().getRule();
1868 }
1869
1870 //VLSDefinition:
1871 // "definition";
1872 public VLSDefinitionElements getVLSDefinitionAccess() {
1873 return pVLSDefinition;
1874 }
1875
1876 public ParserRule getVLSDefinitionRule() {
1877 return getVLSDefinitionAccess().getRule();
1878 }
1879
1880 //VLSAssumption:
1881 // "assumption";
1882 public VLSAssumptionElements getVLSAssumptionAccess() {
1883 return pVLSAssumption;
1884 }
1885
1886 public ParserRule getVLSAssumptionRule() {
1887 return getVLSAssumptionAccess().getRule();
1888 }
1889
1890 //VLSLemma:
1891 // "lemma";
1892 public VLSLemmaElements getVLSLemmaAccess() {
1893 return pVLSLemma;
1894 }
1895
1896 public ParserRule getVLSLemmaRule() {
1897 return getVLSLemmaAccess().getRule();
1898 }
1899
1900 //VLSTheorem:
1901 // "theorem";
1902 public VLSTheoremElements getVLSTheoremAccess() {
1903 return pVLSTheorem;
1904 }
1905
1906 public ParserRule getVLSTheoremRule() {
1907 return getVLSTheoremAccess().getRule();
1908 }
1909
1910 //VLSCorollary:
1911 // "corollary";
1912 public VLSCorollaryElements getVLSCorollaryAccess() {
1913 return pVLSCorollary;
1914 }
1915
1916 public ParserRule getVLSCorollaryRule() {
1917 return getVLSCorollaryAccess().getRule();
1918 }
1919
1920 //VLSNegated_Conjecture:
1921 // "negated_conjecture";
1922 public VLSNegated_ConjectureElements getVLSNegated_ConjectureAccess() {
1923 return pVLSNegated_Conjecture;
1924 }
1925
1926 public ParserRule getVLSNegated_ConjectureRule() {
1927 return getVLSNegated_ConjectureAccess().getRule();
1928 }
1929
1930 //VLSPlain:
1931 // "plain";
1932 public VLSPlainElements getVLSPlainAccess() {
1933 return pVLSPlain;
1934 }
1935
1936 public ParserRule getVLSPlainRule() {
1937 return getVLSPlainAccess().getRule();
1938 }
1939
1940 //VLSType:
1941 // "type";
1942 public VLSTypeElements getVLSTypeAccess() {
1943 return pVLSType;
1944 }
1945
1946 public ParserRule getVLSTypeRule() {
1947 return getVLSTypeAccess().getRule();
1948 }
1949
1950 //VLSFi_Domain:
1951 // "fi_domain";
1952 public VLSFi_DomainElements getVLSFi_DomainAccess() {
1953 return pVLSFi_Domain;
1954 }
1955
1956 public ParserRule getVLSFi_DomainRule() {
1957 return getVLSFi_DomainAccess().getRule();
1958 }
1959
1960 //VLSFi_Functors:
1961 // "fi_functors";
1962 public VLSFi_FunctorsElements getVLSFi_FunctorsAccess() {
1963 return pVLSFi_Functors;
1964 }
1965
1966 public ParserRule getVLSFi_FunctorsRule() {
1967 return getVLSFi_FunctorsAccess().getRule();
1968 }
1969
1970 //VLSFi_Predicates:
1971 // "fi_predicates";
1972 public VLSFi_PredicatesElements getVLSFi_PredicatesAccess() {
1973 return pVLSFi_Predicates;
1974 }
1975
1976 public ParserRule getVLSFi_PredicatesRule() {
1977 return getVLSFi_PredicatesAccess().getRule();
1978 }
1979
1980 //VLSUnknown:
1981 // "unknown";
1982 public VLSUnknownElements getVLSUnknownAccess() {
1983 return pVLSUnknown;
1984 }
1985
1986 public ParserRule getVLSUnknownRule() {
1987 return getVLSUnknownAccess().getRule();
1988 }
1989
1990 //// <ANNOTATION>
1991 //// Not at all based on the website. based on what we think the output will be like
1992 //VLSAnnotation:
1993 // '['? name=(LOWER_WORD_ID | SINGLE_QUOTE | VLSRole)? ('(' followup=VLSAnnotationTerms ')')? ']'?;
1994 public VLSAnnotationElements getVLSAnnotationAccess() {
1995 return pVLSAnnotation;
1996 }
1997
1998 public ParserRule getVLSAnnotationRule() {
1999 return getVLSAnnotationAccess().getRule();
2000 }
2001
2002 //VLSAnnotationTerms VLSAnnotation:
2003 // terms+=VLSAnnotation (',' terms+=VLSAnnotation)*;
2004 public VLSAnnotationTermsElements getVLSAnnotationTermsAccess() {
2005 return pVLSAnnotationTerms;
2006 }
2007
2008 public ParserRule getVLSAnnotationTermsRule() {
2009 return getVLSAnnotationTermsAccess().getRule();
2010 }
2011
2012 ////////////////////////////////////
2013 //// VLS Terms
2014 ////////////////////////////////////
2015 //VLSTerm:
2016 // VLSBinary;
2017 public VLSTermElements getVLSTermAccess() {
2018 return pVLSTerm;
2019 }
2020
2021 public ParserRule getVLSTermRule() {
2022 return getVLSTermAccess().getRule();
2023 }
2024
2025 ////*
2026 ////VLSBinaryFormula
2027 //VLSBinary VLSTerm:
2028 // VLSUnitaryFormula (({VLSEquivalent.left=current} "<=>" | {VLSImplies.left=current} "=>" |
2029 // {VLSRevImplies.left=current} "<=" | {VLSXnor.left=current} "<~>" | {VLSNor.left=current} "~|" |
2030 // {VLSNand.left=current} "~&") right=VLSUnitaryFormula | ({VLSAnd.left=current} '&' right=VLSUnitaryFormula)+
2031 // | ({VLSOr.left=current} '|' right=VLSUnitaryFormula)+)?;
2032 public VLSBinaryElements getVLSBinaryAccess() {
2033 return pVLSBinary;
2034 }
2035
2036 public ParserRule getVLSBinaryRule() {
2037 return getVLSBinaryAccess().getRule();
2038 }
2039
2040 ////VLSUnitaryFormula
2041 //VLSUnitaryFormula VLSTerm:
2042 // VLSUniversalQuantifier | VLSExistentialQuantifier | VLSUnaryNegation | VLSUnaryInfix
2043 // //| VLSEquality
2044 // | '(' VLSTerm ')';
2045 public VLSUnitaryFormulaElements getVLSUnitaryFormulaAccess() {
2046 return pVLSUnitaryFormula;
2047 }
2048
2049 public ParserRule getVLSUnitaryFormulaRule() {
2050 return getVLSUnitaryFormulaAccess().getRule();
2051 }
2052
2053 //VLSUniversalQuantifier VLSTerm:
2054 // {VLSUniversalQuantifier} ("!" '[' variables+=VLSVariable (',' variables+=VLSVariable)* ']' ':')
2055 // operand=VLSUnitaryFormula;
2056 public VLSUniversalQuantifierElements getVLSUniversalQuantifierAccess() {
2057 return pVLSUniversalQuantifier;
2058 }
2059
2060 public ParserRule getVLSUniversalQuantifierRule() {
2061 return getVLSUniversalQuantifierAccess().getRule();
2062 }
2063
2064 //VLSExistentialQuantifier VLSTerm:
2065 // {VLSExistentialQuantifier} ("?" '[' variables+=VLSVariable (',' variables+=VLSVariable)* ']' ':')
2066 // operand=VLSUnitaryFormula;
2067 public VLSExistentialQuantifierElements getVLSExistentialQuantifierAccess() {
2068 return pVLSExistentialQuantifier;
2069 }
2070
2071 public ParserRule getVLSExistentialQuantifierRule() {
2072 return getVLSExistentialQuantifierAccess().getRule();
2073 }
2074
2075 //VLSUnaryNegation VLSTerm:
2076 // {VLSUnaryNegation} '~' operand=VLSUnitaryFormula;
2077 public VLSUnaryNegationElements getVLSUnaryNegationAccess() {
2078 return pVLSUnaryNegation;
2079 }
2080
2081 public ParserRule getVLSUnaryNegationRule() {
2082 return getVLSUnaryNegationAccess().getRule();
2083 }
2084
2085 //VLSUnaryInfix VLSTerm:
2086 // VLSAtomic (({VLSInequality.left=current} "!=" | {VLSEquality.left=current} "=" | {VLSAssignment.left=current} ":=")
2087 // right=VLSAtomic)?;
2088 public VLSUnaryInfixElements getVLSUnaryInfixAccess() {
2089 return pVLSUnaryInfix;
2090 }
2091
2092 public ParserRule getVLSUnaryInfixRule() {
2093 return getVLSUnaryInfixAccess().getRule();
2094 }
2095
2096 ////NOT SUREEEE
2097 ////VLSEquality returns VLSTerm:
2098 //// VLSFofTerm ({VLSEquality.left = current} "=" right = VLSFofTerm)?
2099 ////
2100 ////;
2101 ///*
2102 //enum VLSDefinedFunctor:
2103 // UMINUS='$uminus' | SUM='$sum' | DIFFERENCE='$difference' | PRODUCT='$product' | QUOTIENT='$quotient' |
2104 // QUOTIENT_E='$quotient_e' | QUOTIENT_T='$quotient_t' | QUOTIENT_F='$quotient_f' | REMAINDER_E='$remainder_e' |
2105 // REMAINDER_T='$remainder_t' | REMAINDER_F='$remainder_f' | FLOOR='$floor' | CEILING='$ceiling' |
2106 // TRUNCATE='$truncate' | ROUND='$round' | TO_INT='$to_int' | TO_RAT='$to_rat' | TO_REAL='$to_real'
2107 // ;
2108 //*/ VLSAtomic VLSTerm:
2109 // VLSAtomicConstant | VLSAtomicFunction | VLSVariable
2110 // | VLSDefinedTerm //temporary solution. this is only valid for equality, not for != or :=
2111 // //| VLSEquality
2112 //;
2113 public VLSAtomicElements getVLSAtomicAccess() {
2114 return pVLSAtomic;
2115 }
2116
2117 public ParserRule getVLSAtomicRule() {
2118 return getVLSAtomicAccess().getRule();
2119 }
2120
2121 //VLSAtomicConstant VLSTerm:
2122 // {VLSConstant} name=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole) | {VLSTrue} '$true' |
2123 // {VLSFalse} '$false';
2124 public VLSAtomicConstantElements getVLSAtomicConstantAccess() {
2125 return pVLSAtomicConstant;
2126 }
2127
2128 public ParserRule getVLSAtomicConstantRule() {
2129 return getVLSAtomicConstantAccess().getRule();
2130 }
2131
2132 //VLSAtomicFunction VLSTerm:
2133 // {VLSFunction} constant=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole) ('(' terms+=VLSFofTerm
2134 // (',' terms+=VLSFofTerm)* ')') | {VLSLess} name='$less' '(' terms+=VLSFofTerm ',' terms+=VLSFofTerm ')';
2135 public VLSAtomicFunctionElements getVLSAtomicFunctionAccess() {
2136 return pVLSAtomicFunction;
2137 }
2138
2139 public ParserRule getVLSAtomicFunctionRule() {
2140 return getVLSAtomicFunctionAccess().getRule();
2141 }
2142
2143 //VLSVariable:
2144 // name=UPPER_WORD_ID;
2145 public VLSVariableElements getVLSVariableAccess() {
2146 return pVLSVariable;
2147 }
2148
2149 public ParserRule getVLSVariableRule() {
2150 return getVLSVariableAccess().getRule();
2151 }
2152
2153 //VLSFofTerm VLSTerm:
2154 // VLSVariable | VLSFunctionFof | VLSDefinedTerm;
2155 public VLSFofTermElements getVLSFofTermAccess() {
2156 return pVLSFofTerm;
2157 }
2158
2159 public ParserRule getVLSFofTermRule() {
2160 return getVLSFofTermAccess().getRule();
2161 }
2162
2163 //VLSFunctionFof:
2164 // functor=(LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID) ('(' terms+=VLSFofTerm (',' terms+=VLSFofTerm)*
2165 // ')')?;
2166 public VLSFunctionFofElements getVLSFunctionFofAccess() {
2167 return pVLSFunctionFof;
2168 }
2169
2170 public ParserRule getVLSFunctionFofRule() {
2171 return getVLSFunctionFofAccess().getRule();
2172 }
2173
2174 //VLSDefinedTerm:
2175 // {VLSInt} value=SIGNED_LITERAL | {VLSReal} value=SIGNED_REAL_ID | {VLSRational} value=SIGNED_RAT_ID | {VLSDoubleQuote}
2176 // value=DOUBLE_QUOTE;
2177 public VLSDefinedTermElements getVLSDefinedTermAccess() {
2178 return pVLSDefinedTerm;
2179 }
2180
2181 public ParserRule getVLSDefinedTermRule() {
2182 return getVLSDefinedTermAccess().getRule();
2183 }
2184
2185 //terminal ID:
2186 // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*;
2187 public TerminalRule getIDRule() {
2188 return gaTerminals.getIDRule();
2189 }
2190
2191 //terminal INT returns ecore::EInt:
2192 // '0'..'9'+;
2193 public TerminalRule getINTRule() {
2194 return gaTerminals.getINTRule();
2195 }
2196
2197 //terminal STRING:
2198 // '"' ('\\' . | !('\\' | '"'))* '"' | "'" ('\\' . | !('\\' | "'"))* "'";
2199 public TerminalRule getSTRINGRule() {
2200 return gaTerminals.getSTRINGRule();
2201 }
2202
2203 //terminal ML_COMMENT:
2204 // '/*'->'*/';
2205 public TerminalRule getML_COMMENTRule() {
2206 return gaTerminals.getML_COMMENTRule();
2207 }
2208
2209 //terminal SL_COMMENT:
2210 // '//' !('\n' | '\r')* ('\r'? '\n')?;
2211 public TerminalRule getSL_COMMENTRule() {
2212 return gaTerminals.getSL_COMMENTRule();
2213 }
2214
2215 //terminal WS:
2216 // ' ' | '\t' | '\r' | '\n'+;
2217 public TerminalRule getWSRule() {
2218 return gaTerminals.getWSRule();
2219 }
2220}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/validation/AbstractVampireLanguageValidator.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/validation/AbstractVampireLanguageValidator.java
new file mode 100644
index 00000000..65104ffb
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/validation/AbstractVampireLanguageValidator.java
@@ -0,0 +1,20 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.validation;
5
6import java.util.ArrayList;
7import java.util.List;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
10
11public abstract class AbstractVampireLanguageValidator extends AbstractDeclarativeValidator {
12
13 @Override
14 protected List<EPackage> getEPackages() {
15 List<EPackage> result = new ArrayList<EPackage>();
16 result.add(ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage.eINSTANCE);
17 return result;
18 }
19
20}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAnd.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAnd.java
new file mode 100644
index 00000000..de1ac885
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAnd.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS And</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSAnd()
21 * @model
22 * @generated
23 */
24public interface VLSAnd extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSAnd_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSAnd_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSAnd
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAnnotation.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAnnotation.java
new file mode 100644
index 00000000..94f9f966
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAnnotation.java
@@ -0,0 +1,98 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>VLS Annotation</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getName <em>Name</em>}</li>
20 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getFollowup <em>Followup</em>}</li>
21 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getTerms <em>Terms</em>}</li>
22 * </ul>
23 *
24 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSAnnotation()
25 * @model
26 * @generated
27 */
28public interface VLSAnnotation extends EObject
29{
30 /**
31 * Returns the value of the '<em><b>Name</b></em>' attribute.
32 * <!-- begin-user-doc -->
33 * <p>
34 * If the meaning of the '<em>Name</em>' attribute isn't clear,
35 * there really should be more of a description here...
36 * </p>
37 * <!-- end-user-doc -->
38 * @return the value of the '<em>Name</em>' attribute.
39 * @see #setName(String)
40 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSAnnotation_Name()
41 * @model
42 * @generated
43 */
44 String getName();
45
46 /**
47 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getName <em>Name</em>}' attribute.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param value the new value of the '<em>Name</em>' attribute.
51 * @see #getName()
52 * @generated
53 */
54 void setName(String value);
55
56 /**
57 * Returns the value of the '<em><b>Followup</b></em>' containment reference.
58 * <!-- begin-user-doc -->
59 * <p>
60 * If the meaning of the '<em>Followup</em>' containment reference isn't clear,
61 * there really should be more of a description here...
62 * </p>
63 * <!-- end-user-doc -->
64 * @return the value of the '<em>Followup</em>' containment reference.
65 * @see #setFollowup(VLSAnnotation)
66 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSAnnotation_Followup()
67 * @model containment="true"
68 * @generated
69 */
70 VLSAnnotation getFollowup();
71
72 /**
73 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getFollowup <em>Followup</em>}' containment reference.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @param value the new value of the '<em>Followup</em>' containment reference.
77 * @see #getFollowup()
78 * @generated
79 */
80 void setFollowup(VLSAnnotation value);
81
82 /**
83 * Returns the value of the '<em><b>Terms</b></em>' containment reference list.
84 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation}.
85 * <!-- begin-user-doc -->
86 * <p>
87 * If the meaning of the '<em>Terms</em>' containment reference list isn't clear,
88 * there really should be more of a description here...
89 * </p>
90 * <!-- end-user-doc -->
91 * @return the value of the '<em>Terms</em>' containment reference list.
92 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSAnnotation_Terms()
93 * @model containment="true"
94 * @generated
95 */
96 EList<VLSAnnotation> getTerms();
97
98} // VLSAnnotation
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAssignment.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAssignment.java
new file mode 100644
index 00000000..c73be6d1
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSAssignment.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Assignment</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSAssignment()
21 * @model
22 * @generated
23 */
24public interface VLSAssignment extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSAssignment_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSAssignment_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSAssignment
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSComment.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSComment.java
new file mode 100644
index 00000000..f317edbd
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSComment.java
@@ -0,0 +1,52 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>VLS Comment</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment#getComment <em>Comment</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSComment()
21 * @model
22 * @generated
23 */
24public interface VLSComment extends EObject
25{
26 /**
27 * Returns the value of the '<em><b>Comment</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Comment</em>' attribute isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Comment</em>' attribute.
35 * @see #setComment(String)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSComment_Comment()
37 * @model
38 * @generated
39 */
40 String getComment();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment#getComment <em>Comment</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Comment</em>' attribute.
47 * @see #getComment()
48 * @generated
49 */
50 void setComment(String value);
51
52} // VLSComment
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSConstant.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSConstant.java
new file mode 100644
index 00000000..3e9d1ff2
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSConstant.java
@@ -0,0 +1,51 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Constant</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSConstant()
20 * @model
21 * @generated
22 */
23public interface VLSConstant extends VLSTerm
24{
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Name</em>' attribute isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Name</em>' attribute.
34 * @see #setName(String)
35 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSConstant_Name()
36 * @model
37 * @generated
38 */
39 String getName();
40
41 /**
42 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant#getName <em>Name</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Name</em>' attribute.
46 * @see #getName()
47 * @generated
48 */
49 void setName(String value);
50
51} // VLSConstant
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSDefinedTerm.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSDefinedTerm.java
new file mode 100644
index 00000000..12708167
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSDefinedTerm.java
@@ -0,0 +1,51 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Defined Term</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDefinedTerm#getValue <em>Value</em>}</li>
17 * </ul>
18 *
19 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSDefinedTerm()
20 * @model
21 * @generated
22 */
23public interface VLSDefinedTerm extends VLSTerm
24{
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Value</em>' attribute isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Value</em>' attribute.
34 * @see #setValue(String)
35 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSDefinedTerm_Value()
36 * @model
37 * @generated
38 */
39 String getValue();
40
41 /**
42 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDefinedTerm#getValue <em>Value</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Value</em>' attribute.
46 * @see #getValue()
47 * @generated
48 */
49 void setValue(String value);
50
51} // VLSDefinedTerm
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSDoubleQuote.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSDoubleQuote.java
new file mode 100644
index 00000000..501faf36
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSDoubleQuote.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Double Quote</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSDoubleQuote()
14 * @model
15 * @generated
16 */
17public interface VLSDoubleQuote extends VLSDefinedTerm
18{
19} // VLSDoubleQuote
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSEquality.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSEquality.java
new file mode 100644
index 00000000..aadf2ade
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSEquality.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Equality</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSEquality()
21 * @model
22 * @generated
23 */
24public interface VLSEquality extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSEquality_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSEquality_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSEquality
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSEquivalent.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSEquivalent.java
new file mode 100644
index 00000000..639a9f72
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSEquivalent.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Equivalent</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSEquivalent()
21 * @model
22 * @generated
23 */
24public interface VLSEquivalent extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSEquivalent_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSEquivalent_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSEquivalent
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSExistentialQuantifier.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSExistentialQuantifier.java
new file mode 100644
index 00000000..929385ac
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSExistentialQuantifier.java
@@ -0,0 +1,69 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>VLS Existential Quantifier</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier#getVariables <em>Variables</em>}</li>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier#getOperand <em>Operand</em>}</li>
19 * </ul>
20 *
21 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSExistentialQuantifier()
22 * @model
23 * @generated
24 */
25public interface VLSExistentialQuantifier extends VLSTerm
26{
27 /**
28 * Returns the value of the '<em><b>Variables</b></em>' containment reference list.
29 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable}.
30 * <!-- begin-user-doc -->
31 * <p>
32 * If the meaning of the '<em>Variables</em>' containment reference list isn't clear,
33 * there really should be more of a description here...
34 * </p>
35 * <!-- end-user-doc -->
36 * @return the value of the '<em>Variables</em>' containment reference list.
37 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSExistentialQuantifier_Variables()
38 * @model containment="true"
39 * @generated
40 */
41 EList<VLSVariable> getVariables();
42
43 /**
44 * Returns the value of the '<em><b>Operand</b></em>' containment reference.
45 * <!-- begin-user-doc -->
46 * <p>
47 * If the meaning of the '<em>Operand</em>' containment reference isn't clear,
48 * there really should be more of a description here...
49 * </p>
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Operand</em>' containment reference.
52 * @see #setOperand(VLSTerm)
53 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSExistentialQuantifier_Operand()
54 * @model containment="true"
55 * @generated
56 */
57 VLSTerm getOperand();
58
59 /**
60 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier#getOperand <em>Operand</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Operand</em>' containment reference.
64 * @see #getOperand()
65 * @generated
66 */
67 void setOperand(VLSTerm value);
68
69} // VLSExistentialQuantifier
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFalse.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFalse.java
new file mode 100644
index 00000000..e1bfd960
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFalse.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS False</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFalse()
14 * @model
15 * @generated
16 */
17public interface VLSFalse extends VLSTerm
18{
19} // VLSFalse
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFofFormula.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFofFormula.java
new file mode 100644
index 00000000..8de99107
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFofFormula.java
@@ -0,0 +1,133 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>VLS Fof Formula</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getName <em>Name</em>}</li>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getFofRole <em>Fof Role</em>}</li>
19 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getFofFormula <em>Fof Formula</em>}</li>
20 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getAnnotations <em>Annotations</em>}</li>
21 * </ul>
22 *
23 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFofFormula()
24 * @model
25 * @generated
26 */
27public interface VLSFofFormula extends EObject
28{
29 /**
30 * Returns the value of the '<em><b>Name</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <p>
33 * If the meaning of the '<em>Name</em>' attribute isn't clear,
34 * there really should be more of a description here...
35 * </p>
36 * <!-- end-user-doc -->
37 * @return the value of the '<em>Name</em>' attribute.
38 * @see #setName(String)
39 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFofFormula_Name()
40 * @model
41 * @generated
42 */
43 String getName();
44
45 /**
46 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getName <em>Name</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @param value the new value of the '<em>Name</em>' attribute.
50 * @see #getName()
51 * @generated
52 */
53 void setName(String value);
54
55 /**
56 * Returns the value of the '<em><b>Fof Role</b></em>' attribute.
57 * <!-- begin-user-doc -->
58 * <p>
59 * If the meaning of the '<em>Fof Role</em>' attribute isn't clear,
60 * there really should be more of a description here...
61 * </p>
62 * <!-- end-user-doc -->
63 * @return the value of the '<em>Fof Role</em>' attribute.
64 * @see #setFofRole(String)
65 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFofFormula_FofRole()
66 * @model
67 * @generated
68 */
69 String getFofRole();
70
71 /**
72 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getFofRole <em>Fof Role</em>}' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @param value the new value of the '<em>Fof Role</em>' attribute.
76 * @see #getFofRole()
77 * @generated
78 */
79 void setFofRole(String value);
80
81 /**
82 * Returns the value of the '<em><b>Fof Formula</b></em>' containment reference.
83 * <!-- begin-user-doc -->
84 * <p>
85 * If the meaning of the '<em>Fof Formula</em>' containment reference isn't clear,
86 * there really should be more of a description here...
87 * </p>
88 * <!-- end-user-doc -->
89 * @return the value of the '<em>Fof Formula</em>' containment reference.
90 * @see #setFofFormula(VLSTerm)
91 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFofFormula_FofFormula()
92 * @model containment="true"
93 * @generated
94 */
95 VLSTerm getFofFormula();
96
97 /**
98 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getFofFormula <em>Fof Formula</em>}' containment reference.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @param value the new value of the '<em>Fof Formula</em>' containment reference.
102 * @see #getFofFormula()
103 * @generated
104 */
105 void setFofFormula(VLSTerm value);
106
107 /**
108 * Returns the value of the '<em><b>Annotations</b></em>' containment reference.
109 * <!-- begin-user-doc -->
110 * <p>
111 * If the meaning of the '<em>Annotations</em>' containment reference isn't clear,
112 * there really should be more of a description here...
113 * </p>
114 * <!-- end-user-doc -->
115 * @return the value of the '<em>Annotations</em>' containment reference.
116 * @see #setAnnotations(VLSAnnotation)
117 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFofFormula_Annotations()
118 * @model containment="true"
119 * @generated
120 */
121 VLSAnnotation getAnnotations();
122
123 /**
124 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getAnnotations <em>Annotations</em>}' containment reference.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @param value the new value of the '<em>Annotations</em>' containment reference.
128 * @see #getAnnotations()
129 * @generated
130 */
131 void setAnnotations(VLSAnnotation value);
132
133} // VLSFofFormula
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFunction.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFunction.java
new file mode 100644
index 00000000..7b4d0a30
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFunction.java
@@ -0,0 +1,69 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>VLS Function</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction#getConstant <em>Constant</em>}</li>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction#getTerms <em>Terms</em>}</li>
19 * </ul>
20 *
21 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFunction()
22 * @model
23 * @generated
24 */
25public interface VLSFunction extends VLSTerm
26{
27 /**
28 * Returns the value of the '<em><b>Constant</b></em>' attribute.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Constant</em>' attribute isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Constant</em>' attribute.
36 * @see #setConstant(String)
37 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFunction_Constant()
38 * @model
39 * @generated
40 */
41 String getConstant();
42
43 /**
44 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction#getConstant <em>Constant</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Constant</em>' attribute.
48 * @see #getConstant()
49 * @generated
50 */
51 void setConstant(String value);
52
53 /**
54 * Returns the value of the '<em><b>Terms</b></em>' containment reference list.
55 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm}.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Terms</em>' containment reference list isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Terms</em>' containment reference list.
63 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFunction_Terms()
64 * @model containment="true"
65 * @generated
66 */
67 EList<VLSTerm> getTerms();
68
69} // VLSFunction
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFunctionFof.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFunctionFof.java
new file mode 100644
index 00000000..d151685f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSFunctionFof.java
@@ -0,0 +1,69 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>VLS Function Fof</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof#getFunctor <em>Functor</em>}</li>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof#getTerms <em>Terms</em>}</li>
19 * </ul>
20 *
21 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFunctionFof()
22 * @model
23 * @generated
24 */
25public interface VLSFunctionFof extends VLSTerm
26{
27 /**
28 * Returns the value of the '<em><b>Functor</b></em>' attribute.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Functor</em>' attribute isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Functor</em>' attribute.
36 * @see #setFunctor(String)
37 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFunctionFof_Functor()
38 * @model
39 * @generated
40 */
41 String getFunctor();
42
43 /**
44 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof#getFunctor <em>Functor</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Functor</em>' attribute.
48 * @see #getFunctor()
49 * @generated
50 */
51 void setFunctor(String value);
52
53 /**
54 * Returns the value of the '<em><b>Terms</b></em>' containment reference list.
55 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm}.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Terms</em>' containment reference list isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Terms</em>' containment reference list.
63 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSFunctionFof_Terms()
64 * @model containment="true"
65 * @generated
66 */
67 EList<VLSTerm> getTerms();
68
69} // VLSFunctionFof
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSImplies.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSImplies.java
new file mode 100644
index 00000000..26e1f5f5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSImplies.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Implies</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSImplies()
21 * @model
22 * @generated
23 */
24public interface VLSImplies extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSImplies_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSImplies_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSImplies
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInclude.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInclude.java
new file mode 100644
index 00000000..29e93ff2
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInclude.java
@@ -0,0 +1,71 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>VLS Include</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude#getFileName <em>File Name</em>}</li>
20 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude#getNames <em>Names</em>}</li>
21 * </ul>
22 *
23 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSInclude()
24 * @model
25 * @generated
26 */
27public interface VLSInclude extends EObject
28{
29 /**
30 * Returns the value of the '<em><b>File Name</b></em>' attribute.
31 * <!-- begin-user-doc -->
32 * <p>
33 * If the meaning of the '<em>File Name</em>' attribute isn't clear,
34 * there really should be more of a description here...
35 * </p>
36 * <!-- end-user-doc -->
37 * @return the value of the '<em>File Name</em>' attribute.
38 * @see #setFileName(String)
39 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSInclude_FileName()
40 * @model
41 * @generated
42 */
43 String getFileName();
44
45 /**
46 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude#getFileName <em>File Name</em>}' attribute.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @param value the new value of the '<em>File Name</em>' attribute.
50 * @see #getFileName()
51 * @generated
52 */
53 void setFileName(String value);
54
55 /**
56 * Returns the value of the '<em><b>Names</b></em>' containment reference list.
57 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName}.
58 * <!-- begin-user-doc -->
59 * <p>
60 * If the meaning of the '<em>Names</em>' containment reference list isn't clear,
61 * there really should be more of a description here...
62 * </p>
63 * <!-- end-user-doc -->
64 * @return the value of the '<em>Names</em>' containment reference list.
65 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSInclude_Names()
66 * @model containment="true"
67 * @generated
68 */
69 EList<VLSName> getNames();
70
71} // VLSInclude
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInequality.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInequality.java
new file mode 100644
index 00000000..a5d4c815
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInequality.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Inequality</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSInequality()
21 * @model
22 * @generated
23 */
24public interface VLSInequality extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSInequality_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSInequality_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSInequality
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInt.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInt.java
new file mode 100644
index 00000000..41e0de04
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSInt.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Int</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSInt()
14 * @model
15 * @generated
16 */
17public interface VLSInt extends VLSDefinedTerm
18{
19} // VLSInt
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSLess.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSLess.java
new file mode 100644
index 00000000..accb525d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSLess.java
@@ -0,0 +1,69 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>VLS Less</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess#getName <em>Name</em>}</li>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess#getTerms <em>Terms</em>}</li>
19 * </ul>
20 *
21 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSLess()
22 * @model
23 * @generated
24 */
25public interface VLSLess extends VLSTerm
26{
27 /**
28 * Returns the value of the '<em><b>Name</b></em>' attribute.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Name</em>' attribute isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Name</em>' attribute.
36 * @see #setName(String)
37 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSLess_Name()
38 * @model
39 * @generated
40 */
41 String getName();
42
43 /**
44 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess#getName <em>Name</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Name</em>' attribute.
48 * @see #getName()
49 * @generated
50 */
51 void setName(String value);
52
53 /**
54 * Returns the value of the '<em><b>Terms</b></em>' containment reference list.
55 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm}.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Terms</em>' containment reference list isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Terms</em>' containment reference list.
63 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSLess_Terms()
64 * @model containment="true"
65 * @generated
66 */
67 EList<VLSTerm> getTerms();
68
69} // VLSLess
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSName.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSName.java
new file mode 100644
index 00000000..79019bb5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSName.java
@@ -0,0 +1,52 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>VLS Name</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName#getName <em>Name</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSName()
21 * @model
22 * @generated
23 */
24public interface VLSName extends EObject
25{
26 /**
27 * Returns the value of the '<em><b>Name</b></em>' attribute.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Name</em>' attribute isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Name</em>' attribute.
35 * @see #setName(String)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSName_Name()
37 * @model
38 * @generated
39 */
40 String getName();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName#getName <em>Name</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Name</em>' attribute.
47 * @see #getName()
48 * @generated
49 */
50 void setName(String value);
51
52} // VLSName
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSNand.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSNand.java
new file mode 100644
index 00000000..1735fd12
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSNand.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Nand</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSNand()
21 * @model
22 * @generated
23 */
24public interface VLSNand extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSNand_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSNand_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSNand
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSNor.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSNor.java
new file mode 100644
index 00000000..af57a7f4
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSNor.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Nor</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSNor()
21 * @model
22 * @generated
23 */
24public interface VLSNor extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSNor_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSNor_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSNor
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSOr.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSOr.java
new file mode 100644
index 00000000..4c1fb0ee
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSOr.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Or</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSOr()
21 * @model
22 * @generated
23 */
24public interface VLSOr extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSOr_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSOr_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSOr
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSRational.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSRational.java
new file mode 100644
index 00000000..8ad40ca5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSRational.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Rational</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSRational()
14 * @model
15 * @generated
16 */
17public interface VLSRational extends VLSDefinedTerm
18{
19} // VLSRational
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSReal.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSReal.java
new file mode 100644
index 00000000..f5686c88
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSReal.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Real</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSReal()
14 * @model
15 * @generated
16 */
17public interface VLSReal extends VLSDefinedTerm
18{
19} // VLSReal
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSRevImplies.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSRevImplies.java
new file mode 100644
index 00000000..7a8c96b7
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSRevImplies.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Rev Implies</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSRevImplies()
21 * @model
22 * @generated
23 */
24public interface VLSRevImplies extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSRevImplies_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSRevImplies_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSRevImplies
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSTerm.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSTerm.java
new file mode 100644
index 00000000..4a3e51bb
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSTerm.java
@@ -0,0 +1,20 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.ecore.EObject;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>VLS Term</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 *
14 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSTerm()
15 * @model
16 * @generated
17 */
18public interface VLSTerm extends EObject
19{
20} // VLSTerm
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSTrue.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSTrue.java
new file mode 100644
index 00000000..865fae07
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSTrue.java
@@ -0,0 +1,19 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS True</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSTrue()
14 * @model
15 * @generated
16 */
17public interface VLSTrue extends VLSTerm
18{
19} // VLSTrue
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSUnaryNegation.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSUnaryNegation.java
new file mode 100644
index 00000000..cc81aad4
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSUnaryNegation.java
@@ -0,0 +1,51 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Unary Negation</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation#getOperand <em>Operand</em>}</li>
17 * </ul>
18 *
19 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSUnaryNegation()
20 * @model
21 * @generated
22 */
23public interface VLSUnaryNegation extends VLSTerm
24{
25 /**
26 * Returns the value of the '<em><b>Operand</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Operand</em>' containment reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Operand</em>' containment reference.
34 * @see #setOperand(VLSTerm)
35 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSUnaryNegation_Operand()
36 * @model containment="true"
37 * @generated
38 */
39 VLSTerm getOperand();
40
41 /**
42 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation#getOperand <em>Operand</em>}' containment reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Operand</em>' containment reference.
46 * @see #getOperand()
47 * @generated
48 */
49 void setOperand(VLSTerm value);
50
51} // VLSUnaryNegation
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSUniversalQuantifier.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSUniversalQuantifier.java
new file mode 100644
index 00000000..8b7c913b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSUniversalQuantifier.java
@@ -0,0 +1,69 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8/**
9 * <!-- begin-user-doc -->
10 * A representation of the model object '<em><b>VLS Universal Quantifier</b></em>'.
11 * <!-- end-user-doc -->
12 *
13 * <p>
14 * The following features are supported:
15 * </p>
16 * <ul>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier#getVariables <em>Variables</em>}</li>
18 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier#getOperand <em>Operand</em>}</li>
19 * </ul>
20 *
21 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSUniversalQuantifier()
22 * @model
23 * @generated
24 */
25public interface VLSUniversalQuantifier extends VLSTerm
26{
27 /**
28 * Returns the value of the '<em><b>Variables</b></em>' containment reference list.
29 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable}.
30 * <!-- begin-user-doc -->
31 * <p>
32 * If the meaning of the '<em>Variables</em>' containment reference list isn't clear,
33 * there really should be more of a description here...
34 * </p>
35 * <!-- end-user-doc -->
36 * @return the value of the '<em>Variables</em>' containment reference list.
37 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSUniversalQuantifier_Variables()
38 * @model containment="true"
39 * @generated
40 */
41 EList<VLSVariable> getVariables();
42
43 /**
44 * Returns the value of the '<em><b>Operand</b></em>' containment reference.
45 * <!-- begin-user-doc -->
46 * <p>
47 * If the meaning of the '<em>Operand</em>' containment reference isn't clear,
48 * there really should be more of a description here...
49 * </p>
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Operand</em>' containment reference.
52 * @see #setOperand(VLSTerm)
53 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSUniversalQuantifier_Operand()
54 * @model containment="true"
55 * @generated
56 */
57 VLSTerm getOperand();
58
59 /**
60 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier#getOperand <em>Operand</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Operand</em>' containment reference.
64 * @see #getOperand()
65 * @generated
66 */
67 void setOperand(VLSTerm value);
68
69} // VLSUniversalQuantifier
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSVariable.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSVariable.java
new file mode 100644
index 00000000..90b3b95d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSVariable.java
@@ -0,0 +1,51 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Variable</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable#getName <em>Name</em>}</li>
17 * </ul>
18 *
19 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSVariable()
20 * @model
21 * @generated
22 */
23public interface VLSVariable extends VLSTerm
24{
25 /**
26 * Returns the value of the '<em><b>Name</b></em>' attribute.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Name</em>' attribute isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Name</em>' attribute.
34 * @see #setName(String)
35 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSVariable_Name()
36 * @model
37 * @generated
38 */
39 String getName();
40
41 /**
42 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable#getName <em>Name</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Name</em>' attribute.
46 * @see #getName()
47 * @generated
48 */
49 void setName(String value);
50
51} // VLSVariable
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSXnor.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSXnor.java
new file mode 100644
index 00000000..ba433cec
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VLSXnor.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>VLS Xnor</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor#getLeft <em>Left</em>}</li>
17 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor#getRight <em>Right</em>}</li>
18 * </ul>
19 *
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSXnor()
21 * @model
22 * @generated
23 */
24public interface VLSXnor extends VLSTerm
25{
26 /**
27 * Returns the value of the '<em><b>Left</b></em>' containment reference.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Left</em>' containment reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Left</em>' containment reference.
35 * @see #setLeft(VLSTerm)
36 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSXnor_Left()
37 * @model containment="true"
38 * @generated
39 */
40 VLSTerm getLeft();
41
42 /**
43 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor#getLeft <em>Left</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @param value the new value of the '<em>Left</em>' containment reference.
47 * @see #getLeft()
48 * @generated
49 */
50 void setLeft(VLSTerm value);
51
52 /**
53 * Returns the value of the '<em><b>Right</b></em>' containment reference.
54 * <!-- begin-user-doc -->
55 * <p>
56 * If the meaning of the '<em>Right</em>' containment reference isn't clear,
57 * there really should be more of a description here...
58 * </p>
59 * <!-- end-user-doc -->
60 * @return the value of the '<em>Right</em>' containment reference.
61 * @see #setRight(VLSTerm)
62 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVLSXnor_Right()
63 * @model containment="true"
64 * @generated
65 */
66 VLSTerm getRight();
67
68 /**
69 * Sets the value of the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor#getRight <em>Right</em>}' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @param value the new value of the '<em>Right</em>' containment reference.
73 * @see #getRight()
74 * @generated
75 */
76 void setRight(VLSTerm value);
77
78} // VLSXnor
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguageFactory.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguageFactory.java
new file mode 100644
index 00000000..3896cc7f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguageFactory.java
@@ -0,0 +1,332 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.ecore.EFactory;
7
8/**
9 * <!-- begin-user-doc -->
10 * The <b>Factory</b> for the model.
11 * It provides a create method for each non-abstract class of the model.
12 * <!-- end-user-doc -->
13 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage
14 * @generated
15 */
16public interface VampireLanguageFactory extends EFactory
17{
18 /**
19 * The singleton instance of the factory.
20 * <!-- begin-user-doc -->
21 * <!-- end-user-doc -->
22 * @generated
23 */
24 VampireLanguageFactory eINSTANCE = ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguageFactoryImpl.init();
25
26 /**
27 * Returns a new object of class '<em>Vampire Model</em>'.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @return a new object of class '<em>Vampire Model</em>'.
31 * @generated
32 */
33 VampireModel createVampireModel();
34
35 /**
36 * Returns a new object of class '<em>VLS Include</em>'.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @return a new object of class '<em>VLS Include</em>'.
40 * @generated
41 */
42 VLSInclude createVLSInclude();
43
44 /**
45 * Returns a new object of class '<em>VLS Name</em>'.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @return a new object of class '<em>VLS Name</em>'.
49 * @generated
50 */
51 VLSName createVLSName();
52
53 /**
54 * Returns a new object of class '<em>VLS Comment</em>'.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @return a new object of class '<em>VLS Comment</em>'.
58 * @generated
59 */
60 VLSComment createVLSComment();
61
62 /**
63 * Returns a new object of class '<em>VLS Fof Formula</em>'.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @return a new object of class '<em>VLS Fof Formula</em>'.
67 * @generated
68 */
69 VLSFofFormula createVLSFofFormula();
70
71 /**
72 * Returns a new object of class '<em>VLS Annotation</em>'.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return a new object of class '<em>VLS Annotation</em>'.
76 * @generated
77 */
78 VLSAnnotation createVLSAnnotation();
79
80 /**
81 * Returns a new object of class '<em>VLS Term</em>'.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @return a new object of class '<em>VLS Term</em>'.
85 * @generated
86 */
87 VLSTerm createVLSTerm();
88
89 /**
90 * Returns a new object of class '<em>VLS Variable</em>'.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @return a new object of class '<em>VLS Variable</em>'.
94 * @generated
95 */
96 VLSVariable createVLSVariable();
97
98 /**
99 * Returns a new object of class '<em>VLS Function Fof</em>'.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @return a new object of class '<em>VLS Function Fof</em>'.
103 * @generated
104 */
105 VLSFunctionFof createVLSFunctionFof();
106
107 /**
108 * Returns a new object of class '<em>VLS Defined Term</em>'.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @return a new object of class '<em>VLS Defined Term</em>'.
112 * @generated
113 */
114 VLSDefinedTerm createVLSDefinedTerm();
115
116 /**
117 * Returns a new object of class '<em>VLS Equivalent</em>'.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @return a new object of class '<em>VLS Equivalent</em>'.
121 * @generated
122 */
123 VLSEquivalent createVLSEquivalent();
124
125 /**
126 * Returns a new object of class '<em>VLS Implies</em>'.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @return a new object of class '<em>VLS Implies</em>'.
130 * @generated
131 */
132 VLSImplies createVLSImplies();
133
134 /**
135 * Returns a new object of class '<em>VLS Rev Implies</em>'.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @return a new object of class '<em>VLS Rev Implies</em>'.
139 * @generated
140 */
141 VLSRevImplies createVLSRevImplies();
142
143 /**
144 * Returns a new object of class '<em>VLS Xnor</em>'.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @return a new object of class '<em>VLS Xnor</em>'.
148 * @generated
149 */
150 VLSXnor createVLSXnor();
151
152 /**
153 * Returns a new object of class '<em>VLS Nor</em>'.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @return a new object of class '<em>VLS Nor</em>'.
157 * @generated
158 */
159 VLSNor createVLSNor();
160
161 /**
162 * Returns a new object of class '<em>VLS Nand</em>'.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @return a new object of class '<em>VLS Nand</em>'.
166 * @generated
167 */
168 VLSNand createVLSNand();
169
170 /**
171 * Returns a new object of class '<em>VLS And</em>'.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @return a new object of class '<em>VLS And</em>'.
175 * @generated
176 */
177 VLSAnd createVLSAnd();
178
179 /**
180 * Returns a new object of class '<em>VLS Or</em>'.
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @return a new object of class '<em>VLS Or</em>'.
184 * @generated
185 */
186 VLSOr createVLSOr();
187
188 /**
189 * Returns a new object of class '<em>VLS Universal Quantifier</em>'.
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @return a new object of class '<em>VLS Universal Quantifier</em>'.
193 * @generated
194 */
195 VLSUniversalQuantifier createVLSUniversalQuantifier();
196
197 /**
198 * Returns a new object of class '<em>VLS Existential Quantifier</em>'.
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @return a new object of class '<em>VLS Existential Quantifier</em>'.
202 * @generated
203 */
204 VLSExistentialQuantifier createVLSExistentialQuantifier();
205
206 /**
207 * Returns a new object of class '<em>VLS Unary Negation</em>'.
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @return a new object of class '<em>VLS Unary Negation</em>'.
211 * @generated
212 */
213 VLSUnaryNegation createVLSUnaryNegation();
214
215 /**
216 * Returns a new object of class '<em>VLS Inequality</em>'.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @return a new object of class '<em>VLS Inequality</em>'.
220 * @generated
221 */
222 VLSInequality createVLSInequality();
223
224 /**
225 * Returns a new object of class '<em>VLS Equality</em>'.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @return a new object of class '<em>VLS Equality</em>'.
229 * @generated
230 */
231 VLSEquality createVLSEquality();
232
233 /**
234 * Returns a new object of class '<em>VLS Assignment</em>'.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @return a new object of class '<em>VLS Assignment</em>'.
238 * @generated
239 */
240 VLSAssignment createVLSAssignment();
241
242 /**
243 * Returns a new object of class '<em>VLS Constant</em>'.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @return a new object of class '<em>VLS Constant</em>'.
247 * @generated
248 */
249 VLSConstant createVLSConstant();
250
251 /**
252 * Returns a new object of class '<em>VLS True</em>'.
253 * <!-- begin-user-doc -->
254 * <!-- end-user-doc -->
255 * @return a new object of class '<em>VLS True</em>'.
256 * @generated
257 */
258 VLSTrue createVLSTrue();
259
260 /**
261 * Returns a new object of class '<em>VLS False</em>'.
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @return a new object of class '<em>VLS False</em>'.
265 * @generated
266 */
267 VLSFalse createVLSFalse();
268
269 /**
270 * Returns a new object of class '<em>VLS Function</em>'.
271 * <!-- begin-user-doc -->
272 * <!-- end-user-doc -->
273 * @return a new object of class '<em>VLS Function</em>'.
274 * @generated
275 */
276 VLSFunction createVLSFunction();
277
278 /**
279 * Returns a new object of class '<em>VLS Less</em>'.
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @return a new object of class '<em>VLS Less</em>'.
283 * @generated
284 */
285 VLSLess createVLSLess();
286
287 /**
288 * Returns a new object of class '<em>VLS Int</em>'.
289 * <!-- begin-user-doc -->
290 * <!-- end-user-doc -->
291 * @return a new object of class '<em>VLS Int</em>'.
292 * @generated
293 */
294 VLSInt createVLSInt();
295
296 /**
297 * Returns a new object of class '<em>VLS Real</em>'.
298 * <!-- begin-user-doc -->
299 * <!-- end-user-doc -->
300 * @return a new object of class '<em>VLS Real</em>'.
301 * @generated
302 */
303 VLSReal createVLSReal();
304
305 /**
306 * Returns a new object of class '<em>VLS Rational</em>'.
307 * <!-- begin-user-doc -->
308 * <!-- end-user-doc -->
309 * @return a new object of class '<em>VLS Rational</em>'.
310 * @generated
311 */
312 VLSRational createVLSRational();
313
314 /**
315 * Returns a new object of class '<em>VLS Double Quote</em>'.
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @return a new object of class '<em>VLS Double Quote</em>'.
319 * @generated
320 */
321 VLSDoubleQuote createVLSDoubleQuote();
322
323 /**
324 * Returns the package supported by this factory.
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @return the package supported by this factory.
328 * @generated
329 */
330 VampireLanguagePackage getVampireLanguagePackage();
331
332} //VampireLanguageFactory
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguagePackage.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguagePackage.java
new file mode 100644
index 00000000..f1519839
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguagePackage.java
@@ -0,0 +1,2809 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.ecore.EAttribute;
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference;
10
11/**
12 * <!-- begin-user-doc -->
13 * The <b>Package</b> for the model.
14 * It contains accessors for the meta objects to represent
15 * <ul>
16 * <li>each class,</li>
17 * <li>each feature of each class,</li>
18 * <li>each enum,</li>
19 * <li>and each data type</li>
20 * </ul>
21 * <!-- end-user-doc -->
22 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory
23 * @model kind="package"
24 * @generated
25 */
26public interface VampireLanguagePackage extends EPackage
27{
28 /**
29 * The package name.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 String eNAME = "vampireLanguage";
35
36 /**
37 * The package namespace URI.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 String eNS_URI = "http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage";
43
44 /**
45 * The package namespace name.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 String eNS_PREFIX = "vampireLanguage";
51
52 /**
53 * The singleton instance of the package.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 VampireLanguagePackage eINSTANCE = ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl.init();
59
60 /**
61 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireModelImpl <em>Vampire Model</em>}' class.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireModelImpl
65 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVampireModel()
66 * @generated
67 */
68 int VAMPIRE_MODEL = 0;
69
70 /**
71 * The feature id for the '<em><b>Includes</b></em>' containment reference list.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 * @ordered
76 */
77 int VAMPIRE_MODEL__INCLUDES = 0;
78
79 /**
80 * The feature id for the '<em><b>Comments</b></em>' containment reference list.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 * @ordered
85 */
86 int VAMPIRE_MODEL__COMMENTS = 1;
87
88 /**
89 * The feature id for the '<em><b>Formulas</b></em>' containment reference list.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 * @ordered
94 */
95 int VAMPIRE_MODEL__FORMULAS = 2;
96
97 /**
98 * The number of structural features of the '<em>Vampire Model</em>' class.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 * @ordered
103 */
104 int VAMPIRE_MODEL_FEATURE_COUNT = 3;
105
106 /**
107 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSIncludeImpl <em>VLS Include</em>}' class.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSIncludeImpl
111 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSInclude()
112 * @generated
113 */
114 int VLS_INCLUDE = 1;
115
116 /**
117 * The feature id for the '<em><b>File Name</b></em>' attribute.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 * @ordered
122 */
123 int VLS_INCLUDE__FILE_NAME = 0;
124
125 /**
126 * The feature id for the '<em><b>Names</b></em>' containment reference list.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 * @ordered
131 */
132 int VLS_INCLUDE__NAMES = 1;
133
134 /**
135 * The number of structural features of the '<em>VLS Include</em>' class.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 * @ordered
140 */
141 int VLS_INCLUDE_FEATURE_COUNT = 2;
142
143 /**
144 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNameImpl <em>VLS Name</em>}' class.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNameImpl
148 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSName()
149 * @generated
150 */
151 int VLS_NAME = 2;
152
153 /**
154 * The feature id for the '<em><b>Name</b></em>' attribute.
155 * <!-- begin-user-doc -->
156 * <!-- end-user-doc -->
157 * @generated
158 * @ordered
159 */
160 int VLS_NAME__NAME = 0;
161
162 /**
163 * The number of structural features of the '<em>VLS Name</em>' class.
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 * @ordered
168 */
169 int VLS_NAME_FEATURE_COUNT = 1;
170
171 /**
172 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSCommentImpl <em>VLS Comment</em>}' class.
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSCommentImpl
176 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSComment()
177 * @generated
178 */
179 int VLS_COMMENT = 3;
180
181 /**
182 * The feature id for the '<em><b>Comment</b></em>' attribute.
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 * @ordered
187 */
188 int VLS_COMMENT__COMMENT = 0;
189
190 /**
191 * The number of structural features of the '<em>VLS Comment</em>' class.
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 * @ordered
196 */
197 int VLS_COMMENT_FEATURE_COUNT = 1;
198
199 /**
200 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl <em>VLS Fof Formula</em>}' class.
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl
204 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFofFormula()
205 * @generated
206 */
207 int VLS_FOF_FORMULA = 4;
208
209 /**
210 * The feature id for the '<em><b>Name</b></em>' attribute.
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 * @ordered
215 */
216 int VLS_FOF_FORMULA__NAME = 0;
217
218 /**
219 * The feature id for the '<em><b>Fof Role</b></em>' attribute.
220 * <!-- begin-user-doc -->
221 * <!-- end-user-doc -->
222 * @generated
223 * @ordered
224 */
225 int VLS_FOF_FORMULA__FOF_ROLE = 1;
226
227 /**
228 * The feature id for the '<em><b>Fof Formula</b></em>' containment reference.
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 * @ordered
233 */
234 int VLS_FOF_FORMULA__FOF_FORMULA = 2;
235
236 /**
237 * The feature id for the '<em><b>Annotations</b></em>' containment reference.
238 * <!-- begin-user-doc -->
239 * <!-- end-user-doc -->
240 * @generated
241 * @ordered
242 */
243 int VLS_FOF_FORMULA__ANNOTATIONS = 3;
244
245 /**
246 * The number of structural features of the '<em>VLS Fof Formula</em>' class.
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 * @ordered
251 */
252 int VLS_FOF_FORMULA_FEATURE_COUNT = 4;
253
254 /**
255 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAnnotationImpl <em>VLS Annotation</em>}' class.
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAnnotationImpl
259 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAnnotation()
260 * @generated
261 */
262 int VLS_ANNOTATION = 5;
263
264 /**
265 * The feature id for the '<em><b>Name</b></em>' attribute.
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @generated
269 * @ordered
270 */
271 int VLS_ANNOTATION__NAME = 0;
272
273 /**
274 * The feature id for the '<em><b>Followup</b></em>' containment reference.
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 * @ordered
279 */
280 int VLS_ANNOTATION__FOLLOWUP = 1;
281
282 /**
283 * The feature id for the '<em><b>Terms</b></em>' containment reference list.
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @generated
287 * @ordered
288 */
289 int VLS_ANNOTATION__TERMS = 2;
290
291 /**
292 * The number of structural features of the '<em>VLS Annotation</em>' class.
293 * <!-- begin-user-doc -->
294 * <!-- end-user-doc -->
295 * @generated
296 * @ordered
297 */
298 int VLS_ANNOTATION_FEATURE_COUNT = 3;
299
300 /**
301 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTermImpl <em>VLS Term</em>}' class.
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTermImpl
305 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTerm()
306 * @generated
307 */
308 int VLS_TERM = 6;
309
310 /**
311 * The number of structural features of the '<em>VLS Term</em>' class.
312 * <!-- begin-user-doc -->
313 * <!-- end-user-doc -->
314 * @generated
315 * @ordered
316 */
317 int VLS_TERM_FEATURE_COUNT = 0;
318
319 /**
320 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSVariableImpl <em>VLS Variable</em>}' class.
321 * <!-- begin-user-doc -->
322 * <!-- end-user-doc -->
323 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSVariableImpl
324 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSVariable()
325 * @generated
326 */
327 int VLS_VARIABLE = 7;
328
329 /**
330 * The feature id for the '<em><b>Name</b></em>' attribute.
331 * <!-- begin-user-doc -->
332 * <!-- end-user-doc -->
333 * @generated
334 * @ordered
335 */
336 int VLS_VARIABLE__NAME = VLS_TERM_FEATURE_COUNT + 0;
337
338 /**
339 * The number of structural features of the '<em>VLS Variable</em>' class.
340 * <!-- begin-user-doc -->
341 * <!-- end-user-doc -->
342 * @generated
343 * @ordered
344 */
345 int VLS_VARIABLE_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 1;
346
347 /**
348 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionFofImpl <em>VLS Function Fof</em>}' class.
349 * <!-- begin-user-doc -->
350 * <!-- end-user-doc -->
351 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionFofImpl
352 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFunctionFof()
353 * @generated
354 */
355 int VLS_FUNCTION_FOF = 8;
356
357 /**
358 * The feature id for the '<em><b>Functor</b></em>' attribute.
359 * <!-- begin-user-doc -->
360 * <!-- end-user-doc -->
361 * @generated
362 * @ordered
363 */
364 int VLS_FUNCTION_FOF__FUNCTOR = VLS_TERM_FEATURE_COUNT + 0;
365
366 /**
367 * The feature id for the '<em><b>Terms</b></em>' containment reference list.
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @generated
371 * @ordered
372 */
373 int VLS_FUNCTION_FOF__TERMS = VLS_TERM_FEATURE_COUNT + 1;
374
375 /**
376 * The number of structural features of the '<em>VLS Function Fof</em>' class.
377 * <!-- begin-user-doc -->
378 * <!-- end-user-doc -->
379 * @generated
380 * @ordered
381 */
382 int VLS_FUNCTION_FOF_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
383
384 /**
385 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSDefinedTermImpl <em>VLS Defined Term</em>}' class.
386 * <!-- begin-user-doc -->
387 * <!-- end-user-doc -->
388 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSDefinedTermImpl
389 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSDefinedTerm()
390 * @generated
391 */
392 int VLS_DEFINED_TERM = 9;
393
394 /**
395 * The feature id for the '<em><b>Value</b></em>' attribute.
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 * @ordered
400 */
401 int VLS_DEFINED_TERM__VALUE = VLS_TERM_FEATURE_COUNT + 0;
402
403 /**
404 * The number of structural features of the '<em>VLS Defined Term</em>' class.
405 * <!-- begin-user-doc -->
406 * <!-- end-user-doc -->
407 * @generated
408 * @ordered
409 */
410 int VLS_DEFINED_TERM_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 1;
411
412 /**
413 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEquivalentImpl <em>VLS Equivalent</em>}' class.
414 * <!-- begin-user-doc -->
415 * <!-- end-user-doc -->
416 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEquivalentImpl
417 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSEquivalent()
418 * @generated
419 */
420 int VLS_EQUIVALENT = 10;
421
422 /**
423 * The feature id for the '<em><b>Left</b></em>' containment reference.
424 * <!-- begin-user-doc -->
425 * <!-- end-user-doc -->
426 * @generated
427 * @ordered
428 */
429 int VLS_EQUIVALENT__LEFT = VLS_TERM_FEATURE_COUNT + 0;
430
431 /**
432 * The feature id for the '<em><b>Right</b></em>' containment reference.
433 * <!-- begin-user-doc -->
434 * <!-- end-user-doc -->
435 * @generated
436 * @ordered
437 */
438 int VLS_EQUIVALENT__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
439
440 /**
441 * The number of structural features of the '<em>VLS Equivalent</em>' class.
442 * <!-- begin-user-doc -->
443 * <!-- end-user-doc -->
444 * @generated
445 * @ordered
446 */
447 int VLS_EQUIVALENT_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
448
449 /**
450 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSImpliesImpl <em>VLS Implies</em>}' class.
451 * <!-- begin-user-doc -->
452 * <!-- end-user-doc -->
453 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSImpliesImpl
454 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSImplies()
455 * @generated
456 */
457 int VLS_IMPLIES = 11;
458
459 /**
460 * The feature id for the '<em><b>Left</b></em>' containment reference.
461 * <!-- begin-user-doc -->
462 * <!-- end-user-doc -->
463 * @generated
464 * @ordered
465 */
466 int VLS_IMPLIES__LEFT = VLS_TERM_FEATURE_COUNT + 0;
467
468 /**
469 * The feature id for the '<em><b>Right</b></em>' containment reference.
470 * <!-- begin-user-doc -->
471 * <!-- end-user-doc -->
472 * @generated
473 * @ordered
474 */
475 int VLS_IMPLIES__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
476
477 /**
478 * The number of structural features of the '<em>VLS Implies</em>' class.
479 * <!-- begin-user-doc -->
480 * <!-- end-user-doc -->
481 * @generated
482 * @ordered
483 */
484 int VLS_IMPLIES_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
485
486 /**
487 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRevImpliesImpl <em>VLS Rev Implies</em>}' class.
488 * <!-- begin-user-doc -->
489 * <!-- end-user-doc -->
490 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRevImpliesImpl
491 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSRevImplies()
492 * @generated
493 */
494 int VLS_REV_IMPLIES = 12;
495
496 /**
497 * The feature id for the '<em><b>Left</b></em>' containment reference.
498 * <!-- begin-user-doc -->
499 * <!-- end-user-doc -->
500 * @generated
501 * @ordered
502 */
503 int VLS_REV_IMPLIES__LEFT = VLS_TERM_FEATURE_COUNT + 0;
504
505 /**
506 * The feature id for the '<em><b>Right</b></em>' containment reference.
507 * <!-- begin-user-doc -->
508 * <!-- end-user-doc -->
509 * @generated
510 * @ordered
511 */
512 int VLS_REV_IMPLIES__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
513
514 /**
515 * The number of structural features of the '<em>VLS Rev Implies</em>' class.
516 * <!-- begin-user-doc -->
517 * <!-- end-user-doc -->
518 * @generated
519 * @ordered
520 */
521 int VLS_REV_IMPLIES_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
522
523 /**
524 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSXnorImpl <em>VLS Xnor</em>}' class.
525 * <!-- begin-user-doc -->
526 * <!-- end-user-doc -->
527 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSXnorImpl
528 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSXnor()
529 * @generated
530 */
531 int VLS_XNOR = 13;
532
533 /**
534 * The feature id for the '<em><b>Left</b></em>' containment reference.
535 * <!-- begin-user-doc -->
536 * <!-- end-user-doc -->
537 * @generated
538 * @ordered
539 */
540 int VLS_XNOR__LEFT = VLS_TERM_FEATURE_COUNT + 0;
541
542 /**
543 * The feature id for the '<em><b>Right</b></em>' containment reference.
544 * <!-- begin-user-doc -->
545 * <!-- end-user-doc -->
546 * @generated
547 * @ordered
548 */
549 int VLS_XNOR__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
550
551 /**
552 * The number of structural features of the '<em>VLS Xnor</em>' class.
553 * <!-- begin-user-doc -->
554 * <!-- end-user-doc -->
555 * @generated
556 * @ordered
557 */
558 int VLS_XNOR_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
559
560 /**
561 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNorImpl <em>VLS Nor</em>}' class.
562 * <!-- begin-user-doc -->
563 * <!-- end-user-doc -->
564 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNorImpl
565 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSNor()
566 * @generated
567 */
568 int VLS_NOR = 14;
569
570 /**
571 * The feature id for the '<em><b>Left</b></em>' containment reference.
572 * <!-- begin-user-doc -->
573 * <!-- end-user-doc -->
574 * @generated
575 * @ordered
576 */
577 int VLS_NOR__LEFT = VLS_TERM_FEATURE_COUNT + 0;
578
579 /**
580 * The feature id for the '<em><b>Right</b></em>' containment reference.
581 * <!-- begin-user-doc -->
582 * <!-- end-user-doc -->
583 * @generated
584 * @ordered
585 */
586 int VLS_NOR__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
587
588 /**
589 * The number of structural features of the '<em>VLS Nor</em>' class.
590 * <!-- begin-user-doc -->
591 * <!-- end-user-doc -->
592 * @generated
593 * @ordered
594 */
595 int VLS_NOR_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
596
597 /**
598 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNandImpl <em>VLS Nand</em>}' class.
599 * <!-- begin-user-doc -->
600 * <!-- end-user-doc -->
601 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNandImpl
602 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSNand()
603 * @generated
604 */
605 int VLS_NAND = 15;
606
607 /**
608 * The feature id for the '<em><b>Left</b></em>' containment reference.
609 * <!-- begin-user-doc -->
610 * <!-- end-user-doc -->
611 * @generated
612 * @ordered
613 */
614 int VLS_NAND__LEFT = VLS_TERM_FEATURE_COUNT + 0;
615
616 /**
617 * The feature id for the '<em><b>Right</b></em>' containment reference.
618 * <!-- begin-user-doc -->
619 * <!-- end-user-doc -->
620 * @generated
621 * @ordered
622 */
623 int VLS_NAND__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
624
625 /**
626 * The number of structural features of the '<em>VLS Nand</em>' class.
627 * <!-- begin-user-doc -->
628 * <!-- end-user-doc -->
629 * @generated
630 * @ordered
631 */
632 int VLS_NAND_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
633
634 /**
635 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAndImpl <em>VLS And</em>}' class.
636 * <!-- begin-user-doc -->
637 * <!-- end-user-doc -->
638 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAndImpl
639 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAnd()
640 * @generated
641 */
642 int VLS_AND = 16;
643
644 /**
645 * The feature id for the '<em><b>Left</b></em>' containment reference.
646 * <!-- begin-user-doc -->
647 * <!-- end-user-doc -->
648 * @generated
649 * @ordered
650 */
651 int VLS_AND__LEFT = VLS_TERM_FEATURE_COUNT + 0;
652
653 /**
654 * The feature id for the '<em><b>Right</b></em>' containment reference.
655 * <!-- begin-user-doc -->
656 * <!-- end-user-doc -->
657 * @generated
658 * @ordered
659 */
660 int VLS_AND__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
661
662 /**
663 * The number of structural features of the '<em>VLS And</em>' class.
664 * <!-- begin-user-doc -->
665 * <!-- end-user-doc -->
666 * @generated
667 * @ordered
668 */
669 int VLS_AND_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
670
671 /**
672 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSOrImpl <em>VLS Or</em>}' class.
673 * <!-- begin-user-doc -->
674 * <!-- end-user-doc -->
675 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSOrImpl
676 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSOr()
677 * @generated
678 */
679 int VLS_OR = 17;
680
681 /**
682 * The feature id for the '<em><b>Left</b></em>' containment reference.
683 * <!-- begin-user-doc -->
684 * <!-- end-user-doc -->
685 * @generated
686 * @ordered
687 */
688 int VLS_OR__LEFT = VLS_TERM_FEATURE_COUNT + 0;
689
690 /**
691 * The feature id for the '<em><b>Right</b></em>' containment reference.
692 * <!-- begin-user-doc -->
693 * <!-- end-user-doc -->
694 * @generated
695 * @ordered
696 */
697 int VLS_OR__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
698
699 /**
700 * The number of structural features of the '<em>VLS Or</em>' class.
701 * <!-- begin-user-doc -->
702 * <!-- end-user-doc -->
703 * @generated
704 * @ordered
705 */
706 int VLS_OR_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
707
708 /**
709 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUniversalQuantifierImpl <em>VLS Universal Quantifier</em>}' class.
710 * <!-- begin-user-doc -->
711 * <!-- end-user-doc -->
712 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUniversalQuantifierImpl
713 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSUniversalQuantifier()
714 * @generated
715 */
716 int VLS_UNIVERSAL_QUANTIFIER = 18;
717
718 /**
719 * The feature id for the '<em><b>Variables</b></em>' containment reference list.
720 * <!-- begin-user-doc -->
721 * <!-- end-user-doc -->
722 * @generated
723 * @ordered
724 */
725 int VLS_UNIVERSAL_QUANTIFIER__VARIABLES = VLS_TERM_FEATURE_COUNT + 0;
726
727 /**
728 * The feature id for the '<em><b>Operand</b></em>' containment reference.
729 * <!-- begin-user-doc -->
730 * <!-- end-user-doc -->
731 * @generated
732 * @ordered
733 */
734 int VLS_UNIVERSAL_QUANTIFIER__OPERAND = VLS_TERM_FEATURE_COUNT + 1;
735
736 /**
737 * The number of structural features of the '<em>VLS Universal Quantifier</em>' class.
738 * <!-- begin-user-doc -->
739 * <!-- end-user-doc -->
740 * @generated
741 * @ordered
742 */
743 int VLS_UNIVERSAL_QUANTIFIER_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
744
745 /**
746 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSExistentialQuantifierImpl <em>VLS Existential Quantifier</em>}' class.
747 * <!-- begin-user-doc -->
748 * <!-- end-user-doc -->
749 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSExistentialQuantifierImpl
750 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSExistentialQuantifier()
751 * @generated
752 */
753 int VLS_EXISTENTIAL_QUANTIFIER = 19;
754
755 /**
756 * The feature id for the '<em><b>Variables</b></em>' containment reference list.
757 * <!-- begin-user-doc -->
758 * <!-- end-user-doc -->
759 * @generated
760 * @ordered
761 */
762 int VLS_EXISTENTIAL_QUANTIFIER__VARIABLES = VLS_TERM_FEATURE_COUNT + 0;
763
764 /**
765 * The feature id for the '<em><b>Operand</b></em>' containment reference.
766 * <!-- begin-user-doc -->
767 * <!-- end-user-doc -->
768 * @generated
769 * @ordered
770 */
771 int VLS_EXISTENTIAL_QUANTIFIER__OPERAND = VLS_TERM_FEATURE_COUNT + 1;
772
773 /**
774 * The number of structural features of the '<em>VLS Existential Quantifier</em>' class.
775 * <!-- begin-user-doc -->
776 * <!-- end-user-doc -->
777 * @generated
778 * @ordered
779 */
780 int VLS_EXISTENTIAL_QUANTIFIER_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
781
782 /**
783 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUnaryNegationImpl <em>VLS Unary Negation</em>}' class.
784 * <!-- begin-user-doc -->
785 * <!-- end-user-doc -->
786 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUnaryNegationImpl
787 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSUnaryNegation()
788 * @generated
789 */
790 int VLS_UNARY_NEGATION = 20;
791
792 /**
793 * The feature id for the '<em><b>Operand</b></em>' containment reference.
794 * <!-- begin-user-doc -->
795 * <!-- end-user-doc -->
796 * @generated
797 * @ordered
798 */
799 int VLS_UNARY_NEGATION__OPERAND = VLS_TERM_FEATURE_COUNT + 0;
800
801 /**
802 * The number of structural features of the '<em>VLS Unary Negation</em>' class.
803 * <!-- begin-user-doc -->
804 * <!-- end-user-doc -->
805 * @generated
806 * @ordered
807 */
808 int VLS_UNARY_NEGATION_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 1;
809
810 /**
811 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSInequalityImpl <em>VLS Inequality</em>}' class.
812 * <!-- begin-user-doc -->
813 * <!-- end-user-doc -->
814 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSInequalityImpl
815 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSInequality()
816 * @generated
817 */
818 int VLS_INEQUALITY = 21;
819
820 /**
821 * The feature id for the '<em><b>Left</b></em>' containment reference.
822 * <!-- begin-user-doc -->
823 * <!-- end-user-doc -->
824 * @generated
825 * @ordered
826 */
827 int VLS_INEQUALITY__LEFT = VLS_TERM_FEATURE_COUNT + 0;
828
829 /**
830 * The feature id for the '<em><b>Right</b></em>' containment reference.
831 * <!-- begin-user-doc -->
832 * <!-- end-user-doc -->
833 * @generated
834 * @ordered
835 */
836 int VLS_INEQUALITY__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
837
838 /**
839 * The number of structural features of the '<em>VLS Inequality</em>' class.
840 * <!-- begin-user-doc -->
841 * <!-- end-user-doc -->
842 * @generated
843 * @ordered
844 */
845 int VLS_INEQUALITY_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
846
847 /**
848 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEqualityImpl <em>VLS Equality</em>}' class.
849 * <!-- begin-user-doc -->
850 * <!-- end-user-doc -->
851 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEqualityImpl
852 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSEquality()
853 * @generated
854 */
855 int VLS_EQUALITY = 22;
856
857 /**
858 * The feature id for the '<em><b>Left</b></em>' containment reference.
859 * <!-- begin-user-doc -->
860 * <!-- end-user-doc -->
861 * @generated
862 * @ordered
863 */
864 int VLS_EQUALITY__LEFT = VLS_TERM_FEATURE_COUNT + 0;
865
866 /**
867 * The feature id for the '<em><b>Right</b></em>' containment reference.
868 * <!-- begin-user-doc -->
869 * <!-- end-user-doc -->
870 * @generated
871 * @ordered
872 */
873 int VLS_EQUALITY__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
874
875 /**
876 * The number of structural features of the '<em>VLS Equality</em>' class.
877 * <!-- begin-user-doc -->
878 * <!-- end-user-doc -->
879 * @generated
880 * @ordered
881 */
882 int VLS_EQUALITY_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
883
884 /**
885 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAssignmentImpl <em>VLS Assignment</em>}' class.
886 * <!-- begin-user-doc -->
887 * <!-- end-user-doc -->
888 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAssignmentImpl
889 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAssignment()
890 * @generated
891 */
892 int VLS_ASSIGNMENT = 23;
893
894 /**
895 * The feature id for the '<em><b>Left</b></em>' containment reference.
896 * <!-- begin-user-doc -->
897 * <!-- end-user-doc -->
898 * @generated
899 * @ordered
900 */
901 int VLS_ASSIGNMENT__LEFT = VLS_TERM_FEATURE_COUNT + 0;
902
903 /**
904 * The feature id for the '<em><b>Right</b></em>' containment reference.
905 * <!-- begin-user-doc -->
906 * <!-- end-user-doc -->
907 * @generated
908 * @ordered
909 */
910 int VLS_ASSIGNMENT__RIGHT = VLS_TERM_FEATURE_COUNT + 1;
911
912 /**
913 * The number of structural features of the '<em>VLS Assignment</em>' class.
914 * <!-- begin-user-doc -->
915 * <!-- end-user-doc -->
916 * @generated
917 * @ordered
918 */
919 int VLS_ASSIGNMENT_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
920
921 /**
922 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSConstantImpl <em>VLS Constant</em>}' class.
923 * <!-- begin-user-doc -->
924 * <!-- end-user-doc -->
925 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSConstantImpl
926 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSConstant()
927 * @generated
928 */
929 int VLS_CONSTANT = 24;
930
931 /**
932 * The feature id for the '<em><b>Name</b></em>' attribute.
933 * <!-- begin-user-doc -->
934 * <!-- end-user-doc -->
935 * @generated
936 * @ordered
937 */
938 int VLS_CONSTANT__NAME = VLS_TERM_FEATURE_COUNT + 0;
939
940 /**
941 * The number of structural features of the '<em>VLS Constant</em>' class.
942 * <!-- begin-user-doc -->
943 * <!-- end-user-doc -->
944 * @generated
945 * @ordered
946 */
947 int VLS_CONSTANT_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 1;
948
949 /**
950 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTrueImpl <em>VLS True</em>}' class.
951 * <!-- begin-user-doc -->
952 * <!-- end-user-doc -->
953 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTrueImpl
954 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTrue()
955 * @generated
956 */
957 int VLS_TRUE = 25;
958
959 /**
960 * The number of structural features of the '<em>VLS True</em>' class.
961 * <!-- begin-user-doc -->
962 * <!-- end-user-doc -->
963 * @generated
964 * @ordered
965 */
966 int VLS_TRUE_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 0;
967
968 /**
969 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFalseImpl <em>VLS False</em>}' class.
970 * <!-- begin-user-doc -->
971 * <!-- end-user-doc -->
972 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFalseImpl
973 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFalse()
974 * @generated
975 */
976 int VLS_FALSE = 26;
977
978 /**
979 * The number of structural features of the '<em>VLS False</em>' class.
980 * <!-- begin-user-doc -->
981 * <!-- end-user-doc -->
982 * @generated
983 * @ordered
984 */
985 int VLS_FALSE_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 0;
986
987 /**
988 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionImpl <em>VLS Function</em>}' class.
989 * <!-- begin-user-doc -->
990 * <!-- end-user-doc -->
991 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionImpl
992 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFunction()
993 * @generated
994 */
995 int VLS_FUNCTION = 27;
996
997 /**
998 * The feature id for the '<em><b>Constant</b></em>' attribute.
999 * <!-- begin-user-doc -->
1000 * <!-- end-user-doc -->
1001 * @generated
1002 * @ordered
1003 */
1004 int VLS_FUNCTION__CONSTANT = VLS_TERM_FEATURE_COUNT + 0;
1005
1006 /**
1007 * The feature id for the '<em><b>Terms</b></em>' containment reference list.
1008 * <!-- begin-user-doc -->
1009 * <!-- end-user-doc -->
1010 * @generated
1011 * @ordered
1012 */
1013 int VLS_FUNCTION__TERMS = VLS_TERM_FEATURE_COUNT + 1;
1014
1015 /**
1016 * The number of structural features of the '<em>VLS Function</em>' class.
1017 * <!-- begin-user-doc -->
1018 * <!-- end-user-doc -->
1019 * @generated
1020 * @ordered
1021 */
1022 int VLS_FUNCTION_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
1023
1024 /**
1025 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSLessImpl <em>VLS Less</em>}' class.
1026 * <!-- begin-user-doc -->
1027 * <!-- end-user-doc -->
1028 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSLessImpl
1029 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSLess()
1030 * @generated
1031 */
1032 int VLS_LESS = 28;
1033
1034 /**
1035 * The feature id for the '<em><b>Name</b></em>' attribute.
1036 * <!-- begin-user-doc -->
1037 * <!-- end-user-doc -->
1038 * @generated
1039 * @ordered
1040 */
1041 int VLS_LESS__NAME = VLS_TERM_FEATURE_COUNT + 0;
1042
1043 /**
1044 * The feature id for the '<em><b>Terms</b></em>' containment reference list.
1045 * <!-- begin-user-doc -->
1046 * <!-- end-user-doc -->
1047 * @generated
1048 * @ordered
1049 */
1050 int VLS_LESS__TERMS = VLS_TERM_FEATURE_COUNT + 1;
1051
1052 /**
1053 * The number of structural features of the '<em>VLS Less</em>' class.
1054 * <!-- begin-user-doc -->
1055 * <!-- end-user-doc -->
1056 * @generated
1057 * @ordered
1058 */
1059 int VLS_LESS_FEATURE_COUNT = VLS_TERM_FEATURE_COUNT + 2;
1060
1061 /**
1062 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSIntImpl <em>VLS Int</em>}' class.
1063 * <!-- begin-user-doc -->
1064 * <!-- end-user-doc -->
1065 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSIntImpl
1066 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSInt()
1067 * @generated
1068 */
1069 int VLS_INT = 29;
1070
1071 /**
1072 * The feature id for the '<em><b>Value</b></em>' attribute.
1073 * <!-- begin-user-doc -->
1074 * <!-- end-user-doc -->
1075 * @generated
1076 * @ordered
1077 */
1078 int VLS_INT__VALUE = VLS_DEFINED_TERM__VALUE;
1079
1080 /**
1081 * The number of structural features of the '<em>VLS Int</em>' class.
1082 * <!-- begin-user-doc -->
1083 * <!-- end-user-doc -->
1084 * @generated
1085 * @ordered
1086 */
1087 int VLS_INT_FEATURE_COUNT = VLS_DEFINED_TERM_FEATURE_COUNT + 0;
1088
1089 /**
1090 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRealImpl <em>VLS Real</em>}' class.
1091 * <!-- begin-user-doc -->
1092 * <!-- end-user-doc -->
1093 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRealImpl
1094 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSReal()
1095 * @generated
1096 */
1097 int VLS_REAL = 30;
1098
1099 /**
1100 * The feature id for the '<em><b>Value</b></em>' attribute.
1101 * <!-- begin-user-doc -->
1102 * <!-- end-user-doc -->
1103 * @generated
1104 * @ordered
1105 */
1106 int VLS_REAL__VALUE = VLS_DEFINED_TERM__VALUE;
1107
1108 /**
1109 * The number of structural features of the '<em>VLS Real</em>' class.
1110 * <!-- begin-user-doc -->
1111 * <!-- end-user-doc -->
1112 * @generated
1113 * @ordered
1114 */
1115 int VLS_REAL_FEATURE_COUNT = VLS_DEFINED_TERM_FEATURE_COUNT + 0;
1116
1117 /**
1118 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRationalImpl <em>VLS Rational</em>}' class.
1119 * <!-- begin-user-doc -->
1120 * <!-- end-user-doc -->
1121 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRationalImpl
1122 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSRational()
1123 * @generated
1124 */
1125 int VLS_RATIONAL = 31;
1126
1127 /**
1128 * The feature id for the '<em><b>Value</b></em>' attribute.
1129 * <!-- begin-user-doc -->
1130 * <!-- end-user-doc -->
1131 * @generated
1132 * @ordered
1133 */
1134 int VLS_RATIONAL__VALUE = VLS_DEFINED_TERM__VALUE;
1135
1136 /**
1137 * The number of structural features of the '<em>VLS Rational</em>' class.
1138 * <!-- begin-user-doc -->
1139 * <!-- end-user-doc -->
1140 * @generated
1141 * @ordered
1142 */
1143 int VLS_RATIONAL_FEATURE_COUNT = VLS_DEFINED_TERM_FEATURE_COUNT + 0;
1144
1145 /**
1146 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSDoubleQuoteImpl <em>VLS Double Quote</em>}' class.
1147 * <!-- begin-user-doc -->
1148 * <!-- end-user-doc -->
1149 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSDoubleQuoteImpl
1150 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSDoubleQuote()
1151 * @generated
1152 */
1153 int VLS_DOUBLE_QUOTE = 32;
1154
1155 /**
1156 * The feature id for the '<em><b>Value</b></em>' attribute.
1157 * <!-- begin-user-doc -->
1158 * <!-- end-user-doc -->
1159 * @generated
1160 * @ordered
1161 */
1162 int VLS_DOUBLE_QUOTE__VALUE = VLS_DEFINED_TERM__VALUE;
1163
1164 /**
1165 * The number of structural features of the '<em>VLS Double Quote</em>' class.
1166 * <!-- begin-user-doc -->
1167 * <!-- end-user-doc -->
1168 * @generated
1169 * @ordered
1170 */
1171 int VLS_DOUBLE_QUOTE_FEATURE_COUNT = VLS_DEFINED_TERM_FEATURE_COUNT + 0;
1172
1173
1174 /**
1175 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel <em>Vampire Model</em>}'.
1176 * <!-- begin-user-doc -->
1177 * <!-- end-user-doc -->
1178 * @return the meta object for class '<em>Vampire Model</em>'.
1179 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel
1180 * @generated
1181 */
1182 EClass getVampireModel();
1183
1184 /**
1185 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel#getIncludes <em>Includes</em>}'.
1186 * <!-- begin-user-doc -->
1187 * <!-- end-user-doc -->
1188 * @return the meta object for the containment reference list '<em>Includes</em>'.
1189 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel#getIncludes()
1190 * @see #getVampireModel()
1191 * @generated
1192 */
1193 EReference getVampireModel_Includes();
1194
1195 /**
1196 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel#getComments <em>Comments</em>}'.
1197 * <!-- begin-user-doc -->
1198 * <!-- end-user-doc -->
1199 * @return the meta object for the containment reference list '<em>Comments</em>'.
1200 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel#getComments()
1201 * @see #getVampireModel()
1202 * @generated
1203 */
1204 EReference getVampireModel_Comments();
1205
1206 /**
1207 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel#getFormulas <em>Formulas</em>}'.
1208 * <!-- begin-user-doc -->
1209 * <!-- end-user-doc -->
1210 * @return the meta object for the containment reference list '<em>Formulas</em>'.
1211 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel#getFormulas()
1212 * @see #getVampireModel()
1213 * @generated
1214 */
1215 EReference getVampireModel_Formulas();
1216
1217 /**
1218 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude <em>VLS Include</em>}'.
1219 * <!-- begin-user-doc -->
1220 * <!-- end-user-doc -->
1221 * @return the meta object for class '<em>VLS Include</em>'.
1222 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude
1223 * @generated
1224 */
1225 EClass getVLSInclude();
1226
1227 /**
1228 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude#getFileName <em>File Name</em>}'.
1229 * <!-- begin-user-doc -->
1230 * <!-- end-user-doc -->
1231 * @return the meta object for the attribute '<em>File Name</em>'.
1232 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude#getFileName()
1233 * @see #getVLSInclude()
1234 * @generated
1235 */
1236 EAttribute getVLSInclude_FileName();
1237
1238 /**
1239 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude#getNames <em>Names</em>}'.
1240 * <!-- begin-user-doc -->
1241 * <!-- end-user-doc -->
1242 * @return the meta object for the containment reference list '<em>Names</em>'.
1243 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude#getNames()
1244 * @see #getVLSInclude()
1245 * @generated
1246 */
1247 EReference getVLSInclude_Names();
1248
1249 /**
1250 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName <em>VLS Name</em>}'.
1251 * <!-- begin-user-doc -->
1252 * <!-- end-user-doc -->
1253 * @return the meta object for class '<em>VLS Name</em>'.
1254 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName
1255 * @generated
1256 */
1257 EClass getVLSName();
1258
1259 /**
1260 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName#getName <em>Name</em>}'.
1261 * <!-- begin-user-doc -->
1262 * <!-- end-user-doc -->
1263 * @return the meta object for the attribute '<em>Name</em>'.
1264 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName#getName()
1265 * @see #getVLSName()
1266 * @generated
1267 */
1268 EAttribute getVLSName_Name();
1269
1270 /**
1271 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment <em>VLS Comment</em>}'.
1272 * <!-- begin-user-doc -->
1273 * <!-- end-user-doc -->
1274 * @return the meta object for class '<em>VLS Comment</em>'.
1275 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment
1276 * @generated
1277 */
1278 EClass getVLSComment();
1279
1280 /**
1281 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment#getComment <em>Comment</em>}'.
1282 * <!-- begin-user-doc -->
1283 * <!-- end-user-doc -->
1284 * @return the meta object for the attribute '<em>Comment</em>'.
1285 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment#getComment()
1286 * @see #getVLSComment()
1287 * @generated
1288 */
1289 EAttribute getVLSComment_Comment();
1290
1291 /**
1292 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula <em>VLS Fof Formula</em>}'.
1293 * <!-- begin-user-doc -->
1294 * <!-- end-user-doc -->
1295 * @return the meta object for class '<em>VLS Fof Formula</em>'.
1296 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula
1297 * @generated
1298 */
1299 EClass getVLSFofFormula();
1300
1301 /**
1302 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getName <em>Name</em>}'.
1303 * <!-- begin-user-doc -->
1304 * <!-- end-user-doc -->
1305 * @return the meta object for the attribute '<em>Name</em>'.
1306 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getName()
1307 * @see #getVLSFofFormula()
1308 * @generated
1309 */
1310 EAttribute getVLSFofFormula_Name();
1311
1312 /**
1313 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getFofRole <em>Fof Role</em>}'.
1314 * <!-- begin-user-doc -->
1315 * <!-- end-user-doc -->
1316 * @return the meta object for the attribute '<em>Fof Role</em>'.
1317 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getFofRole()
1318 * @see #getVLSFofFormula()
1319 * @generated
1320 */
1321 EAttribute getVLSFofFormula_FofRole();
1322
1323 /**
1324 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getFofFormula <em>Fof Formula</em>}'.
1325 * <!-- begin-user-doc -->
1326 * <!-- end-user-doc -->
1327 * @return the meta object for the containment reference '<em>Fof Formula</em>'.
1328 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getFofFormula()
1329 * @see #getVLSFofFormula()
1330 * @generated
1331 */
1332 EReference getVLSFofFormula_FofFormula();
1333
1334 /**
1335 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getAnnotations <em>Annotations</em>}'.
1336 * <!-- begin-user-doc -->
1337 * <!-- end-user-doc -->
1338 * @return the meta object for the containment reference '<em>Annotations</em>'.
1339 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula#getAnnotations()
1340 * @see #getVLSFofFormula()
1341 * @generated
1342 */
1343 EReference getVLSFofFormula_Annotations();
1344
1345 /**
1346 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation <em>VLS Annotation</em>}'.
1347 * <!-- begin-user-doc -->
1348 * <!-- end-user-doc -->
1349 * @return the meta object for class '<em>VLS Annotation</em>'.
1350 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation
1351 * @generated
1352 */
1353 EClass getVLSAnnotation();
1354
1355 /**
1356 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getName <em>Name</em>}'.
1357 * <!-- begin-user-doc -->
1358 * <!-- end-user-doc -->
1359 * @return the meta object for the attribute '<em>Name</em>'.
1360 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getName()
1361 * @see #getVLSAnnotation()
1362 * @generated
1363 */
1364 EAttribute getVLSAnnotation_Name();
1365
1366 /**
1367 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getFollowup <em>Followup</em>}'.
1368 * <!-- begin-user-doc -->
1369 * <!-- end-user-doc -->
1370 * @return the meta object for the containment reference '<em>Followup</em>'.
1371 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getFollowup()
1372 * @see #getVLSAnnotation()
1373 * @generated
1374 */
1375 EReference getVLSAnnotation_Followup();
1376
1377 /**
1378 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getTerms <em>Terms</em>}'.
1379 * <!-- begin-user-doc -->
1380 * <!-- end-user-doc -->
1381 * @return the meta object for the containment reference list '<em>Terms</em>'.
1382 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation#getTerms()
1383 * @see #getVLSAnnotation()
1384 * @generated
1385 */
1386 EReference getVLSAnnotation_Terms();
1387
1388 /**
1389 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm <em>VLS Term</em>}'.
1390 * <!-- begin-user-doc -->
1391 * <!-- end-user-doc -->
1392 * @return the meta object for class '<em>VLS Term</em>'.
1393 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
1394 * @generated
1395 */
1396 EClass getVLSTerm();
1397
1398 /**
1399 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable <em>VLS Variable</em>}'.
1400 * <!-- begin-user-doc -->
1401 * <!-- end-user-doc -->
1402 * @return the meta object for class '<em>VLS Variable</em>'.
1403 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable
1404 * @generated
1405 */
1406 EClass getVLSVariable();
1407
1408 /**
1409 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable#getName <em>Name</em>}'.
1410 * <!-- begin-user-doc -->
1411 * <!-- end-user-doc -->
1412 * @return the meta object for the attribute '<em>Name</em>'.
1413 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable#getName()
1414 * @see #getVLSVariable()
1415 * @generated
1416 */
1417 EAttribute getVLSVariable_Name();
1418
1419 /**
1420 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof <em>VLS Function Fof</em>}'.
1421 * <!-- begin-user-doc -->
1422 * <!-- end-user-doc -->
1423 * @return the meta object for class '<em>VLS Function Fof</em>'.
1424 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof
1425 * @generated
1426 */
1427 EClass getVLSFunctionFof();
1428
1429 /**
1430 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof#getFunctor <em>Functor</em>}'.
1431 * <!-- begin-user-doc -->
1432 * <!-- end-user-doc -->
1433 * @return the meta object for the attribute '<em>Functor</em>'.
1434 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof#getFunctor()
1435 * @see #getVLSFunctionFof()
1436 * @generated
1437 */
1438 EAttribute getVLSFunctionFof_Functor();
1439
1440 /**
1441 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof#getTerms <em>Terms</em>}'.
1442 * <!-- begin-user-doc -->
1443 * <!-- end-user-doc -->
1444 * @return the meta object for the containment reference list '<em>Terms</em>'.
1445 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof#getTerms()
1446 * @see #getVLSFunctionFof()
1447 * @generated
1448 */
1449 EReference getVLSFunctionFof_Terms();
1450
1451 /**
1452 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDefinedTerm <em>VLS Defined Term</em>}'.
1453 * <!-- begin-user-doc -->
1454 * <!-- end-user-doc -->
1455 * @return the meta object for class '<em>VLS Defined Term</em>'.
1456 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDefinedTerm
1457 * @generated
1458 */
1459 EClass getVLSDefinedTerm();
1460
1461 /**
1462 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDefinedTerm#getValue <em>Value</em>}'.
1463 * <!-- begin-user-doc -->
1464 * <!-- end-user-doc -->
1465 * @return the meta object for the attribute '<em>Value</em>'.
1466 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDefinedTerm#getValue()
1467 * @see #getVLSDefinedTerm()
1468 * @generated
1469 */
1470 EAttribute getVLSDefinedTerm_Value();
1471
1472 /**
1473 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent <em>VLS Equivalent</em>}'.
1474 * <!-- begin-user-doc -->
1475 * <!-- end-user-doc -->
1476 * @return the meta object for class '<em>VLS Equivalent</em>'.
1477 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent
1478 * @generated
1479 */
1480 EClass getVLSEquivalent();
1481
1482 /**
1483 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent#getLeft <em>Left</em>}'.
1484 * <!-- begin-user-doc -->
1485 * <!-- end-user-doc -->
1486 * @return the meta object for the containment reference '<em>Left</em>'.
1487 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent#getLeft()
1488 * @see #getVLSEquivalent()
1489 * @generated
1490 */
1491 EReference getVLSEquivalent_Left();
1492
1493 /**
1494 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent#getRight <em>Right</em>}'.
1495 * <!-- begin-user-doc -->
1496 * <!-- end-user-doc -->
1497 * @return the meta object for the containment reference '<em>Right</em>'.
1498 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent#getRight()
1499 * @see #getVLSEquivalent()
1500 * @generated
1501 */
1502 EReference getVLSEquivalent_Right();
1503
1504 /**
1505 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies <em>VLS Implies</em>}'.
1506 * <!-- begin-user-doc -->
1507 * <!-- end-user-doc -->
1508 * @return the meta object for class '<em>VLS Implies</em>'.
1509 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies
1510 * @generated
1511 */
1512 EClass getVLSImplies();
1513
1514 /**
1515 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies#getLeft <em>Left</em>}'.
1516 * <!-- begin-user-doc -->
1517 * <!-- end-user-doc -->
1518 * @return the meta object for the containment reference '<em>Left</em>'.
1519 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies#getLeft()
1520 * @see #getVLSImplies()
1521 * @generated
1522 */
1523 EReference getVLSImplies_Left();
1524
1525 /**
1526 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies#getRight <em>Right</em>}'.
1527 * <!-- begin-user-doc -->
1528 * <!-- end-user-doc -->
1529 * @return the meta object for the containment reference '<em>Right</em>'.
1530 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies#getRight()
1531 * @see #getVLSImplies()
1532 * @generated
1533 */
1534 EReference getVLSImplies_Right();
1535
1536 /**
1537 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies <em>VLS Rev Implies</em>}'.
1538 * <!-- begin-user-doc -->
1539 * <!-- end-user-doc -->
1540 * @return the meta object for class '<em>VLS Rev Implies</em>'.
1541 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies
1542 * @generated
1543 */
1544 EClass getVLSRevImplies();
1545
1546 /**
1547 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies#getLeft <em>Left</em>}'.
1548 * <!-- begin-user-doc -->
1549 * <!-- end-user-doc -->
1550 * @return the meta object for the containment reference '<em>Left</em>'.
1551 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies#getLeft()
1552 * @see #getVLSRevImplies()
1553 * @generated
1554 */
1555 EReference getVLSRevImplies_Left();
1556
1557 /**
1558 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies#getRight <em>Right</em>}'.
1559 * <!-- begin-user-doc -->
1560 * <!-- end-user-doc -->
1561 * @return the meta object for the containment reference '<em>Right</em>'.
1562 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies#getRight()
1563 * @see #getVLSRevImplies()
1564 * @generated
1565 */
1566 EReference getVLSRevImplies_Right();
1567
1568 /**
1569 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor <em>VLS Xnor</em>}'.
1570 * <!-- begin-user-doc -->
1571 * <!-- end-user-doc -->
1572 * @return the meta object for class '<em>VLS Xnor</em>'.
1573 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor
1574 * @generated
1575 */
1576 EClass getVLSXnor();
1577
1578 /**
1579 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor#getLeft <em>Left</em>}'.
1580 * <!-- begin-user-doc -->
1581 * <!-- end-user-doc -->
1582 * @return the meta object for the containment reference '<em>Left</em>'.
1583 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor#getLeft()
1584 * @see #getVLSXnor()
1585 * @generated
1586 */
1587 EReference getVLSXnor_Left();
1588
1589 /**
1590 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor#getRight <em>Right</em>}'.
1591 * <!-- begin-user-doc -->
1592 * <!-- end-user-doc -->
1593 * @return the meta object for the containment reference '<em>Right</em>'.
1594 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor#getRight()
1595 * @see #getVLSXnor()
1596 * @generated
1597 */
1598 EReference getVLSXnor_Right();
1599
1600 /**
1601 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor <em>VLS Nor</em>}'.
1602 * <!-- begin-user-doc -->
1603 * <!-- end-user-doc -->
1604 * @return the meta object for class '<em>VLS Nor</em>'.
1605 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor
1606 * @generated
1607 */
1608 EClass getVLSNor();
1609
1610 /**
1611 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor#getLeft <em>Left</em>}'.
1612 * <!-- begin-user-doc -->
1613 * <!-- end-user-doc -->
1614 * @return the meta object for the containment reference '<em>Left</em>'.
1615 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor#getLeft()
1616 * @see #getVLSNor()
1617 * @generated
1618 */
1619 EReference getVLSNor_Left();
1620
1621 /**
1622 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor#getRight <em>Right</em>}'.
1623 * <!-- begin-user-doc -->
1624 * <!-- end-user-doc -->
1625 * @return the meta object for the containment reference '<em>Right</em>'.
1626 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor#getRight()
1627 * @see #getVLSNor()
1628 * @generated
1629 */
1630 EReference getVLSNor_Right();
1631
1632 /**
1633 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand <em>VLS Nand</em>}'.
1634 * <!-- begin-user-doc -->
1635 * <!-- end-user-doc -->
1636 * @return the meta object for class '<em>VLS Nand</em>'.
1637 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand
1638 * @generated
1639 */
1640 EClass getVLSNand();
1641
1642 /**
1643 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand#getLeft <em>Left</em>}'.
1644 * <!-- begin-user-doc -->
1645 * <!-- end-user-doc -->
1646 * @return the meta object for the containment reference '<em>Left</em>'.
1647 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand#getLeft()
1648 * @see #getVLSNand()
1649 * @generated
1650 */
1651 EReference getVLSNand_Left();
1652
1653 /**
1654 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand#getRight <em>Right</em>}'.
1655 * <!-- begin-user-doc -->
1656 * <!-- end-user-doc -->
1657 * @return the meta object for the containment reference '<em>Right</em>'.
1658 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand#getRight()
1659 * @see #getVLSNand()
1660 * @generated
1661 */
1662 EReference getVLSNand_Right();
1663
1664 /**
1665 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd <em>VLS And</em>}'.
1666 * <!-- begin-user-doc -->
1667 * <!-- end-user-doc -->
1668 * @return the meta object for class '<em>VLS And</em>'.
1669 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd
1670 * @generated
1671 */
1672 EClass getVLSAnd();
1673
1674 /**
1675 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd#getLeft <em>Left</em>}'.
1676 * <!-- begin-user-doc -->
1677 * <!-- end-user-doc -->
1678 * @return the meta object for the containment reference '<em>Left</em>'.
1679 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd#getLeft()
1680 * @see #getVLSAnd()
1681 * @generated
1682 */
1683 EReference getVLSAnd_Left();
1684
1685 /**
1686 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd#getRight <em>Right</em>}'.
1687 * <!-- begin-user-doc -->
1688 * <!-- end-user-doc -->
1689 * @return the meta object for the containment reference '<em>Right</em>'.
1690 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd#getRight()
1691 * @see #getVLSAnd()
1692 * @generated
1693 */
1694 EReference getVLSAnd_Right();
1695
1696 /**
1697 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr <em>VLS Or</em>}'.
1698 * <!-- begin-user-doc -->
1699 * <!-- end-user-doc -->
1700 * @return the meta object for class '<em>VLS Or</em>'.
1701 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr
1702 * @generated
1703 */
1704 EClass getVLSOr();
1705
1706 /**
1707 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr#getLeft <em>Left</em>}'.
1708 * <!-- begin-user-doc -->
1709 * <!-- end-user-doc -->
1710 * @return the meta object for the containment reference '<em>Left</em>'.
1711 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr#getLeft()
1712 * @see #getVLSOr()
1713 * @generated
1714 */
1715 EReference getVLSOr_Left();
1716
1717 /**
1718 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr#getRight <em>Right</em>}'.
1719 * <!-- begin-user-doc -->
1720 * <!-- end-user-doc -->
1721 * @return the meta object for the containment reference '<em>Right</em>'.
1722 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr#getRight()
1723 * @see #getVLSOr()
1724 * @generated
1725 */
1726 EReference getVLSOr_Right();
1727
1728 /**
1729 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier <em>VLS Universal Quantifier</em>}'.
1730 * <!-- begin-user-doc -->
1731 * <!-- end-user-doc -->
1732 * @return the meta object for class '<em>VLS Universal Quantifier</em>'.
1733 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier
1734 * @generated
1735 */
1736 EClass getVLSUniversalQuantifier();
1737
1738 /**
1739 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier#getVariables <em>Variables</em>}'.
1740 * <!-- begin-user-doc -->
1741 * <!-- end-user-doc -->
1742 * @return the meta object for the containment reference list '<em>Variables</em>'.
1743 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier#getVariables()
1744 * @see #getVLSUniversalQuantifier()
1745 * @generated
1746 */
1747 EReference getVLSUniversalQuantifier_Variables();
1748
1749 /**
1750 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier#getOperand <em>Operand</em>}'.
1751 * <!-- begin-user-doc -->
1752 * <!-- end-user-doc -->
1753 * @return the meta object for the containment reference '<em>Operand</em>'.
1754 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier#getOperand()
1755 * @see #getVLSUniversalQuantifier()
1756 * @generated
1757 */
1758 EReference getVLSUniversalQuantifier_Operand();
1759
1760 /**
1761 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier <em>VLS Existential Quantifier</em>}'.
1762 * <!-- begin-user-doc -->
1763 * <!-- end-user-doc -->
1764 * @return the meta object for class '<em>VLS Existential Quantifier</em>'.
1765 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier
1766 * @generated
1767 */
1768 EClass getVLSExistentialQuantifier();
1769
1770 /**
1771 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier#getVariables <em>Variables</em>}'.
1772 * <!-- begin-user-doc -->
1773 * <!-- end-user-doc -->
1774 * @return the meta object for the containment reference list '<em>Variables</em>'.
1775 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier#getVariables()
1776 * @see #getVLSExistentialQuantifier()
1777 * @generated
1778 */
1779 EReference getVLSExistentialQuantifier_Variables();
1780
1781 /**
1782 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier#getOperand <em>Operand</em>}'.
1783 * <!-- begin-user-doc -->
1784 * <!-- end-user-doc -->
1785 * @return the meta object for the containment reference '<em>Operand</em>'.
1786 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier#getOperand()
1787 * @see #getVLSExistentialQuantifier()
1788 * @generated
1789 */
1790 EReference getVLSExistentialQuantifier_Operand();
1791
1792 /**
1793 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation <em>VLS Unary Negation</em>}'.
1794 * <!-- begin-user-doc -->
1795 * <!-- end-user-doc -->
1796 * @return the meta object for class '<em>VLS Unary Negation</em>'.
1797 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation
1798 * @generated
1799 */
1800 EClass getVLSUnaryNegation();
1801
1802 /**
1803 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation#getOperand <em>Operand</em>}'.
1804 * <!-- begin-user-doc -->
1805 * <!-- end-user-doc -->
1806 * @return the meta object for the containment reference '<em>Operand</em>'.
1807 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation#getOperand()
1808 * @see #getVLSUnaryNegation()
1809 * @generated
1810 */
1811 EReference getVLSUnaryNegation_Operand();
1812
1813 /**
1814 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality <em>VLS Inequality</em>}'.
1815 * <!-- begin-user-doc -->
1816 * <!-- end-user-doc -->
1817 * @return the meta object for class '<em>VLS Inequality</em>'.
1818 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality
1819 * @generated
1820 */
1821 EClass getVLSInequality();
1822
1823 /**
1824 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality#getLeft <em>Left</em>}'.
1825 * <!-- begin-user-doc -->
1826 * <!-- end-user-doc -->
1827 * @return the meta object for the containment reference '<em>Left</em>'.
1828 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality#getLeft()
1829 * @see #getVLSInequality()
1830 * @generated
1831 */
1832 EReference getVLSInequality_Left();
1833
1834 /**
1835 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality#getRight <em>Right</em>}'.
1836 * <!-- begin-user-doc -->
1837 * <!-- end-user-doc -->
1838 * @return the meta object for the containment reference '<em>Right</em>'.
1839 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality#getRight()
1840 * @see #getVLSInequality()
1841 * @generated
1842 */
1843 EReference getVLSInequality_Right();
1844
1845 /**
1846 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality <em>VLS Equality</em>}'.
1847 * <!-- begin-user-doc -->
1848 * <!-- end-user-doc -->
1849 * @return the meta object for class '<em>VLS Equality</em>'.
1850 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality
1851 * @generated
1852 */
1853 EClass getVLSEquality();
1854
1855 /**
1856 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality#getLeft <em>Left</em>}'.
1857 * <!-- begin-user-doc -->
1858 * <!-- end-user-doc -->
1859 * @return the meta object for the containment reference '<em>Left</em>'.
1860 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality#getLeft()
1861 * @see #getVLSEquality()
1862 * @generated
1863 */
1864 EReference getVLSEquality_Left();
1865
1866 /**
1867 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality#getRight <em>Right</em>}'.
1868 * <!-- begin-user-doc -->
1869 * <!-- end-user-doc -->
1870 * @return the meta object for the containment reference '<em>Right</em>'.
1871 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality#getRight()
1872 * @see #getVLSEquality()
1873 * @generated
1874 */
1875 EReference getVLSEquality_Right();
1876
1877 /**
1878 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment <em>VLS Assignment</em>}'.
1879 * <!-- begin-user-doc -->
1880 * <!-- end-user-doc -->
1881 * @return the meta object for class '<em>VLS Assignment</em>'.
1882 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment
1883 * @generated
1884 */
1885 EClass getVLSAssignment();
1886
1887 /**
1888 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment#getLeft <em>Left</em>}'.
1889 * <!-- begin-user-doc -->
1890 * <!-- end-user-doc -->
1891 * @return the meta object for the containment reference '<em>Left</em>'.
1892 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment#getLeft()
1893 * @see #getVLSAssignment()
1894 * @generated
1895 */
1896 EReference getVLSAssignment_Left();
1897
1898 /**
1899 * Returns the meta object for the containment reference '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment#getRight <em>Right</em>}'.
1900 * <!-- begin-user-doc -->
1901 * <!-- end-user-doc -->
1902 * @return the meta object for the containment reference '<em>Right</em>'.
1903 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment#getRight()
1904 * @see #getVLSAssignment()
1905 * @generated
1906 */
1907 EReference getVLSAssignment_Right();
1908
1909 /**
1910 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant <em>VLS Constant</em>}'.
1911 * <!-- begin-user-doc -->
1912 * <!-- end-user-doc -->
1913 * @return the meta object for class '<em>VLS Constant</em>'.
1914 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant
1915 * @generated
1916 */
1917 EClass getVLSConstant();
1918
1919 /**
1920 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant#getName <em>Name</em>}'.
1921 * <!-- begin-user-doc -->
1922 * <!-- end-user-doc -->
1923 * @return the meta object for the attribute '<em>Name</em>'.
1924 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant#getName()
1925 * @see #getVLSConstant()
1926 * @generated
1927 */
1928 EAttribute getVLSConstant_Name();
1929
1930 /**
1931 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue <em>VLS True</em>}'.
1932 * <!-- begin-user-doc -->
1933 * <!-- end-user-doc -->
1934 * @return the meta object for class '<em>VLS True</em>'.
1935 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue
1936 * @generated
1937 */
1938 EClass getVLSTrue();
1939
1940 /**
1941 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse <em>VLS False</em>}'.
1942 * <!-- begin-user-doc -->
1943 * <!-- end-user-doc -->
1944 * @return the meta object for class '<em>VLS False</em>'.
1945 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse
1946 * @generated
1947 */
1948 EClass getVLSFalse();
1949
1950 /**
1951 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction <em>VLS Function</em>}'.
1952 * <!-- begin-user-doc -->
1953 * <!-- end-user-doc -->
1954 * @return the meta object for class '<em>VLS Function</em>'.
1955 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction
1956 * @generated
1957 */
1958 EClass getVLSFunction();
1959
1960 /**
1961 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction#getConstant <em>Constant</em>}'.
1962 * <!-- begin-user-doc -->
1963 * <!-- end-user-doc -->
1964 * @return the meta object for the attribute '<em>Constant</em>'.
1965 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction#getConstant()
1966 * @see #getVLSFunction()
1967 * @generated
1968 */
1969 EAttribute getVLSFunction_Constant();
1970
1971 /**
1972 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction#getTerms <em>Terms</em>}'.
1973 * <!-- begin-user-doc -->
1974 * <!-- end-user-doc -->
1975 * @return the meta object for the containment reference list '<em>Terms</em>'.
1976 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction#getTerms()
1977 * @see #getVLSFunction()
1978 * @generated
1979 */
1980 EReference getVLSFunction_Terms();
1981
1982 /**
1983 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess <em>VLS Less</em>}'.
1984 * <!-- begin-user-doc -->
1985 * <!-- end-user-doc -->
1986 * @return the meta object for class '<em>VLS Less</em>'.
1987 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess
1988 * @generated
1989 */
1990 EClass getVLSLess();
1991
1992 /**
1993 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess#getName <em>Name</em>}'.
1994 * <!-- begin-user-doc -->
1995 * <!-- end-user-doc -->
1996 * @return the meta object for the attribute '<em>Name</em>'.
1997 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess#getName()
1998 * @see #getVLSLess()
1999 * @generated
2000 */
2001 EAttribute getVLSLess_Name();
2002
2003 /**
2004 * Returns the meta object for the containment reference list '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess#getTerms <em>Terms</em>}'.
2005 * <!-- begin-user-doc -->
2006 * <!-- end-user-doc -->
2007 * @return the meta object for the containment reference list '<em>Terms</em>'.
2008 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess#getTerms()
2009 * @see #getVLSLess()
2010 * @generated
2011 */
2012 EReference getVLSLess_Terms();
2013
2014 /**
2015 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInt <em>VLS Int</em>}'.
2016 * <!-- begin-user-doc -->
2017 * <!-- end-user-doc -->
2018 * @return the meta object for class '<em>VLS Int</em>'.
2019 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInt
2020 * @generated
2021 */
2022 EClass getVLSInt();
2023
2024 /**
2025 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSReal <em>VLS Real</em>}'.
2026 * <!-- begin-user-doc -->
2027 * <!-- end-user-doc -->
2028 * @return the meta object for class '<em>VLS Real</em>'.
2029 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSReal
2030 * @generated
2031 */
2032 EClass getVLSReal();
2033
2034 /**
2035 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRational <em>VLS Rational</em>}'.
2036 * <!-- begin-user-doc -->
2037 * <!-- end-user-doc -->
2038 * @return the meta object for class '<em>VLS Rational</em>'.
2039 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRational
2040 * @generated
2041 */
2042 EClass getVLSRational();
2043
2044 /**
2045 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDoubleQuote <em>VLS Double Quote</em>}'.
2046 * <!-- begin-user-doc -->
2047 * <!-- end-user-doc -->
2048 * @return the meta object for class '<em>VLS Double Quote</em>'.
2049 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDoubleQuote
2050 * @generated
2051 */
2052 EClass getVLSDoubleQuote();
2053
2054 /**
2055 * Returns the factory that creates the instances of the model.
2056 * <!-- begin-user-doc -->
2057 * <!-- end-user-doc -->
2058 * @return the factory that creates the instances of the model.
2059 * @generated
2060 */
2061 VampireLanguageFactory getVampireLanguageFactory();
2062
2063 /**
2064 * <!-- begin-user-doc -->
2065 * Defines literals for the meta objects that represent
2066 * <ul>
2067 * <li>each class,</li>
2068 * <li>each feature of each class,</li>
2069 * <li>each enum,</li>
2070 * <li>and each data type</li>
2071 * </ul>
2072 * <!-- end-user-doc -->
2073 * @generated
2074 */
2075 interface Literals
2076 {
2077 /**
2078 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireModelImpl <em>Vampire Model</em>}' class.
2079 * <!-- begin-user-doc -->
2080 * <!-- end-user-doc -->
2081 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireModelImpl
2082 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVampireModel()
2083 * @generated
2084 */
2085 EClass VAMPIRE_MODEL = eINSTANCE.getVampireModel();
2086
2087 /**
2088 * The meta object literal for the '<em><b>Includes</b></em>' containment reference list feature.
2089 * <!-- begin-user-doc -->
2090 * <!-- end-user-doc -->
2091 * @generated
2092 */
2093 EReference VAMPIRE_MODEL__INCLUDES = eINSTANCE.getVampireModel_Includes();
2094
2095 /**
2096 * The meta object literal for the '<em><b>Comments</b></em>' containment reference list feature.
2097 * <!-- begin-user-doc -->
2098 * <!-- end-user-doc -->
2099 * @generated
2100 */
2101 EReference VAMPIRE_MODEL__COMMENTS = eINSTANCE.getVampireModel_Comments();
2102
2103 /**
2104 * The meta object literal for the '<em><b>Formulas</b></em>' containment reference list feature.
2105 * <!-- begin-user-doc -->
2106 * <!-- end-user-doc -->
2107 * @generated
2108 */
2109 EReference VAMPIRE_MODEL__FORMULAS = eINSTANCE.getVampireModel_Formulas();
2110
2111 /**
2112 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSIncludeImpl <em>VLS Include</em>}' class.
2113 * <!-- begin-user-doc -->
2114 * <!-- end-user-doc -->
2115 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSIncludeImpl
2116 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSInclude()
2117 * @generated
2118 */
2119 EClass VLS_INCLUDE = eINSTANCE.getVLSInclude();
2120
2121 /**
2122 * The meta object literal for the '<em><b>File Name</b></em>' attribute feature.
2123 * <!-- begin-user-doc -->
2124 * <!-- end-user-doc -->
2125 * @generated
2126 */
2127 EAttribute VLS_INCLUDE__FILE_NAME = eINSTANCE.getVLSInclude_FileName();
2128
2129 /**
2130 * The meta object literal for the '<em><b>Names</b></em>' containment reference list feature.
2131 * <!-- begin-user-doc -->
2132 * <!-- end-user-doc -->
2133 * @generated
2134 */
2135 EReference VLS_INCLUDE__NAMES = eINSTANCE.getVLSInclude_Names();
2136
2137 /**
2138 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNameImpl <em>VLS Name</em>}' class.
2139 * <!-- begin-user-doc -->
2140 * <!-- end-user-doc -->
2141 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNameImpl
2142 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSName()
2143 * @generated
2144 */
2145 EClass VLS_NAME = eINSTANCE.getVLSName();
2146
2147 /**
2148 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2149 * <!-- begin-user-doc -->
2150 * <!-- end-user-doc -->
2151 * @generated
2152 */
2153 EAttribute VLS_NAME__NAME = eINSTANCE.getVLSName_Name();
2154
2155 /**
2156 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSCommentImpl <em>VLS Comment</em>}' class.
2157 * <!-- begin-user-doc -->
2158 * <!-- end-user-doc -->
2159 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSCommentImpl
2160 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSComment()
2161 * @generated
2162 */
2163 EClass VLS_COMMENT = eINSTANCE.getVLSComment();
2164
2165 /**
2166 * The meta object literal for the '<em><b>Comment</b></em>' attribute feature.
2167 * <!-- begin-user-doc -->
2168 * <!-- end-user-doc -->
2169 * @generated
2170 */
2171 EAttribute VLS_COMMENT__COMMENT = eINSTANCE.getVLSComment_Comment();
2172
2173 /**
2174 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl <em>VLS Fof Formula</em>}' class.
2175 * <!-- begin-user-doc -->
2176 * <!-- end-user-doc -->
2177 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl
2178 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFofFormula()
2179 * @generated
2180 */
2181 EClass VLS_FOF_FORMULA = eINSTANCE.getVLSFofFormula();
2182
2183 /**
2184 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2185 * <!-- begin-user-doc -->
2186 * <!-- end-user-doc -->
2187 * @generated
2188 */
2189 EAttribute VLS_FOF_FORMULA__NAME = eINSTANCE.getVLSFofFormula_Name();
2190
2191 /**
2192 * The meta object literal for the '<em><b>Fof Role</b></em>' attribute feature.
2193 * <!-- begin-user-doc -->
2194 * <!-- end-user-doc -->
2195 * @generated
2196 */
2197 EAttribute VLS_FOF_FORMULA__FOF_ROLE = eINSTANCE.getVLSFofFormula_FofRole();
2198
2199 /**
2200 * The meta object literal for the '<em><b>Fof Formula</b></em>' containment reference feature.
2201 * <!-- begin-user-doc -->
2202 * <!-- end-user-doc -->
2203 * @generated
2204 */
2205 EReference VLS_FOF_FORMULA__FOF_FORMULA = eINSTANCE.getVLSFofFormula_FofFormula();
2206
2207 /**
2208 * The meta object literal for the '<em><b>Annotations</b></em>' containment reference feature.
2209 * <!-- begin-user-doc -->
2210 * <!-- end-user-doc -->
2211 * @generated
2212 */
2213 EReference VLS_FOF_FORMULA__ANNOTATIONS = eINSTANCE.getVLSFofFormula_Annotations();
2214
2215 /**
2216 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAnnotationImpl <em>VLS Annotation</em>}' class.
2217 * <!-- begin-user-doc -->
2218 * <!-- end-user-doc -->
2219 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAnnotationImpl
2220 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAnnotation()
2221 * @generated
2222 */
2223 EClass VLS_ANNOTATION = eINSTANCE.getVLSAnnotation();
2224
2225 /**
2226 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2227 * <!-- begin-user-doc -->
2228 * <!-- end-user-doc -->
2229 * @generated
2230 */
2231 EAttribute VLS_ANNOTATION__NAME = eINSTANCE.getVLSAnnotation_Name();
2232
2233 /**
2234 * The meta object literal for the '<em><b>Followup</b></em>' containment reference feature.
2235 * <!-- begin-user-doc -->
2236 * <!-- end-user-doc -->
2237 * @generated
2238 */
2239 EReference VLS_ANNOTATION__FOLLOWUP = eINSTANCE.getVLSAnnotation_Followup();
2240
2241 /**
2242 * The meta object literal for the '<em><b>Terms</b></em>' containment reference list feature.
2243 * <!-- begin-user-doc -->
2244 * <!-- end-user-doc -->
2245 * @generated
2246 */
2247 EReference VLS_ANNOTATION__TERMS = eINSTANCE.getVLSAnnotation_Terms();
2248
2249 /**
2250 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTermImpl <em>VLS Term</em>}' class.
2251 * <!-- begin-user-doc -->
2252 * <!-- end-user-doc -->
2253 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTermImpl
2254 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTerm()
2255 * @generated
2256 */
2257 EClass VLS_TERM = eINSTANCE.getVLSTerm();
2258
2259 /**
2260 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSVariableImpl <em>VLS Variable</em>}' class.
2261 * <!-- begin-user-doc -->
2262 * <!-- end-user-doc -->
2263 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSVariableImpl
2264 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSVariable()
2265 * @generated
2266 */
2267 EClass VLS_VARIABLE = eINSTANCE.getVLSVariable();
2268
2269 /**
2270 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2271 * <!-- begin-user-doc -->
2272 * <!-- end-user-doc -->
2273 * @generated
2274 */
2275 EAttribute VLS_VARIABLE__NAME = eINSTANCE.getVLSVariable_Name();
2276
2277 /**
2278 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionFofImpl <em>VLS Function Fof</em>}' class.
2279 * <!-- begin-user-doc -->
2280 * <!-- end-user-doc -->
2281 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionFofImpl
2282 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFunctionFof()
2283 * @generated
2284 */
2285 EClass VLS_FUNCTION_FOF = eINSTANCE.getVLSFunctionFof();
2286
2287 /**
2288 * The meta object literal for the '<em><b>Functor</b></em>' attribute feature.
2289 * <!-- begin-user-doc -->
2290 * <!-- end-user-doc -->
2291 * @generated
2292 */
2293 EAttribute VLS_FUNCTION_FOF__FUNCTOR = eINSTANCE.getVLSFunctionFof_Functor();
2294
2295 /**
2296 * The meta object literal for the '<em><b>Terms</b></em>' containment reference list feature.
2297 * <!-- begin-user-doc -->
2298 * <!-- end-user-doc -->
2299 * @generated
2300 */
2301 EReference VLS_FUNCTION_FOF__TERMS = eINSTANCE.getVLSFunctionFof_Terms();
2302
2303 /**
2304 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSDefinedTermImpl <em>VLS Defined Term</em>}' class.
2305 * <!-- begin-user-doc -->
2306 * <!-- end-user-doc -->
2307 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSDefinedTermImpl
2308 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSDefinedTerm()
2309 * @generated
2310 */
2311 EClass VLS_DEFINED_TERM = eINSTANCE.getVLSDefinedTerm();
2312
2313 /**
2314 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
2315 * <!-- begin-user-doc -->
2316 * <!-- end-user-doc -->
2317 * @generated
2318 */
2319 EAttribute VLS_DEFINED_TERM__VALUE = eINSTANCE.getVLSDefinedTerm_Value();
2320
2321 /**
2322 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEquivalentImpl <em>VLS Equivalent</em>}' class.
2323 * <!-- begin-user-doc -->
2324 * <!-- end-user-doc -->
2325 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEquivalentImpl
2326 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSEquivalent()
2327 * @generated
2328 */
2329 EClass VLS_EQUIVALENT = eINSTANCE.getVLSEquivalent();
2330
2331 /**
2332 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2333 * <!-- begin-user-doc -->
2334 * <!-- end-user-doc -->
2335 * @generated
2336 */
2337 EReference VLS_EQUIVALENT__LEFT = eINSTANCE.getVLSEquivalent_Left();
2338
2339 /**
2340 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2341 * <!-- begin-user-doc -->
2342 * <!-- end-user-doc -->
2343 * @generated
2344 */
2345 EReference VLS_EQUIVALENT__RIGHT = eINSTANCE.getVLSEquivalent_Right();
2346
2347 /**
2348 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSImpliesImpl <em>VLS Implies</em>}' class.
2349 * <!-- begin-user-doc -->
2350 * <!-- end-user-doc -->
2351 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSImpliesImpl
2352 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSImplies()
2353 * @generated
2354 */
2355 EClass VLS_IMPLIES = eINSTANCE.getVLSImplies();
2356
2357 /**
2358 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2359 * <!-- begin-user-doc -->
2360 * <!-- end-user-doc -->
2361 * @generated
2362 */
2363 EReference VLS_IMPLIES__LEFT = eINSTANCE.getVLSImplies_Left();
2364
2365 /**
2366 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2367 * <!-- begin-user-doc -->
2368 * <!-- end-user-doc -->
2369 * @generated
2370 */
2371 EReference VLS_IMPLIES__RIGHT = eINSTANCE.getVLSImplies_Right();
2372
2373 /**
2374 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRevImpliesImpl <em>VLS Rev Implies</em>}' class.
2375 * <!-- begin-user-doc -->
2376 * <!-- end-user-doc -->
2377 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRevImpliesImpl
2378 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSRevImplies()
2379 * @generated
2380 */
2381 EClass VLS_REV_IMPLIES = eINSTANCE.getVLSRevImplies();
2382
2383 /**
2384 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2385 * <!-- begin-user-doc -->
2386 * <!-- end-user-doc -->
2387 * @generated
2388 */
2389 EReference VLS_REV_IMPLIES__LEFT = eINSTANCE.getVLSRevImplies_Left();
2390
2391 /**
2392 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2393 * <!-- begin-user-doc -->
2394 * <!-- end-user-doc -->
2395 * @generated
2396 */
2397 EReference VLS_REV_IMPLIES__RIGHT = eINSTANCE.getVLSRevImplies_Right();
2398
2399 /**
2400 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSXnorImpl <em>VLS Xnor</em>}' class.
2401 * <!-- begin-user-doc -->
2402 * <!-- end-user-doc -->
2403 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSXnorImpl
2404 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSXnor()
2405 * @generated
2406 */
2407 EClass VLS_XNOR = eINSTANCE.getVLSXnor();
2408
2409 /**
2410 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2411 * <!-- begin-user-doc -->
2412 * <!-- end-user-doc -->
2413 * @generated
2414 */
2415 EReference VLS_XNOR__LEFT = eINSTANCE.getVLSXnor_Left();
2416
2417 /**
2418 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2419 * <!-- begin-user-doc -->
2420 * <!-- end-user-doc -->
2421 * @generated
2422 */
2423 EReference VLS_XNOR__RIGHT = eINSTANCE.getVLSXnor_Right();
2424
2425 /**
2426 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNorImpl <em>VLS Nor</em>}' class.
2427 * <!-- begin-user-doc -->
2428 * <!-- end-user-doc -->
2429 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNorImpl
2430 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSNor()
2431 * @generated
2432 */
2433 EClass VLS_NOR = eINSTANCE.getVLSNor();
2434
2435 /**
2436 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2437 * <!-- begin-user-doc -->
2438 * <!-- end-user-doc -->
2439 * @generated
2440 */
2441 EReference VLS_NOR__LEFT = eINSTANCE.getVLSNor_Left();
2442
2443 /**
2444 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2445 * <!-- begin-user-doc -->
2446 * <!-- end-user-doc -->
2447 * @generated
2448 */
2449 EReference VLS_NOR__RIGHT = eINSTANCE.getVLSNor_Right();
2450
2451 /**
2452 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNandImpl <em>VLS Nand</em>}' class.
2453 * <!-- begin-user-doc -->
2454 * <!-- end-user-doc -->
2455 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNandImpl
2456 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSNand()
2457 * @generated
2458 */
2459 EClass VLS_NAND = eINSTANCE.getVLSNand();
2460
2461 /**
2462 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2463 * <!-- begin-user-doc -->
2464 * <!-- end-user-doc -->
2465 * @generated
2466 */
2467 EReference VLS_NAND__LEFT = eINSTANCE.getVLSNand_Left();
2468
2469 /**
2470 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2471 * <!-- begin-user-doc -->
2472 * <!-- end-user-doc -->
2473 * @generated
2474 */
2475 EReference VLS_NAND__RIGHT = eINSTANCE.getVLSNand_Right();
2476
2477 /**
2478 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAndImpl <em>VLS And</em>}' class.
2479 * <!-- begin-user-doc -->
2480 * <!-- end-user-doc -->
2481 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAndImpl
2482 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAnd()
2483 * @generated
2484 */
2485 EClass VLS_AND = eINSTANCE.getVLSAnd();
2486
2487 /**
2488 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2489 * <!-- begin-user-doc -->
2490 * <!-- end-user-doc -->
2491 * @generated
2492 */
2493 EReference VLS_AND__LEFT = eINSTANCE.getVLSAnd_Left();
2494
2495 /**
2496 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2497 * <!-- begin-user-doc -->
2498 * <!-- end-user-doc -->
2499 * @generated
2500 */
2501 EReference VLS_AND__RIGHT = eINSTANCE.getVLSAnd_Right();
2502
2503 /**
2504 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSOrImpl <em>VLS Or</em>}' class.
2505 * <!-- begin-user-doc -->
2506 * <!-- end-user-doc -->
2507 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSOrImpl
2508 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSOr()
2509 * @generated
2510 */
2511 EClass VLS_OR = eINSTANCE.getVLSOr();
2512
2513 /**
2514 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2515 * <!-- begin-user-doc -->
2516 * <!-- end-user-doc -->
2517 * @generated
2518 */
2519 EReference VLS_OR__LEFT = eINSTANCE.getVLSOr_Left();
2520
2521 /**
2522 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2523 * <!-- begin-user-doc -->
2524 * <!-- end-user-doc -->
2525 * @generated
2526 */
2527 EReference VLS_OR__RIGHT = eINSTANCE.getVLSOr_Right();
2528
2529 /**
2530 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUniversalQuantifierImpl <em>VLS Universal Quantifier</em>}' class.
2531 * <!-- begin-user-doc -->
2532 * <!-- end-user-doc -->
2533 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUniversalQuantifierImpl
2534 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSUniversalQuantifier()
2535 * @generated
2536 */
2537 EClass VLS_UNIVERSAL_QUANTIFIER = eINSTANCE.getVLSUniversalQuantifier();
2538
2539 /**
2540 * The meta object literal for the '<em><b>Variables</b></em>' containment reference list feature.
2541 * <!-- begin-user-doc -->
2542 * <!-- end-user-doc -->
2543 * @generated
2544 */
2545 EReference VLS_UNIVERSAL_QUANTIFIER__VARIABLES = eINSTANCE.getVLSUniversalQuantifier_Variables();
2546
2547 /**
2548 * The meta object literal for the '<em><b>Operand</b></em>' containment reference feature.
2549 * <!-- begin-user-doc -->
2550 * <!-- end-user-doc -->
2551 * @generated
2552 */
2553 EReference VLS_UNIVERSAL_QUANTIFIER__OPERAND = eINSTANCE.getVLSUniversalQuantifier_Operand();
2554
2555 /**
2556 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSExistentialQuantifierImpl <em>VLS Existential Quantifier</em>}' class.
2557 * <!-- begin-user-doc -->
2558 * <!-- end-user-doc -->
2559 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSExistentialQuantifierImpl
2560 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSExistentialQuantifier()
2561 * @generated
2562 */
2563 EClass VLS_EXISTENTIAL_QUANTIFIER = eINSTANCE.getVLSExistentialQuantifier();
2564
2565 /**
2566 * The meta object literal for the '<em><b>Variables</b></em>' containment reference list feature.
2567 * <!-- begin-user-doc -->
2568 * <!-- end-user-doc -->
2569 * @generated
2570 */
2571 EReference VLS_EXISTENTIAL_QUANTIFIER__VARIABLES = eINSTANCE.getVLSExistentialQuantifier_Variables();
2572
2573 /**
2574 * The meta object literal for the '<em><b>Operand</b></em>' containment reference feature.
2575 * <!-- begin-user-doc -->
2576 * <!-- end-user-doc -->
2577 * @generated
2578 */
2579 EReference VLS_EXISTENTIAL_QUANTIFIER__OPERAND = eINSTANCE.getVLSExistentialQuantifier_Operand();
2580
2581 /**
2582 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUnaryNegationImpl <em>VLS Unary Negation</em>}' class.
2583 * <!-- begin-user-doc -->
2584 * <!-- end-user-doc -->
2585 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUnaryNegationImpl
2586 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSUnaryNegation()
2587 * @generated
2588 */
2589 EClass VLS_UNARY_NEGATION = eINSTANCE.getVLSUnaryNegation();
2590
2591 /**
2592 * The meta object literal for the '<em><b>Operand</b></em>' containment reference feature.
2593 * <!-- begin-user-doc -->
2594 * <!-- end-user-doc -->
2595 * @generated
2596 */
2597 EReference VLS_UNARY_NEGATION__OPERAND = eINSTANCE.getVLSUnaryNegation_Operand();
2598
2599 /**
2600 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSInequalityImpl <em>VLS Inequality</em>}' class.
2601 * <!-- begin-user-doc -->
2602 * <!-- end-user-doc -->
2603 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSInequalityImpl
2604 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSInequality()
2605 * @generated
2606 */
2607 EClass VLS_INEQUALITY = eINSTANCE.getVLSInequality();
2608
2609 /**
2610 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2611 * <!-- begin-user-doc -->
2612 * <!-- end-user-doc -->
2613 * @generated
2614 */
2615 EReference VLS_INEQUALITY__LEFT = eINSTANCE.getVLSInequality_Left();
2616
2617 /**
2618 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2619 * <!-- begin-user-doc -->
2620 * <!-- end-user-doc -->
2621 * @generated
2622 */
2623 EReference VLS_INEQUALITY__RIGHT = eINSTANCE.getVLSInequality_Right();
2624
2625 /**
2626 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEqualityImpl <em>VLS Equality</em>}' class.
2627 * <!-- begin-user-doc -->
2628 * <!-- end-user-doc -->
2629 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEqualityImpl
2630 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSEquality()
2631 * @generated
2632 */
2633 EClass VLS_EQUALITY = eINSTANCE.getVLSEquality();
2634
2635 /**
2636 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2637 * <!-- begin-user-doc -->
2638 * <!-- end-user-doc -->
2639 * @generated
2640 */
2641 EReference VLS_EQUALITY__LEFT = eINSTANCE.getVLSEquality_Left();
2642
2643 /**
2644 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2645 * <!-- begin-user-doc -->
2646 * <!-- end-user-doc -->
2647 * @generated
2648 */
2649 EReference VLS_EQUALITY__RIGHT = eINSTANCE.getVLSEquality_Right();
2650
2651 /**
2652 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAssignmentImpl <em>VLS Assignment</em>}' class.
2653 * <!-- begin-user-doc -->
2654 * <!-- end-user-doc -->
2655 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAssignmentImpl
2656 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAssignment()
2657 * @generated
2658 */
2659 EClass VLS_ASSIGNMENT = eINSTANCE.getVLSAssignment();
2660
2661 /**
2662 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
2663 * <!-- begin-user-doc -->
2664 * <!-- end-user-doc -->
2665 * @generated
2666 */
2667 EReference VLS_ASSIGNMENT__LEFT = eINSTANCE.getVLSAssignment_Left();
2668
2669 /**
2670 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
2671 * <!-- begin-user-doc -->
2672 * <!-- end-user-doc -->
2673 * @generated
2674 */
2675 EReference VLS_ASSIGNMENT__RIGHT = eINSTANCE.getVLSAssignment_Right();
2676
2677 /**
2678 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSConstantImpl <em>VLS Constant</em>}' class.
2679 * <!-- begin-user-doc -->
2680 * <!-- end-user-doc -->
2681 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSConstantImpl
2682 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSConstant()
2683 * @generated
2684 */
2685 EClass VLS_CONSTANT = eINSTANCE.getVLSConstant();
2686
2687 /**
2688 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2689 * <!-- begin-user-doc -->
2690 * <!-- end-user-doc -->
2691 * @generated
2692 */
2693 EAttribute VLS_CONSTANT__NAME = eINSTANCE.getVLSConstant_Name();
2694
2695 /**
2696 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTrueImpl <em>VLS True</em>}' class.
2697 * <!-- begin-user-doc -->
2698 * <!-- end-user-doc -->
2699 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTrueImpl
2700 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTrue()
2701 * @generated
2702 */
2703 EClass VLS_TRUE = eINSTANCE.getVLSTrue();
2704
2705 /**
2706 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFalseImpl <em>VLS False</em>}' class.
2707 * <!-- begin-user-doc -->
2708 * <!-- end-user-doc -->
2709 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFalseImpl
2710 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFalse()
2711 * @generated
2712 */
2713 EClass VLS_FALSE = eINSTANCE.getVLSFalse();
2714
2715 /**
2716 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionImpl <em>VLS Function</em>}' class.
2717 * <!-- begin-user-doc -->
2718 * <!-- end-user-doc -->
2719 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionImpl
2720 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFunction()
2721 * @generated
2722 */
2723 EClass VLS_FUNCTION = eINSTANCE.getVLSFunction();
2724
2725 /**
2726 * The meta object literal for the '<em><b>Constant</b></em>' attribute feature.
2727 * <!-- begin-user-doc -->
2728 * <!-- end-user-doc -->
2729 * @generated
2730 */
2731 EAttribute VLS_FUNCTION__CONSTANT = eINSTANCE.getVLSFunction_Constant();
2732
2733 /**
2734 * The meta object literal for the '<em><b>Terms</b></em>' containment reference list feature.
2735 * <!-- begin-user-doc -->
2736 * <!-- end-user-doc -->
2737 * @generated
2738 */
2739 EReference VLS_FUNCTION__TERMS = eINSTANCE.getVLSFunction_Terms();
2740
2741 /**
2742 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSLessImpl <em>VLS Less</em>}' class.
2743 * <!-- begin-user-doc -->
2744 * <!-- end-user-doc -->
2745 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSLessImpl
2746 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSLess()
2747 * @generated
2748 */
2749 EClass VLS_LESS = eINSTANCE.getVLSLess();
2750
2751 /**
2752 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2753 * <!-- begin-user-doc -->
2754 * <!-- end-user-doc -->
2755 * @generated
2756 */
2757 EAttribute VLS_LESS__NAME = eINSTANCE.getVLSLess_Name();
2758
2759 /**
2760 * The meta object literal for the '<em><b>Terms</b></em>' containment reference list feature.
2761 * <!-- begin-user-doc -->
2762 * <!-- end-user-doc -->
2763 * @generated
2764 */
2765 EReference VLS_LESS__TERMS = eINSTANCE.getVLSLess_Terms();
2766
2767 /**
2768 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSIntImpl <em>VLS Int</em>}' class.
2769 * <!-- begin-user-doc -->
2770 * <!-- end-user-doc -->
2771 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSIntImpl
2772 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSInt()
2773 * @generated
2774 */
2775 EClass VLS_INT = eINSTANCE.getVLSInt();
2776
2777 /**
2778 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRealImpl <em>VLS Real</em>}' class.
2779 * <!-- begin-user-doc -->
2780 * <!-- end-user-doc -->
2781 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRealImpl
2782 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSReal()
2783 * @generated
2784 */
2785 EClass VLS_REAL = eINSTANCE.getVLSReal();
2786
2787 /**
2788 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRationalImpl <em>VLS Rational</em>}' class.
2789 * <!-- begin-user-doc -->
2790 * <!-- end-user-doc -->
2791 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRationalImpl
2792 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSRational()
2793 * @generated
2794 */
2795 EClass VLS_RATIONAL = eINSTANCE.getVLSRational();
2796
2797 /**
2798 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSDoubleQuoteImpl <em>VLS Double Quote</em>}' class.
2799 * <!-- begin-user-doc -->
2800 * <!-- end-user-doc -->
2801 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSDoubleQuoteImpl
2802 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSDoubleQuote()
2803 * @generated
2804 */
2805 EClass VLS_DOUBLE_QUOTE = eINSTANCE.getVLSDoubleQuote();
2806
2807 }
2808
2809} //VampireLanguagePackage
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireModel.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireModel.java
new file mode 100644
index 00000000..fae3ccf5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireModel.java
@@ -0,0 +1,78 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage;
5
6import org.eclipse.emf.common.util.EList;
7
8import org.eclipse.emf.ecore.EObject;
9
10/**
11 * <!-- begin-user-doc -->
12 * A representation of the model object '<em><b>Vampire Model</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * <p>
16 * The following features are supported:
17 * </p>
18 * <ul>
19 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel#getIncludes <em>Includes</em>}</li>
20 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel#getComments <em>Comments</em>}</li>
21 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel#getFormulas <em>Formulas</em>}</li>
22 * </ul>
23 *
24 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVampireModel()
25 * @model
26 * @generated
27 */
28public interface VampireModel extends EObject
29{
30 /**
31 * Returns the value of the '<em><b>Includes</b></em>' containment reference list.
32 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude}.
33 * <!-- begin-user-doc -->
34 * <p>
35 * If the meaning of the '<em>Includes</em>' containment reference list isn't clear,
36 * there really should be more of a description here...
37 * </p>
38 * <!-- end-user-doc -->
39 * @return the value of the '<em>Includes</em>' containment reference list.
40 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVampireModel_Includes()
41 * @model containment="true"
42 * @generated
43 */
44 EList<VLSInclude> getIncludes();
45
46 /**
47 * Returns the value of the '<em><b>Comments</b></em>' containment reference list.
48 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment}.
49 * <!-- begin-user-doc -->
50 * <p>
51 * If the meaning of the '<em>Comments</em>' containment reference list isn't clear,
52 * there really should be more of a description here...
53 * </p>
54 * <!-- end-user-doc -->
55 * @return the value of the '<em>Comments</em>' containment reference list.
56 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVampireModel_Comments()
57 * @model containment="true"
58 * @generated
59 */
60 EList<VLSComment> getComments();
61
62 /**
63 * Returns the value of the '<em><b>Formulas</b></em>' containment reference list.
64 * The list contents are of type {@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula}.
65 * <!-- begin-user-doc -->
66 * <p>
67 * If the meaning of the '<em>Formulas</em>' containment reference list isn't clear,
68 * there really should be more of a description here...
69 * </p>
70 * <!-- end-user-doc -->
71 * @return the value of the '<em>Formulas</em>' containment reference list.
72 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#getVampireModel_Formulas()
73 * @model containment="true"
74 * @generated
75 */
76 EList<VLSFofFormula> getFormulas();
77
78} // VampireModel
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAndImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAndImpl.java
new file mode 100644
index 00000000..951de940
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAndImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS And</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAndImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAndImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSAndImpl extends VLSTermImpl implements VLSAnd
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSAndImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_AND;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_AND__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_AND__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_AND__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_AND__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_AND__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_AND__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_AND__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_AND__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_AND__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_AND__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_AND__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_AND__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_AND__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_AND__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_AND__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_AND__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_AND__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_AND__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSAndImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAnnotationImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAnnotationImpl.java
new file mode 100644
index 00000000..092dd4c9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAnnotationImpl.java
@@ -0,0 +1,311 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.Notification;
12import org.eclipse.emf.common.notify.NotificationChain;
13
14import org.eclipse.emf.common.util.EList;
15
16import org.eclipse.emf.ecore.EClass;
17import org.eclipse.emf.ecore.InternalEObject;
18
19import org.eclipse.emf.ecore.impl.ENotificationImpl;
20import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
21
22import org.eclipse.emf.ecore.util.EObjectContainmentEList;
23import org.eclipse.emf.ecore.util.InternalEList;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>VLS Annotation</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAnnotationImpl#getName <em>Name</em>}</li>
34 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAnnotationImpl#getFollowup <em>Followup</em>}</li>
35 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAnnotationImpl#getTerms <em>Terms</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class VLSAnnotationImpl extends MinimalEObjectImpl.Container implements VLSAnnotation
41{
42 /**
43 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getName()
47 * @generated
48 * @ordered
49 */
50 protected static final String NAME_EDEFAULT = null;
51
52 /**
53 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getName()
57 * @generated
58 * @ordered
59 */
60 protected String name = NAME_EDEFAULT;
61
62 /**
63 * The cached value of the '{@link #getFollowup() <em>Followup</em>}' containment reference.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #getFollowup()
67 * @generated
68 * @ordered
69 */
70 protected VLSAnnotation followup;
71
72 /**
73 * The cached value of the '{@link #getTerms() <em>Terms</em>}' containment reference list.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @see #getTerms()
77 * @generated
78 * @ordered
79 */
80 protected EList<VLSAnnotation> terms;
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 protected VLSAnnotationImpl()
88 {
89 super();
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 protected EClass eStaticClass()
99 {
100 return VampireLanguagePackage.Literals.VLS_ANNOTATION;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public String getName()
109 {
110 return name;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public void setName(String newName)
119 {
120 String oldName = name;
121 name = newName;
122 if (eNotificationRequired())
123 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_ANNOTATION__NAME, oldName, name));
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 public VLSAnnotation getFollowup()
132 {
133 return followup;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 public NotificationChain basicSetFollowup(VLSAnnotation newFollowup, NotificationChain msgs)
142 {
143 VLSAnnotation oldFollowup = followup;
144 followup = newFollowup;
145 if (eNotificationRequired())
146 {
147 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_ANNOTATION__FOLLOWUP, oldFollowup, newFollowup);
148 if (msgs == null) msgs = notification; else msgs.add(notification);
149 }
150 return msgs;
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 public void setFollowup(VLSAnnotation newFollowup)
159 {
160 if (newFollowup != followup)
161 {
162 NotificationChain msgs = null;
163 if (followup != null)
164 msgs = ((InternalEObject)followup).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_ANNOTATION__FOLLOWUP, null, msgs);
165 if (newFollowup != null)
166 msgs = ((InternalEObject)newFollowup).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_ANNOTATION__FOLLOWUP, null, msgs);
167 msgs = basicSetFollowup(newFollowup, msgs);
168 if (msgs != null) msgs.dispatch();
169 }
170 else if (eNotificationRequired())
171 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_ANNOTATION__FOLLOWUP, newFollowup, newFollowup));
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 public EList<VLSAnnotation> getTerms()
180 {
181 if (terms == null)
182 {
183 terms = new EObjectContainmentEList<VLSAnnotation>(VLSAnnotation.class, this, VampireLanguagePackage.VLS_ANNOTATION__TERMS);
184 }
185 return terms;
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 @Override
194 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
195 {
196 switch (featureID)
197 {
198 case VampireLanguagePackage.VLS_ANNOTATION__FOLLOWUP:
199 return basicSetFollowup(null, msgs);
200 case VampireLanguagePackage.VLS_ANNOTATION__TERMS:
201 return ((InternalEList<?>)getTerms()).basicRemove(otherEnd, msgs);
202 }
203 return super.eInverseRemove(otherEnd, featureID, msgs);
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public Object eGet(int featureID, boolean resolve, boolean coreType)
213 {
214 switch (featureID)
215 {
216 case VampireLanguagePackage.VLS_ANNOTATION__NAME:
217 return getName();
218 case VampireLanguagePackage.VLS_ANNOTATION__FOLLOWUP:
219 return getFollowup();
220 case VampireLanguagePackage.VLS_ANNOTATION__TERMS:
221 return getTerms();
222 }
223 return super.eGet(featureID, resolve, coreType);
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @SuppressWarnings("unchecked")
232 @Override
233 public void eSet(int featureID, Object newValue)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_ANNOTATION__NAME:
238 setName((String)newValue);
239 return;
240 case VampireLanguagePackage.VLS_ANNOTATION__FOLLOWUP:
241 setFollowup((VLSAnnotation)newValue);
242 return;
243 case VampireLanguagePackage.VLS_ANNOTATION__TERMS:
244 getTerms().clear();
245 getTerms().addAll((Collection<? extends VLSAnnotation>)newValue);
246 return;
247 }
248 super.eSet(featureID, newValue);
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 @Override
257 public void eUnset(int featureID)
258 {
259 switch (featureID)
260 {
261 case VampireLanguagePackage.VLS_ANNOTATION__NAME:
262 setName(NAME_EDEFAULT);
263 return;
264 case VampireLanguagePackage.VLS_ANNOTATION__FOLLOWUP:
265 setFollowup((VLSAnnotation)null);
266 return;
267 case VampireLanguagePackage.VLS_ANNOTATION__TERMS:
268 getTerms().clear();
269 return;
270 }
271 super.eUnset(featureID);
272 }
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 @Override
280 public boolean eIsSet(int featureID)
281 {
282 switch (featureID)
283 {
284 case VampireLanguagePackage.VLS_ANNOTATION__NAME:
285 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
286 case VampireLanguagePackage.VLS_ANNOTATION__FOLLOWUP:
287 return followup != null;
288 case VampireLanguagePackage.VLS_ANNOTATION__TERMS:
289 return terms != null && !terms.isEmpty();
290 }
291 return super.eIsSet(featureID);
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 @Override
300 public String toString()
301 {
302 if (eIsProxy()) return super.toString();
303
304 StringBuffer result = new StringBuffer(super.toString());
305 result.append(" (name: ");
306 result.append(name);
307 result.append(')');
308 return result.toString();
309 }
310
311} //VLSAnnotationImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAssignmentImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAssignmentImpl.java
new file mode 100644
index 00000000..e6dbb58d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSAssignmentImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Assignment</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAssignmentImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAssignmentImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSAssignmentImpl extends VLSTermImpl implements VLSAssignment
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSAssignmentImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_ASSIGNMENT;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_ASSIGNMENT__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_ASSIGNMENT__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_ASSIGNMENT__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_ASSIGNMENT__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_ASSIGNMENT__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_ASSIGNMENT__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_ASSIGNMENT__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_ASSIGNMENT__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_ASSIGNMENT__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_ASSIGNMENT__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_ASSIGNMENT__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_ASSIGNMENT__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_ASSIGNMENT__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_ASSIGNMENT__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_ASSIGNMENT__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_ASSIGNMENT__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_ASSIGNMENT__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_ASSIGNMENT__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSAssignmentImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSCommentImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSCommentImpl.java
new file mode 100644
index 00000000..9599872d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSCommentImpl.java
@@ -0,0 +1,178 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>VLS Comment</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSCommentImpl#getComment <em>Comment</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class VLSCommentImpl extends MinimalEObjectImpl.Container implements VLSComment
30{
31 /**
32 * The default value of the '{@link #getComment() <em>Comment</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getComment()
36 * @generated
37 * @ordered
38 */
39 protected static final String COMMENT_EDEFAULT = null;
40
41 /**
42 * The cached value of the '{@link #getComment() <em>Comment</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getComment()
46 * @generated
47 * @ordered
48 */
49 protected String comment = COMMENT_EDEFAULT;
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 protected VLSCommentImpl()
57 {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass()
68 {
69 return VampireLanguagePackage.Literals.VLS_COMMENT;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 public String getComment()
78 {
79 return comment;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 public void setComment(String newComment)
88 {
89 String oldComment = comment;
90 comment = newComment;
91 if (eNotificationRequired())
92 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_COMMENT__COMMENT, oldComment, comment));
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 @Override
101 public Object eGet(int featureID, boolean resolve, boolean coreType)
102 {
103 switch (featureID)
104 {
105 case VampireLanguagePackage.VLS_COMMENT__COMMENT:
106 return getComment();
107 }
108 return super.eGet(featureID, resolve, coreType);
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public void eSet(int featureID, Object newValue)
118 {
119 switch (featureID)
120 {
121 case VampireLanguagePackage.VLS_COMMENT__COMMENT:
122 setComment((String)newValue);
123 return;
124 }
125 super.eSet(featureID, newValue);
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void eUnset(int featureID)
135 {
136 switch (featureID)
137 {
138 case VampireLanguagePackage.VLS_COMMENT__COMMENT:
139 setComment(COMMENT_EDEFAULT);
140 return;
141 }
142 super.eUnset(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public boolean eIsSet(int featureID)
152 {
153 switch (featureID)
154 {
155 case VampireLanguagePackage.VLS_COMMENT__COMMENT:
156 return COMMENT_EDEFAULT == null ? comment != null : !COMMENT_EDEFAULT.equals(comment);
157 }
158 return super.eIsSet(featureID);
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public String toString()
168 {
169 if (eIsProxy()) return super.toString();
170
171 StringBuffer result = new StringBuffer(super.toString());
172 result.append(" (comment: ");
173 result.append(comment);
174 result.append(')');
175 return result.toString();
176 }
177
178} //VLSCommentImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSConstantImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSConstantImpl.java
new file mode 100644
index 00000000..b9bcf512
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSConstantImpl.java
@@ -0,0 +1,177 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>VLS Constant</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSConstantImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class VLSConstantImpl extends VLSTermImpl implements VLSConstant
29{
30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getName()
35 * @generated
36 * @ordered
37 */
38 protected static final String NAME_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getName()
45 * @generated
46 * @ordered
47 */
48 protected String name = NAME_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected VLSConstantImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return VampireLanguagePackage.Literals.VLS_CONSTANT;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public String getName()
77 {
78 return name;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public void setName(String newName)
87 {
88 String oldName = name;
89 name = newName;
90 if (eNotificationRequired())
91 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_CONSTANT__NAME, oldName, name));
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public Object eGet(int featureID, boolean resolve, boolean coreType)
101 {
102 switch (featureID)
103 {
104 case VampireLanguagePackage.VLS_CONSTANT__NAME:
105 return getName();
106 }
107 return super.eGet(featureID, resolve, coreType);
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public void eSet(int featureID, Object newValue)
117 {
118 switch (featureID)
119 {
120 case VampireLanguagePackage.VLS_CONSTANT__NAME:
121 setName((String)newValue);
122 return;
123 }
124 super.eSet(featureID, newValue);
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public void eUnset(int featureID)
134 {
135 switch (featureID)
136 {
137 case VampireLanguagePackage.VLS_CONSTANT__NAME:
138 setName(NAME_EDEFAULT);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID)
151 {
152 switch (featureID)
153 {
154 case VampireLanguagePackage.VLS_CONSTANT__NAME:
155 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
156 }
157 return super.eIsSet(featureID);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public String toString()
167 {
168 if (eIsProxy()) return super.toString();
169
170 StringBuffer result = new StringBuffer(super.toString());
171 result.append(" (name: ");
172 result.append(name);
173 result.append(')');
174 return result.toString();
175 }
176
177} //VLSConstantImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSDefinedTermImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSDefinedTermImpl.java
new file mode 100644
index 00000000..444e2b85
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSDefinedTermImpl.java
@@ -0,0 +1,177 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDefinedTerm;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>VLS Defined Term</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSDefinedTermImpl#getValue <em>Value</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class VLSDefinedTermImpl extends VLSTermImpl implements VLSDefinedTerm
29{
30 /**
31 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getValue()
35 * @generated
36 * @ordered
37 */
38 protected static final String VALUE_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getValue()
45 * @generated
46 * @ordered
47 */
48 protected String value = VALUE_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected VLSDefinedTermImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return VampireLanguagePackage.Literals.VLS_DEFINED_TERM;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public String getValue()
77 {
78 return value;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public void setValue(String newValue)
87 {
88 String oldValue = value;
89 value = newValue;
90 if (eNotificationRequired())
91 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_DEFINED_TERM__VALUE, oldValue, value));
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public Object eGet(int featureID, boolean resolve, boolean coreType)
101 {
102 switch (featureID)
103 {
104 case VampireLanguagePackage.VLS_DEFINED_TERM__VALUE:
105 return getValue();
106 }
107 return super.eGet(featureID, resolve, coreType);
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public void eSet(int featureID, Object newValue)
117 {
118 switch (featureID)
119 {
120 case VampireLanguagePackage.VLS_DEFINED_TERM__VALUE:
121 setValue((String)newValue);
122 return;
123 }
124 super.eSet(featureID, newValue);
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public void eUnset(int featureID)
134 {
135 switch (featureID)
136 {
137 case VampireLanguagePackage.VLS_DEFINED_TERM__VALUE:
138 setValue(VALUE_EDEFAULT);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID)
151 {
152 switch (featureID)
153 {
154 case VampireLanguagePackage.VLS_DEFINED_TERM__VALUE:
155 return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
156 }
157 return super.eIsSet(featureID);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public String toString()
167 {
168 if (eIsProxy()) return super.toString();
169
170 StringBuffer result = new StringBuffer(super.toString());
171 result.append(" (value: ");
172 result.append(value);
173 result.append(')');
174 return result.toString();
175 }
176
177} //VLSDefinedTermImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSDoubleQuoteImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSDoubleQuoteImpl.java
new file mode 100644
index 00000000..db99a631
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSDoubleQuoteImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDoubleQuote;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.ecore.EClass;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>VLS Double Quote</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class VLSDoubleQuoteImpl extends VLSDefinedTermImpl implements VLSDoubleQuote
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected VLSDoubleQuoteImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return VampireLanguagePackage.Literals.VLS_DOUBLE_QUOTE;
39 }
40
41} //VLSDoubleQuoteImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSEqualityImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSEqualityImpl.java
new file mode 100644
index 00000000..ba729215
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSEqualityImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Equality</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEqualityImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEqualityImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSEqualityImpl extends VLSTermImpl implements VLSEquality
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSEqualityImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_EQUALITY;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_EQUALITY__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_EQUALITY__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_EQUALITY__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_EQUALITY__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_EQUALITY__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_EQUALITY__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_EQUALITY__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_EQUALITY__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_EQUALITY__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_EQUALITY__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_EQUALITY__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_EQUALITY__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_EQUALITY__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_EQUALITY__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_EQUALITY__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_EQUALITY__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_EQUALITY__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_EQUALITY__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSEqualityImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSEquivalentImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSEquivalentImpl.java
new file mode 100644
index 00000000..2ab11117
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSEquivalentImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Equivalent</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEquivalentImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSEquivalentImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSEquivalentImpl extends VLSTermImpl implements VLSEquivalent
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSEquivalentImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_EQUIVALENT;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_EQUIVALENT__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_EQUIVALENT__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_EQUIVALENT__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_EQUIVALENT__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_EQUIVALENT__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_EQUIVALENT__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_EQUIVALENT__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_EQUIVALENT__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_EQUIVALENT__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_EQUIVALENT__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_EQUIVALENT__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_EQUIVALENT__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_EQUIVALENT__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_EQUIVALENT__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_EQUIVALENT__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_EQUIVALENT__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_EQUIVALENT__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_EQUIVALENT__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSEquivalentImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSExistentialQuantifierImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSExistentialQuantifierImpl.java
new file mode 100644
index 00000000..34670d8b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSExistentialQuantifierImpl.java
@@ -0,0 +1,241 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
10
11import java.util.Collection;
12
13import org.eclipse.emf.common.notify.Notification;
14import org.eclipse.emf.common.notify.NotificationChain;
15
16import org.eclipse.emf.common.util.EList;
17
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.InternalEObject;
20
21import org.eclipse.emf.ecore.impl.ENotificationImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentEList;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>VLS Existential Quantifier</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSExistentialQuantifierImpl#getVariables <em>Variables</em>}</li>
35 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSExistentialQuantifierImpl#getOperand <em>Operand</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class VLSExistentialQuantifierImpl extends VLSTermImpl implements VLSExistentialQuantifier
41{
42 /**
43 * The cached value of the '{@link #getVariables() <em>Variables</em>}' containment reference list.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getVariables()
47 * @generated
48 * @ordered
49 */
50 protected EList<VLSVariable> variables;
51
52 /**
53 * The cached value of the '{@link #getOperand() <em>Operand</em>}' containment reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getOperand()
57 * @generated
58 * @ordered
59 */
60 protected VLSTerm operand;
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 protected VLSExistentialQuantifierImpl()
68 {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass()
79 {
80 return VampireLanguagePackage.Literals.VLS_EXISTENTIAL_QUANTIFIER;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 public EList<VLSVariable> getVariables()
89 {
90 if (variables == null)
91 {
92 variables = new EObjectContainmentEList<VLSVariable>(VLSVariable.class, this, VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__VARIABLES);
93 }
94 return variables;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public VLSTerm getOperand()
103 {
104 return operand;
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 public NotificationChain basicSetOperand(VLSTerm newOperand, NotificationChain msgs)
113 {
114 VLSTerm oldOperand = operand;
115 operand = newOperand;
116 if (eNotificationRequired())
117 {
118 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__OPERAND, oldOperand, newOperand);
119 if (msgs == null) msgs = notification; else msgs.add(notification);
120 }
121 return msgs;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public void setOperand(VLSTerm newOperand)
130 {
131 if (newOperand != operand)
132 {
133 NotificationChain msgs = null;
134 if (operand != null)
135 msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__OPERAND, null, msgs);
136 if (newOperand != null)
137 msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__OPERAND, null, msgs);
138 msgs = basicSetOperand(newOperand, msgs);
139 if (msgs != null) msgs.dispatch();
140 }
141 else if (eNotificationRequired())
142 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__OPERAND, newOperand, newOperand));
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
152 {
153 switch (featureID)
154 {
155 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__VARIABLES:
156 return ((InternalEList<?>)getVariables()).basicRemove(otherEnd, msgs);
157 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__OPERAND:
158 return basicSetOperand(null, msgs);
159 }
160 return super.eInverseRemove(otherEnd, featureID, msgs);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public Object eGet(int featureID, boolean resolve, boolean coreType)
170 {
171 switch (featureID)
172 {
173 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__VARIABLES:
174 return getVariables();
175 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__OPERAND:
176 return getOperand();
177 }
178 return super.eGet(featureID, resolve, coreType);
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 @SuppressWarnings("unchecked")
187 @Override
188 public void eSet(int featureID, Object newValue)
189 {
190 switch (featureID)
191 {
192 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__VARIABLES:
193 getVariables().clear();
194 getVariables().addAll((Collection<? extends VLSVariable>)newValue);
195 return;
196 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__OPERAND:
197 setOperand((VLSTerm)newValue);
198 return;
199 }
200 super.eSet(featureID, newValue);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public void eUnset(int featureID)
210 {
211 switch (featureID)
212 {
213 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__VARIABLES:
214 getVariables().clear();
215 return;
216 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__OPERAND:
217 setOperand((VLSTerm)null);
218 return;
219 }
220 super.eUnset(featureID);
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public boolean eIsSet(int featureID)
230 {
231 switch (featureID)
232 {
233 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__VARIABLES:
234 return variables != null && !variables.isEmpty();
235 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER__OPERAND:
236 return operand != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //VLSExistentialQuantifierImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFalseImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFalseImpl.java
new file mode 100644
index 00000000..1db5a6b4
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFalseImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.ecore.EClass;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>VLS False</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class VLSFalseImpl extends VLSTermImpl implements VLSFalse
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected VLSFalseImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return VampireLanguagePackage.Literals.VLS_FALSE;
39 }
40
41} //VLSFalseImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFofFormulaImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFofFormulaImpl.java
new file mode 100644
index 00000000..beef8908
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFofFormulaImpl.java
@@ -0,0 +1,394 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
10
11import org.eclipse.emf.common.notify.Notification;
12import org.eclipse.emf.common.notify.NotificationChain;
13
14import org.eclipse.emf.ecore.EClass;
15import org.eclipse.emf.ecore.InternalEObject;
16
17import org.eclipse.emf.ecore.impl.ENotificationImpl;
18import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
19
20/**
21 * <!-- begin-user-doc -->
22 * An implementation of the model object '<em><b>VLS Fof Formula</b></em>'.
23 * <!-- end-user-doc -->
24 * <p>
25 * The following features are implemented:
26 * </p>
27 * <ul>
28 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl#getName <em>Name</em>}</li>
29 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl#getFofRole <em>Fof Role</em>}</li>
30 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl#getFofFormula <em>Fof Formula</em>}</li>
31 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl#getAnnotations <em>Annotations</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class VLSFofFormulaImpl extends MinimalEObjectImpl.Container implements VLSFofFormula
37{
38 /**
39 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getName()
43 * @generated
44 * @ordered
45 */
46 protected static final String NAME_EDEFAULT = null;
47
48 /**
49 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #getName()
53 * @generated
54 * @ordered
55 */
56 protected String name = NAME_EDEFAULT;
57
58 /**
59 * The default value of the '{@link #getFofRole() <em>Fof Role</em>}' attribute.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see #getFofRole()
63 * @generated
64 * @ordered
65 */
66 protected static final String FOF_ROLE_EDEFAULT = null;
67
68 /**
69 * The cached value of the '{@link #getFofRole() <em>Fof Role</em>}' attribute.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @see #getFofRole()
73 * @generated
74 * @ordered
75 */
76 protected String fofRole = FOF_ROLE_EDEFAULT;
77
78 /**
79 * The cached value of the '{@link #getFofFormula() <em>Fof Formula</em>}' containment reference.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @see #getFofFormula()
83 * @generated
84 * @ordered
85 */
86 protected VLSTerm fofFormula;
87
88 /**
89 * The cached value of the '{@link #getAnnotations() <em>Annotations</em>}' containment reference.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @see #getAnnotations()
93 * @generated
94 * @ordered
95 */
96 protected VLSAnnotation annotations;
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 protected VLSFofFormulaImpl()
104 {
105 super();
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 protected EClass eStaticClass()
115 {
116 return VampireLanguagePackage.Literals.VLS_FOF_FORMULA;
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 public String getName()
125 {
126 return name;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 public void setName(String newName)
135 {
136 String oldName = name;
137 name = newName;
138 if (eNotificationRequired())
139 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_FOF_FORMULA__NAME, oldName, name));
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 public String getFofRole()
148 {
149 return fofRole;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 public void setFofRole(String newFofRole)
158 {
159 String oldFofRole = fofRole;
160 fofRole = newFofRole;
161 if (eNotificationRequired())
162 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_FOF_FORMULA__FOF_ROLE, oldFofRole, fofRole));
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 public VLSTerm getFofFormula()
171 {
172 return fofFormula;
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 public NotificationChain basicSetFofFormula(VLSTerm newFofFormula, NotificationChain msgs)
181 {
182 VLSTerm oldFofFormula = fofFormula;
183 fofFormula = newFofFormula;
184 if (eNotificationRequired())
185 {
186 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_FOF_FORMULA__FOF_FORMULA, oldFofFormula, newFofFormula);
187 if (msgs == null) msgs = notification; else msgs.add(notification);
188 }
189 return msgs;
190 }
191
192 /**
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @generated
196 */
197 public void setFofFormula(VLSTerm newFofFormula)
198 {
199 if (newFofFormula != fofFormula)
200 {
201 NotificationChain msgs = null;
202 if (fofFormula != null)
203 msgs = ((InternalEObject)fofFormula).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_FOF_FORMULA__FOF_FORMULA, null, msgs);
204 if (newFofFormula != null)
205 msgs = ((InternalEObject)newFofFormula).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_FOF_FORMULA__FOF_FORMULA, null, msgs);
206 msgs = basicSetFofFormula(newFofFormula, msgs);
207 if (msgs != null) msgs.dispatch();
208 }
209 else if (eNotificationRequired())
210 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_FOF_FORMULA__FOF_FORMULA, newFofFormula, newFofFormula));
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 public VLSAnnotation getAnnotations()
219 {
220 return annotations;
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 public NotificationChain basicSetAnnotations(VLSAnnotation newAnnotations, NotificationChain msgs)
229 {
230 VLSAnnotation oldAnnotations = annotations;
231 annotations = newAnnotations;
232 if (eNotificationRequired())
233 {
234 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_FOF_FORMULA__ANNOTATIONS, oldAnnotations, newAnnotations);
235 if (msgs == null) msgs = notification; else msgs.add(notification);
236 }
237 return msgs;
238 }
239
240 /**
241 * <!-- begin-user-doc -->
242 * <!-- end-user-doc -->
243 * @generated
244 */
245 public void setAnnotations(VLSAnnotation newAnnotations)
246 {
247 if (newAnnotations != annotations)
248 {
249 NotificationChain msgs = null;
250 if (annotations != null)
251 msgs = ((InternalEObject)annotations).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_FOF_FORMULA__ANNOTATIONS, null, msgs);
252 if (newAnnotations != null)
253 msgs = ((InternalEObject)newAnnotations).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_FOF_FORMULA__ANNOTATIONS, null, msgs);
254 msgs = basicSetAnnotations(newAnnotations, msgs);
255 if (msgs != null) msgs.dispatch();
256 }
257 else if (eNotificationRequired())
258 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_FOF_FORMULA__ANNOTATIONS, newAnnotations, newAnnotations));
259 }
260
261 /**
262 * <!-- begin-user-doc -->
263 * <!-- end-user-doc -->
264 * @generated
265 */
266 @Override
267 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
268 {
269 switch (featureID)
270 {
271 case VampireLanguagePackage.VLS_FOF_FORMULA__FOF_FORMULA:
272 return basicSetFofFormula(null, msgs);
273 case VampireLanguagePackage.VLS_FOF_FORMULA__ANNOTATIONS:
274 return basicSetAnnotations(null, msgs);
275 }
276 return super.eInverseRemove(otherEnd, featureID, msgs);
277 }
278
279 /**
280 * <!-- begin-user-doc -->
281 * <!-- end-user-doc -->
282 * @generated
283 */
284 @Override
285 public Object eGet(int featureID, boolean resolve, boolean coreType)
286 {
287 switch (featureID)
288 {
289 case VampireLanguagePackage.VLS_FOF_FORMULA__NAME:
290 return getName();
291 case VampireLanguagePackage.VLS_FOF_FORMULA__FOF_ROLE:
292 return getFofRole();
293 case VampireLanguagePackage.VLS_FOF_FORMULA__FOF_FORMULA:
294 return getFofFormula();
295 case VampireLanguagePackage.VLS_FOF_FORMULA__ANNOTATIONS:
296 return getAnnotations();
297 }
298 return super.eGet(featureID, resolve, coreType);
299 }
300
301 /**
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @generated
305 */
306 @Override
307 public void eSet(int featureID, Object newValue)
308 {
309 switch (featureID)
310 {
311 case VampireLanguagePackage.VLS_FOF_FORMULA__NAME:
312 setName((String)newValue);
313 return;
314 case VampireLanguagePackage.VLS_FOF_FORMULA__FOF_ROLE:
315 setFofRole((String)newValue);
316 return;
317 case VampireLanguagePackage.VLS_FOF_FORMULA__FOF_FORMULA:
318 setFofFormula((VLSTerm)newValue);
319 return;
320 case VampireLanguagePackage.VLS_FOF_FORMULA__ANNOTATIONS:
321 setAnnotations((VLSAnnotation)newValue);
322 return;
323 }
324 super.eSet(featureID, newValue);
325 }
326
327 /**
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 */
332 @Override
333 public void eUnset(int featureID)
334 {
335 switch (featureID)
336 {
337 case VampireLanguagePackage.VLS_FOF_FORMULA__NAME:
338 setName(NAME_EDEFAULT);
339 return;
340 case VampireLanguagePackage.VLS_FOF_FORMULA__FOF_ROLE:
341 setFofRole(FOF_ROLE_EDEFAULT);
342 return;
343 case VampireLanguagePackage.VLS_FOF_FORMULA__FOF_FORMULA:
344 setFofFormula((VLSTerm)null);
345 return;
346 case VampireLanguagePackage.VLS_FOF_FORMULA__ANNOTATIONS:
347 setAnnotations((VLSAnnotation)null);
348 return;
349 }
350 super.eUnset(featureID);
351 }
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 @Override
359 public boolean eIsSet(int featureID)
360 {
361 switch (featureID)
362 {
363 case VampireLanguagePackage.VLS_FOF_FORMULA__NAME:
364 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
365 case VampireLanguagePackage.VLS_FOF_FORMULA__FOF_ROLE:
366 return FOF_ROLE_EDEFAULT == null ? fofRole != null : !FOF_ROLE_EDEFAULT.equals(fofRole);
367 case VampireLanguagePackage.VLS_FOF_FORMULA__FOF_FORMULA:
368 return fofFormula != null;
369 case VampireLanguagePackage.VLS_FOF_FORMULA__ANNOTATIONS:
370 return annotations != null;
371 }
372 return super.eIsSet(featureID);
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 @Override
381 public String toString()
382 {
383 if (eIsProxy()) return super.toString();
384
385 StringBuffer result = new StringBuffer(super.toString());
386 result.append(" (name: ");
387 result.append(name);
388 result.append(", fofRole: ");
389 result.append(fofRole);
390 result.append(')');
391 return result.toString();
392 }
393
394} //VLSFofFormulaImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFunctionFofImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFunctionFofImpl.java
new file mode 100644
index 00000000..6d1c538b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFunctionFofImpl.java
@@ -0,0 +1,240 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21
22import org.eclipse.emf.ecore.util.EObjectContainmentEList;
23import org.eclipse.emf.ecore.util.InternalEList;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>VLS Function Fof</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionFofImpl#getFunctor <em>Functor</em>}</li>
34 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionFofImpl#getTerms <em>Terms</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public class VLSFunctionFofImpl extends VLSTermImpl implements VLSFunctionFof
40{
41 /**
42 * The default value of the '{@link #getFunctor() <em>Functor</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getFunctor()
46 * @generated
47 * @ordered
48 */
49 protected static final String FUNCTOR_EDEFAULT = null;
50
51 /**
52 * The cached value of the '{@link #getFunctor() <em>Functor</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getFunctor()
56 * @generated
57 * @ordered
58 */
59 protected String functor = FUNCTOR_EDEFAULT;
60
61 /**
62 * The cached value of the '{@link #getTerms() <em>Terms</em>}' containment reference list.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getTerms()
66 * @generated
67 * @ordered
68 */
69 protected EList<VLSTerm> terms;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected VLSFunctionFofImpl()
77 {
78 super();
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 protected EClass eStaticClass()
88 {
89 return VampireLanguagePackage.Literals.VLS_FUNCTION_FOF;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 public String getFunctor()
98 {
99 return functor;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setFunctor(String newFunctor)
108 {
109 String oldFunctor = functor;
110 functor = newFunctor;
111 if (eNotificationRequired())
112 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_FUNCTION_FOF__FUNCTOR, oldFunctor, functor));
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public EList<VLSTerm> getTerms()
121 {
122 if (terms == null)
123 {
124 terms = new EObjectContainmentEList<VLSTerm>(VLSTerm.class, this, VampireLanguagePackage.VLS_FUNCTION_FOF__TERMS);
125 }
126 return terms;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
136 {
137 switch (featureID)
138 {
139 case VampireLanguagePackage.VLS_FUNCTION_FOF__TERMS:
140 return ((InternalEList<?>)getTerms()).basicRemove(otherEnd, msgs);
141 }
142 return super.eInverseRemove(otherEnd, featureID, msgs);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public Object eGet(int featureID, boolean resolve, boolean coreType)
152 {
153 switch (featureID)
154 {
155 case VampireLanguagePackage.VLS_FUNCTION_FOF__FUNCTOR:
156 return getFunctor();
157 case VampireLanguagePackage.VLS_FUNCTION_FOF__TERMS:
158 return getTerms();
159 }
160 return super.eGet(featureID, resolve, coreType);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @SuppressWarnings("unchecked")
169 @Override
170 public void eSet(int featureID, Object newValue)
171 {
172 switch (featureID)
173 {
174 case VampireLanguagePackage.VLS_FUNCTION_FOF__FUNCTOR:
175 setFunctor((String)newValue);
176 return;
177 case VampireLanguagePackage.VLS_FUNCTION_FOF__TERMS:
178 getTerms().clear();
179 getTerms().addAll((Collection<? extends VLSTerm>)newValue);
180 return;
181 }
182 super.eSet(featureID, newValue);
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public void eUnset(int featureID)
192 {
193 switch (featureID)
194 {
195 case VampireLanguagePackage.VLS_FUNCTION_FOF__FUNCTOR:
196 setFunctor(FUNCTOR_EDEFAULT);
197 return;
198 case VampireLanguagePackage.VLS_FUNCTION_FOF__TERMS:
199 getTerms().clear();
200 return;
201 }
202 super.eUnset(featureID);
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public boolean eIsSet(int featureID)
212 {
213 switch (featureID)
214 {
215 case VampireLanguagePackage.VLS_FUNCTION_FOF__FUNCTOR:
216 return FUNCTOR_EDEFAULT == null ? functor != null : !FUNCTOR_EDEFAULT.equals(functor);
217 case VampireLanguagePackage.VLS_FUNCTION_FOF__TERMS:
218 return terms != null && !terms.isEmpty();
219 }
220 return super.eIsSet(featureID);
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public String toString()
230 {
231 if (eIsProxy()) return super.toString();
232
233 StringBuffer result = new StringBuffer(super.toString());
234 result.append(" (functor: ");
235 result.append(functor);
236 result.append(')');
237 return result.toString();
238 }
239
240} //VLSFunctionFofImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFunctionImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFunctionImpl.java
new file mode 100644
index 00000000..49da58d4
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSFunctionImpl.java
@@ -0,0 +1,240 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21
22import org.eclipse.emf.ecore.util.EObjectContainmentEList;
23import org.eclipse.emf.ecore.util.InternalEList;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>VLS Function</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionImpl#getConstant <em>Constant</em>}</li>
34 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFunctionImpl#getTerms <em>Terms</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public class VLSFunctionImpl extends VLSTermImpl implements VLSFunction
40{
41 /**
42 * The default value of the '{@link #getConstant() <em>Constant</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getConstant()
46 * @generated
47 * @ordered
48 */
49 protected static final String CONSTANT_EDEFAULT = null;
50
51 /**
52 * The cached value of the '{@link #getConstant() <em>Constant</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getConstant()
56 * @generated
57 * @ordered
58 */
59 protected String constant = CONSTANT_EDEFAULT;
60
61 /**
62 * The cached value of the '{@link #getTerms() <em>Terms</em>}' containment reference list.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getTerms()
66 * @generated
67 * @ordered
68 */
69 protected EList<VLSTerm> terms;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected VLSFunctionImpl()
77 {
78 super();
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 protected EClass eStaticClass()
88 {
89 return VampireLanguagePackage.Literals.VLS_FUNCTION;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 public String getConstant()
98 {
99 return constant;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setConstant(String newConstant)
108 {
109 String oldConstant = constant;
110 constant = newConstant;
111 if (eNotificationRequired())
112 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_FUNCTION__CONSTANT, oldConstant, constant));
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public EList<VLSTerm> getTerms()
121 {
122 if (terms == null)
123 {
124 terms = new EObjectContainmentEList<VLSTerm>(VLSTerm.class, this, VampireLanguagePackage.VLS_FUNCTION__TERMS);
125 }
126 return terms;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
136 {
137 switch (featureID)
138 {
139 case VampireLanguagePackage.VLS_FUNCTION__TERMS:
140 return ((InternalEList<?>)getTerms()).basicRemove(otherEnd, msgs);
141 }
142 return super.eInverseRemove(otherEnd, featureID, msgs);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public Object eGet(int featureID, boolean resolve, boolean coreType)
152 {
153 switch (featureID)
154 {
155 case VampireLanguagePackage.VLS_FUNCTION__CONSTANT:
156 return getConstant();
157 case VampireLanguagePackage.VLS_FUNCTION__TERMS:
158 return getTerms();
159 }
160 return super.eGet(featureID, resolve, coreType);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @SuppressWarnings("unchecked")
169 @Override
170 public void eSet(int featureID, Object newValue)
171 {
172 switch (featureID)
173 {
174 case VampireLanguagePackage.VLS_FUNCTION__CONSTANT:
175 setConstant((String)newValue);
176 return;
177 case VampireLanguagePackage.VLS_FUNCTION__TERMS:
178 getTerms().clear();
179 getTerms().addAll((Collection<? extends VLSTerm>)newValue);
180 return;
181 }
182 super.eSet(featureID, newValue);
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public void eUnset(int featureID)
192 {
193 switch (featureID)
194 {
195 case VampireLanguagePackage.VLS_FUNCTION__CONSTANT:
196 setConstant(CONSTANT_EDEFAULT);
197 return;
198 case VampireLanguagePackage.VLS_FUNCTION__TERMS:
199 getTerms().clear();
200 return;
201 }
202 super.eUnset(featureID);
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public boolean eIsSet(int featureID)
212 {
213 switch (featureID)
214 {
215 case VampireLanguagePackage.VLS_FUNCTION__CONSTANT:
216 return CONSTANT_EDEFAULT == null ? constant != null : !CONSTANT_EDEFAULT.equals(constant);
217 case VampireLanguagePackage.VLS_FUNCTION__TERMS:
218 return terms != null && !terms.isEmpty();
219 }
220 return super.eIsSet(featureID);
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public String toString()
230 {
231 if (eIsProxy()) return super.toString();
232
233 StringBuffer result = new StringBuffer(super.toString());
234 result.append(" (constant: ");
235 result.append(constant);
236 result.append(')');
237 return result.toString();
238 }
239
240} //VLSFunctionImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSImpliesImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSImpliesImpl.java
new file mode 100644
index 00000000..3c8d9193
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSImpliesImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Implies</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSImpliesImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSImpliesImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSImpliesImpl extends VLSTermImpl implements VLSImplies
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSImpliesImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_IMPLIES;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_IMPLIES__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_IMPLIES__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_IMPLIES__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_IMPLIES__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_IMPLIES__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_IMPLIES__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_IMPLIES__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_IMPLIES__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_IMPLIES__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_IMPLIES__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_IMPLIES__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_IMPLIES__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_IMPLIES__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_IMPLIES__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_IMPLIES__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_IMPLIES__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_IMPLIES__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_IMPLIES__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSImpliesImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSIncludeImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSIncludeImpl.java
new file mode 100644
index 00000000..b37d97b4
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSIncludeImpl.java
@@ -0,0 +1,241 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentEList;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>VLS Include</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSIncludeImpl#getFileName <em>File Name</em>}</li>
35 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSIncludeImpl#getNames <em>Names</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class VLSIncludeImpl extends MinimalEObjectImpl.Container implements VLSInclude
41{
42 /**
43 * The default value of the '{@link #getFileName() <em>File Name</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getFileName()
47 * @generated
48 * @ordered
49 */
50 protected static final String FILE_NAME_EDEFAULT = null;
51
52 /**
53 * The cached value of the '{@link #getFileName() <em>File Name</em>}' attribute.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getFileName()
57 * @generated
58 * @ordered
59 */
60 protected String fileName = FILE_NAME_EDEFAULT;
61
62 /**
63 * The cached value of the '{@link #getNames() <em>Names</em>}' containment reference list.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #getNames()
67 * @generated
68 * @ordered
69 */
70 protected EList<VLSName> names;
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 protected VLSIncludeImpl()
78 {
79 super();
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 protected EClass eStaticClass()
89 {
90 return VampireLanguagePackage.Literals.VLS_INCLUDE;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public String getFileName()
99 {
100 return fileName;
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 public void setFileName(String newFileName)
109 {
110 String oldFileName = fileName;
111 fileName = newFileName;
112 if (eNotificationRequired())
113 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_INCLUDE__FILE_NAME, oldFileName, fileName));
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 public EList<VLSName> getNames()
122 {
123 if (names == null)
124 {
125 names = new EObjectContainmentEList<VLSName>(VLSName.class, this, VampireLanguagePackage.VLS_INCLUDE__NAMES);
126 }
127 return names;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
137 {
138 switch (featureID)
139 {
140 case VampireLanguagePackage.VLS_INCLUDE__NAMES:
141 return ((InternalEList<?>)getNames()).basicRemove(otherEnd, msgs);
142 }
143 return super.eInverseRemove(otherEnd, featureID, msgs);
144 }
145
146 /**
147 * <!-- begin-user-doc -->
148 * <!-- end-user-doc -->
149 * @generated
150 */
151 @Override
152 public Object eGet(int featureID, boolean resolve, boolean coreType)
153 {
154 switch (featureID)
155 {
156 case VampireLanguagePackage.VLS_INCLUDE__FILE_NAME:
157 return getFileName();
158 case VampireLanguagePackage.VLS_INCLUDE__NAMES:
159 return getNames();
160 }
161 return super.eGet(featureID, resolve, coreType);
162 }
163
164 /**
165 * <!-- begin-user-doc -->
166 * <!-- end-user-doc -->
167 * @generated
168 */
169 @SuppressWarnings("unchecked")
170 @Override
171 public void eSet(int featureID, Object newValue)
172 {
173 switch (featureID)
174 {
175 case VampireLanguagePackage.VLS_INCLUDE__FILE_NAME:
176 setFileName((String)newValue);
177 return;
178 case VampireLanguagePackage.VLS_INCLUDE__NAMES:
179 getNames().clear();
180 getNames().addAll((Collection<? extends VLSName>)newValue);
181 return;
182 }
183 super.eSet(featureID, newValue);
184 }
185
186 /**
187 * <!-- begin-user-doc -->
188 * <!-- end-user-doc -->
189 * @generated
190 */
191 @Override
192 public void eUnset(int featureID)
193 {
194 switch (featureID)
195 {
196 case VampireLanguagePackage.VLS_INCLUDE__FILE_NAME:
197 setFileName(FILE_NAME_EDEFAULT);
198 return;
199 case VampireLanguagePackage.VLS_INCLUDE__NAMES:
200 getNames().clear();
201 return;
202 }
203 super.eUnset(featureID);
204 }
205
206 /**
207 * <!-- begin-user-doc -->
208 * <!-- end-user-doc -->
209 * @generated
210 */
211 @Override
212 public boolean eIsSet(int featureID)
213 {
214 switch (featureID)
215 {
216 case VampireLanguagePackage.VLS_INCLUDE__FILE_NAME:
217 return FILE_NAME_EDEFAULT == null ? fileName != null : !FILE_NAME_EDEFAULT.equals(fileName);
218 case VampireLanguagePackage.VLS_INCLUDE__NAMES:
219 return names != null && !names.isEmpty();
220 }
221 return super.eIsSet(featureID);
222 }
223
224 /**
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @generated
228 */
229 @Override
230 public String toString()
231 {
232 if (eIsProxy()) return super.toString();
233
234 StringBuffer result = new StringBuffer(super.toString());
235 result.append(" (fileName: ");
236 result.append(fileName);
237 result.append(')');
238 return result.toString();
239 }
240
241} //VLSIncludeImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSInequalityImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSInequalityImpl.java
new file mode 100644
index 00000000..ba409780
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSInequalityImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Inequality</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSInequalityImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSInequalityImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSInequalityImpl extends VLSTermImpl implements VLSInequality
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSInequalityImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_INEQUALITY;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_INEQUALITY__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_INEQUALITY__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_INEQUALITY__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_INEQUALITY__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_INEQUALITY__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_INEQUALITY__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_INEQUALITY__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_INEQUALITY__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_INEQUALITY__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_INEQUALITY__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_INEQUALITY__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_INEQUALITY__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_INEQUALITY__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_INEQUALITY__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_INEQUALITY__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_INEQUALITY__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_INEQUALITY__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_INEQUALITY__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSInequalityImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSIntImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSIntImpl.java
new file mode 100644
index 00000000..a513549a
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSIntImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInt;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.ecore.EClass;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>VLS Int</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class VLSIntImpl extends VLSDefinedTermImpl implements VLSInt
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected VLSIntImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return VampireLanguagePackage.Literals.VLS_INT;
39 }
40
41} //VLSIntImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSLessImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSLessImpl.java
new file mode 100644
index 00000000..71f2b9c8
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSLessImpl.java
@@ -0,0 +1,240 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21
22import org.eclipse.emf.ecore.util.EObjectContainmentEList;
23import org.eclipse.emf.ecore.util.InternalEList;
24
25/**
26 * <!-- begin-user-doc -->
27 * An implementation of the model object '<em><b>VLS Less</b></em>'.
28 * <!-- end-user-doc -->
29 * <p>
30 * The following features are implemented:
31 * </p>
32 * <ul>
33 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSLessImpl#getName <em>Name</em>}</li>
34 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSLessImpl#getTerms <em>Terms</em>}</li>
35 * </ul>
36 *
37 * @generated
38 */
39public class VLSLessImpl extends VLSTermImpl implements VLSLess
40{
41 /**
42 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getName()
46 * @generated
47 * @ordered
48 */
49 protected static final String NAME_EDEFAULT = null;
50
51 /**
52 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getName()
56 * @generated
57 * @ordered
58 */
59 protected String name = NAME_EDEFAULT;
60
61 /**
62 * The cached value of the '{@link #getTerms() <em>Terms</em>}' containment reference list.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @see #getTerms()
66 * @generated
67 * @ordered
68 */
69 protected EList<VLSTerm> terms;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 protected VLSLessImpl()
77 {
78 super();
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 protected EClass eStaticClass()
88 {
89 return VampireLanguagePackage.Literals.VLS_LESS;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 public String getName()
98 {
99 return name;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setName(String newName)
108 {
109 String oldName = name;
110 name = newName;
111 if (eNotificationRequired())
112 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_LESS__NAME, oldName, name));
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public EList<VLSTerm> getTerms()
121 {
122 if (terms == null)
123 {
124 terms = new EObjectContainmentEList<VLSTerm>(VLSTerm.class, this, VampireLanguagePackage.VLS_LESS__TERMS);
125 }
126 return terms;
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
136 {
137 switch (featureID)
138 {
139 case VampireLanguagePackage.VLS_LESS__TERMS:
140 return ((InternalEList<?>)getTerms()).basicRemove(otherEnd, msgs);
141 }
142 return super.eInverseRemove(otherEnd, featureID, msgs);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public Object eGet(int featureID, boolean resolve, boolean coreType)
152 {
153 switch (featureID)
154 {
155 case VampireLanguagePackage.VLS_LESS__NAME:
156 return getName();
157 case VampireLanguagePackage.VLS_LESS__TERMS:
158 return getTerms();
159 }
160 return super.eGet(featureID, resolve, coreType);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @SuppressWarnings("unchecked")
169 @Override
170 public void eSet(int featureID, Object newValue)
171 {
172 switch (featureID)
173 {
174 case VampireLanguagePackage.VLS_LESS__NAME:
175 setName((String)newValue);
176 return;
177 case VampireLanguagePackage.VLS_LESS__TERMS:
178 getTerms().clear();
179 getTerms().addAll((Collection<? extends VLSTerm>)newValue);
180 return;
181 }
182 super.eSet(featureID, newValue);
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public void eUnset(int featureID)
192 {
193 switch (featureID)
194 {
195 case VampireLanguagePackage.VLS_LESS__NAME:
196 setName(NAME_EDEFAULT);
197 return;
198 case VampireLanguagePackage.VLS_LESS__TERMS:
199 getTerms().clear();
200 return;
201 }
202 super.eUnset(featureID);
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public boolean eIsSet(int featureID)
212 {
213 switch (featureID)
214 {
215 case VampireLanguagePackage.VLS_LESS__NAME:
216 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
217 case VampireLanguagePackage.VLS_LESS__TERMS:
218 return terms != null && !terms.isEmpty();
219 }
220 return super.eIsSet(featureID);
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public String toString()
230 {
231 if (eIsProxy()) return super.toString();
232
233 StringBuffer result = new StringBuffer(super.toString());
234 result.append(" (name: ");
235 result.append(name);
236 result.append(')');
237 return result.toString();
238 }
239
240} //VLSLessImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNameImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNameImpl.java
new file mode 100644
index 00000000..5217696e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNameImpl.java
@@ -0,0 +1,178 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>VLS Name</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNameImpl#getName <em>Name</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class VLSNameImpl extends MinimalEObjectImpl.Container implements VLSName
30{
31 /**
32 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getName()
36 * @generated
37 * @ordered
38 */
39 protected static final String NAME_EDEFAULT = null;
40
41 /**
42 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getName()
46 * @generated
47 * @ordered
48 */
49 protected String name = NAME_EDEFAULT;
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 protected VLSNameImpl()
57 {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass()
68 {
69 return VampireLanguagePackage.Literals.VLS_NAME;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 public String getName()
78 {
79 return name;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 public void setName(String newName)
88 {
89 String oldName = name;
90 name = newName;
91 if (eNotificationRequired())
92 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_NAME__NAME, oldName, name));
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 @Override
101 public Object eGet(int featureID, boolean resolve, boolean coreType)
102 {
103 switch (featureID)
104 {
105 case VampireLanguagePackage.VLS_NAME__NAME:
106 return getName();
107 }
108 return super.eGet(featureID, resolve, coreType);
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public void eSet(int featureID, Object newValue)
118 {
119 switch (featureID)
120 {
121 case VampireLanguagePackage.VLS_NAME__NAME:
122 setName((String)newValue);
123 return;
124 }
125 super.eSet(featureID, newValue);
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void eUnset(int featureID)
135 {
136 switch (featureID)
137 {
138 case VampireLanguagePackage.VLS_NAME__NAME:
139 setName(NAME_EDEFAULT);
140 return;
141 }
142 super.eUnset(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public boolean eIsSet(int featureID)
152 {
153 switch (featureID)
154 {
155 case VampireLanguagePackage.VLS_NAME__NAME:
156 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
157 }
158 return super.eIsSet(featureID);
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public String toString()
168 {
169 if (eIsProxy()) return super.toString();
170
171 StringBuffer result = new StringBuffer(super.toString());
172 result.append(" (name: ");
173 result.append(name);
174 result.append(')');
175 return result.toString();
176 }
177
178} //VLSNameImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNandImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNandImpl.java
new file mode 100644
index 00000000..ca157692
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNandImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Nand</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNandImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNandImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSNandImpl extends VLSTermImpl implements VLSNand
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSNandImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_NAND;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_NAND__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_NAND__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_NAND__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_NAND__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_NAND__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_NAND__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_NAND__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_NAND__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_NAND__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_NAND__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_NAND__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_NAND__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_NAND__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_NAND__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_NAND__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_NAND__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_NAND__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_NAND__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSNandImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNorImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNorImpl.java
new file mode 100644
index 00000000..b9d8eea4
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSNorImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Nor</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNorImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSNorImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSNorImpl extends VLSTermImpl implements VLSNor
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSNorImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_NOR;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_NOR__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_NOR__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_NOR__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_NOR__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_NOR__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_NOR__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_NOR__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_NOR__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_NOR__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_NOR__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_NOR__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_NOR__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_NOR__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_NOR__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_NOR__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_NOR__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_NOR__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_NOR__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSNorImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSOrImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSOrImpl.java
new file mode 100644
index 00000000..dbe09020
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSOrImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Or</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSOrImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSOrImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSOrImpl extends VLSTermImpl implements VLSOr
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSOrImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_OR;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_OR__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_OR__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_OR__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_OR__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_OR__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_OR__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_OR__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_OR__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_OR__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_OR__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_OR__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_OR__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_OR__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_OR__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_OR__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_OR__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_OR__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_OR__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSOrImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRationalImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRationalImpl.java
new file mode 100644
index 00000000..43f2b84b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRationalImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRational;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.ecore.EClass;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>VLS Rational</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class VLSRationalImpl extends VLSDefinedTermImpl implements VLSRational
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected VLSRationalImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return VampireLanguagePackage.Literals.VLS_RATIONAL;
39 }
40
41} //VLSRationalImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRealImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRealImpl.java
new file mode 100644
index 00000000..54789949
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRealImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSReal;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.ecore.EClass;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>VLS Real</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class VLSRealImpl extends VLSDefinedTermImpl implements VLSReal
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected VLSRealImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return VampireLanguagePackage.Literals.VLS_REAL;
39 }
40
41} //VLSRealImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRevImpliesImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRevImpliesImpl.java
new file mode 100644
index 00000000..2a0dbf03
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSRevImpliesImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Rev Implies</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRevImpliesImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSRevImpliesImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSRevImpliesImpl extends VLSTermImpl implements VLSRevImplies
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSRevImpliesImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_REV_IMPLIES;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_REV_IMPLIES__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_REV_IMPLIES__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_REV_IMPLIES__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_REV_IMPLIES__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_REV_IMPLIES__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_REV_IMPLIES__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_REV_IMPLIES__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_REV_IMPLIES__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_REV_IMPLIES__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_REV_IMPLIES__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_REV_IMPLIES__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_REV_IMPLIES__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_REV_IMPLIES__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_REV_IMPLIES__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_REV_IMPLIES__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_REV_IMPLIES__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_REV_IMPLIES__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_REV_IMPLIES__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSRevImpliesImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSTermImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSTermImpl.java
new file mode 100644
index 00000000..3766eae5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSTermImpl.java
@@ -0,0 +1,43 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.ecore.EClass;
10
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>VLS Term</b></em>'.
16 * <!-- end-user-doc -->
17 *
18 * @generated
19 */
20public class VLSTermImpl extends MinimalEObjectImpl.Container implements VLSTerm
21{
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 protected VLSTermImpl()
28 {
29 super();
30 }
31
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 @Override
38 protected EClass eStaticClass()
39 {
40 return VampireLanguagePackage.Literals.VLS_TERM;
41 }
42
43} //VLSTermImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSTrueImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSTrueImpl.java
new file mode 100644
index 00000000..3153600a
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSTrueImpl.java
@@ -0,0 +1,41 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.ecore.EClass;
10
11/**
12 * <!-- begin-user-doc -->
13 * An implementation of the model object '<em><b>VLS True</b></em>'.
14 * <!-- end-user-doc -->
15 *
16 * @generated
17 */
18public class VLSTrueImpl extends VLSTermImpl implements VLSTrue
19{
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected VLSTrueImpl()
26 {
27 super();
28 }
29
30 /**
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @generated
34 */
35 @Override
36 protected EClass eStaticClass()
37 {
38 return VampireLanguagePackage.Literals.VLS_TRUE;
39 }
40
41} //VLSTrueImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSUnaryNegationImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSUnaryNegationImpl.java
new file mode 100644
index 00000000..85dc0b1b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSUnaryNegationImpl.java
@@ -0,0 +1,194 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Unary Negation</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUnaryNegationImpl#getOperand <em>Operand</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class VLSUnaryNegationImpl extends VLSTermImpl implements VLSUnaryNegation
32{
33 /**
34 * The cached value of the '{@link #getOperand() <em>Operand</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getOperand()
38 * @generated
39 * @ordered
40 */
41 protected VLSTerm operand;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 protected VLSUnaryNegationImpl()
49 {
50 super();
51 }
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 @Override
59 protected EClass eStaticClass()
60 {
61 return VampireLanguagePackage.Literals.VLS_UNARY_NEGATION;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public VLSTerm getOperand()
70 {
71 return operand;
72 }
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 public NotificationChain basicSetOperand(VLSTerm newOperand, NotificationChain msgs)
80 {
81 VLSTerm oldOperand = operand;
82 operand = newOperand;
83 if (eNotificationRequired())
84 {
85 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_UNARY_NEGATION__OPERAND, oldOperand, newOperand);
86 if (msgs == null) msgs = notification; else msgs.add(notification);
87 }
88 return msgs;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public void setOperand(VLSTerm newOperand)
97 {
98 if (newOperand != operand)
99 {
100 NotificationChain msgs = null;
101 if (operand != null)
102 msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_UNARY_NEGATION__OPERAND, null, msgs);
103 if (newOperand != null)
104 msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_UNARY_NEGATION__OPERAND, null, msgs);
105 msgs = basicSetOperand(newOperand, msgs);
106 if (msgs != null) msgs.dispatch();
107 }
108 else if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_UNARY_NEGATION__OPERAND, newOperand, newOperand));
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
119 {
120 switch (featureID)
121 {
122 case VampireLanguagePackage.VLS_UNARY_NEGATION__OPERAND:
123 return basicSetOperand(null, msgs);
124 }
125 return super.eInverseRemove(otherEnd, featureID, msgs);
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public Object eGet(int featureID, boolean resolve, boolean coreType)
135 {
136 switch (featureID)
137 {
138 case VampireLanguagePackage.VLS_UNARY_NEGATION__OPERAND:
139 return getOperand();
140 }
141 return super.eGet(featureID, resolve, coreType);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public void eSet(int featureID, Object newValue)
151 {
152 switch (featureID)
153 {
154 case VampireLanguagePackage.VLS_UNARY_NEGATION__OPERAND:
155 setOperand((VLSTerm)newValue);
156 return;
157 }
158 super.eSet(featureID, newValue);
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 @Override
167 public void eUnset(int featureID)
168 {
169 switch (featureID)
170 {
171 case VampireLanguagePackage.VLS_UNARY_NEGATION__OPERAND:
172 setOperand((VLSTerm)null);
173 return;
174 }
175 super.eUnset(featureID);
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 @Override
184 public boolean eIsSet(int featureID)
185 {
186 switch (featureID)
187 {
188 case VampireLanguagePackage.VLS_UNARY_NEGATION__OPERAND:
189 return operand != null;
190 }
191 return super.eIsSet(featureID);
192 }
193
194} //VLSUnaryNegationImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSUniversalQuantifierImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSUniversalQuantifierImpl.java
new file mode 100644
index 00000000..5627cc4c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSUniversalQuantifierImpl.java
@@ -0,0 +1,241 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
10
11import java.util.Collection;
12
13import org.eclipse.emf.common.notify.Notification;
14import org.eclipse.emf.common.notify.NotificationChain;
15
16import org.eclipse.emf.common.util.EList;
17
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.InternalEObject;
20
21import org.eclipse.emf.ecore.impl.ENotificationImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentEList;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>VLS Universal Quantifier</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUniversalQuantifierImpl#getVariables <em>Variables</em>}</li>
35 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUniversalQuantifierImpl#getOperand <em>Operand</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class VLSUniversalQuantifierImpl extends VLSTermImpl implements VLSUniversalQuantifier
41{
42 /**
43 * The cached value of the '{@link #getVariables() <em>Variables</em>}' containment reference list.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getVariables()
47 * @generated
48 * @ordered
49 */
50 protected EList<VLSVariable> variables;
51
52 /**
53 * The cached value of the '{@link #getOperand() <em>Operand</em>}' containment reference.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getOperand()
57 * @generated
58 * @ordered
59 */
60 protected VLSTerm operand;
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 protected VLSUniversalQuantifierImpl()
68 {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass()
79 {
80 return VampireLanguagePackage.Literals.VLS_UNIVERSAL_QUANTIFIER;
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 public EList<VLSVariable> getVariables()
89 {
90 if (variables == null)
91 {
92 variables = new EObjectContainmentEList<VLSVariable>(VLSVariable.class, this, VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__VARIABLES);
93 }
94 return variables;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public VLSTerm getOperand()
103 {
104 return operand;
105 }
106
107 /**
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @generated
111 */
112 public NotificationChain basicSetOperand(VLSTerm newOperand, NotificationChain msgs)
113 {
114 VLSTerm oldOperand = operand;
115 operand = newOperand;
116 if (eNotificationRequired())
117 {
118 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__OPERAND, oldOperand, newOperand);
119 if (msgs == null) msgs = notification; else msgs.add(notification);
120 }
121 return msgs;
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public void setOperand(VLSTerm newOperand)
130 {
131 if (newOperand != operand)
132 {
133 NotificationChain msgs = null;
134 if (operand != null)
135 msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__OPERAND, null, msgs);
136 if (newOperand != null)
137 msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__OPERAND, null, msgs);
138 msgs = basicSetOperand(newOperand, msgs);
139 if (msgs != null) msgs.dispatch();
140 }
141 else if (eNotificationRequired())
142 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__OPERAND, newOperand, newOperand));
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
152 {
153 switch (featureID)
154 {
155 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__VARIABLES:
156 return ((InternalEList<?>)getVariables()).basicRemove(otherEnd, msgs);
157 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__OPERAND:
158 return basicSetOperand(null, msgs);
159 }
160 return super.eInverseRemove(otherEnd, featureID, msgs);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public Object eGet(int featureID, boolean resolve, boolean coreType)
170 {
171 switch (featureID)
172 {
173 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__VARIABLES:
174 return getVariables();
175 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__OPERAND:
176 return getOperand();
177 }
178 return super.eGet(featureID, resolve, coreType);
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 @SuppressWarnings("unchecked")
187 @Override
188 public void eSet(int featureID, Object newValue)
189 {
190 switch (featureID)
191 {
192 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__VARIABLES:
193 getVariables().clear();
194 getVariables().addAll((Collection<? extends VLSVariable>)newValue);
195 return;
196 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__OPERAND:
197 setOperand((VLSTerm)newValue);
198 return;
199 }
200 super.eSet(featureID, newValue);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public void eUnset(int featureID)
210 {
211 switch (featureID)
212 {
213 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__VARIABLES:
214 getVariables().clear();
215 return;
216 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__OPERAND:
217 setOperand((VLSTerm)null);
218 return;
219 }
220 super.eUnset(featureID);
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public boolean eIsSet(int featureID)
230 {
231 switch (featureID)
232 {
233 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__VARIABLES:
234 return variables != null && !variables.isEmpty();
235 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER__OPERAND:
236 return operand != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //VLSUniversalQuantifierImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSVariableImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSVariableImpl.java
new file mode 100644
index 00000000..437bb72d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSVariableImpl.java
@@ -0,0 +1,177 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.impl.ENotificationImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model object '<em><b>VLS Variable</b></em>'.
18 * <!-- end-user-doc -->
19 * <p>
20 * The following features are implemented:
21 * </p>
22 * <ul>
23 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSVariableImpl#getName <em>Name</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public class VLSVariableImpl extends VLSTermImpl implements VLSVariable
29{
30 /**
31 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getName()
35 * @generated
36 * @ordered
37 */
38 protected static final String NAME_EDEFAULT = null;
39
40 /**
41 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #getName()
45 * @generated
46 * @ordered
47 */
48 protected String name = NAME_EDEFAULT;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 protected VLSVariableImpl()
56 {
57 super();
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 protected EClass eStaticClass()
67 {
68 return VampireLanguagePackage.Literals.VLS_VARIABLE;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public String getName()
77 {
78 return name;
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 public void setName(String newName)
87 {
88 String oldName = name;
89 name = newName;
90 if (eNotificationRequired())
91 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_VARIABLE__NAME, oldName, name));
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public Object eGet(int featureID, boolean resolve, boolean coreType)
101 {
102 switch (featureID)
103 {
104 case VampireLanguagePackage.VLS_VARIABLE__NAME:
105 return getName();
106 }
107 return super.eGet(featureID, resolve, coreType);
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public void eSet(int featureID, Object newValue)
117 {
118 switch (featureID)
119 {
120 case VampireLanguagePackage.VLS_VARIABLE__NAME:
121 setName((String)newValue);
122 return;
123 }
124 super.eSet(featureID, newValue);
125 }
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 @Override
133 public void eUnset(int featureID)
134 {
135 switch (featureID)
136 {
137 case VampireLanguagePackage.VLS_VARIABLE__NAME:
138 setName(NAME_EDEFAULT);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID)
151 {
152 switch (featureID)
153 {
154 case VampireLanguagePackage.VLS_VARIABLE__NAME:
155 return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
156 }
157 return super.eIsSet(featureID);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 @Override
166 public String toString()
167 {
168 if (eIsProxy()) return super.toString();
169
170 StringBuffer result = new StringBuffer(super.toString());
171 result.append(" (name: ");
172 result.append(name);
173 result.append(')');
174 return result.toString();
175 }
176
177} //VLSVariableImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSXnorImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSXnorImpl.java
new file mode 100644
index 00000000..0f9e5f5a
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VLSXnorImpl.java
@@ -0,0 +1,265 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>VLS Xnor</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSXnorImpl#getLeft <em>Left</em>}</li>
27 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSXnorImpl#getRight <em>Right</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VLSXnorImpl extends VLSTermImpl implements VLSXnor
33{
34 /**
35 * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getLeft()
39 * @generated
40 * @ordered
41 */
42 protected VLSTerm left;
43
44 /**
45 * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getRight()
49 * @generated
50 * @ordered
51 */
52 protected VLSTerm right;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected VLSXnorImpl()
60 {
61 super();
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 protected EClass eStaticClass()
71 {
72 return VampireLanguagePackage.Literals.VLS_XNOR;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public VLSTerm getLeft()
81 {
82 return left;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetLeft(VLSTerm newLeft, NotificationChain msgs)
91 {
92 VLSTerm oldLeft = left;
93 left = newLeft;
94 if (eNotificationRequired())
95 {
96 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_XNOR__LEFT, oldLeft, newLeft);
97 if (msgs == null) msgs = notification; else msgs.add(notification);
98 }
99 return msgs;
100 }
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 public void setLeft(VLSTerm newLeft)
108 {
109 if (newLeft != left)
110 {
111 NotificationChain msgs = null;
112 if (left != null)
113 msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_XNOR__LEFT, null, msgs);
114 if (newLeft != null)
115 msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_XNOR__LEFT, null, msgs);
116 msgs = basicSetLeft(newLeft, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_XNOR__LEFT, newLeft, newLeft));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public VLSTerm getRight()
129 {
130 return right;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public NotificationChain basicSetRight(VLSTerm newRight, NotificationChain msgs)
139 {
140 VLSTerm oldRight = right;
141 right = newRight;
142 if (eNotificationRequired())
143 {
144 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_XNOR__RIGHT, oldRight, newRight);
145 if (msgs == null) msgs = notification; else msgs.add(notification);
146 }
147 return msgs;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public void setRight(VLSTerm newRight)
156 {
157 if (newRight != right)
158 {
159 NotificationChain msgs = null;
160 if (right != null)
161 msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_XNOR__RIGHT, null, msgs);
162 if (newRight != null)
163 msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - VampireLanguagePackage.VLS_XNOR__RIGHT, null, msgs);
164 msgs = basicSetRight(newRight, msgs);
165 if (msgs != null) msgs.dispatch();
166 }
167 else if (eNotificationRequired())
168 eNotify(new ENotificationImpl(this, Notification.SET, VampireLanguagePackage.VLS_XNOR__RIGHT, newRight, newRight));
169 }
170
171 /**
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 */
176 @Override
177 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
178 {
179 switch (featureID)
180 {
181 case VampireLanguagePackage.VLS_XNOR__LEFT:
182 return basicSetLeft(null, msgs);
183 case VampireLanguagePackage.VLS_XNOR__RIGHT:
184 return basicSetRight(null, msgs);
185 }
186 return super.eInverseRemove(otherEnd, featureID, msgs);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public Object eGet(int featureID, boolean resolve, boolean coreType)
196 {
197 switch (featureID)
198 {
199 case VampireLanguagePackage.VLS_XNOR__LEFT:
200 return getLeft();
201 case VampireLanguagePackage.VLS_XNOR__RIGHT:
202 return getRight();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eSet(int featureID, Object newValue)
214 {
215 switch (featureID)
216 {
217 case VampireLanguagePackage.VLS_XNOR__LEFT:
218 setLeft((VLSTerm)newValue);
219 return;
220 case VampireLanguagePackage.VLS_XNOR__RIGHT:
221 setRight((VLSTerm)newValue);
222 return;
223 }
224 super.eSet(featureID, newValue);
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 @Override
233 public void eUnset(int featureID)
234 {
235 switch (featureID)
236 {
237 case VampireLanguagePackage.VLS_XNOR__LEFT:
238 setLeft((VLSTerm)null);
239 return;
240 case VampireLanguagePackage.VLS_XNOR__RIGHT:
241 setRight((VLSTerm)null);
242 return;
243 }
244 super.eUnset(featureID);
245 }
246
247 /**
248 * <!-- begin-user-doc -->
249 * <!-- end-user-doc -->
250 * @generated
251 */
252 @Override
253 public boolean eIsSet(int featureID)
254 {
255 switch (featureID)
256 {
257 case VampireLanguagePackage.VLS_XNOR__LEFT:
258 return left != null;
259 case VampireLanguagePackage.VLS_XNOR__RIGHT:
260 return right != null;
261 }
262 return super.eIsSet(featureID);
263 }
264
265} //VLSXnorImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguageFactoryImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguageFactoryImpl.java
new file mode 100644
index 00000000..630fa8ce
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguageFactoryImpl.java
@@ -0,0 +1,491 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.*;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.EObject;
10import org.eclipse.emf.ecore.EPackage;
11
12import org.eclipse.emf.ecore.impl.EFactoryImpl;
13
14import org.eclipse.emf.ecore.plugin.EcorePlugin;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model <b>Factory</b>.
19 * <!-- end-user-doc -->
20 * @generated
21 */
22public class VampireLanguageFactoryImpl extends EFactoryImpl implements VampireLanguageFactory
23{
24 /**
25 * Creates the default factory implementation.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @generated
29 */
30 public static VampireLanguageFactory init()
31 {
32 try
33 {
34 VampireLanguageFactory theVampireLanguageFactory = (VampireLanguageFactory)EPackage.Registry.INSTANCE.getEFactory(VampireLanguagePackage.eNS_URI);
35 if (theVampireLanguageFactory != null)
36 {
37 return theVampireLanguageFactory;
38 }
39 }
40 catch (Exception exception)
41 {
42 EcorePlugin.INSTANCE.log(exception);
43 }
44 return new VampireLanguageFactoryImpl();
45 }
46
47 /**
48 * Creates an instance of the factory.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 public VampireLanguageFactoryImpl()
54 {
55 super();
56 }
57
58 /**
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @generated
62 */
63 @Override
64 public EObject create(EClass eClass)
65 {
66 switch (eClass.getClassifierID())
67 {
68 case VampireLanguagePackage.VAMPIRE_MODEL: return createVampireModel();
69 case VampireLanguagePackage.VLS_INCLUDE: return createVLSInclude();
70 case VampireLanguagePackage.VLS_NAME: return createVLSName();
71 case VampireLanguagePackage.VLS_COMMENT: return createVLSComment();
72 case VampireLanguagePackage.VLS_FOF_FORMULA: return createVLSFofFormula();
73 case VampireLanguagePackage.VLS_ANNOTATION: return createVLSAnnotation();
74 case VampireLanguagePackage.VLS_TERM: return createVLSTerm();
75 case VampireLanguagePackage.VLS_VARIABLE: return createVLSVariable();
76 case VampireLanguagePackage.VLS_FUNCTION_FOF: return createVLSFunctionFof();
77 case VampireLanguagePackage.VLS_DEFINED_TERM: return createVLSDefinedTerm();
78 case VampireLanguagePackage.VLS_EQUIVALENT: return createVLSEquivalent();
79 case VampireLanguagePackage.VLS_IMPLIES: return createVLSImplies();
80 case VampireLanguagePackage.VLS_REV_IMPLIES: return createVLSRevImplies();
81 case VampireLanguagePackage.VLS_XNOR: return createVLSXnor();
82 case VampireLanguagePackage.VLS_NOR: return createVLSNor();
83 case VampireLanguagePackage.VLS_NAND: return createVLSNand();
84 case VampireLanguagePackage.VLS_AND: return createVLSAnd();
85 case VampireLanguagePackage.VLS_OR: return createVLSOr();
86 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER: return createVLSUniversalQuantifier();
87 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER: return createVLSExistentialQuantifier();
88 case VampireLanguagePackage.VLS_UNARY_NEGATION: return createVLSUnaryNegation();
89 case VampireLanguagePackage.VLS_INEQUALITY: return createVLSInequality();
90 case VampireLanguagePackage.VLS_EQUALITY: return createVLSEquality();
91 case VampireLanguagePackage.VLS_ASSIGNMENT: return createVLSAssignment();
92 case VampireLanguagePackage.VLS_CONSTANT: return createVLSConstant();
93 case VampireLanguagePackage.VLS_TRUE: return createVLSTrue();
94 case VampireLanguagePackage.VLS_FALSE: return createVLSFalse();
95 case VampireLanguagePackage.VLS_FUNCTION: return createVLSFunction();
96 case VampireLanguagePackage.VLS_LESS: return createVLSLess();
97 case VampireLanguagePackage.VLS_INT: return createVLSInt();
98 case VampireLanguagePackage.VLS_REAL: return createVLSReal();
99 case VampireLanguagePackage.VLS_RATIONAL: return createVLSRational();
100 case VampireLanguagePackage.VLS_DOUBLE_QUOTE: return createVLSDoubleQuote();
101 default:
102 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
103 }
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 public VampireModel createVampireModel()
112 {
113 VampireModelImpl vampireModel = new VampireModelImpl();
114 return vampireModel;
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 public VLSInclude createVLSInclude()
123 {
124 VLSIncludeImpl vlsInclude = new VLSIncludeImpl();
125 return vlsInclude;
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 public VLSName createVLSName()
134 {
135 VLSNameImpl vlsName = new VLSNameImpl();
136 return vlsName;
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 public VLSComment createVLSComment()
145 {
146 VLSCommentImpl vlsComment = new VLSCommentImpl();
147 return vlsComment;
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 public VLSFofFormula createVLSFofFormula()
156 {
157 VLSFofFormulaImpl vlsFofFormula = new VLSFofFormulaImpl();
158 return vlsFofFormula;
159 }
160
161 /**
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 */
166 public VLSAnnotation createVLSAnnotation()
167 {
168 VLSAnnotationImpl vlsAnnotation = new VLSAnnotationImpl();
169 return vlsAnnotation;
170 }
171
172 /**
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 */
177 public VLSTerm createVLSTerm()
178 {
179 VLSTermImpl vlsTerm = new VLSTermImpl();
180 return vlsTerm;
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 public VLSVariable createVLSVariable()
189 {
190 VLSVariableImpl vlsVariable = new VLSVariableImpl();
191 return vlsVariable;
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 public VLSFunctionFof createVLSFunctionFof()
200 {
201 VLSFunctionFofImpl vlsFunctionFof = new VLSFunctionFofImpl();
202 return vlsFunctionFof;
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 public VLSDefinedTerm createVLSDefinedTerm()
211 {
212 VLSDefinedTermImpl vlsDefinedTerm = new VLSDefinedTermImpl();
213 return vlsDefinedTerm;
214 }
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
221 public VLSEquivalent createVLSEquivalent()
222 {
223 VLSEquivalentImpl vlsEquivalent = new VLSEquivalentImpl();
224 return vlsEquivalent;
225 }
226
227 /**
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 */
232 public VLSImplies createVLSImplies()
233 {
234 VLSImpliesImpl vlsImplies = new VLSImpliesImpl();
235 return vlsImplies;
236 }
237
238 /**
239 * <!-- begin-user-doc -->
240 * <!-- end-user-doc -->
241 * @generated
242 */
243 public VLSRevImplies createVLSRevImplies()
244 {
245 VLSRevImpliesImpl vlsRevImplies = new VLSRevImpliesImpl();
246 return vlsRevImplies;
247 }
248
249 /**
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 */
254 public VLSXnor createVLSXnor()
255 {
256 VLSXnorImpl vlsXnor = new VLSXnorImpl();
257 return vlsXnor;
258 }
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 public VLSNor createVLSNor()
266 {
267 VLSNorImpl vlsNor = new VLSNorImpl();
268 return vlsNor;
269 }
270
271 /**
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @generated
275 */
276 public VLSNand createVLSNand()
277 {
278 VLSNandImpl vlsNand = new VLSNandImpl();
279 return vlsNand;
280 }
281
282 /**
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 */
287 public VLSAnd createVLSAnd()
288 {
289 VLSAndImpl vlsAnd = new VLSAndImpl();
290 return vlsAnd;
291 }
292
293 /**
294 * <!-- begin-user-doc -->
295 * <!-- end-user-doc -->
296 * @generated
297 */
298 public VLSOr createVLSOr()
299 {
300 VLSOrImpl vlsOr = new VLSOrImpl();
301 return vlsOr;
302 }
303
304 /**
305 * <!-- begin-user-doc -->
306 * <!-- end-user-doc -->
307 * @generated
308 */
309 public VLSUniversalQuantifier createVLSUniversalQuantifier()
310 {
311 VLSUniversalQuantifierImpl vlsUniversalQuantifier = new VLSUniversalQuantifierImpl();
312 return vlsUniversalQuantifier;
313 }
314
315 /**
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @generated
319 */
320 public VLSExistentialQuantifier createVLSExistentialQuantifier()
321 {
322 VLSExistentialQuantifierImpl vlsExistentialQuantifier = new VLSExistentialQuantifierImpl();
323 return vlsExistentialQuantifier;
324 }
325
326 /**
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @generated
330 */
331 public VLSUnaryNegation createVLSUnaryNegation()
332 {
333 VLSUnaryNegationImpl vlsUnaryNegation = new VLSUnaryNegationImpl();
334 return vlsUnaryNegation;
335 }
336
337 /**
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 */
342 public VLSInequality createVLSInequality()
343 {
344 VLSInequalityImpl vlsInequality = new VLSInequalityImpl();
345 return vlsInequality;
346 }
347
348 /**
349 * <!-- begin-user-doc -->
350 * <!-- end-user-doc -->
351 * @generated
352 */
353 public VLSEquality createVLSEquality()
354 {
355 VLSEqualityImpl vlsEquality = new VLSEqualityImpl();
356 return vlsEquality;
357 }
358
359 /**
360 * <!-- begin-user-doc -->
361 * <!-- end-user-doc -->
362 * @generated
363 */
364 public VLSAssignment createVLSAssignment()
365 {
366 VLSAssignmentImpl vlsAssignment = new VLSAssignmentImpl();
367 return vlsAssignment;
368 }
369
370 /**
371 * <!-- begin-user-doc -->
372 * <!-- end-user-doc -->
373 * @generated
374 */
375 public VLSConstant createVLSConstant()
376 {
377 VLSConstantImpl vlsConstant = new VLSConstantImpl();
378 return vlsConstant;
379 }
380
381 /**
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 */
386 public VLSTrue createVLSTrue()
387 {
388 VLSTrueImpl vlsTrue = new VLSTrueImpl();
389 return vlsTrue;
390 }
391
392 /**
393 * <!-- begin-user-doc -->
394 * <!-- end-user-doc -->
395 * @generated
396 */
397 public VLSFalse createVLSFalse()
398 {
399 VLSFalseImpl vlsFalse = new VLSFalseImpl();
400 return vlsFalse;
401 }
402
403 /**
404 * <!-- begin-user-doc -->
405 * <!-- end-user-doc -->
406 * @generated
407 */
408 public VLSFunction createVLSFunction()
409 {
410 VLSFunctionImpl vlsFunction = new VLSFunctionImpl();
411 return vlsFunction;
412 }
413
414 /**
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @generated
418 */
419 public VLSLess createVLSLess()
420 {
421 VLSLessImpl vlsLess = new VLSLessImpl();
422 return vlsLess;
423 }
424
425 /**
426 * <!-- begin-user-doc -->
427 * <!-- end-user-doc -->
428 * @generated
429 */
430 public VLSInt createVLSInt()
431 {
432 VLSIntImpl vlsInt = new VLSIntImpl();
433 return vlsInt;
434 }
435
436 /**
437 * <!-- begin-user-doc -->
438 * <!-- end-user-doc -->
439 * @generated
440 */
441 public VLSReal createVLSReal()
442 {
443 VLSRealImpl vlsReal = new VLSRealImpl();
444 return vlsReal;
445 }
446
447 /**
448 * <!-- begin-user-doc -->
449 * <!-- end-user-doc -->
450 * @generated
451 */
452 public VLSRational createVLSRational()
453 {
454 VLSRationalImpl vlsRational = new VLSRationalImpl();
455 return vlsRational;
456 }
457
458 /**
459 * <!-- begin-user-doc -->
460 * <!-- end-user-doc -->
461 * @generated
462 */
463 public VLSDoubleQuote createVLSDoubleQuote()
464 {
465 VLSDoubleQuoteImpl vlsDoubleQuote = new VLSDoubleQuoteImpl();
466 return vlsDoubleQuote;
467 }
468
469 /**
470 * <!-- begin-user-doc -->
471 * <!-- end-user-doc -->
472 * @generated
473 */
474 public VampireLanguagePackage getVampireLanguagePackage()
475 {
476 return (VampireLanguagePackage)getEPackage();
477 }
478
479 /**
480 * <!-- begin-user-doc -->
481 * <!-- end-user-doc -->
482 * @deprecated
483 * @generated
484 */
485 @Deprecated
486 public static VampireLanguagePackage getPackage()
487 {
488 return VampireLanguagePackage.eINSTANCE;
489 }
490
491} //VampireLanguageFactoryImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguagePackageImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguagePackageImpl.java
new file mode 100644
index 00000000..86921032
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguagePackageImpl.java
@@ -0,0 +1,1505 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDefinedTerm;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDoubleQuote;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier;
16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse;
17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof;
20import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies;
21import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude;
22import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality;
23import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInt;
24import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess;
25import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName;
26import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand;
27import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor;
28import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr;
29import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRational;
30import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSReal;
31import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies;
32import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
33import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue;
34import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation;
35import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
36import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
37import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor;
38import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
39import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
40import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel;
41
42import org.eclipse.emf.ecore.EAttribute;
43import org.eclipse.emf.ecore.EClass;
44import org.eclipse.emf.ecore.EPackage;
45import org.eclipse.emf.ecore.EReference;
46
47import org.eclipse.emf.ecore.impl.EPackageImpl;
48
49/**
50 * <!-- begin-user-doc -->
51 * An implementation of the model <b>Package</b>.
52 * <!-- end-user-doc -->
53 * @generated
54 */
55public class VampireLanguagePackageImpl extends EPackageImpl implements VampireLanguagePackage
56{
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 private EClass vampireModelEClass = null;
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 private EClass vlsIncludeEClass = null;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 private EClass vlsNameEClass = null;
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 private EClass vlsCommentEClass = null;
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private EClass vlsFofFormulaEClass = null;
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 private EClass vlsAnnotationEClass = null;
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 private EClass vlsTermEClass = null;
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 private EClass vlsVariableEClass = null;
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 private EClass vlsFunctionFofEClass = null;
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 private EClass vlsDefinedTermEClass = null;
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 private EClass vlsEquivalentEClass = null;
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 private EClass vlsImpliesEClass = null;
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 private EClass vlsRevImpliesEClass = null;
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 private EClass vlsXnorEClass = null;
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 private EClass vlsNorEClass = null;
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 private EClass vlsNandEClass = null;
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 private EClass vlsAndEClass = null;
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 private EClass vlsOrEClass = null;
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 private EClass vlsUniversalQuantifierEClass = null;
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 private EClass vlsExistentialQuantifierEClass = null;
196
197 /**
198 * <!-- begin-user-doc -->
199 * <!-- end-user-doc -->
200 * @generated
201 */
202 private EClass vlsUnaryNegationEClass = null;
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 private EClass vlsInequalityEClass = null;
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 private EClass vlsEqualityEClass = null;
217
218 /**
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 */
223 private EClass vlsAssignmentEClass = null;
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 private EClass vlsConstantEClass = null;
231
232 /**
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 private EClass vlsTrueEClass = null;
238
239 /**
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 private EClass vlsFalseEClass = null;
245
246 /**
247 * <!-- begin-user-doc -->
248 * <!-- end-user-doc -->
249 * @generated
250 */
251 private EClass vlsFunctionEClass = null;
252
253 /**
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 */
258 private EClass vlsLessEClass = null;
259
260 /**
261 * <!-- begin-user-doc -->
262 * <!-- end-user-doc -->
263 * @generated
264 */
265 private EClass vlsIntEClass = null;
266
267 /**
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 private EClass vlsRealEClass = null;
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 private EClass vlsRationalEClass = null;
280
281 /**
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 */
286 private EClass vlsDoubleQuoteEClass = null;
287
288 /**
289 * Creates an instance of the model <b>Package</b>, registered with
290 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
291 * package URI value.
292 * <p>Note: the correct way to create the package is via the static
293 * factory method {@link #init init()}, which also performs
294 * initialization of the package, or returns the registered package,
295 * if one already exists.
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @see org.eclipse.emf.ecore.EPackage.Registry
299 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage#eNS_URI
300 * @see #init()
301 * @generated
302 */
303 private VampireLanguagePackageImpl()
304 {
305 super(eNS_URI, VampireLanguageFactory.eINSTANCE);
306 }
307
308 /**
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @generated
312 */
313 private static boolean isInited = false;
314
315 /**
316 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
317 *
318 * <p>This method is used to initialize {@link VampireLanguagePackage#eINSTANCE} when that field is accessed.
319 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
320 * <!-- begin-user-doc -->
321 * <!-- end-user-doc -->
322 * @see #eNS_URI
323 * @see #createPackageContents()
324 * @see #initializePackageContents()
325 * @generated
326 */
327 public static VampireLanguagePackage init()
328 {
329 if (isInited) return (VampireLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(VampireLanguagePackage.eNS_URI);
330
331 // Obtain or create and register package
332 VampireLanguagePackageImpl theVampireLanguagePackage = (VampireLanguagePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof VampireLanguagePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new VampireLanguagePackageImpl());
333
334 isInited = true;
335
336 // Create package meta-data objects
337 theVampireLanguagePackage.createPackageContents();
338
339 // Initialize created meta-data
340 theVampireLanguagePackage.initializePackageContents();
341
342 // Mark meta-data to indicate it can't be changed
343 theVampireLanguagePackage.freeze();
344
345
346 // Update the registry and return the package
347 EPackage.Registry.INSTANCE.put(VampireLanguagePackage.eNS_URI, theVampireLanguagePackage);
348 return theVampireLanguagePackage;
349 }
350
351 /**
352 * <!-- begin-user-doc -->
353 * <!-- end-user-doc -->
354 * @generated
355 */
356 public EClass getVampireModel()
357 {
358 return vampireModelEClass;
359 }
360
361 /**
362 * <!-- begin-user-doc -->
363 * <!-- end-user-doc -->
364 * @generated
365 */
366 public EReference getVampireModel_Includes()
367 {
368 return (EReference)vampireModelEClass.getEStructuralFeatures().get(0);
369 }
370
371 /**
372 * <!-- begin-user-doc -->
373 * <!-- end-user-doc -->
374 * @generated
375 */
376 public EReference getVampireModel_Comments()
377 {
378 return (EReference)vampireModelEClass.getEStructuralFeatures().get(1);
379 }
380
381 /**
382 * <!-- begin-user-doc -->
383 * <!-- end-user-doc -->
384 * @generated
385 */
386 public EReference getVampireModel_Formulas()
387 {
388 return (EReference)vampireModelEClass.getEStructuralFeatures().get(2);
389 }
390
391 /**
392 * <!-- begin-user-doc -->
393 * <!-- end-user-doc -->
394 * @generated
395 */
396 public EClass getVLSInclude()
397 {
398 return vlsIncludeEClass;
399 }
400
401 /**
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 */
406 public EAttribute getVLSInclude_FileName()
407 {
408 return (EAttribute)vlsIncludeEClass.getEStructuralFeatures().get(0);
409 }
410
411 /**
412 * <!-- begin-user-doc -->
413 * <!-- end-user-doc -->
414 * @generated
415 */
416 public EReference getVLSInclude_Names()
417 {
418 return (EReference)vlsIncludeEClass.getEStructuralFeatures().get(1);
419 }
420
421 /**
422 * <!-- begin-user-doc -->
423 * <!-- end-user-doc -->
424 * @generated
425 */
426 public EClass getVLSName()
427 {
428 return vlsNameEClass;
429 }
430
431 /**
432 * <!-- begin-user-doc -->
433 * <!-- end-user-doc -->
434 * @generated
435 */
436 public EAttribute getVLSName_Name()
437 {
438 return (EAttribute)vlsNameEClass.getEStructuralFeatures().get(0);
439 }
440
441 /**
442 * <!-- begin-user-doc -->
443 * <!-- end-user-doc -->
444 * @generated
445 */
446 public EClass getVLSComment()
447 {
448 return vlsCommentEClass;
449 }
450
451 /**
452 * <!-- begin-user-doc -->
453 * <!-- end-user-doc -->
454 * @generated
455 */
456 public EAttribute getVLSComment_Comment()
457 {
458 return (EAttribute)vlsCommentEClass.getEStructuralFeatures().get(0);
459 }
460
461 /**
462 * <!-- begin-user-doc -->
463 * <!-- end-user-doc -->
464 * @generated
465 */
466 public EClass getVLSFofFormula()
467 {
468 return vlsFofFormulaEClass;
469 }
470
471 /**
472 * <!-- begin-user-doc -->
473 * <!-- end-user-doc -->
474 * @generated
475 */
476 public EAttribute getVLSFofFormula_Name()
477 {
478 return (EAttribute)vlsFofFormulaEClass.getEStructuralFeatures().get(0);
479 }
480
481 /**
482 * <!-- begin-user-doc -->
483 * <!-- end-user-doc -->
484 * @generated
485 */
486 public EAttribute getVLSFofFormula_FofRole()
487 {
488 return (EAttribute)vlsFofFormulaEClass.getEStructuralFeatures().get(1);
489 }
490
491 /**
492 * <!-- begin-user-doc -->
493 * <!-- end-user-doc -->
494 * @generated
495 */
496 public EReference getVLSFofFormula_FofFormula()
497 {
498 return (EReference)vlsFofFormulaEClass.getEStructuralFeatures().get(2);
499 }
500
501 /**
502 * <!-- begin-user-doc -->
503 * <!-- end-user-doc -->
504 * @generated
505 */
506 public EReference getVLSFofFormula_Annotations()
507 {
508 return (EReference)vlsFofFormulaEClass.getEStructuralFeatures().get(3);
509 }
510
511 /**
512 * <!-- begin-user-doc -->
513 * <!-- end-user-doc -->
514 * @generated
515 */
516 public EClass getVLSAnnotation()
517 {
518 return vlsAnnotationEClass;
519 }
520
521 /**
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @generated
525 */
526 public EAttribute getVLSAnnotation_Name()
527 {
528 return (EAttribute)vlsAnnotationEClass.getEStructuralFeatures().get(0);
529 }
530
531 /**
532 * <!-- begin-user-doc -->
533 * <!-- end-user-doc -->
534 * @generated
535 */
536 public EReference getVLSAnnotation_Followup()
537 {
538 return (EReference)vlsAnnotationEClass.getEStructuralFeatures().get(1);
539 }
540
541 /**
542 * <!-- begin-user-doc -->
543 * <!-- end-user-doc -->
544 * @generated
545 */
546 public EReference getVLSAnnotation_Terms()
547 {
548 return (EReference)vlsAnnotationEClass.getEStructuralFeatures().get(2);
549 }
550
551 /**
552 * <!-- begin-user-doc -->
553 * <!-- end-user-doc -->
554 * @generated
555 */
556 public EClass getVLSTerm()
557 {
558 return vlsTermEClass;
559 }
560
561 /**
562 * <!-- begin-user-doc -->
563 * <!-- end-user-doc -->
564 * @generated
565 */
566 public EClass getVLSVariable()
567 {
568 return vlsVariableEClass;
569 }
570
571 /**
572 * <!-- begin-user-doc -->
573 * <!-- end-user-doc -->
574 * @generated
575 */
576 public EAttribute getVLSVariable_Name()
577 {
578 return (EAttribute)vlsVariableEClass.getEStructuralFeatures().get(0);
579 }
580
581 /**
582 * <!-- begin-user-doc -->
583 * <!-- end-user-doc -->
584 * @generated
585 */
586 public EClass getVLSFunctionFof()
587 {
588 return vlsFunctionFofEClass;
589 }
590
591 /**
592 * <!-- begin-user-doc -->
593 * <!-- end-user-doc -->
594 * @generated
595 */
596 public EAttribute getVLSFunctionFof_Functor()
597 {
598 return (EAttribute)vlsFunctionFofEClass.getEStructuralFeatures().get(0);
599 }
600
601 /**
602 * <!-- begin-user-doc -->
603 * <!-- end-user-doc -->
604 * @generated
605 */
606 public EReference getVLSFunctionFof_Terms()
607 {
608 return (EReference)vlsFunctionFofEClass.getEStructuralFeatures().get(1);
609 }
610
611 /**
612 * <!-- begin-user-doc -->
613 * <!-- end-user-doc -->
614 * @generated
615 */
616 public EClass getVLSDefinedTerm()
617 {
618 return vlsDefinedTermEClass;
619 }
620
621 /**
622 * <!-- begin-user-doc -->
623 * <!-- end-user-doc -->
624 * @generated
625 */
626 public EAttribute getVLSDefinedTerm_Value()
627 {
628 return (EAttribute)vlsDefinedTermEClass.getEStructuralFeatures().get(0);
629 }
630
631 /**
632 * <!-- begin-user-doc -->
633 * <!-- end-user-doc -->
634 * @generated
635 */
636 public EClass getVLSEquivalent()
637 {
638 return vlsEquivalentEClass;
639 }
640
641 /**
642 * <!-- begin-user-doc -->
643 * <!-- end-user-doc -->
644 * @generated
645 */
646 public EReference getVLSEquivalent_Left()
647 {
648 return (EReference)vlsEquivalentEClass.getEStructuralFeatures().get(0);
649 }
650
651 /**
652 * <!-- begin-user-doc -->
653 * <!-- end-user-doc -->
654 * @generated
655 */
656 public EReference getVLSEquivalent_Right()
657 {
658 return (EReference)vlsEquivalentEClass.getEStructuralFeatures().get(1);
659 }
660
661 /**
662 * <!-- begin-user-doc -->
663 * <!-- end-user-doc -->
664 * @generated
665 */
666 public EClass getVLSImplies()
667 {
668 return vlsImpliesEClass;
669 }
670
671 /**
672 * <!-- begin-user-doc -->
673 * <!-- end-user-doc -->
674 * @generated
675 */
676 public EReference getVLSImplies_Left()
677 {
678 return (EReference)vlsImpliesEClass.getEStructuralFeatures().get(0);
679 }
680
681 /**
682 * <!-- begin-user-doc -->
683 * <!-- end-user-doc -->
684 * @generated
685 */
686 public EReference getVLSImplies_Right()
687 {
688 return (EReference)vlsImpliesEClass.getEStructuralFeatures().get(1);
689 }
690
691 /**
692 * <!-- begin-user-doc -->
693 * <!-- end-user-doc -->
694 * @generated
695 */
696 public EClass getVLSRevImplies()
697 {
698 return vlsRevImpliesEClass;
699 }
700
701 /**
702 * <!-- begin-user-doc -->
703 * <!-- end-user-doc -->
704 * @generated
705 */
706 public EReference getVLSRevImplies_Left()
707 {
708 return (EReference)vlsRevImpliesEClass.getEStructuralFeatures().get(0);
709 }
710
711 /**
712 * <!-- begin-user-doc -->
713 * <!-- end-user-doc -->
714 * @generated
715 */
716 public EReference getVLSRevImplies_Right()
717 {
718 return (EReference)vlsRevImpliesEClass.getEStructuralFeatures().get(1);
719 }
720
721 /**
722 * <!-- begin-user-doc -->
723 * <!-- end-user-doc -->
724 * @generated
725 */
726 public EClass getVLSXnor()
727 {
728 return vlsXnorEClass;
729 }
730
731 /**
732 * <!-- begin-user-doc -->
733 * <!-- end-user-doc -->
734 * @generated
735 */
736 public EReference getVLSXnor_Left()
737 {
738 return (EReference)vlsXnorEClass.getEStructuralFeatures().get(0);
739 }
740
741 /**
742 * <!-- begin-user-doc -->
743 * <!-- end-user-doc -->
744 * @generated
745 */
746 public EReference getVLSXnor_Right()
747 {
748 return (EReference)vlsXnorEClass.getEStructuralFeatures().get(1);
749 }
750
751 /**
752 * <!-- begin-user-doc -->
753 * <!-- end-user-doc -->
754 * @generated
755 */
756 public EClass getVLSNor()
757 {
758 return vlsNorEClass;
759 }
760
761 /**
762 * <!-- begin-user-doc -->
763 * <!-- end-user-doc -->
764 * @generated
765 */
766 public EReference getVLSNor_Left()
767 {
768 return (EReference)vlsNorEClass.getEStructuralFeatures().get(0);
769 }
770
771 /**
772 * <!-- begin-user-doc -->
773 * <!-- end-user-doc -->
774 * @generated
775 */
776 public EReference getVLSNor_Right()
777 {
778 return (EReference)vlsNorEClass.getEStructuralFeatures().get(1);
779 }
780
781 /**
782 * <!-- begin-user-doc -->
783 * <!-- end-user-doc -->
784 * @generated
785 */
786 public EClass getVLSNand()
787 {
788 return vlsNandEClass;
789 }
790
791 /**
792 * <!-- begin-user-doc -->
793 * <!-- end-user-doc -->
794 * @generated
795 */
796 public EReference getVLSNand_Left()
797 {
798 return (EReference)vlsNandEClass.getEStructuralFeatures().get(0);
799 }
800
801 /**
802 * <!-- begin-user-doc -->
803 * <!-- end-user-doc -->
804 * @generated
805 */
806 public EReference getVLSNand_Right()
807 {
808 return (EReference)vlsNandEClass.getEStructuralFeatures().get(1);
809 }
810
811 /**
812 * <!-- begin-user-doc -->
813 * <!-- end-user-doc -->
814 * @generated
815 */
816 public EClass getVLSAnd()
817 {
818 return vlsAndEClass;
819 }
820
821 /**
822 * <!-- begin-user-doc -->
823 * <!-- end-user-doc -->
824 * @generated
825 */
826 public EReference getVLSAnd_Left()
827 {
828 return (EReference)vlsAndEClass.getEStructuralFeatures().get(0);
829 }
830
831 /**
832 * <!-- begin-user-doc -->
833 * <!-- end-user-doc -->
834 * @generated
835 */
836 public EReference getVLSAnd_Right()
837 {
838 return (EReference)vlsAndEClass.getEStructuralFeatures().get(1);
839 }
840
841 /**
842 * <!-- begin-user-doc -->
843 * <!-- end-user-doc -->
844 * @generated
845 */
846 public EClass getVLSOr()
847 {
848 return vlsOrEClass;
849 }
850
851 /**
852 * <!-- begin-user-doc -->
853 * <!-- end-user-doc -->
854 * @generated
855 */
856 public EReference getVLSOr_Left()
857 {
858 return (EReference)vlsOrEClass.getEStructuralFeatures().get(0);
859 }
860
861 /**
862 * <!-- begin-user-doc -->
863 * <!-- end-user-doc -->
864 * @generated
865 */
866 public EReference getVLSOr_Right()
867 {
868 return (EReference)vlsOrEClass.getEStructuralFeatures().get(1);
869 }
870
871 /**
872 * <!-- begin-user-doc -->
873 * <!-- end-user-doc -->
874 * @generated
875 */
876 public EClass getVLSUniversalQuantifier()
877 {
878 return vlsUniversalQuantifierEClass;
879 }
880
881 /**
882 * <!-- begin-user-doc -->
883 * <!-- end-user-doc -->
884 * @generated
885 */
886 public EReference getVLSUniversalQuantifier_Variables()
887 {
888 return (EReference)vlsUniversalQuantifierEClass.getEStructuralFeatures().get(0);
889 }
890
891 /**
892 * <!-- begin-user-doc -->
893 * <!-- end-user-doc -->
894 * @generated
895 */
896 public EReference getVLSUniversalQuantifier_Operand()
897 {
898 return (EReference)vlsUniversalQuantifierEClass.getEStructuralFeatures().get(1);
899 }
900
901 /**
902 * <!-- begin-user-doc -->
903 * <!-- end-user-doc -->
904 * @generated
905 */
906 public EClass getVLSExistentialQuantifier()
907 {
908 return vlsExistentialQuantifierEClass;
909 }
910
911 /**
912 * <!-- begin-user-doc -->
913 * <!-- end-user-doc -->
914 * @generated
915 */
916 public EReference getVLSExistentialQuantifier_Variables()
917 {
918 return (EReference)vlsExistentialQuantifierEClass.getEStructuralFeatures().get(0);
919 }
920
921 /**
922 * <!-- begin-user-doc -->
923 * <!-- end-user-doc -->
924 * @generated
925 */
926 public EReference getVLSExistentialQuantifier_Operand()
927 {
928 return (EReference)vlsExistentialQuantifierEClass.getEStructuralFeatures().get(1);
929 }
930
931 /**
932 * <!-- begin-user-doc -->
933 * <!-- end-user-doc -->
934 * @generated
935 */
936 public EClass getVLSUnaryNegation()
937 {
938 return vlsUnaryNegationEClass;
939 }
940
941 /**
942 * <!-- begin-user-doc -->
943 * <!-- end-user-doc -->
944 * @generated
945 */
946 public EReference getVLSUnaryNegation_Operand()
947 {
948 return (EReference)vlsUnaryNegationEClass.getEStructuralFeatures().get(0);
949 }
950
951 /**
952 * <!-- begin-user-doc -->
953 * <!-- end-user-doc -->
954 * @generated
955 */
956 public EClass getVLSInequality()
957 {
958 return vlsInequalityEClass;
959 }
960
961 /**
962 * <!-- begin-user-doc -->
963 * <!-- end-user-doc -->
964 * @generated
965 */
966 public EReference getVLSInequality_Left()
967 {
968 return (EReference)vlsInequalityEClass.getEStructuralFeatures().get(0);
969 }
970
971 /**
972 * <!-- begin-user-doc -->
973 * <!-- end-user-doc -->
974 * @generated
975 */
976 public EReference getVLSInequality_Right()
977 {
978 return (EReference)vlsInequalityEClass.getEStructuralFeatures().get(1);
979 }
980
981 /**
982 * <!-- begin-user-doc -->
983 * <!-- end-user-doc -->
984 * @generated
985 */
986 public EClass getVLSEquality()
987 {
988 return vlsEqualityEClass;
989 }
990
991 /**
992 * <!-- begin-user-doc -->
993 * <!-- end-user-doc -->
994 * @generated
995 */
996 public EReference getVLSEquality_Left()
997 {
998 return (EReference)vlsEqualityEClass.getEStructuralFeatures().get(0);
999 }
1000
1001 /**
1002 * <!-- begin-user-doc -->
1003 * <!-- end-user-doc -->
1004 * @generated
1005 */
1006 public EReference getVLSEquality_Right()
1007 {
1008 return (EReference)vlsEqualityEClass.getEStructuralFeatures().get(1);
1009 }
1010
1011 /**
1012 * <!-- begin-user-doc -->
1013 * <!-- end-user-doc -->
1014 * @generated
1015 */
1016 public EClass getVLSAssignment()
1017 {
1018 return vlsAssignmentEClass;
1019 }
1020
1021 /**
1022 * <!-- begin-user-doc -->
1023 * <!-- end-user-doc -->
1024 * @generated
1025 */
1026 public EReference getVLSAssignment_Left()
1027 {
1028 return (EReference)vlsAssignmentEClass.getEStructuralFeatures().get(0);
1029 }
1030
1031 /**
1032 * <!-- begin-user-doc -->
1033 * <!-- end-user-doc -->
1034 * @generated
1035 */
1036 public EReference getVLSAssignment_Right()
1037 {
1038 return (EReference)vlsAssignmentEClass.getEStructuralFeatures().get(1);
1039 }
1040
1041 /**
1042 * <!-- begin-user-doc -->
1043 * <!-- end-user-doc -->
1044 * @generated
1045 */
1046 public EClass getVLSConstant()
1047 {
1048 return vlsConstantEClass;
1049 }
1050
1051 /**
1052 * <!-- begin-user-doc -->
1053 * <!-- end-user-doc -->
1054 * @generated
1055 */
1056 public EAttribute getVLSConstant_Name()
1057 {
1058 return (EAttribute)vlsConstantEClass.getEStructuralFeatures().get(0);
1059 }
1060
1061 /**
1062 * <!-- begin-user-doc -->
1063 * <!-- end-user-doc -->
1064 * @generated
1065 */
1066 public EClass getVLSTrue()
1067 {
1068 return vlsTrueEClass;
1069 }
1070
1071 /**
1072 * <!-- begin-user-doc -->
1073 * <!-- end-user-doc -->
1074 * @generated
1075 */
1076 public EClass getVLSFalse()
1077 {
1078 return vlsFalseEClass;
1079 }
1080
1081 /**
1082 * <!-- begin-user-doc -->
1083 * <!-- end-user-doc -->
1084 * @generated
1085 */
1086 public EClass getVLSFunction()
1087 {
1088 return vlsFunctionEClass;
1089 }
1090
1091 /**
1092 * <!-- begin-user-doc -->
1093 * <!-- end-user-doc -->
1094 * @generated
1095 */
1096 public EAttribute getVLSFunction_Constant()
1097 {
1098 return (EAttribute)vlsFunctionEClass.getEStructuralFeatures().get(0);
1099 }
1100
1101 /**
1102 * <!-- begin-user-doc -->
1103 * <!-- end-user-doc -->
1104 * @generated
1105 */
1106 public EReference getVLSFunction_Terms()
1107 {
1108 return (EReference)vlsFunctionEClass.getEStructuralFeatures().get(1);
1109 }
1110
1111 /**
1112 * <!-- begin-user-doc -->
1113 * <!-- end-user-doc -->
1114 * @generated
1115 */
1116 public EClass getVLSLess()
1117 {
1118 return vlsLessEClass;
1119 }
1120
1121 /**
1122 * <!-- begin-user-doc -->
1123 * <!-- end-user-doc -->
1124 * @generated
1125 */
1126 public EAttribute getVLSLess_Name()
1127 {
1128 return (EAttribute)vlsLessEClass.getEStructuralFeatures().get(0);
1129 }
1130
1131 /**
1132 * <!-- begin-user-doc -->
1133 * <!-- end-user-doc -->
1134 * @generated
1135 */
1136 public EReference getVLSLess_Terms()
1137 {
1138 return (EReference)vlsLessEClass.getEStructuralFeatures().get(1);
1139 }
1140
1141 /**
1142 * <!-- begin-user-doc -->
1143 * <!-- end-user-doc -->
1144 * @generated
1145 */
1146 public EClass getVLSInt()
1147 {
1148 return vlsIntEClass;
1149 }
1150
1151 /**
1152 * <!-- begin-user-doc -->
1153 * <!-- end-user-doc -->
1154 * @generated
1155 */
1156 public EClass getVLSReal()
1157 {
1158 return vlsRealEClass;
1159 }
1160
1161 /**
1162 * <!-- begin-user-doc -->
1163 * <!-- end-user-doc -->
1164 * @generated
1165 */
1166 public EClass getVLSRational()
1167 {
1168 return vlsRationalEClass;
1169 }
1170
1171 /**
1172 * <!-- begin-user-doc -->
1173 * <!-- end-user-doc -->
1174 * @generated
1175 */
1176 public EClass getVLSDoubleQuote()
1177 {
1178 return vlsDoubleQuoteEClass;
1179 }
1180
1181 /**
1182 * <!-- begin-user-doc -->
1183 * <!-- end-user-doc -->
1184 * @generated
1185 */
1186 public VampireLanguageFactory getVampireLanguageFactory()
1187 {
1188 return (VampireLanguageFactory)getEFactoryInstance();
1189 }
1190
1191 /**
1192 * <!-- begin-user-doc -->
1193 * <!-- end-user-doc -->
1194 * @generated
1195 */
1196 private boolean isCreated = false;
1197
1198 /**
1199 * Creates the meta-model objects for the package. This method is
1200 * guarded to have no affect on any invocation but its first.
1201 * <!-- begin-user-doc -->
1202 * <!-- end-user-doc -->
1203 * @generated
1204 */
1205 public void createPackageContents()
1206 {
1207 if (isCreated) return;
1208 isCreated = true;
1209
1210 // Create classes and their features
1211 vampireModelEClass = createEClass(VAMPIRE_MODEL);
1212 createEReference(vampireModelEClass, VAMPIRE_MODEL__INCLUDES);
1213 createEReference(vampireModelEClass, VAMPIRE_MODEL__COMMENTS);
1214 createEReference(vampireModelEClass, VAMPIRE_MODEL__FORMULAS);
1215
1216 vlsIncludeEClass = createEClass(VLS_INCLUDE);
1217 createEAttribute(vlsIncludeEClass, VLS_INCLUDE__FILE_NAME);
1218 createEReference(vlsIncludeEClass, VLS_INCLUDE__NAMES);
1219
1220 vlsNameEClass = createEClass(VLS_NAME);
1221 createEAttribute(vlsNameEClass, VLS_NAME__NAME);
1222
1223 vlsCommentEClass = createEClass(VLS_COMMENT);
1224 createEAttribute(vlsCommentEClass, VLS_COMMENT__COMMENT);
1225
1226 vlsFofFormulaEClass = createEClass(VLS_FOF_FORMULA);
1227 createEAttribute(vlsFofFormulaEClass, VLS_FOF_FORMULA__NAME);
1228 createEAttribute(vlsFofFormulaEClass, VLS_FOF_FORMULA__FOF_ROLE);
1229 createEReference(vlsFofFormulaEClass, VLS_FOF_FORMULA__FOF_FORMULA);
1230 createEReference(vlsFofFormulaEClass, VLS_FOF_FORMULA__ANNOTATIONS);
1231
1232 vlsAnnotationEClass = createEClass(VLS_ANNOTATION);
1233 createEAttribute(vlsAnnotationEClass, VLS_ANNOTATION__NAME);
1234 createEReference(vlsAnnotationEClass, VLS_ANNOTATION__FOLLOWUP);
1235 createEReference(vlsAnnotationEClass, VLS_ANNOTATION__TERMS);
1236
1237 vlsTermEClass = createEClass(VLS_TERM);
1238
1239 vlsVariableEClass = createEClass(VLS_VARIABLE);
1240 createEAttribute(vlsVariableEClass, VLS_VARIABLE__NAME);
1241
1242 vlsFunctionFofEClass = createEClass(VLS_FUNCTION_FOF);
1243 createEAttribute(vlsFunctionFofEClass, VLS_FUNCTION_FOF__FUNCTOR);
1244 createEReference(vlsFunctionFofEClass, VLS_FUNCTION_FOF__TERMS);
1245
1246 vlsDefinedTermEClass = createEClass(VLS_DEFINED_TERM);
1247 createEAttribute(vlsDefinedTermEClass, VLS_DEFINED_TERM__VALUE);
1248
1249 vlsEquivalentEClass = createEClass(VLS_EQUIVALENT);
1250 createEReference(vlsEquivalentEClass, VLS_EQUIVALENT__LEFT);
1251 createEReference(vlsEquivalentEClass, VLS_EQUIVALENT__RIGHT);
1252
1253 vlsImpliesEClass = createEClass(VLS_IMPLIES);
1254 createEReference(vlsImpliesEClass, VLS_IMPLIES__LEFT);
1255 createEReference(vlsImpliesEClass, VLS_IMPLIES__RIGHT);
1256
1257 vlsRevImpliesEClass = createEClass(VLS_REV_IMPLIES);
1258 createEReference(vlsRevImpliesEClass, VLS_REV_IMPLIES__LEFT);
1259 createEReference(vlsRevImpliesEClass, VLS_REV_IMPLIES__RIGHT);
1260
1261 vlsXnorEClass = createEClass(VLS_XNOR);
1262 createEReference(vlsXnorEClass, VLS_XNOR__LEFT);
1263 createEReference(vlsXnorEClass, VLS_XNOR__RIGHT);
1264
1265 vlsNorEClass = createEClass(VLS_NOR);
1266 createEReference(vlsNorEClass, VLS_NOR__LEFT);
1267 createEReference(vlsNorEClass, VLS_NOR__RIGHT);
1268
1269 vlsNandEClass = createEClass(VLS_NAND);
1270 createEReference(vlsNandEClass, VLS_NAND__LEFT);
1271 createEReference(vlsNandEClass, VLS_NAND__RIGHT);
1272
1273 vlsAndEClass = createEClass(VLS_AND);
1274 createEReference(vlsAndEClass, VLS_AND__LEFT);
1275 createEReference(vlsAndEClass, VLS_AND__RIGHT);
1276
1277 vlsOrEClass = createEClass(VLS_OR);
1278 createEReference(vlsOrEClass, VLS_OR__LEFT);
1279 createEReference(vlsOrEClass, VLS_OR__RIGHT);
1280
1281 vlsUniversalQuantifierEClass = createEClass(VLS_UNIVERSAL_QUANTIFIER);
1282 createEReference(vlsUniversalQuantifierEClass, VLS_UNIVERSAL_QUANTIFIER__VARIABLES);
1283 createEReference(vlsUniversalQuantifierEClass, VLS_UNIVERSAL_QUANTIFIER__OPERAND);
1284
1285 vlsExistentialQuantifierEClass = createEClass(VLS_EXISTENTIAL_QUANTIFIER);
1286 createEReference(vlsExistentialQuantifierEClass, VLS_EXISTENTIAL_QUANTIFIER__VARIABLES);
1287 createEReference(vlsExistentialQuantifierEClass, VLS_EXISTENTIAL_QUANTIFIER__OPERAND);
1288
1289 vlsUnaryNegationEClass = createEClass(VLS_UNARY_NEGATION);
1290 createEReference(vlsUnaryNegationEClass, VLS_UNARY_NEGATION__OPERAND);
1291
1292 vlsInequalityEClass = createEClass(VLS_INEQUALITY);
1293 createEReference(vlsInequalityEClass, VLS_INEQUALITY__LEFT);
1294 createEReference(vlsInequalityEClass, VLS_INEQUALITY__RIGHT);
1295
1296 vlsEqualityEClass = createEClass(VLS_EQUALITY);
1297 createEReference(vlsEqualityEClass, VLS_EQUALITY__LEFT);
1298 createEReference(vlsEqualityEClass, VLS_EQUALITY__RIGHT);
1299
1300 vlsAssignmentEClass = createEClass(VLS_ASSIGNMENT);
1301 createEReference(vlsAssignmentEClass, VLS_ASSIGNMENT__LEFT);
1302 createEReference(vlsAssignmentEClass, VLS_ASSIGNMENT__RIGHT);
1303
1304 vlsConstantEClass = createEClass(VLS_CONSTANT);
1305 createEAttribute(vlsConstantEClass, VLS_CONSTANT__NAME);
1306
1307 vlsTrueEClass = createEClass(VLS_TRUE);
1308
1309 vlsFalseEClass = createEClass(VLS_FALSE);
1310
1311 vlsFunctionEClass = createEClass(VLS_FUNCTION);
1312 createEAttribute(vlsFunctionEClass, VLS_FUNCTION__CONSTANT);
1313 createEReference(vlsFunctionEClass, VLS_FUNCTION__TERMS);
1314
1315 vlsLessEClass = createEClass(VLS_LESS);
1316 createEAttribute(vlsLessEClass, VLS_LESS__NAME);
1317 createEReference(vlsLessEClass, VLS_LESS__TERMS);
1318
1319 vlsIntEClass = createEClass(VLS_INT);
1320
1321 vlsRealEClass = createEClass(VLS_REAL);
1322
1323 vlsRationalEClass = createEClass(VLS_RATIONAL);
1324
1325 vlsDoubleQuoteEClass = createEClass(VLS_DOUBLE_QUOTE);
1326 }
1327
1328 /**
1329 * <!-- begin-user-doc -->
1330 * <!-- end-user-doc -->
1331 * @generated
1332 */
1333 private boolean isInitialized = false;
1334
1335 /**
1336 * Complete the initialization of the package and its meta-model. This
1337 * method is guarded to have no affect on any invocation but its first.
1338 * <!-- begin-user-doc -->
1339 * <!-- end-user-doc -->
1340 * @generated
1341 */
1342 public void initializePackageContents()
1343 {
1344 if (isInitialized) return;
1345 isInitialized = true;
1346
1347 // Initialize package
1348 setName(eNAME);
1349 setNsPrefix(eNS_PREFIX);
1350 setNsURI(eNS_URI);
1351
1352 // Create type parameters
1353
1354 // Set bounds for type parameters
1355
1356 // Add supertypes to classes
1357 vlsVariableEClass.getESuperTypes().add(this.getVLSTerm());
1358 vlsFunctionFofEClass.getESuperTypes().add(this.getVLSTerm());
1359 vlsDefinedTermEClass.getESuperTypes().add(this.getVLSTerm());
1360 vlsEquivalentEClass.getESuperTypes().add(this.getVLSTerm());
1361 vlsImpliesEClass.getESuperTypes().add(this.getVLSTerm());
1362 vlsRevImpliesEClass.getESuperTypes().add(this.getVLSTerm());
1363 vlsXnorEClass.getESuperTypes().add(this.getVLSTerm());
1364 vlsNorEClass.getESuperTypes().add(this.getVLSTerm());
1365 vlsNandEClass.getESuperTypes().add(this.getVLSTerm());
1366 vlsAndEClass.getESuperTypes().add(this.getVLSTerm());
1367 vlsOrEClass.getESuperTypes().add(this.getVLSTerm());
1368 vlsUniversalQuantifierEClass.getESuperTypes().add(this.getVLSTerm());
1369 vlsExistentialQuantifierEClass.getESuperTypes().add(this.getVLSTerm());
1370 vlsUnaryNegationEClass.getESuperTypes().add(this.getVLSTerm());
1371 vlsInequalityEClass.getESuperTypes().add(this.getVLSTerm());
1372 vlsEqualityEClass.getESuperTypes().add(this.getVLSTerm());
1373 vlsAssignmentEClass.getESuperTypes().add(this.getVLSTerm());
1374 vlsConstantEClass.getESuperTypes().add(this.getVLSTerm());
1375 vlsTrueEClass.getESuperTypes().add(this.getVLSTerm());
1376 vlsFalseEClass.getESuperTypes().add(this.getVLSTerm());
1377 vlsFunctionEClass.getESuperTypes().add(this.getVLSTerm());
1378 vlsLessEClass.getESuperTypes().add(this.getVLSTerm());
1379 vlsIntEClass.getESuperTypes().add(this.getVLSDefinedTerm());
1380 vlsRealEClass.getESuperTypes().add(this.getVLSDefinedTerm());
1381 vlsRationalEClass.getESuperTypes().add(this.getVLSDefinedTerm());
1382 vlsDoubleQuoteEClass.getESuperTypes().add(this.getVLSDefinedTerm());
1383
1384 // Initialize classes and features; add operations and parameters
1385 initEClass(vampireModelEClass, VampireModel.class, "VampireModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1386 initEReference(getVampireModel_Includes(), this.getVLSInclude(), null, "includes", null, 0, -1, VampireModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1387 initEReference(getVampireModel_Comments(), this.getVLSComment(), null, "comments", null, 0, -1, VampireModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1388 initEReference(getVampireModel_Formulas(), this.getVLSFofFormula(), null, "formulas", null, 0, -1, VampireModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1389
1390 initEClass(vlsIncludeEClass, VLSInclude.class, "VLSInclude", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1391 initEAttribute(getVLSInclude_FileName(), ecorePackage.getEString(), "fileName", null, 0, 1, VLSInclude.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1392 initEReference(getVLSInclude_Names(), this.getVLSName(), null, "names", null, 0, -1, VLSInclude.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1393
1394 initEClass(vlsNameEClass, VLSName.class, "VLSName", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1395 initEAttribute(getVLSName_Name(), ecorePackage.getEString(), "name", null, 0, 1, VLSName.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1396
1397 initEClass(vlsCommentEClass, VLSComment.class, "VLSComment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1398 initEAttribute(getVLSComment_Comment(), ecorePackage.getEString(), "comment", null, 0, 1, VLSComment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1399
1400 initEClass(vlsFofFormulaEClass, VLSFofFormula.class, "VLSFofFormula", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1401 initEAttribute(getVLSFofFormula_Name(), ecorePackage.getEString(), "name", null, 0, 1, VLSFofFormula.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1402 initEAttribute(getVLSFofFormula_FofRole(), ecorePackage.getEString(), "fofRole", null, 0, 1, VLSFofFormula.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1403 initEReference(getVLSFofFormula_FofFormula(), this.getVLSTerm(), null, "fofFormula", null, 0, 1, VLSFofFormula.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1404 initEReference(getVLSFofFormula_Annotations(), this.getVLSAnnotation(), null, "annotations", null, 0, 1, VLSFofFormula.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1405
1406 initEClass(vlsAnnotationEClass, VLSAnnotation.class, "VLSAnnotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1407 initEAttribute(getVLSAnnotation_Name(), ecorePackage.getEString(), "name", null, 0, 1, VLSAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1408 initEReference(getVLSAnnotation_Followup(), this.getVLSAnnotation(), null, "followup", null, 0, 1, VLSAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1409 initEReference(getVLSAnnotation_Terms(), this.getVLSAnnotation(), null, "terms", null, 0, -1, VLSAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1410
1411 initEClass(vlsTermEClass, VLSTerm.class, "VLSTerm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1412
1413 initEClass(vlsVariableEClass, VLSVariable.class, "VLSVariable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1414 initEAttribute(getVLSVariable_Name(), ecorePackage.getEString(), "name", null, 0, 1, VLSVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1415
1416 initEClass(vlsFunctionFofEClass, VLSFunctionFof.class, "VLSFunctionFof", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1417 initEAttribute(getVLSFunctionFof_Functor(), ecorePackage.getEString(), "functor", null, 0, 1, VLSFunctionFof.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1418 initEReference(getVLSFunctionFof_Terms(), this.getVLSTerm(), null, "terms", null, 0, -1, VLSFunctionFof.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1419
1420 initEClass(vlsDefinedTermEClass, VLSDefinedTerm.class, "VLSDefinedTerm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1421 initEAttribute(getVLSDefinedTerm_Value(), ecorePackage.getEString(), "value", null, 0, 1, VLSDefinedTerm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1422
1423 initEClass(vlsEquivalentEClass, VLSEquivalent.class, "VLSEquivalent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1424 initEReference(getVLSEquivalent_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSEquivalent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1425 initEReference(getVLSEquivalent_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSEquivalent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1426
1427 initEClass(vlsImpliesEClass, VLSImplies.class, "VLSImplies", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1428 initEReference(getVLSImplies_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSImplies.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1429 initEReference(getVLSImplies_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSImplies.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1430
1431 initEClass(vlsRevImpliesEClass, VLSRevImplies.class, "VLSRevImplies", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1432 initEReference(getVLSRevImplies_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSRevImplies.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1433 initEReference(getVLSRevImplies_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSRevImplies.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1434
1435 initEClass(vlsXnorEClass, VLSXnor.class, "VLSXnor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1436 initEReference(getVLSXnor_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSXnor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1437 initEReference(getVLSXnor_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSXnor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1438
1439 initEClass(vlsNorEClass, VLSNor.class, "VLSNor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1440 initEReference(getVLSNor_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSNor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1441 initEReference(getVLSNor_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSNor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1442
1443 initEClass(vlsNandEClass, VLSNand.class, "VLSNand", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1444 initEReference(getVLSNand_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSNand.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1445 initEReference(getVLSNand_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSNand.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1446
1447 initEClass(vlsAndEClass, VLSAnd.class, "VLSAnd", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1448 initEReference(getVLSAnd_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSAnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1449 initEReference(getVLSAnd_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSAnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1450
1451 initEClass(vlsOrEClass, VLSOr.class, "VLSOr", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1452 initEReference(getVLSOr_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSOr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1453 initEReference(getVLSOr_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSOr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1454
1455 initEClass(vlsUniversalQuantifierEClass, VLSUniversalQuantifier.class, "VLSUniversalQuantifier", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1456 initEReference(getVLSUniversalQuantifier_Variables(), this.getVLSVariable(), null, "variables", null, 0, -1, VLSUniversalQuantifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1457 initEReference(getVLSUniversalQuantifier_Operand(), this.getVLSTerm(), null, "operand", null, 0, 1, VLSUniversalQuantifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1458
1459 initEClass(vlsExistentialQuantifierEClass, VLSExistentialQuantifier.class, "VLSExistentialQuantifier", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1460 initEReference(getVLSExistentialQuantifier_Variables(), this.getVLSVariable(), null, "variables", null, 0, -1, VLSExistentialQuantifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1461 initEReference(getVLSExistentialQuantifier_Operand(), this.getVLSTerm(), null, "operand", null, 0, 1, VLSExistentialQuantifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1462
1463 initEClass(vlsUnaryNegationEClass, VLSUnaryNegation.class, "VLSUnaryNegation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1464 initEReference(getVLSUnaryNegation_Operand(), this.getVLSTerm(), null, "operand", null, 0, 1, VLSUnaryNegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1465
1466 initEClass(vlsInequalityEClass, VLSInequality.class, "VLSInequality", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1467 initEReference(getVLSInequality_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSInequality.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1468 initEReference(getVLSInequality_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSInequality.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1469
1470 initEClass(vlsEqualityEClass, VLSEquality.class, "VLSEquality", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1471 initEReference(getVLSEquality_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSEquality.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1472 initEReference(getVLSEquality_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSEquality.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1473
1474 initEClass(vlsAssignmentEClass, VLSAssignment.class, "VLSAssignment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1475 initEReference(getVLSAssignment_Left(), this.getVLSTerm(), null, "left", null, 0, 1, VLSAssignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1476 initEReference(getVLSAssignment_Right(), this.getVLSTerm(), null, "right", null, 0, 1, VLSAssignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1477
1478 initEClass(vlsConstantEClass, VLSConstant.class, "VLSConstant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1479 initEAttribute(getVLSConstant_Name(), ecorePackage.getEString(), "name", null, 0, 1, VLSConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1480
1481 initEClass(vlsTrueEClass, VLSTrue.class, "VLSTrue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1482
1483 initEClass(vlsFalseEClass, VLSFalse.class, "VLSFalse", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1484
1485 initEClass(vlsFunctionEClass, VLSFunction.class, "VLSFunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1486 initEAttribute(getVLSFunction_Constant(), ecorePackage.getEString(), "constant", null, 0, 1, VLSFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1487 initEReference(getVLSFunction_Terms(), this.getVLSTerm(), null, "terms", null, 0, -1, VLSFunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1488
1489 initEClass(vlsLessEClass, VLSLess.class, "VLSLess", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1490 initEAttribute(getVLSLess_Name(), ecorePackage.getEString(), "name", null, 0, 1, VLSLess.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1491 initEReference(getVLSLess_Terms(), this.getVLSTerm(), null, "terms", null, 0, -1, VLSLess.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1492
1493 initEClass(vlsIntEClass, VLSInt.class, "VLSInt", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1494
1495 initEClass(vlsRealEClass, VLSReal.class, "VLSReal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1496
1497 initEClass(vlsRationalEClass, VLSRational.class, "VLSRational", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1498
1499 initEClass(vlsDoubleQuoteEClass, VLSDoubleQuote.class, "VLSDoubleQuote", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1500
1501 // Create resource
1502 createResource(eNS_URI);
1503 }
1504
1505} //VampireLanguagePackageImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireModelImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireModelImpl.java
new file mode 100644
index 00000000..ea3dabc7
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireModelImpl.java
@@ -0,0 +1,246 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.impl;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel;
11
12import java.util.Collection;
13
14import org.eclipse.emf.common.notify.NotificationChain;
15
16import org.eclipse.emf.common.util.EList;
17
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.InternalEObject;
20
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentEList;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Vampire Model</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireModelImpl#getIncludes <em>Includes</em>}</li>
35 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireModelImpl#getComments <em>Comments</em>}</li>
36 * <li>{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireModelImpl#getFormulas <em>Formulas</em>}</li>
37 * </ul>
38 *
39 * @generated
40 */
41public class VampireModelImpl extends MinimalEObjectImpl.Container implements VampireModel
42{
43 /**
44 * The cached value of the '{@link #getIncludes() <em>Includes</em>}' containment reference list.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getIncludes()
48 * @generated
49 * @ordered
50 */
51 protected EList<VLSInclude> includes;
52
53 /**
54 * The cached value of the '{@link #getComments() <em>Comments</em>}' containment reference list.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getComments()
58 * @generated
59 * @ordered
60 */
61 protected EList<VLSComment> comments;
62
63 /**
64 * The cached value of the '{@link #getFormulas() <em>Formulas</em>}' containment reference list.
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @see #getFormulas()
68 * @generated
69 * @ordered
70 */
71 protected EList<VLSFofFormula> formulas;
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 protected VampireModelImpl()
79 {
80 super();
81 }
82
83 /**
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @generated
87 */
88 @Override
89 protected EClass eStaticClass()
90 {
91 return VampireLanguagePackage.Literals.VAMPIRE_MODEL;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 public EList<VLSInclude> getIncludes()
100 {
101 if (includes == null)
102 {
103 includes = new EObjectContainmentEList<VLSInclude>(VLSInclude.class, this, VampireLanguagePackage.VAMPIRE_MODEL__INCLUDES);
104 }
105 return includes;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public EList<VLSComment> getComments()
114 {
115 if (comments == null)
116 {
117 comments = new EObjectContainmentEList<VLSComment>(VLSComment.class, this, VampireLanguagePackage.VAMPIRE_MODEL__COMMENTS);
118 }
119 return comments;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public EList<VLSFofFormula> getFormulas()
128 {
129 if (formulas == null)
130 {
131 formulas = new EObjectContainmentEList<VLSFofFormula>(VLSFofFormula.class, this, VampireLanguagePackage.VAMPIRE_MODEL__FORMULAS);
132 }
133 return formulas;
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
143 {
144 switch (featureID)
145 {
146 case VampireLanguagePackage.VAMPIRE_MODEL__INCLUDES:
147 return ((InternalEList<?>)getIncludes()).basicRemove(otherEnd, msgs);
148 case VampireLanguagePackage.VAMPIRE_MODEL__COMMENTS:
149 return ((InternalEList<?>)getComments()).basicRemove(otherEnd, msgs);
150 case VampireLanguagePackage.VAMPIRE_MODEL__FORMULAS:
151 return ((InternalEList<?>)getFormulas()).basicRemove(otherEnd, msgs);
152 }
153 return super.eInverseRemove(otherEnd, featureID, msgs);
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 @Override
162 public Object eGet(int featureID, boolean resolve, boolean coreType)
163 {
164 switch (featureID)
165 {
166 case VampireLanguagePackage.VAMPIRE_MODEL__INCLUDES:
167 return getIncludes();
168 case VampireLanguagePackage.VAMPIRE_MODEL__COMMENTS:
169 return getComments();
170 case VampireLanguagePackage.VAMPIRE_MODEL__FORMULAS:
171 return getFormulas();
172 }
173 return super.eGet(featureID, resolve, coreType);
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 @SuppressWarnings("unchecked")
182 @Override
183 public void eSet(int featureID, Object newValue)
184 {
185 switch (featureID)
186 {
187 case VampireLanguagePackage.VAMPIRE_MODEL__INCLUDES:
188 getIncludes().clear();
189 getIncludes().addAll((Collection<? extends VLSInclude>)newValue);
190 return;
191 case VampireLanguagePackage.VAMPIRE_MODEL__COMMENTS:
192 getComments().clear();
193 getComments().addAll((Collection<? extends VLSComment>)newValue);
194 return;
195 case VampireLanguagePackage.VAMPIRE_MODEL__FORMULAS:
196 getFormulas().clear();
197 getFormulas().addAll((Collection<? extends VLSFofFormula>)newValue);
198 return;
199 }
200 super.eSet(featureID, newValue);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public void eUnset(int featureID)
210 {
211 switch (featureID)
212 {
213 case VampireLanguagePackage.VAMPIRE_MODEL__INCLUDES:
214 getIncludes().clear();
215 return;
216 case VampireLanguagePackage.VAMPIRE_MODEL__COMMENTS:
217 getComments().clear();
218 return;
219 case VampireLanguagePackage.VAMPIRE_MODEL__FORMULAS:
220 getFormulas().clear();
221 return;
222 }
223 super.eUnset(featureID);
224 }
225
226 /**
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 */
231 @Override
232 public boolean eIsSet(int featureID)
233 {
234 switch (featureID)
235 {
236 case VampireLanguagePackage.VAMPIRE_MODEL__INCLUDES:
237 return includes != null && !includes.isEmpty();
238 case VampireLanguagePackage.VAMPIRE_MODEL__COMMENTS:
239 return comments != null && !comments.isEmpty();
240 case VampireLanguagePackage.VAMPIRE_MODEL__FORMULAS:
241 return formulas != null && !formulas.isEmpty();
242 }
243 return super.eIsSet(featureID);
244 }
245
246} //VampireModelImpl
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageAdapterFactory.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageAdapterFactory.java
new file mode 100644
index 00000000..8e096360
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageAdapterFactory.java
@@ -0,0 +1,773 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.util;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.*;
7
8import org.eclipse.emf.common.notify.Adapter;
9import org.eclipse.emf.common.notify.Notifier;
10
11import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
12
13import org.eclipse.emf.ecore.EObject;
14
15/**
16 * <!-- begin-user-doc -->
17 * The <b>Adapter Factory</b> for the model.
18 * It provides an adapter <code>createXXX</code> method for each class of the model.
19 * <!-- end-user-doc -->
20 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage
21 * @generated
22 */
23public class VampireLanguageAdapterFactory extends AdapterFactoryImpl
24{
25 /**
26 * The cached model package.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 protected static VampireLanguagePackage modelPackage;
32
33 /**
34 * Creates an instance of the adapter factory.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @generated
38 */
39 public VampireLanguageAdapterFactory()
40 {
41 if (modelPackage == null)
42 {
43 modelPackage = VampireLanguagePackage.eINSTANCE;
44 }
45 }
46
47 /**
48 * Returns whether this factory is applicable for the type of the object.
49 * <!-- begin-user-doc -->
50 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
51 * <!-- end-user-doc -->
52 * @return whether this factory is applicable for the type of the object.
53 * @generated
54 */
55 @Override
56 public boolean isFactoryForType(Object object)
57 {
58 if (object == modelPackage)
59 {
60 return true;
61 }
62 if (object instanceof EObject)
63 {
64 return ((EObject)object).eClass().getEPackage() == modelPackage;
65 }
66 return false;
67 }
68
69 /**
70 * The switch that delegates to the <code>createXXX</code> methods.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 protected VampireLanguageSwitch<Adapter> modelSwitch =
76 new VampireLanguageSwitch<Adapter>()
77 {
78 @Override
79 public Adapter caseVampireModel(VampireModel object)
80 {
81 return createVampireModelAdapter();
82 }
83 @Override
84 public Adapter caseVLSInclude(VLSInclude object)
85 {
86 return createVLSIncludeAdapter();
87 }
88 @Override
89 public Adapter caseVLSName(VLSName object)
90 {
91 return createVLSNameAdapter();
92 }
93 @Override
94 public Adapter caseVLSComment(VLSComment object)
95 {
96 return createVLSCommentAdapter();
97 }
98 @Override
99 public Adapter caseVLSFofFormula(VLSFofFormula object)
100 {
101 return createVLSFofFormulaAdapter();
102 }
103 @Override
104 public Adapter caseVLSAnnotation(VLSAnnotation object)
105 {
106 return createVLSAnnotationAdapter();
107 }
108 @Override
109 public Adapter caseVLSTerm(VLSTerm object)
110 {
111 return createVLSTermAdapter();
112 }
113 @Override
114 public Adapter caseVLSVariable(VLSVariable object)
115 {
116 return createVLSVariableAdapter();
117 }
118 @Override
119 public Adapter caseVLSFunctionFof(VLSFunctionFof object)
120 {
121 return createVLSFunctionFofAdapter();
122 }
123 @Override
124 public Adapter caseVLSDefinedTerm(VLSDefinedTerm object)
125 {
126 return createVLSDefinedTermAdapter();
127 }
128 @Override
129 public Adapter caseVLSEquivalent(VLSEquivalent object)
130 {
131 return createVLSEquivalentAdapter();
132 }
133 @Override
134 public Adapter caseVLSImplies(VLSImplies object)
135 {
136 return createVLSImpliesAdapter();
137 }
138 @Override
139 public Adapter caseVLSRevImplies(VLSRevImplies object)
140 {
141 return createVLSRevImpliesAdapter();
142 }
143 @Override
144 public Adapter caseVLSXnor(VLSXnor object)
145 {
146 return createVLSXnorAdapter();
147 }
148 @Override
149 public Adapter caseVLSNor(VLSNor object)
150 {
151 return createVLSNorAdapter();
152 }
153 @Override
154 public Adapter caseVLSNand(VLSNand object)
155 {
156 return createVLSNandAdapter();
157 }
158 @Override
159 public Adapter caseVLSAnd(VLSAnd object)
160 {
161 return createVLSAndAdapter();
162 }
163 @Override
164 public Adapter caseVLSOr(VLSOr object)
165 {
166 return createVLSOrAdapter();
167 }
168 @Override
169 public Adapter caseVLSUniversalQuantifier(VLSUniversalQuantifier object)
170 {
171 return createVLSUniversalQuantifierAdapter();
172 }
173 @Override
174 public Adapter caseVLSExistentialQuantifier(VLSExistentialQuantifier object)
175 {
176 return createVLSExistentialQuantifierAdapter();
177 }
178 @Override
179 public Adapter caseVLSUnaryNegation(VLSUnaryNegation object)
180 {
181 return createVLSUnaryNegationAdapter();
182 }
183 @Override
184 public Adapter caseVLSInequality(VLSInequality object)
185 {
186 return createVLSInequalityAdapter();
187 }
188 @Override
189 public Adapter caseVLSEquality(VLSEquality object)
190 {
191 return createVLSEqualityAdapter();
192 }
193 @Override
194 public Adapter caseVLSAssignment(VLSAssignment object)
195 {
196 return createVLSAssignmentAdapter();
197 }
198 @Override
199 public Adapter caseVLSConstant(VLSConstant object)
200 {
201 return createVLSConstantAdapter();
202 }
203 @Override
204 public Adapter caseVLSTrue(VLSTrue object)
205 {
206 return createVLSTrueAdapter();
207 }
208 @Override
209 public Adapter caseVLSFalse(VLSFalse object)
210 {
211 return createVLSFalseAdapter();
212 }
213 @Override
214 public Adapter caseVLSFunction(VLSFunction object)
215 {
216 return createVLSFunctionAdapter();
217 }
218 @Override
219 public Adapter caseVLSLess(VLSLess object)
220 {
221 return createVLSLessAdapter();
222 }
223 @Override
224 public Adapter caseVLSInt(VLSInt object)
225 {
226 return createVLSIntAdapter();
227 }
228 @Override
229 public Adapter caseVLSReal(VLSReal object)
230 {
231 return createVLSRealAdapter();
232 }
233 @Override
234 public Adapter caseVLSRational(VLSRational object)
235 {
236 return createVLSRationalAdapter();
237 }
238 @Override
239 public Adapter caseVLSDoubleQuote(VLSDoubleQuote object)
240 {
241 return createVLSDoubleQuoteAdapter();
242 }
243 @Override
244 public Adapter defaultCase(EObject object)
245 {
246 return createEObjectAdapter();
247 }
248 };
249
250 /**
251 * Creates an adapter for the <code>target</code>.
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @param target the object to adapt.
255 * @return the adapter for the <code>target</code>.
256 * @generated
257 */
258 @Override
259 public Adapter createAdapter(Notifier target)
260 {
261 return modelSwitch.doSwitch((EObject)target);
262 }
263
264
265 /**
266 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel <em>Vampire Model</em>}'.
267 * <!-- begin-user-doc -->
268 * This default implementation returns null so that we can easily ignore cases;
269 * it's useful to ignore a case when inheritance will catch all the cases anyway.
270 * <!-- end-user-doc -->
271 * @return the new adapter.
272 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel
273 * @generated
274 */
275 public Adapter createVampireModelAdapter()
276 {
277 return null;
278 }
279
280 /**
281 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude <em>VLS Include</em>}'.
282 * <!-- begin-user-doc -->
283 * This default implementation returns null so that we can easily ignore cases;
284 * it's useful to ignore a case when inheritance will catch all the cases anyway.
285 * <!-- end-user-doc -->
286 * @return the new adapter.
287 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInclude
288 * @generated
289 */
290 public Adapter createVLSIncludeAdapter()
291 {
292 return null;
293 }
294
295 /**
296 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName <em>VLS Name</em>}'.
297 * <!-- begin-user-doc -->
298 * This default implementation returns null so that we can easily ignore cases;
299 * it's useful to ignore a case when inheritance will catch all the cases anyway.
300 * <!-- end-user-doc -->
301 * @return the new adapter.
302 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSName
303 * @generated
304 */
305 public Adapter createVLSNameAdapter()
306 {
307 return null;
308 }
309
310 /**
311 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment <em>VLS Comment</em>}'.
312 * <!-- begin-user-doc -->
313 * This default implementation returns null so that we can easily ignore cases;
314 * it's useful to ignore a case when inheritance will catch all the cases anyway.
315 * <!-- end-user-doc -->
316 * @return the new adapter.
317 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment
318 * @generated
319 */
320 public Adapter createVLSCommentAdapter()
321 {
322 return null;
323 }
324
325 /**
326 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula <em>VLS Fof Formula</em>}'.
327 * <!-- begin-user-doc -->
328 * This default implementation returns null so that we can easily ignore cases;
329 * it's useful to ignore a case when inheritance will catch all the cases anyway.
330 * <!-- end-user-doc -->
331 * @return the new adapter.
332 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula
333 * @generated
334 */
335 public Adapter createVLSFofFormulaAdapter()
336 {
337 return null;
338 }
339
340 /**
341 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation <em>VLS Annotation</em>}'.
342 * <!-- begin-user-doc -->
343 * This default implementation returns null so that we can easily ignore cases;
344 * it's useful to ignore a case when inheritance will catch all the cases anyway.
345 * <!-- end-user-doc -->
346 * @return the new adapter.
347 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation
348 * @generated
349 */
350 public Adapter createVLSAnnotationAdapter()
351 {
352 return null;
353 }
354
355 /**
356 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm <em>VLS Term</em>}'.
357 * <!-- begin-user-doc -->
358 * This default implementation returns null so that we can easily ignore cases;
359 * it's useful to ignore a case when inheritance will catch all the cases anyway.
360 * <!-- end-user-doc -->
361 * @return the new adapter.
362 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
363 * @generated
364 */
365 public Adapter createVLSTermAdapter()
366 {
367 return null;
368 }
369
370 /**
371 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable <em>VLS Variable</em>}'.
372 * <!-- begin-user-doc -->
373 * This default implementation returns null so that we can easily ignore cases;
374 * it's useful to ignore a case when inheritance will catch all the cases anyway.
375 * <!-- end-user-doc -->
376 * @return the new adapter.
377 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable
378 * @generated
379 */
380 public Adapter createVLSVariableAdapter()
381 {
382 return null;
383 }
384
385 /**
386 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof <em>VLS Function Fof</em>}'.
387 * <!-- begin-user-doc -->
388 * This default implementation returns null so that we can easily ignore cases;
389 * it's useful to ignore a case when inheritance will catch all the cases anyway.
390 * <!-- end-user-doc -->
391 * @return the new adapter.
392 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof
393 * @generated
394 */
395 public Adapter createVLSFunctionFofAdapter()
396 {
397 return null;
398 }
399
400 /**
401 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDefinedTerm <em>VLS Defined Term</em>}'.
402 * <!-- begin-user-doc -->
403 * This default implementation returns null so that we can easily ignore cases;
404 * it's useful to ignore a case when inheritance will catch all the cases anyway.
405 * <!-- end-user-doc -->
406 * @return the new adapter.
407 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDefinedTerm
408 * @generated
409 */
410 public Adapter createVLSDefinedTermAdapter()
411 {
412 return null;
413 }
414
415 /**
416 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent <em>VLS Equivalent</em>}'.
417 * <!-- begin-user-doc -->
418 * This default implementation returns null so that we can easily ignore cases;
419 * it's useful to ignore a case when inheritance will catch all the cases anyway.
420 * <!-- end-user-doc -->
421 * @return the new adapter.
422 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent
423 * @generated
424 */
425 public Adapter createVLSEquivalentAdapter()
426 {
427 return null;
428 }
429
430 /**
431 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies <em>VLS Implies</em>}'.
432 * <!-- begin-user-doc -->
433 * This default implementation returns null so that we can easily ignore cases;
434 * it's useful to ignore a case when inheritance will catch all the cases anyway.
435 * <!-- end-user-doc -->
436 * @return the new adapter.
437 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies
438 * @generated
439 */
440 public Adapter createVLSImpliesAdapter()
441 {
442 return null;
443 }
444
445 /**
446 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies <em>VLS Rev Implies</em>}'.
447 * <!-- begin-user-doc -->
448 * This default implementation returns null so that we can easily ignore cases;
449 * it's useful to ignore a case when inheritance will catch all the cases anyway.
450 * <!-- end-user-doc -->
451 * @return the new adapter.
452 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies
453 * @generated
454 */
455 public Adapter createVLSRevImpliesAdapter()
456 {
457 return null;
458 }
459
460 /**
461 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor <em>VLS Xnor</em>}'.
462 * <!-- begin-user-doc -->
463 * This default implementation returns null so that we can easily ignore cases;
464 * it's useful to ignore a case when inheritance will catch all the cases anyway.
465 * <!-- end-user-doc -->
466 * @return the new adapter.
467 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSXnor
468 * @generated
469 */
470 public Adapter createVLSXnorAdapter()
471 {
472 return null;
473 }
474
475 /**
476 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor <em>VLS Nor</em>}'.
477 * <!-- begin-user-doc -->
478 * This default implementation returns null so that we can easily ignore cases;
479 * it's useful to ignore a case when inheritance will catch all the cases anyway.
480 * <!-- end-user-doc -->
481 * @return the new adapter.
482 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNor
483 * @generated
484 */
485 public Adapter createVLSNorAdapter()
486 {
487 return null;
488 }
489
490 /**
491 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand <em>VLS Nand</em>}'.
492 * <!-- begin-user-doc -->
493 * This default implementation returns null so that we can easily ignore cases;
494 * it's useful to ignore a case when inheritance will catch all the cases anyway.
495 * <!-- end-user-doc -->
496 * @return the new adapter.
497 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSNand
498 * @generated
499 */
500 public Adapter createVLSNandAdapter()
501 {
502 return null;
503 }
504
505 /**
506 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd <em>VLS And</em>}'.
507 * <!-- begin-user-doc -->
508 * This default implementation returns null so that we can easily ignore cases;
509 * it's useful to ignore a case when inheritance will catch all the cases anyway.
510 * <!-- end-user-doc -->
511 * @return the new adapter.
512 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd
513 * @generated
514 */
515 public Adapter createVLSAndAdapter()
516 {
517 return null;
518 }
519
520 /**
521 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr <em>VLS Or</em>}'.
522 * <!-- begin-user-doc -->
523 * This default implementation returns null so that we can easily ignore cases;
524 * it's useful to ignore a case when inheritance will catch all the cases anyway.
525 * <!-- end-user-doc -->
526 * @return the new adapter.
527 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr
528 * @generated
529 */
530 public Adapter createVLSOrAdapter()
531 {
532 return null;
533 }
534
535 /**
536 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier <em>VLS Universal Quantifier</em>}'.
537 * <!-- begin-user-doc -->
538 * This default implementation returns null so that we can easily ignore cases;
539 * it's useful to ignore a case when inheritance will catch all the cases anyway.
540 * <!-- end-user-doc -->
541 * @return the new adapter.
542 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier
543 * @generated
544 */
545 public Adapter createVLSUniversalQuantifierAdapter()
546 {
547 return null;
548 }
549
550 /**
551 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier <em>VLS Existential Quantifier</em>}'.
552 * <!-- begin-user-doc -->
553 * This default implementation returns null so that we can easily ignore cases;
554 * it's useful to ignore a case when inheritance will catch all the cases anyway.
555 * <!-- end-user-doc -->
556 * @return the new adapter.
557 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier
558 * @generated
559 */
560 public Adapter createVLSExistentialQuantifierAdapter()
561 {
562 return null;
563 }
564
565 /**
566 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation <em>VLS Unary Negation</em>}'.
567 * <!-- begin-user-doc -->
568 * This default implementation returns null so that we can easily ignore cases;
569 * it's useful to ignore a case when inheritance will catch all the cases anyway.
570 * <!-- end-user-doc -->
571 * @return the new adapter.
572 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation
573 * @generated
574 */
575 public Adapter createVLSUnaryNegationAdapter()
576 {
577 return null;
578 }
579
580 /**
581 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality <em>VLS Inequality</em>}'.
582 * <!-- begin-user-doc -->
583 * This default implementation returns null so that we can easily ignore cases;
584 * it's useful to ignore a case when inheritance will catch all the cases anyway.
585 * <!-- end-user-doc -->
586 * @return the new adapter.
587 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality
588 * @generated
589 */
590 public Adapter createVLSInequalityAdapter()
591 {
592 return null;
593 }
594
595 /**
596 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality <em>VLS Equality</em>}'.
597 * <!-- begin-user-doc -->
598 * This default implementation returns null so that we can easily ignore cases;
599 * it's useful to ignore a case when inheritance will catch all the cases anyway.
600 * <!-- end-user-doc -->
601 * @return the new adapter.
602 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality
603 * @generated
604 */
605 public Adapter createVLSEqualityAdapter()
606 {
607 return null;
608 }
609
610 /**
611 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment <em>VLS Assignment</em>}'.
612 * <!-- begin-user-doc -->
613 * This default implementation returns null so that we can easily ignore cases;
614 * it's useful to ignore a case when inheritance will catch all the cases anyway.
615 * <!-- end-user-doc -->
616 * @return the new adapter.
617 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAssignment
618 * @generated
619 */
620 public Adapter createVLSAssignmentAdapter()
621 {
622 return null;
623 }
624
625 /**
626 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant <em>VLS Constant</em>}'.
627 * <!-- begin-user-doc -->
628 * This default implementation returns null so that we can easily ignore cases;
629 * it's useful to ignore a case when inheritance will catch all the cases anyway.
630 * <!-- end-user-doc -->
631 * @return the new adapter.
632 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant
633 * @generated
634 */
635 public Adapter createVLSConstantAdapter()
636 {
637 return null;
638 }
639
640 /**
641 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue <em>VLS True</em>}'.
642 * <!-- begin-user-doc -->
643 * This default implementation returns null so that we can easily ignore cases;
644 * it's useful to ignore a case when inheritance will catch all the cases anyway.
645 * <!-- end-user-doc -->
646 * @return the new adapter.
647 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue
648 * @generated
649 */
650 public Adapter createVLSTrueAdapter()
651 {
652 return null;
653 }
654
655 /**
656 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse <em>VLS False</em>}'.
657 * <!-- begin-user-doc -->
658 * This default implementation returns null so that we can easily ignore cases;
659 * it's useful to ignore a case when inheritance will catch all the cases anyway.
660 * <!-- end-user-doc -->
661 * @return the new adapter.
662 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse
663 * @generated
664 */
665 public Adapter createVLSFalseAdapter()
666 {
667 return null;
668 }
669
670 /**
671 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction <em>VLS Function</em>}'.
672 * <!-- begin-user-doc -->
673 * This default implementation returns null so that we can easily ignore cases;
674 * it's useful to ignore a case when inheritance will catch all the cases anyway.
675 * <!-- end-user-doc -->
676 * @return the new adapter.
677 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction
678 * @generated
679 */
680 public Adapter createVLSFunctionAdapter()
681 {
682 return null;
683 }
684
685 /**
686 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess <em>VLS Less</em>}'.
687 * <!-- begin-user-doc -->
688 * This default implementation returns null so that we can easily ignore cases;
689 * it's useful to ignore a case when inheritance will catch all the cases anyway.
690 * <!-- end-user-doc -->
691 * @return the new adapter.
692 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSLess
693 * @generated
694 */
695 public Adapter createVLSLessAdapter()
696 {
697 return null;
698 }
699
700 /**
701 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInt <em>VLS Int</em>}'.
702 * <!-- begin-user-doc -->
703 * This default implementation returns null so that we can easily ignore cases;
704 * it's useful to ignore a case when inheritance will catch all the cases anyway.
705 * <!-- end-user-doc -->
706 * @return the new adapter.
707 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInt
708 * @generated
709 */
710 public Adapter createVLSIntAdapter()
711 {
712 return null;
713 }
714
715 /**
716 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSReal <em>VLS Real</em>}'.
717 * <!-- begin-user-doc -->
718 * This default implementation returns null so that we can easily ignore cases;
719 * it's useful to ignore a case when inheritance will catch all the cases anyway.
720 * <!-- end-user-doc -->
721 * @return the new adapter.
722 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSReal
723 * @generated
724 */
725 public Adapter createVLSRealAdapter()
726 {
727 return null;
728 }
729
730 /**
731 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRational <em>VLS Rational</em>}'.
732 * <!-- begin-user-doc -->
733 * This default implementation returns null so that we can easily ignore cases;
734 * it's useful to ignore a case when inheritance will catch all the cases anyway.
735 * <!-- end-user-doc -->
736 * @return the new adapter.
737 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRational
738 * @generated
739 */
740 public Adapter createVLSRationalAdapter()
741 {
742 return null;
743 }
744
745 /**
746 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDoubleQuote <em>VLS Double Quote</em>}'.
747 * <!-- begin-user-doc -->
748 * This default implementation returns null so that we can easily ignore cases;
749 * it's useful to ignore a case when inheritance will catch all the cases anyway.
750 * <!-- end-user-doc -->
751 * @return the new adapter.
752 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDoubleQuote
753 * @generated
754 */
755 public Adapter createVLSDoubleQuoteAdapter()
756 {
757 return null;
758 }
759
760 /**
761 * Creates a new adapter for the default case.
762 * <!-- begin-user-doc -->
763 * This default implementation returns null.
764 * <!-- end-user-doc -->
765 * @return the new adapter.
766 * @generated
767 */
768 public Adapter createEObjectAdapter()
769 {
770 return null;
771 }
772
773} //VampireLanguageAdapterFactory
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageSwitch.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageSwitch.java
new file mode 100644
index 00000000..8d70157d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageSwitch.java
@@ -0,0 +1,886 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.vampireLanguage.util;
5
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.*;
7
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.util.Switch;
12
13/**
14 * <!-- begin-user-doc -->
15 * The <b>Switch</b> for the model's inheritance hierarchy.
16 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
17 * to invoke the <code>caseXXX</code> method for each class of the model,
18 * starting with the actual class of the object
19 * and proceeding up the inheritance hierarchy
20 * until a non-null result is returned,
21 * which is the result of the switch.
22 * <!-- end-user-doc -->
23 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage
24 * @generated
25 */
26public class VampireLanguageSwitch<T> extends Switch<T>
27{
28 /**
29 * The cached model package
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 protected static VampireLanguagePackage modelPackage;
35
36 /**
37 * Creates an instance of the switch.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 public VampireLanguageSwitch()
43 {
44 if (modelPackage == null)
45 {
46 modelPackage = VampireLanguagePackage.eINSTANCE;
47 }
48 }
49
50 /**
51 * Checks whether this is a switch for the given package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @param ePackage the package in question.
55 * @return whether this is a switch for the given package.
56 * @generated
57 */
58 @Override
59 protected boolean isSwitchFor(EPackage ePackage)
60 {
61 return ePackage == modelPackage;
62 }
63
64 /**
65 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @return the first non-null result returned by a <code>caseXXX</code> call.
69 * @generated
70 */
71 @Override
72 protected T doSwitch(int classifierID, EObject theEObject)
73 {
74 switch (classifierID)
75 {
76 case VampireLanguagePackage.VAMPIRE_MODEL:
77 {
78 VampireModel vampireModel = (VampireModel)theEObject;
79 T result = caseVampireModel(vampireModel);
80 if (result == null) result = defaultCase(theEObject);
81 return result;
82 }
83 case VampireLanguagePackage.VLS_INCLUDE:
84 {
85 VLSInclude vlsInclude = (VLSInclude)theEObject;
86 T result = caseVLSInclude(vlsInclude);
87 if (result == null) result = defaultCase(theEObject);
88 return result;
89 }
90 case VampireLanguagePackage.VLS_NAME:
91 {
92 VLSName vlsName = (VLSName)theEObject;
93 T result = caseVLSName(vlsName);
94 if (result == null) result = defaultCase(theEObject);
95 return result;
96 }
97 case VampireLanguagePackage.VLS_COMMENT:
98 {
99 VLSComment vlsComment = (VLSComment)theEObject;
100 T result = caseVLSComment(vlsComment);
101 if (result == null) result = defaultCase(theEObject);
102 return result;
103 }
104 case VampireLanguagePackage.VLS_FOF_FORMULA:
105 {
106 VLSFofFormula vlsFofFormula = (VLSFofFormula)theEObject;
107 T result = caseVLSFofFormula(vlsFofFormula);
108 if (result == null) result = defaultCase(theEObject);
109 return result;
110 }
111 case VampireLanguagePackage.VLS_ANNOTATION:
112 {
113 VLSAnnotation vlsAnnotation = (VLSAnnotation)theEObject;
114 T result = caseVLSAnnotation(vlsAnnotation);
115 if (result == null) result = defaultCase(theEObject);
116 return result;
117 }
118 case VampireLanguagePackage.VLS_TERM:
119 {
120 VLSTerm vlsTerm = (VLSTerm)theEObject;
121 T result = caseVLSTerm(vlsTerm);
122 if (result == null) result = defaultCase(theEObject);
123 return result;
124 }
125 case VampireLanguagePackage.VLS_VARIABLE:
126 {
127 VLSVariable vlsVariable = (VLSVariable)theEObject;
128 T result = caseVLSVariable(vlsVariable);
129 if (result == null) result = caseVLSTerm(vlsVariable);
130 if (result == null) result = defaultCase(theEObject);
131 return result;
132 }
133 case VampireLanguagePackage.VLS_FUNCTION_FOF:
134 {
135 VLSFunctionFof vlsFunctionFof = (VLSFunctionFof)theEObject;
136 T result = caseVLSFunctionFof(vlsFunctionFof);
137 if (result == null) result = caseVLSTerm(vlsFunctionFof);
138 if (result == null) result = defaultCase(theEObject);
139 return result;
140 }
141 case VampireLanguagePackage.VLS_DEFINED_TERM:
142 {
143 VLSDefinedTerm vlsDefinedTerm = (VLSDefinedTerm)theEObject;
144 T result = caseVLSDefinedTerm(vlsDefinedTerm);
145 if (result == null) result = caseVLSTerm(vlsDefinedTerm);
146 if (result == null) result = defaultCase(theEObject);
147 return result;
148 }
149 case VampireLanguagePackage.VLS_EQUIVALENT:
150 {
151 VLSEquivalent vlsEquivalent = (VLSEquivalent)theEObject;
152 T result = caseVLSEquivalent(vlsEquivalent);
153 if (result == null) result = caseVLSTerm(vlsEquivalent);
154 if (result == null) result = defaultCase(theEObject);
155 return result;
156 }
157 case VampireLanguagePackage.VLS_IMPLIES:
158 {
159 VLSImplies vlsImplies = (VLSImplies)theEObject;
160 T result = caseVLSImplies(vlsImplies);
161 if (result == null) result = caseVLSTerm(vlsImplies);
162 if (result == null) result = defaultCase(theEObject);
163 return result;
164 }
165 case VampireLanguagePackage.VLS_REV_IMPLIES:
166 {
167 VLSRevImplies vlsRevImplies = (VLSRevImplies)theEObject;
168 T result = caseVLSRevImplies(vlsRevImplies);
169 if (result == null) result = caseVLSTerm(vlsRevImplies);
170 if (result == null) result = defaultCase(theEObject);
171 return result;
172 }
173 case VampireLanguagePackage.VLS_XNOR:
174 {
175 VLSXnor vlsXnor = (VLSXnor)theEObject;
176 T result = caseVLSXnor(vlsXnor);
177 if (result == null) result = caseVLSTerm(vlsXnor);
178 if (result == null) result = defaultCase(theEObject);
179 return result;
180 }
181 case VampireLanguagePackage.VLS_NOR:
182 {
183 VLSNor vlsNor = (VLSNor)theEObject;
184 T result = caseVLSNor(vlsNor);
185 if (result == null) result = caseVLSTerm(vlsNor);
186 if (result == null) result = defaultCase(theEObject);
187 return result;
188 }
189 case VampireLanguagePackage.VLS_NAND:
190 {
191 VLSNand vlsNand = (VLSNand)theEObject;
192 T result = caseVLSNand(vlsNand);
193 if (result == null) result = caseVLSTerm(vlsNand);
194 if (result == null) result = defaultCase(theEObject);
195 return result;
196 }
197 case VampireLanguagePackage.VLS_AND:
198 {
199 VLSAnd vlsAnd = (VLSAnd)theEObject;
200 T result = caseVLSAnd(vlsAnd);
201 if (result == null) result = caseVLSTerm(vlsAnd);
202 if (result == null) result = defaultCase(theEObject);
203 return result;
204 }
205 case VampireLanguagePackage.VLS_OR:
206 {
207 VLSOr vlsOr = (VLSOr)theEObject;
208 T result = caseVLSOr(vlsOr);
209 if (result == null) result = caseVLSTerm(vlsOr);
210 if (result == null) result = defaultCase(theEObject);
211 return result;
212 }
213 case VampireLanguagePackage.VLS_UNIVERSAL_QUANTIFIER:
214 {
215 VLSUniversalQuantifier vlsUniversalQuantifier = (VLSUniversalQuantifier)theEObject;
216 T result = caseVLSUniversalQuantifier(vlsUniversalQuantifier);
217 if (result == null) result = caseVLSTerm(vlsUniversalQuantifier);
218 if (result == null) result = defaultCase(theEObject);
219 return result;
220 }
221 case VampireLanguagePackage.VLS_EXISTENTIAL_QUANTIFIER:
222 {
223 VLSExistentialQuantifier vlsExistentialQuantifier = (VLSExistentialQuantifier)theEObject;
224 T result = caseVLSExistentialQuantifier(vlsExistentialQuantifier);
225 if (result == null) result = caseVLSTerm(vlsExistentialQuantifier);
226 if (result == null) result = defaultCase(theEObject);
227 return result;
228 }
229 case VampireLanguagePackage.VLS_UNARY_NEGATION:
230 {
231 VLSUnaryNegation vlsUnaryNegation = (VLSUnaryNegation)theEObject;
232 T result = caseVLSUnaryNegation(vlsUnaryNegation);
233 if (result == null) result = caseVLSTerm(vlsUnaryNegation);
234 if (result == null) result = defaultCase(theEObject);
235 return result;
236 }
237 case VampireLanguagePackage.VLS_INEQUALITY:
238 {
239 VLSInequality vlsInequality = (VLSInequality)theEObject;
240 T result = caseVLSInequality(vlsInequality);
241 if (result == null) result = caseVLSTerm(vlsInequality);
242 if (result == null) result = defaultCase(theEObject);
243 return result;
244 }
245 case VampireLanguagePackage.VLS_EQUALITY:
246 {
247 VLSEquality vlsEquality = (VLSEquality)theEObject;
248 T result = caseVLSEquality(vlsEquality);
249 if (result == null) result = caseVLSTerm(vlsEquality);
250 if (result == null) result = defaultCase(theEObject);
251 return result;
252 }
253 case VampireLanguagePackage.VLS_ASSIGNMENT:
254 {
255 VLSAssignment vlsAssignment = (VLSAssignment)theEObject;
256 T result = caseVLSAssignment(vlsAssignment);
257 if (result == null) result = caseVLSTerm(vlsAssignment);
258 if (result == null) result = defaultCase(theEObject);
259 return result;
260 }
261 case VampireLanguagePackage.VLS_CONSTANT:
262 {
263 VLSConstant vlsConstant = (VLSConstant)theEObject;
264 T result = caseVLSConstant(vlsConstant);
265 if (result == null) result = caseVLSTerm(vlsConstant);
266 if (result == null) result = defaultCase(theEObject);
267 return result;
268 }
269 case VampireLanguagePackage.VLS_TRUE:
270 {
271 VLSTrue vlsTrue = (VLSTrue)theEObject;
272 T result = caseVLSTrue(vlsTrue);
273 if (result == null) result = caseVLSTerm(vlsTrue);
274 if (result == null) result = defaultCase(theEObject);
275 return result;
276 }
277 case VampireLanguagePackage.VLS_FALSE:
278 {
279 VLSFalse vlsFalse = (VLSFalse)theEObject;
280 T result = caseVLSFalse(vlsFalse);
281 if (result == null) result = caseVLSTerm(vlsFalse);
282 if (result == null) result = defaultCase(theEObject);
283 return result;
284 }
285 case VampireLanguagePackage.VLS_FUNCTION:
286 {
287 VLSFunction vlsFunction = (VLSFunction)theEObject;
288 T result = caseVLSFunction(vlsFunction);
289 if (result == null) result = caseVLSTerm(vlsFunction);
290 if (result == null) result = defaultCase(theEObject);
291 return result;
292 }
293 case VampireLanguagePackage.VLS_LESS:
294 {
295 VLSLess vlsLess = (VLSLess)theEObject;
296 T result = caseVLSLess(vlsLess);
297 if (result == null) result = caseVLSTerm(vlsLess);
298 if (result == null) result = defaultCase(theEObject);
299 return result;
300 }
301 case VampireLanguagePackage.VLS_INT:
302 {
303 VLSInt vlsInt = (VLSInt)theEObject;
304 T result = caseVLSInt(vlsInt);
305 if (result == null) result = caseVLSDefinedTerm(vlsInt);
306 if (result == null) result = caseVLSTerm(vlsInt);
307 if (result == null) result = defaultCase(theEObject);
308 return result;
309 }
310 case VampireLanguagePackage.VLS_REAL:
311 {
312 VLSReal vlsReal = (VLSReal)theEObject;
313 T result = caseVLSReal(vlsReal);
314 if (result == null) result = caseVLSDefinedTerm(vlsReal);
315 if (result == null) result = caseVLSTerm(vlsReal);
316 if (result == null) result = defaultCase(theEObject);
317 return result;
318 }
319 case VampireLanguagePackage.VLS_RATIONAL:
320 {
321 VLSRational vlsRational = (VLSRational)theEObject;
322 T result = caseVLSRational(vlsRational);
323 if (result == null) result = caseVLSDefinedTerm(vlsRational);
324 if (result == null) result = caseVLSTerm(vlsRational);
325 if (result == null) result = defaultCase(theEObject);
326 return result;
327 }
328 case VampireLanguagePackage.VLS_DOUBLE_QUOTE:
329 {
330 VLSDoubleQuote vlsDoubleQuote = (VLSDoubleQuote)theEObject;
331 T result = caseVLSDoubleQuote(vlsDoubleQuote);
332 if (result == null) result = caseVLSDefinedTerm(vlsDoubleQuote);
333 if (result == null) result = caseVLSTerm(vlsDoubleQuote);
334 if (result == null) result = defaultCase(theEObject);
335 return result;
336 }
337 default: return defaultCase(theEObject);
338 }
339 }
340
341 /**
342 * Returns the result of interpreting the object as an instance of '<em>Vampire Model</em>'.
343 * <!-- begin-user-doc -->
344 * This implementation returns null;
345 * returning a non-null result will terminate the switch.
346 * <!-- end-user-doc -->
347 * @param object the target of the switch.
348 * @return the result of interpreting the object as an instance of '<em>Vampire Model</em>'.
349 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
350 * @generated
351 */
352 public T caseVampireModel(VampireModel object)
353 {
354 return null;
355 }
356
357 /**
358 * Returns the result of interpreting the object as an instance of '<em>VLS Include</em>'.
359 * <!-- begin-user-doc -->
360 * This implementation returns null;
361 * returning a non-null result will terminate the switch.
362 * <!-- end-user-doc -->
363 * @param object the target of the switch.
364 * @return the result of interpreting the object as an instance of '<em>VLS Include</em>'.
365 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
366 * @generated
367 */
368 public T caseVLSInclude(VLSInclude object)
369 {
370 return null;
371 }
372
373 /**
374 * Returns the result of interpreting the object as an instance of '<em>VLS Name</em>'.
375 * <!-- begin-user-doc -->
376 * This implementation returns null;
377 * returning a non-null result will terminate the switch.
378 * <!-- end-user-doc -->
379 * @param object the target of the switch.
380 * @return the result of interpreting the object as an instance of '<em>VLS Name</em>'.
381 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
382 * @generated
383 */
384 public T caseVLSName(VLSName object)
385 {
386 return null;
387 }
388
389 /**
390 * Returns the result of interpreting the object as an instance of '<em>VLS Comment</em>'.
391 * <!-- begin-user-doc -->
392 * This implementation returns null;
393 * returning a non-null result will terminate the switch.
394 * <!-- end-user-doc -->
395 * @param object the target of the switch.
396 * @return the result of interpreting the object as an instance of '<em>VLS Comment</em>'.
397 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
398 * @generated
399 */
400 public T caseVLSComment(VLSComment object)
401 {
402 return null;
403 }
404
405 /**
406 * Returns the result of interpreting the object as an instance of '<em>VLS Fof Formula</em>'.
407 * <!-- begin-user-doc -->
408 * This implementation returns null;
409 * returning a non-null result will terminate the switch.
410 * <!-- end-user-doc -->
411 * @param object the target of the switch.
412 * @return the result of interpreting the object as an instance of '<em>VLS Fof Formula</em>'.
413 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
414 * @generated
415 */
416 public T caseVLSFofFormula(VLSFofFormula object)
417 {
418 return null;
419 }
420
421 /**
422 * Returns the result of interpreting the object as an instance of '<em>VLS Annotation</em>'.
423 * <!-- begin-user-doc -->
424 * This implementation returns null;
425 * returning a non-null result will terminate the switch.
426 * <!-- end-user-doc -->
427 * @param object the target of the switch.
428 * @return the result of interpreting the object as an instance of '<em>VLS Annotation</em>'.
429 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
430 * @generated
431 */
432 public T caseVLSAnnotation(VLSAnnotation object)
433 {
434 return null;
435 }
436
437 /**
438 * Returns the result of interpreting the object as an instance of '<em>VLS Term</em>'.
439 * <!-- begin-user-doc -->
440 * This implementation returns null;
441 * returning a non-null result will terminate the switch.
442 * <!-- end-user-doc -->
443 * @param object the target of the switch.
444 * @return the result of interpreting the object as an instance of '<em>VLS Term</em>'.
445 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
446 * @generated
447 */
448 public T caseVLSTerm(VLSTerm object)
449 {
450 return null;
451 }
452
453 /**
454 * Returns the result of interpreting the object as an instance of '<em>VLS Variable</em>'.
455 * <!-- begin-user-doc -->
456 * This implementation returns null;
457 * returning a non-null result will terminate the switch.
458 * <!-- end-user-doc -->
459 * @param object the target of the switch.
460 * @return the result of interpreting the object as an instance of '<em>VLS Variable</em>'.
461 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
462 * @generated
463 */
464 public T caseVLSVariable(VLSVariable object)
465 {
466 return null;
467 }
468
469 /**
470 * Returns the result of interpreting the object as an instance of '<em>VLS Function Fof</em>'.
471 * <!-- begin-user-doc -->
472 * This implementation returns null;
473 * returning a non-null result will terminate the switch.
474 * <!-- end-user-doc -->
475 * @param object the target of the switch.
476 * @return the result of interpreting the object as an instance of '<em>VLS Function Fof</em>'.
477 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
478 * @generated
479 */
480 public T caseVLSFunctionFof(VLSFunctionFof object)
481 {
482 return null;
483 }
484
485 /**
486 * Returns the result of interpreting the object as an instance of '<em>VLS Defined Term</em>'.
487 * <!-- begin-user-doc -->
488 * This implementation returns null;
489 * returning a non-null result will terminate the switch.
490 * <!-- end-user-doc -->
491 * @param object the target of the switch.
492 * @return the result of interpreting the object as an instance of '<em>VLS Defined Term</em>'.
493 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
494 * @generated
495 */
496 public T caseVLSDefinedTerm(VLSDefinedTerm object)
497 {
498 return null;
499 }
500
501 /**
502 * Returns the result of interpreting the object as an instance of '<em>VLS Equivalent</em>'.
503 * <!-- begin-user-doc -->
504 * This implementation returns null;
505 * returning a non-null result will terminate the switch.
506 * <!-- end-user-doc -->
507 * @param object the target of the switch.
508 * @return the result of interpreting the object as an instance of '<em>VLS Equivalent</em>'.
509 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
510 * @generated
511 */
512 public T caseVLSEquivalent(VLSEquivalent object)
513 {
514 return null;
515 }
516
517 /**
518 * Returns the result of interpreting the object as an instance of '<em>VLS Implies</em>'.
519 * <!-- begin-user-doc -->
520 * This implementation returns null;
521 * returning a non-null result will terminate the switch.
522 * <!-- end-user-doc -->
523 * @param object the target of the switch.
524 * @return the result of interpreting the object as an instance of '<em>VLS Implies</em>'.
525 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
526 * @generated
527 */
528 public T caseVLSImplies(VLSImplies object)
529 {
530 return null;
531 }
532
533 /**
534 * Returns the result of interpreting the object as an instance of '<em>VLS Rev Implies</em>'.
535 * <!-- begin-user-doc -->
536 * This implementation returns null;
537 * returning a non-null result will terminate the switch.
538 * <!-- end-user-doc -->
539 * @param object the target of the switch.
540 * @return the result of interpreting the object as an instance of '<em>VLS Rev Implies</em>'.
541 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
542 * @generated
543 */
544 public T caseVLSRevImplies(VLSRevImplies object)
545 {
546 return null;
547 }
548
549 /**
550 * Returns the result of interpreting the object as an instance of '<em>VLS Xnor</em>'.
551 * <!-- begin-user-doc -->
552 * This implementation returns null;
553 * returning a non-null result will terminate the switch.
554 * <!-- end-user-doc -->
555 * @param object the target of the switch.
556 * @return the result of interpreting the object as an instance of '<em>VLS Xnor</em>'.
557 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
558 * @generated
559 */
560 public T caseVLSXnor(VLSXnor object)
561 {
562 return null;
563 }
564
565 /**
566 * Returns the result of interpreting the object as an instance of '<em>VLS Nor</em>'.
567 * <!-- begin-user-doc -->
568 * This implementation returns null;
569 * returning a non-null result will terminate the switch.
570 * <!-- end-user-doc -->
571 * @param object the target of the switch.
572 * @return the result of interpreting the object as an instance of '<em>VLS Nor</em>'.
573 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
574 * @generated
575 */
576 public T caseVLSNor(VLSNor object)
577 {
578 return null;
579 }
580
581 /**
582 * Returns the result of interpreting the object as an instance of '<em>VLS Nand</em>'.
583 * <!-- begin-user-doc -->
584 * This implementation returns null;
585 * returning a non-null result will terminate the switch.
586 * <!-- end-user-doc -->
587 * @param object the target of the switch.
588 * @return the result of interpreting the object as an instance of '<em>VLS Nand</em>'.
589 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
590 * @generated
591 */
592 public T caseVLSNand(VLSNand object)
593 {
594 return null;
595 }
596
597 /**
598 * Returns the result of interpreting the object as an instance of '<em>VLS And</em>'.
599 * <!-- begin-user-doc -->
600 * This implementation returns null;
601 * returning a non-null result will terminate the switch.
602 * <!-- end-user-doc -->
603 * @param object the target of the switch.
604 * @return the result of interpreting the object as an instance of '<em>VLS And</em>'.
605 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
606 * @generated
607 */
608 public T caseVLSAnd(VLSAnd object)
609 {
610 return null;
611 }
612
613 /**
614 * Returns the result of interpreting the object as an instance of '<em>VLS Or</em>'.
615 * <!-- begin-user-doc -->
616 * This implementation returns null;
617 * returning a non-null result will terminate the switch.
618 * <!-- end-user-doc -->
619 * @param object the target of the switch.
620 * @return the result of interpreting the object as an instance of '<em>VLS Or</em>'.
621 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
622 * @generated
623 */
624 public T caseVLSOr(VLSOr object)
625 {
626 return null;
627 }
628
629 /**
630 * Returns the result of interpreting the object as an instance of '<em>VLS Universal Quantifier</em>'.
631 * <!-- begin-user-doc -->
632 * This implementation returns null;
633 * returning a non-null result will terminate the switch.
634 * <!-- end-user-doc -->
635 * @param object the target of the switch.
636 * @return the result of interpreting the object as an instance of '<em>VLS Universal Quantifier</em>'.
637 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
638 * @generated
639 */
640 public T caseVLSUniversalQuantifier(VLSUniversalQuantifier object)
641 {
642 return null;
643 }
644
645 /**
646 * Returns the result of interpreting the object as an instance of '<em>VLS Existential Quantifier</em>'.
647 * <!-- begin-user-doc -->
648 * This implementation returns null;
649 * returning a non-null result will terminate the switch.
650 * <!-- end-user-doc -->
651 * @param object the target of the switch.
652 * @return the result of interpreting the object as an instance of '<em>VLS Existential Quantifier</em>'.
653 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
654 * @generated
655 */
656 public T caseVLSExistentialQuantifier(VLSExistentialQuantifier object)
657 {
658 return null;
659 }
660
661 /**
662 * Returns the result of interpreting the object as an instance of '<em>VLS Unary Negation</em>'.
663 * <!-- begin-user-doc -->
664 * This implementation returns null;
665 * returning a non-null result will terminate the switch.
666 * <!-- end-user-doc -->
667 * @param object the target of the switch.
668 * @return the result of interpreting the object as an instance of '<em>VLS Unary Negation</em>'.
669 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
670 * @generated
671 */
672 public T caseVLSUnaryNegation(VLSUnaryNegation object)
673 {
674 return null;
675 }
676
677 /**
678 * Returns the result of interpreting the object as an instance of '<em>VLS Inequality</em>'.
679 * <!-- begin-user-doc -->
680 * This implementation returns null;
681 * returning a non-null result will terminate the switch.
682 * <!-- end-user-doc -->
683 * @param object the target of the switch.
684 * @return the result of interpreting the object as an instance of '<em>VLS Inequality</em>'.
685 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
686 * @generated
687 */
688 public T caseVLSInequality(VLSInequality object)
689 {
690 return null;
691 }
692
693 /**
694 * Returns the result of interpreting the object as an instance of '<em>VLS Equality</em>'.
695 * <!-- begin-user-doc -->
696 * This implementation returns null;
697 * returning a non-null result will terminate the switch.
698 * <!-- end-user-doc -->
699 * @param object the target of the switch.
700 * @return the result of interpreting the object as an instance of '<em>VLS Equality</em>'.
701 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
702 * @generated
703 */
704 public T caseVLSEquality(VLSEquality object)
705 {
706 return null;
707 }
708
709 /**
710 * Returns the result of interpreting the object as an instance of '<em>VLS Assignment</em>'.
711 * <!-- begin-user-doc -->
712 * This implementation returns null;
713 * returning a non-null result will terminate the switch.
714 * <!-- end-user-doc -->
715 * @param object the target of the switch.
716 * @return the result of interpreting the object as an instance of '<em>VLS Assignment</em>'.
717 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
718 * @generated
719 */
720 public T caseVLSAssignment(VLSAssignment object)
721 {
722 return null;
723 }
724
725 /**
726 * Returns the result of interpreting the object as an instance of '<em>VLS Constant</em>'.
727 * <!-- begin-user-doc -->
728 * This implementation returns null;
729 * returning a non-null result will terminate the switch.
730 * <!-- end-user-doc -->
731 * @param object the target of the switch.
732 * @return the result of interpreting the object as an instance of '<em>VLS Constant</em>'.
733 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
734 * @generated
735 */
736 public T caseVLSConstant(VLSConstant object)
737 {
738 return null;
739 }
740
741 /**
742 * Returns the result of interpreting the object as an instance of '<em>VLS True</em>'.
743 * <!-- begin-user-doc -->
744 * This implementation returns null;
745 * returning a non-null result will terminate the switch.
746 * <!-- end-user-doc -->
747 * @param object the target of the switch.
748 * @return the result of interpreting the object as an instance of '<em>VLS True</em>'.
749 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
750 * @generated
751 */
752 public T caseVLSTrue(VLSTrue object)
753 {
754 return null;
755 }
756
757 /**
758 * Returns the result of interpreting the object as an instance of '<em>VLS False</em>'.
759 * <!-- begin-user-doc -->
760 * This implementation returns null;
761 * returning a non-null result will terminate the switch.
762 * <!-- end-user-doc -->
763 * @param object the target of the switch.
764 * @return the result of interpreting the object as an instance of '<em>VLS False</em>'.
765 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
766 * @generated
767 */
768 public T caseVLSFalse(VLSFalse object)
769 {
770 return null;
771 }
772
773 /**
774 * Returns the result of interpreting the object as an instance of '<em>VLS Function</em>'.
775 * <!-- begin-user-doc -->
776 * This implementation returns null;
777 * returning a non-null result will terminate the switch.
778 * <!-- end-user-doc -->
779 * @param object the target of the switch.
780 * @return the result of interpreting the object as an instance of '<em>VLS Function</em>'.
781 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
782 * @generated
783 */
784 public T caseVLSFunction(VLSFunction object)
785 {
786 return null;
787 }
788
789 /**
790 * Returns the result of interpreting the object as an instance of '<em>VLS Less</em>'.
791 * <!-- begin-user-doc -->
792 * This implementation returns null;
793 * returning a non-null result will terminate the switch.
794 * <!-- end-user-doc -->
795 * @param object the target of the switch.
796 * @return the result of interpreting the object as an instance of '<em>VLS Less</em>'.
797 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
798 * @generated
799 */
800 public T caseVLSLess(VLSLess object)
801 {
802 return null;
803 }
804
805 /**
806 * Returns the result of interpreting the object as an instance of '<em>VLS Int</em>'.
807 * <!-- begin-user-doc -->
808 * This implementation returns null;
809 * returning a non-null result will terminate the switch.
810 * <!-- end-user-doc -->
811 * @param object the target of the switch.
812 * @return the result of interpreting the object as an instance of '<em>VLS Int</em>'.
813 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
814 * @generated
815 */
816 public T caseVLSInt(VLSInt object)
817 {
818 return null;
819 }
820
821 /**
822 * Returns the result of interpreting the object as an instance of '<em>VLS Real</em>'.
823 * <!-- begin-user-doc -->
824 * This implementation returns null;
825 * returning a non-null result will terminate the switch.
826 * <!-- end-user-doc -->
827 * @param object the target of the switch.
828 * @return the result of interpreting the object as an instance of '<em>VLS Real</em>'.
829 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
830 * @generated
831 */
832 public T caseVLSReal(VLSReal object)
833 {
834 return null;
835 }
836
837 /**
838 * Returns the result of interpreting the object as an instance of '<em>VLS Rational</em>'.
839 * <!-- begin-user-doc -->
840 * This implementation returns null;
841 * returning a non-null result will terminate the switch.
842 * <!-- end-user-doc -->
843 * @param object the target of the switch.
844 * @return the result of interpreting the object as an instance of '<em>VLS Rational</em>'.
845 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
846 * @generated
847 */
848 public T caseVLSRational(VLSRational object)
849 {
850 return null;
851 }
852
853 /**
854 * Returns the result of interpreting the object as an instance of '<em>VLS Double Quote</em>'.
855 * <!-- begin-user-doc -->
856 * This implementation returns null;
857 * returning a non-null result will terminate the switch.
858 * <!-- end-user-doc -->
859 * @param object the target of the switch.
860 * @return the result of interpreting the object as an instance of '<em>VLS Double Quote</em>'.
861 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
862 * @generated
863 */
864 public T caseVLSDoubleQuote(VLSDoubleQuote object)
865 {
866 return null;
867 }
868
869 /**
870 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
871 * <!-- begin-user-doc -->
872 * This implementation returns null;
873 * returning a non-null result will terminate the switch, but this is the last case anyway.
874 * <!-- end-user-doc -->
875 * @param object the target of the switch.
876 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
877 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
878 * @generated
879 */
880 @Override
881 public T defaultCase(EObject object)
882 {
883 return null;
884 }
885
886} //VampireLanguageSwitch
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/GenerateVampireLanguage.mwe2 b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/GenerateVampireLanguage.mwe2
new file mode 100644
index 00000000..903ac83b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/GenerateVampireLanguage.mwe2
@@ -0,0 +1,44 @@
1module ca.mcgill.ecse.dslreasoner.GenerateVampireLanguage
2
3import org.eclipse.xtext.xtext.generator.*
4import org.eclipse.xtext.xtext.generator.model.project.*
5
6var rootPath = ".."
7
8Workflow {
9
10 component = XtextGenerator {
11 configuration = {
12 project = StandardProjectConfig {
13 baseName = "ca.mcgill.ecse.dslreasoner.vampire.language"
14 rootPath = rootPath
15 runtimeTest = {
16 enabled = true
17 }
18 eclipsePlugin = {
19 enabled = true
20 }
21 eclipsePluginTest = {
22 enabled = true
23 }
24 createEclipseMetaData = true
25 }
26 code = {
27 encoding = "UTF-8"
28 lineDelimiter = "\r\n"
29 fileHeader = "/*\n * generated by Xtext \${version}\n */"
30 }
31 }
32 language = StandardLanguage {
33 name = "ca.mcgill.ecse.dslreasoner.VampireLanguage"
34 fileExtensions = "tptp"
35
36 serializer = {
37 generateStub = false
38 }
39 validator = {
40 // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
41 }
42 }
43 }
44}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtext b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtext
new file mode 100644
index 00000000..daa15ca1
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtext
@@ -0,0 +1,278 @@
1grammar ca.mcgill.ecse.dslreasoner.VampireLanguage with org.eclipse.xtext.common.Terminals hidden (WS)
2
3generate vampireLanguage "http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage"
4
5//@@@@@@@@@@@
6//2 things TODO:
7//1. fix anotations (ln77)
8//2. can only use declared variables in formula (ln 158)
9
10//@@@@@@@@@@@
11
12VampireModel:
13 // TODO ensures there is always exactly 1 conjecture
14 (
15 includes += VLSInclude |
16 comments += VLSComment |
17 formulas += VLSFofFormula
18 )*
19;
20
21
22
23//////////////////////////////////
24// VLS terminals
25//////////////////////////////////
26
27terminal ALPHA_NUMERIC: ( 'a'..'z' | 'A'..'Z' | '0'..'9' | '_');
28terminal UPPER_WORD_ID: ('A'..'Z') (ALPHA_NUMERIC)*;
29terminal LOWER_WORD_ID: ('a'..'z') (ALPHA_NUMERIC)*;
30
31
32//TODO MIGHT NEED TO IMPLEMENT SOME WAY TO ONLY CONSIDER WHAT IS INSIDE QUOTES AS NAME
33//incorporate quotes in the line of calling. ex. "'" name=SINGLEQUOTE "'"
34terminal DOUBLE_QUOTE: '"' ( '\\' ('"'|'\\') | !('\\'|'"') )* '"';//from terminal STRING rule, positive about this
35terminal SINGLE_QUOTE: "'" ( '\\' ("'"|'\\') | !('\\'|"'") )+ "'";//from terminal STRING rule, positive about this
36
37terminal SIGN: ('+' | '-');
38
39terminal DOLLAR_ID: ('$') (LOWER_WORD_ID);
40terminal DOUBLE_DOLLAR_ID: ('$$') (LOWER_WORD_ID);
41
42terminal LITERAL: '0' | ('1'..'9') (INT)?;
43terminal SIGNED_LITERAL: (SIGN)* (LITERAL);
44
45terminal UNSIGNED_REAL_FRAC_ID: (LITERAL) ('.') (INT);
46terminal UNSIGNED_REAL_EXP_ID: (LITERAL | UNSIGNED_REAL_FRAC_ID) ('Ee') (SIGN)* (INT) ;
47terminal SIGNED_REAL_ID: (SIGN)* (UNSIGNED_REAL_FRAC_ID | UNSIGNED_REAL_EXP_ID);
48
49terminal UNSIGNED_RAT_ID: (LITERAL) ('/') ('1'..'9') (INT)? ;
50terminal SIGNED_RAT_ID: (SIGN)* (UNSIGNED_RAT_ID);
51
52//Overwriting is necessary
53terminal ANY_OTHER: '%' (!('\n'|'\r'))* ('\r');
54terminal SINGLE_COMMENT: ANY_OTHER;
55//terminal ID: ( !('('|')'|'\r'|'\n') )+ ;
56
57
58
59//////////////////////////////////
60// VLS types
61//////////////////////////////////
62
63// <includes>
64VLSInclude:
65 'include(' fileName = SINGLE_QUOTE ( ',[' names += VLSName (',' names += VLSName)* ']' )?
66;
67
68VLSName:
69 name = (LOWER_WORD_ID | SINGLE_QUOTE | LITERAL | SIGNED_LITERAL)
70;
71
72// <comments>
73VLSComment:
74 comment = SINGLE_COMMENT
75 //need to add a new line at the end of the file for the case where the last line is a comment
76;
77
78//VLSConstantDeclaration: name = (LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID );
79
80// <FOF formulas>
81VLSFofFormula:
82 'fof' '(' name = (LOWER_WORD_ID | SIGNED_LITERAL | SINGLE_QUOTE) ',' fofRole = VLSRole ',' fofFormula = VLSTerm (',' annotations = VLSAnnotation)? ')' '.'
83;
84/*
85//NAME
86VLSName:
87 //(atomic_Word = Atomic_Word | integer = Integer | single_quote_word = Single_Quote_Word)
88 name = (LOWER_WORD_ID | SIGNED_INT_ID | SINGLE_QUOTE)
89;
90*/
91//<ROLE>
92VLSRole:
93 VLSAxiom | VLSConjecture | VLSHypothesis | VLSDefinition |
94 VLSAssumption | VLSLemma | VLSTheorem | VLSCorollary | VLSNegated_Conjecture |
95 VLSPlain | VLSType |VLSFi_Domain | VLSFi_Functors | VLSFi_Predicates | VLSUnknown
96;
97
98VLSAxiom:
99 "axiom"
100;
101
102VLSConjecture:
103 "conjecture"
104;
105
106VLSHypothesis:
107 "hypothesis"
108;
109
110VLSDefinition:
111 "definition"
112;
113
114VLSAssumption:
115 "assumption"
116;
117
118VLSLemma:
119 "lemma"
120;
121
122VLSTheorem:
123 "theorem"
124;
125
126VLSCorollary:
127 "corollary"
128;
129
130VLSNegated_Conjecture:
131 "negated_conjecture"
132;
133
134VLSPlain:
135 "plain"
136;
137
138VLSType:
139 "type"
140;
141
142VLSFi_Domain:
143 "fi_domain"
144;
145
146VLSFi_Functors:
147 "fi_functors"
148;
149
150VLSFi_Predicates:
151 "fi_predicates"
152;
153
154VLSUnknown:
155 "unknown"
156;
157
158// <ANNOTATION>
159// Not at all based on the website. based on what we think the output will be like
160VLSAnnotation:
161 ('[')? (name = (LOWER_WORD_ID | SINGLE_QUOTE | VLSRole))? ( '(' followup = VLSAnnotationTerms ')' )? (']')?
162;
163
164VLSAnnotationTerms returns VLSAnnotation:
165 terms += VLSAnnotation (',' terms += VLSAnnotation )*
166;
167
168//////////////////////////////////
169// VLS Terms
170//////////////////////////////////
171
172VLSTerm:
173 //( VLSLogic | VLSSequent)
174 VLSBinary
175;
176//*
177//VLSBinaryFormula
178VLSBinary returns VLSTerm:
179 VLSUnitaryFormula
180 (
181 (({VLSEquivalent.left = current} "<=>" |
182 {VLSImplies.left = current} "=>" |
183 {VLSRevImplies.left = current} "<=" |
184 {VLSXnor.left = current} "<~>" |
185 {VLSNor.left = current} "~|" |
186 {VLSNand.left = current} "~&") right = VLSUnitaryFormula)
187 |
188 ({VLSAnd.left = current} '&' right = VLSUnitaryFormula)+
189 |
190 ({VLSOr.left = current} '|' right = VLSUnitaryFormula)+
191 )?
192;
193
194//VLSUnitaryFormula
195VLSUnitaryFormula returns VLSTerm:
196 VLSUniversalQuantifier | VLSExistentialQuantifier | VLSUnaryNegation | VLSUnaryInfix
197 //| VLSEquality
198 | '(' VLSTerm ')'
199;
200
201VLSUniversalQuantifier returns VLSTerm:
202 {VLSUniversalQuantifier} (("!") '[' variables += VLSVariable (',' variables += VLSVariable)* ']' ':') operand = VLSUnitaryFormula
203;
204
205VLSExistentialQuantifier returns VLSTerm:
206 {VLSExistentialQuantifier} (("?") '[' variables += VLSVariable (',' variables += VLSVariable)* ']' ':') operand = VLSUnitaryFormula
207;
208
209VLSUnaryNegation returns VLSTerm:
210 {VLSUnaryNegation} ('~') operand = VLSUnitaryFormula
211;
212
213VLSUnaryInfix returns VLSTerm:
214 VLSAtomic (({VLSInequality.left = current} "!=" |
215 {VLSEquality.left = current} "=" |
216 {VLSAssignment.left = current} ":=")
217 right = VLSAtomic)?
218;
219
220//NOT SUREEEE
221//VLSEquality returns VLSTerm:
222// VLSFofTerm ({VLSEquality.left = current} "=" right = VLSFofTerm)?
223//
224//;
225
226/*
227enum VLSDefinedFunctor:
228 UMINUS='$uminus' | SUM='$sum' | DIFFERENCE='$difference' | PRODUCT='$product' | QUOTIENT='$quotient' |
229 QUOTIENT_E='$quotient_e' | QUOTIENT_T='$quotient_t' | QUOTIENT_F='$quotient_f' | REMAINDER_E='$remainder_e' |
230 REMAINDER_T='$remainder_t' | REMAINDER_F='$remainder_f' | FLOOR='$floor' | CEILING='$ceiling' |
231 TRUNCATE='$truncate' | ROUND='$round' | TO_INT='$to_int' | TO_RAT='$to_rat' | TO_REAL='$to_real'
232 ;
233*/
234
235VLSAtomic returns VLSTerm:
236 VLSAtomicConstant | VLSAtomicFunction | VLSVariable
237 | VLSDefinedTerm //temporary solution. this is only valid for equality, not for != or :=
238 //| VLSEquality
239;
240
241VLSAtomicConstant returns VLSTerm:
242 //{VLSConstant} name = VLSConstantDeclaration |
243 {VLSConstant} name = (LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole) |
244 {VLSTrue} '$true' |
245 {VLSFalse} '$false'
246;
247
248VLSAtomicFunction returns VLSTerm:
249 //? on next line causes warning
250 //TODO might need replace DOLLAR_ID with enum rule
251 //{VLSFunction} name = VLSConstantDeclaration ( '(' terms += VLSFofTerm (',' terms += VLSFofTerm)* ')' ) |
252 {VLSFunction} constant = (LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID | VLSRole ) ( '(' terms += VLSFofTerm (',' terms += VLSFofTerm)* ')') |
253 {VLSLess} name = '$less' '(' terms += VLSFofTerm ',' terms += VLSFofTerm ')'
254;
255
256VLSVariable :
257
258 name = UPPER_WORD_ID
259;
260
261VLSFofTerm returns VLSTerm:
262 //(VLSVariable | VLSFunction | VLSTffConditional | VLSTffLet | VLSTffTuple)
263 (VLSVariable | VLSFunctionFof | VLSDefinedTerm )
264;
265
266VLSFunctionFof:
267 //? on next line causes warning
268 //TODO might need replace DOLLAR_ID with enum rule
269 functor = (LOWER_WORD_ID | SINGLE_QUOTE | DOLLAR_ID | DOUBLE_DOLLAR_ID ) ( '(' terms += VLSFofTerm (',' terms += VLSFofTerm)* ')')?
270;
271
272VLSDefinedTerm:
273 {VLSInt} value = SIGNED_LITERAL |
274 {VLSReal} value = SIGNED_REAL_ID |
275 {VLSRational} value = SIGNED_RAT_ID |
276 {VLSDoubleQuote} value = DOUBLE_QUOTE
277;
278
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguageRuntimeModule.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguageRuntimeModule.xtend
new file mode 100644
index 00000000..162df1e2
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguageRuntimeModule.xtend
@@ -0,0 +1,11 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner
5
6
7/**
8 * Use this class to register components to be used at runtime / without the Equinox extension registry.
9 */
10class VampireLanguageRuntimeModule extends AbstractVampireLanguageRuntimeModule {
11}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetup.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetup.xtend
new file mode 100644
index 00000000..38a05c51
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetup.xtend
@@ -0,0 +1,15 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner
5
6
7/**
8 * Initialization support for running Xtext languages without Equinox extension registry.
9 */
10class VampireLanguageStandaloneSetup extends VampireLanguageStandaloneSetupGenerated {
11
12 def static void doSetup() {
13 new VampireLanguageStandaloneSetup().createInjectorAndDoEMFRegistration()
14 }
15}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/generator/VampireLanguageGenerator.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/generator/VampireLanguageGenerator.xtend
new file mode 100644
index 00000000..f099486a
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/generator/VampireLanguageGenerator.xtend
@@ -0,0 +1,25 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.generator
5
6import org.eclipse.emf.ecore.resource.Resource
7import org.eclipse.xtext.generator.AbstractGenerator
8import org.eclipse.xtext.generator.IFileSystemAccess2
9import org.eclipse.xtext.generator.IGeneratorContext
10
11/**
12 * Generates code from your model files on save.
13 *
14 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
15 */
16class VampireLanguageGenerator extends AbstractGenerator {
17
18 override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) {
19// fsa.generateFile('greetings.txt', 'People to greet: ' +
20// resource.allContents
21// .filter(Greeting)
22// .map[name]
23// .join(', '))
24 }
25}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/scoping/VampireLanguageScopeProvider.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/scoping/VampireLanguageScopeProvider.xtend
new file mode 100644
index 00000000..d6b4a1ae
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/scoping/VampireLanguageScopeProvider.xtend
@@ -0,0 +1,15 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.scoping
5
6
7/**
8 * This class contains custom scoping description.
9 *
10 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping
11 * on how and when to use it.
12 */
13class VampireLanguageScopeProvider extends AbstractVampireLanguageScopeProvider {
14
15}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/validation/VampireLanguageValidator.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/validation/VampireLanguageValidator.xtend
new file mode 100644
index 00000000..8d7a9f76
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/validation/VampireLanguageValidator.xtend
@@ -0,0 +1,25 @@
1/*
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.validation
5
6
7/**
8 * This class contains custom validation rules.
9 *
10 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
11 */
12class VampireLanguageValidator extends AbstractVampireLanguageValidator {
13
14// public static val INVALID_NAME = 'invalidName'
15//
16// @Check
17// def checkGreetingStartsWithCapital(Greeting greeting) {
18// if (!Character.isUpperCase(greeting.name.charAt(0))) {
19// warning('Name should start with a capital',
20// VampireLanguagePackage.Literals.GREETING__NAME,
21// INVALID_NAME)
22// }
23// }
24
25}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin
new file mode 100644
index 00000000..4bb663d0
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin
new file mode 100644
index 00000000..5351805c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.gitignore
new file mode 100644
index 00000000..a979630b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.gitignore
@@ -0,0 +1,2 @@
1/.VampireLanguageRuntimeModule.java._trace
2/.VampireLanguageStandaloneSetup.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageRuntimeModule.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageRuntimeModule.java
new file mode 100644
index 00000000..4592f574
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageRuntimeModule.java
@@ -0,0 +1,13 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner;
5
6import ca.mcgill.ecse.dslreasoner.AbstractVampireLanguageRuntimeModule;
7
8/**
9 * Use this class to register components to be used at runtime / without the Equinox extension registry.
10 */
11@SuppressWarnings("all")
12public class VampireLanguageRuntimeModule extends AbstractVampireLanguageRuntimeModule {
13}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetup.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetup.java
new file mode 100644
index 00000000..e33cd1fe
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/VampireLanguageStandaloneSetup.java
@@ -0,0 +1,16 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner;
5
6import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated;
7
8/**
9 * Initialization support for running Xtext languages without Equinox extension registry.
10 */
11@SuppressWarnings("all")
12public class VampireLanguageStandaloneSetup extends VampireLanguageStandaloneSetupGenerated {
13 public static void doSetup() {
14 new VampireLanguageStandaloneSetup().createInjectorAndDoEMFRegistration();
15 }
16}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin
new file mode 100644
index 00000000..96dafd7d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.gitignore
new file mode 100644
index 00000000..33c05454
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.gitignore
@@ -0,0 +1 @@
/.VampireLanguageGenerator.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/VampireLanguageGenerator.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/VampireLanguageGenerator.java
new file mode 100644
index 00000000..038c7c4f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/VampireLanguageGenerator.java
@@ -0,0 +1,21 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.generator;
5
6import org.eclipse.emf.ecore.resource.Resource;
7import org.eclipse.xtext.generator.AbstractGenerator;
8import org.eclipse.xtext.generator.IFileSystemAccess2;
9import org.eclipse.xtext.generator.IGeneratorContext;
10
11/**
12 * Generates code from your model files on save.
13 *
14 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
15 */
16@SuppressWarnings("all")
17public class VampireLanguageGenerator extends AbstractGenerator {
18 @Override
19 public void doGenerate(final Resource resource, final IFileSystemAccess2 fsa, final IGeneratorContext context) {
20 }
21}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin
new file mode 100644
index 00000000..70c2d95d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.gitignore
new file mode 100644
index 00000000..ef7d2286
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.gitignore
@@ -0,0 +1 @@
/.VampireLanguageScopeProvider.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/VampireLanguageScopeProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/VampireLanguageScopeProvider.java
new file mode 100644
index 00000000..2ea3ee1e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/VampireLanguageScopeProvider.java
@@ -0,0 +1,16 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.scoping;
5
6import ca.mcgill.ecse.dslreasoner.scoping.AbstractVampireLanguageScopeProvider;
7
8/**
9 * This class contains custom scoping description.
10 *
11 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping
12 * on how and when to use it.
13 */
14@SuppressWarnings("all")
15public class VampireLanguageScopeProvider extends AbstractVampireLanguageScopeProvider {
16}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin
new file mode 100644
index 00000000..1c03c36f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.gitignore
new file mode 100644
index 00000000..60abd43f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.gitignore
@@ -0,0 +1 @@
/.VampireLanguageValidator.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/VampireLanguageValidator.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/VampireLanguageValidator.java
new file mode 100644
index 00000000..9d112239
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/VampireLanguageValidator.java
@@ -0,0 +1,15 @@
1/**
2 * generated by Xtext 2.12.0
3 */
4package ca.mcgill.ecse.dslreasoner.validation;
5
6import ca.mcgill.ecse.dslreasoner.validation.AbstractVampireLanguageValidator;
7
8/**
9 * This class contains custom validation rules.
10 *
11 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
12 */
13@SuppressWarnings("all")
14public class VampireLanguageValidator extends AbstractVampireLanguageValidator {
15}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.classpath b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.classpath
new file mode 100644
index 00000000..4cc715d5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.classpath
@@ -0,0 +1,8 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5 <classpathentry kind="src" path="src"/>
6 <classpathentry kind="src" path="src-gen"/>
7 <classpathentry kind="output" path="bin"/>
8</classpath>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.gitignore
@@ -0,0 +1 @@
/bin/
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.project b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.project
new file mode 100644
index 00000000..98be876b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.project
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>ca.mcgill.ecse.dslreasoner.vampire.queries</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.jdt.core.javabuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.ManifestBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.pde.SchemaBuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.pde.PluginNature</nature>
36 <nature>org.eclipse.jdt.core.javanature</nature>
37 <nature>org.eclipse.viatra.query.projectnature</nature>
38 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
39 </natures>
40</projectDescription>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.settings/org.eclipse.jdt.core.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/META-INF/MANIFEST.MF b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..1c1d9dba
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: Queries
4Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.vampire.queries;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Export-Package: ca.mcgill.ecse.dslreasoner.vampire.queries
7Require-Bundle: org.eclipse.emf.ecore,
8 org.eclipse.viatra.query.runtime.rete,
9 org.eclipse.viatra.query.runtime.localsearch,
10 org.eclipse.xtext.xbase.lib,
11 ca.mcgill.ecse.dslreasoner.vampire.language;bundle-version="1.0.0",
12 org.eclipse.viatra.query.runtime;bundle-version="2.1.0"
13Bundle-RequiredExecutionEnvironment: JavaSE-1.8
14Import-Package: org.apache.log4j
15Automatic-Module-Name: ca.mcgill.ecse.dslreasoner.vampire.queries
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/build.properties b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/build.properties
new file mode 100644
index 00000000..88d3713e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/build.properties
@@ -0,0 +1,6 @@
1bin.includes = META-INF/,\
2 .,\
3 plugin.xml
4source.. = src/,\
5 src-gen/
6output.. = bin/
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/plugin.xml b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/plugin.xml
new file mode 100644
index 00000000..95881b26
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/plugin.xml
@@ -0,0 +1,18 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.4"?><plugin>
2 <extension id="ca.mcgill.ecse.dslreasoner.vampire.queries.VampireQueries" point="org.eclipse.viatra.query.runtime.queryspecification">
3 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:ca.mcgill.ecse.dslreasoner.vampire.queries.VampireQueries" id="ca.mcgill.ecse.dslreasoner.vampire.queries.VampireQueries">
4 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSComment"/>
5 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFofFormula"/>
6 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnnotation"/>
7 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSOr"/>
8 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnd"/>
9 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSEquivalent"/>
10 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunction"/>
11 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSExistentialQuantifier"/>
12 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUniversalQuantifier"/>
13 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUnaryNegation"/>
14 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSInequality"/>
15 <query-specification fqn="ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunctionFof"/>
16 </group>
17 </extension>
18</plugin>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/.gitignore
new file mode 100644
index 00000000..190dbd80
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/.gitignore
@@ -0,0 +1,13 @@
1/.VLSAnd.java._trace
2/.VLSAnnotation.java._trace
3/.VLSComment.java._trace
4/.VLSEquivalent.java._trace
5/.VLSExistentialQuantifier.java._trace
6/.VLSFofFormula.java._trace
7/.VLSFunction.java._trace
8/.VLSFunctionFof.java._trace
9/.VLSInequality.java._trace
10/.VLSOr.java._trace
11/.VLSUnaryNegation.java._trace
12/.VLSUniversalQuantifier.java._trace
13/.VampireQueries.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSAnd.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSAnd.java
new file mode 100644
index 00000000..23d9293f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSAnd.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSAnd(term: VLSAnd){
44 * VLSAnd(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSAnd extends BaseGeneratedEMFQuerySpecification<VLSAnd.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnd pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnd";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSAnd.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSAnd.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSAnd.Match)) {
140 VLSAnd.Match other = (VLSAnd.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSAnd specification() {
154 return VLSAnd.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSAnd.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSAnd.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSAnd.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSAnd.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSAnd.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnd pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSAnd(term: VLSAnd){
227 * VLSAnd(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSAnd
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSAnd.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSAnd.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSAnd.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSAnd.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSAnd.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSAnd.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSAnd.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm, final Consumer<? super VLSAnd.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSAnd.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd pTerm) {
356 return VLSAnd.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSAnd.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSAnd.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSAnd.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSAnd.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSAnd.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSAnd.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSAnd.Matcher> querySpecification() {
422 return VLSAnd.instance();
423 }
424 }
425
426 private VLSAnd() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSAnd instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSAnd.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSAnd.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSAnd.Matcher instantiate() {
450 return VLSAnd.Matcher.create();
451 }
452
453 @Override
454 public VLSAnd.Match newEmptyMatch() {
455 return VLSAnd.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSAnd.Match newMatch(final Object... parameters) {
460 return VLSAnd.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnd (visibility: PUBLIC, simpleName: VLSAnd, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnd, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnd (visibility: PUBLIC, simpleName: VLSAnd, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnd, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSAnd INSTANCE = new VLSAnd();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSAnd.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSAnd")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnd";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSAnd")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSAnd(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSAnd")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSAnnotation.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSAnnotation.java
new file mode 100644
index 00000000..282d813f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSAnnotation.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSAnnotation(term: VLSAnnotation){
44 * VLSAnnotation(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSAnnotation extends BaseGeneratedEMFQuerySpecification<VLSAnnotation.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnnotation pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnnotation";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSAnnotation.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSAnnotation.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSAnnotation.Match)) {
140 VLSAnnotation.Match other = (VLSAnnotation.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSAnnotation specification() {
154 return VLSAnnotation.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSAnnotation.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSAnnotation.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSAnnotation.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSAnnotation.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSAnnotation.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnnotation pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSAnnotation(term: VLSAnnotation){
227 * VLSAnnotation(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSAnnotation
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSAnnotation.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSAnnotation.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSAnnotation.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSAnnotation.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSAnnotation.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSAnnotation.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSAnnotation.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm, final Consumer<? super VLSAnnotation.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSAnnotation.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation pTerm) {
356 return VLSAnnotation.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSAnnotation.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSAnnotation.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSAnnotation.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSAnnotation.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSAnnotation.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSAnnotation.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSAnnotation.Matcher> querySpecification() {
422 return VLSAnnotation.instance();
423 }
424 }
425
426 private VLSAnnotation() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSAnnotation instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSAnnotation.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSAnnotation.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSAnnotation.Matcher instantiate() {
450 return VLSAnnotation.Matcher.create();
451 }
452
453 @Override
454 public VLSAnnotation.Match newEmptyMatch() {
455 return VLSAnnotation.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSAnnotation.Match newMatch(final Object... parameters) {
460 return VLSAnnotation.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnnotation (visibility: PUBLIC, simpleName: VLSAnnotation, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnnotation, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnnotation (visibility: PUBLIC, simpleName: VLSAnnotation, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnnotation, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSAnnotation INSTANCE = new VLSAnnotation();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSAnnotation.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnnotation", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSAnnotation")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnnotation";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSAnnotation")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSAnnotation(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSAnnotation")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSComment.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSComment.java
new file mode 100644
index 00000000..ec2bfef3
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSComment.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSComment(term: VLSComment){
44 * VLSComment(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSComment extends BaseGeneratedEMFQuerySpecification<VLSComment.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSComment pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSComment";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSComment.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSComment.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSComment.Match)) {
140 VLSComment.Match other = (VLSComment.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSComment specification() {
154 return VLSComment.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSComment.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSComment.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSComment.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSComment.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSComment.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSComment pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSComment(term: VLSComment){
227 * VLSComment(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSComment
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSComment.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSComment.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSComment.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSComment.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSComment.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSComment.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSComment.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm, final Consumer<? super VLSComment.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSComment.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment pTerm) {
356 return VLSComment.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSComment.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSComment.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSComment.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSComment.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSComment.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSComment.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSComment.Matcher> querySpecification() {
422 return VLSComment.instance();
423 }
424 }
425
426 private VLSComment() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSComment instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSComment.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSComment.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSComment.Matcher instantiate() {
450 return VLSComment.Matcher.create();
451 }
452
453 @Override
454 public VLSComment.Match newEmptyMatch() {
455 return VLSComment.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSComment.Match newMatch(final Object... parameters) {
460 return VLSComment.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSComment (visibility: PUBLIC, simpleName: VLSComment, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSComment, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSComment (visibility: PUBLIC, simpleName: VLSComment, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSComment, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSComment INSTANCE = new VLSComment();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSComment.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSComment")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSComment";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSComment")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSComment(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSComment")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSEquivalent.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSEquivalent.java
new file mode 100644
index 00000000..5a174fed
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSEquivalent.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSEquivalent(term: VLSEquivalent){
44 * VLSEquivalent(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSEquivalent extends BaseGeneratedEMFQuerySpecification<VLSEquivalent.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSEquivalent pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSEquivalent";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSEquivalent.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSEquivalent.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSEquivalent.Match)) {
140 VLSEquivalent.Match other = (VLSEquivalent.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSEquivalent specification() {
154 return VLSEquivalent.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSEquivalent.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSEquivalent.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSEquivalent.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSEquivalent.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSEquivalent.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSEquivalent pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSEquivalent(term: VLSEquivalent){
227 * VLSEquivalent(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSEquivalent
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSEquivalent.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSEquivalent.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSEquivalent.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSEquivalent.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSEquivalent.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSEquivalent.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSEquivalent.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm, final Consumer<? super VLSEquivalent.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSEquivalent.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent pTerm) {
356 return VLSEquivalent.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSEquivalent.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSEquivalent.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSEquivalent.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSEquivalent.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSEquivalent.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSEquivalent.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSEquivalent.Matcher> querySpecification() {
422 return VLSEquivalent.instance();
423 }
424 }
425
426 private VLSEquivalent() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSEquivalent instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSEquivalent.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSEquivalent.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSEquivalent.Matcher instantiate() {
450 return VLSEquivalent.Matcher.create();
451 }
452
453 @Override
454 public VLSEquivalent.Match newEmptyMatch() {
455 return VLSEquivalent.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSEquivalent.Match newMatch(final Object... parameters) {
460 return VLSEquivalent.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSEquivalent (visibility: PUBLIC, simpleName: VLSEquivalent, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSEquivalent, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSEquivalent (visibility: PUBLIC, simpleName: VLSEquivalent, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSEquivalent, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSEquivalent INSTANCE = new VLSEquivalent();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSEquivalent.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSEquivalent")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSEquivalent";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSEquivalent")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSEquivalent(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSEquivalent")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSExistentialQuantifier.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSExistentialQuantifier.java
new file mode 100644
index 00000000..137e4ca0
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSExistentialQuantifier.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSExistentialQuantifier(term: VLSExistentialQuantifier){
44 * VLSExistentialQuantifier(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSExistentialQuantifier extends BaseGeneratedEMFQuerySpecification<VLSExistentialQuantifier.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSExistentialQuantifier pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSExistentialQuantifier";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSExistentialQuantifier.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSExistentialQuantifier.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSExistentialQuantifier.Match)) {
140 VLSExistentialQuantifier.Match other = (VLSExistentialQuantifier.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSExistentialQuantifier specification() {
154 return VLSExistentialQuantifier.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSExistentialQuantifier.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSExistentialQuantifier.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSExistentialQuantifier.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSExistentialQuantifier.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSExistentialQuantifier.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSExistentialQuantifier pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSExistentialQuantifier(term: VLSExistentialQuantifier){
227 * VLSExistentialQuantifier(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSExistentialQuantifier
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSExistentialQuantifier.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSExistentialQuantifier.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSExistentialQuantifier.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSExistentialQuantifier.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSExistentialQuantifier.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSExistentialQuantifier.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSExistentialQuantifier.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm, final Consumer<? super VLSExistentialQuantifier.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSExistentialQuantifier.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier pTerm) {
356 return VLSExistentialQuantifier.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSExistentialQuantifier.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSExistentialQuantifier.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSExistentialQuantifier.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSExistentialQuantifier.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSExistentialQuantifier.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSExistentialQuantifier.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSExistentialQuantifier.Matcher> querySpecification() {
422 return VLSExistentialQuantifier.instance();
423 }
424 }
425
426 private VLSExistentialQuantifier() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSExistentialQuantifier instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSExistentialQuantifier.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSExistentialQuantifier.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSExistentialQuantifier.Matcher instantiate() {
450 return VLSExistentialQuantifier.Matcher.create();
451 }
452
453 @Override
454 public VLSExistentialQuantifier.Match newEmptyMatch() {
455 return VLSExistentialQuantifier.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSExistentialQuantifier.Match newMatch(final Object... parameters) {
460 return VLSExistentialQuantifier.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSExistentialQuantifier (visibility: PUBLIC, simpleName: VLSExistentialQuantifier, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSExistentialQuantifier, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSExistentialQuantifier (visibility: PUBLIC, simpleName: VLSExistentialQuantifier, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSExistentialQuantifier, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSExistentialQuantifier INSTANCE = new VLSExistentialQuantifier();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSExistentialQuantifier.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSExistentialQuantifier")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSExistentialQuantifier";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSExistentialQuantifier")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSExistentialQuantifier(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSExistentialQuantifier")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFofFormula.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFofFormula.java
new file mode 100644
index 00000000..f55f408a
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFofFormula.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSFofFormula(term: VLSFofFormula){
44 * VLSFofFormula(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSFofFormula extends BaseGeneratedEMFQuerySpecification<VLSFofFormula.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFofFormula pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFofFormula";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSFofFormula.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSFofFormula.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSFofFormula.Match)) {
140 VLSFofFormula.Match other = (VLSFofFormula.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSFofFormula specification() {
154 return VLSFofFormula.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSFofFormula.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSFofFormula.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSFofFormula.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSFofFormula.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSFofFormula.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFofFormula pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSFofFormula(term: VLSFofFormula){
227 * VLSFofFormula(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSFofFormula
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSFofFormula.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSFofFormula.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSFofFormula.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSFofFormula.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSFofFormula.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSFofFormula.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSFofFormula.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm, final Consumer<? super VLSFofFormula.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSFofFormula.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula pTerm) {
356 return VLSFofFormula.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSFofFormula.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSFofFormula.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSFofFormula.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSFofFormula.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSFofFormula.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSFofFormula.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSFofFormula.Matcher> querySpecification() {
422 return VLSFofFormula.instance();
423 }
424 }
425
426 private VLSFofFormula() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSFofFormula instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSFofFormula.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSFofFormula.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSFofFormula.Matcher instantiate() {
450 return VLSFofFormula.Matcher.create();
451 }
452
453 @Override
454 public VLSFofFormula.Match newEmptyMatch() {
455 return VLSFofFormula.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSFofFormula.Match newMatch(final Object... parameters) {
460 return VLSFofFormula.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFofFormula (visibility: PUBLIC, simpleName: VLSFofFormula, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFofFormula, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFofFormula (visibility: PUBLIC, simpleName: VLSFofFormula, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFofFormula, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSFofFormula INSTANCE = new VLSFofFormula();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSFofFormula.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFofFormula")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFofFormula";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFofFormula")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSFofFormula(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFofFormula")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFunction.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFunction.java
new file mode 100644
index 00000000..f81a6e1a
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFunction.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSFunction(term: VLSFunction){
44 * VLSFunction(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSFunction extends BaseGeneratedEMFQuerySpecification<VLSFunction.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunction pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunction";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSFunction.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSFunction.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSFunction.Match)) {
140 VLSFunction.Match other = (VLSFunction.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSFunction specification() {
154 return VLSFunction.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSFunction.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSFunction.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSFunction.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSFunction.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSFunction.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunction pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSFunction(term: VLSFunction){
227 * VLSFunction(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSFunction
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSFunction.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSFunction.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSFunction.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSFunction.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSFunction.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSFunction.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSFunction.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm, final Consumer<? super VLSFunction.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSFunction.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction pTerm) {
356 return VLSFunction.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSFunction.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSFunction.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSFunction.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSFunction.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSFunction.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSFunction.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSFunction.Matcher> querySpecification() {
422 return VLSFunction.instance();
423 }
424 }
425
426 private VLSFunction() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSFunction instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSFunction.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSFunction.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSFunction.Matcher instantiate() {
450 return VLSFunction.Matcher.create();
451 }
452
453 @Override
454 public VLSFunction.Match newEmptyMatch() {
455 return VLSFunction.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSFunction.Match newMatch(final Object... parameters) {
460 return VLSFunction.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunction (visibility: PUBLIC, simpleName: VLSFunction, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunction, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunction (visibility: PUBLIC, simpleName: VLSFunction, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunction, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSFunction INSTANCE = new VLSFunction();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSFunction.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunction")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunction";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunction")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSFunction(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunction")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFunctionFof.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFunctionFof.java
new file mode 100644
index 00000000..86a3b95c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSFunctionFof.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSFunctionFof(term: VLSFunctionFof){
44 * VLSFunctionFof(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLSFunctionFof.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunctionFof pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunctionFof";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSFunctionFof.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSFunctionFof.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSFunctionFof.Match)) {
140 VLSFunctionFof.Match other = (VLSFunctionFof.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSFunctionFof specification() {
154 return VLSFunctionFof.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSFunctionFof.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSFunctionFof.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSFunctionFof.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSFunctionFof.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSFunctionFof.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunctionFof pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSFunctionFof(term: VLSFunctionFof){
227 * VLSFunctionFof(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSFunctionFof
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSFunctionFof.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSFunctionFof.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSFunctionFof.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSFunctionFof.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSFunctionFof.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSFunctionFof.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSFunctionFof.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm, final Consumer<? super VLSFunctionFof.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSFunctionFof.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) {
356 return VLSFunctionFof.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSFunctionFof.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSFunctionFof.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSFunctionFof.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSFunctionFof.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSFunctionFof.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSFunctionFof.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSFunctionFof.Matcher> querySpecification() {
422 return VLSFunctionFof.instance();
423 }
424 }
425
426 private VLSFunctionFof() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSFunctionFof instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSFunctionFof.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSFunctionFof.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSFunctionFof.Matcher instantiate() {
450 return VLSFunctionFof.Matcher.create();
451 }
452
453 @Override
454 public VLSFunctionFof.Match newEmptyMatch() {
455 return VLSFunctionFof.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSFunctionFof.Match newMatch(final Object... parameters) {
460 return VLSFunctionFof.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunctionFof (visibility: PUBLIC, simpleName: VLSFunctionFof, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunctionFof, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunctionFof (visibility: PUBLIC, simpleName: VLSFunctionFof, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunctionFof, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSFunctionFof INSTANCE = new VLSFunctionFof();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSFunctionFof.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunctionFof")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunctionFof";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunctionFof")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSFunctionFof(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunctionFof")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSInequality.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSInequality.java
new file mode 100644
index 00000000..0dd35ed9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSInequality.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSInequality(term: VLSInequality){
44 * VLSInequality(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSInequality extends BaseGeneratedEMFQuerySpecification<VLSInequality.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSInequality pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSInequality";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSInequality.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSInequality.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSInequality.Match)) {
140 VLSInequality.Match other = (VLSInequality.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSInequality specification() {
154 return VLSInequality.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSInequality.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSInequality.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSInequality.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSInequality.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSInequality.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSInequality pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSInequality(term: VLSInequality){
227 * VLSInequality(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSInequality
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSInequality.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSInequality.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSInequality.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSInequality.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSInequality.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSInequality.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSInequality.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm, final Consumer<? super VLSInequality.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSInequality.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality pTerm) {
356 return VLSInequality.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSInequality.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSInequality.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSInequality.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSInequality.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSInequality.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSInequality.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSInequality.Matcher> querySpecification() {
422 return VLSInequality.instance();
423 }
424 }
425
426 private VLSInequality() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSInequality instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSInequality.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSInequality.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSInequality.Matcher instantiate() {
450 return VLSInequality.Matcher.create();
451 }
452
453 @Override
454 public VLSInequality.Match newEmptyMatch() {
455 return VLSInequality.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSInequality.Match newMatch(final Object... parameters) {
460 return VLSInequality.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSInequality (visibility: PUBLIC, simpleName: VLSInequality, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSInequality, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSInequality (visibility: PUBLIC, simpleName: VLSInequality, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSInequality, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSInequality INSTANCE = new VLSInequality();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSInequality.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSInequality")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSInequality";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSInequality")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSInequality(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSInequality")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSOr.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSOr.java
new file mode 100644
index 00000000..0d8e0648
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSOr.java
@@ -0,0 +1,535 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * //VLSFormula
44 * pattern VLSOr(term: VLSOr){
45 * VLSOr(term);
46 * }
47 * </pre></code>
48 *
49 * @see Matcher
50 * @see Match
51 *
52 */
53@SuppressWarnings("all")
54public final class VLSOr extends BaseGeneratedEMFQuerySpecification<VLSOr.Matcher> {
55 /**
56 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSOr pattern,
57 * to be used in conjunction with {@link Matcher}.
58 *
59 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
60 * Each instance is a (possibly partial) substitution of pattern parameters,
61 * usable to represent a match of the pattern in the result of a query,
62 * or to specify the bound (fixed) input parameters when issuing a query.
63 *
64 * @see Matcher
65 *
66 */
67 public static abstract class Match extends BasePatternMatch {
68 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr fTerm;
69
70 private static List<String> parameterNames = makeImmutableList("term");
71
72 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
73 this.fTerm = pTerm;
74 }
75
76 @Override
77 public Object get(final String parameterName) {
78 if ("term".equals(parameterName)) return this.fTerm;
79 return null;
80 }
81
82 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr getTerm() {
83 return this.fTerm;
84 }
85
86 @Override
87 public boolean set(final String parameterName, final Object newValue) {
88 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
89 if ("term".equals(parameterName) ) {
90 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr) newValue;
91 return true;
92 }
93 return false;
94 }
95
96 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
97 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
98 this.fTerm = pTerm;
99 }
100
101 @Override
102 public String patternName() {
103 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSOr";
104 }
105
106 @Override
107 public List<String> parameterNames() {
108 return VLSOr.Match.parameterNames;
109 }
110
111 @Override
112 public Object[] toArray() {
113 return new Object[]{fTerm};
114 }
115
116 @Override
117 public VLSOr.Match toImmutable() {
118 return isMutable() ? newMatch(fTerm) : this;
119 }
120
121 @Override
122 public String prettyPrint() {
123 StringBuilder result = new StringBuilder();
124 result.append("\"term\"=" + prettyPrintValue(fTerm));
125 return result.toString();
126 }
127
128 @Override
129 public int hashCode() {
130 return Objects.hash(fTerm);
131 }
132
133 @Override
134 public boolean equals(final Object obj) {
135 if (this == obj)
136 return true;
137 if (obj == null) {
138 return false;
139 }
140 if ((obj instanceof VLSOr.Match)) {
141 VLSOr.Match other = (VLSOr.Match) obj;
142 return Objects.equals(fTerm, other.fTerm);
143 } else {
144 // this should be infrequent
145 if (!(obj instanceof IPatternMatch)) {
146 return false;
147 }
148 IPatternMatch otherSig = (IPatternMatch) obj;
149 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
150 }
151 }
152
153 @Override
154 public VLSOr specification() {
155 return VLSOr.instance();
156 }
157
158 /**
159 * Returns an empty, mutable match.
160 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
161 *
162 * @return the empty match.
163 *
164 */
165 public static VLSOr.Match newEmptyMatch() {
166 return new Mutable(null);
167 }
168
169 /**
170 * Returns a mutable (partial) match.
171 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
172 *
173 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
174 * @return the new, mutable (partial) match object.
175 *
176 */
177 public static VLSOr.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
178 return new Mutable(pTerm);
179 }
180
181 /**
182 * Returns a new (partial) match.
183 * This can be used e.g. to call the matcher with a partial match.
184 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
185 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
186 * @return the (partial) match object.
187 *
188 */
189 public static VLSOr.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
190 return new Immutable(pTerm);
191 }
192
193 private static final class Mutable extends VLSOr.Match {
194 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
195 super(pTerm);
196 }
197
198 @Override
199 public boolean isMutable() {
200 return true;
201 }
202 }
203
204 private static final class Immutable extends VLSOr.Match {
205 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
206 super(pTerm);
207 }
208
209 @Override
210 public boolean isMutable() {
211 return false;
212 }
213 }
214 }
215
216 /**
217 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSOr pattern,
218 * providing pattern-specific query methods.
219 *
220 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
221 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
222 *
223 * <p>Matches of the pattern will be represented as {@link Match}.
224 *
225 * <p>Original source:
226 * <code><pre>
227 * //VLSFormula
228 * pattern VLSOr(term: VLSOr){
229 * VLSOr(term);
230 * }
231 * </pre></code>
232 *
233 * @see Match
234 * @see VLSOr
235 *
236 */
237 public static class Matcher extends BaseMatcher<VLSOr.Match> {
238 /**
239 * Initializes the pattern matcher within an existing VIATRA Query engine.
240 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
241 *
242 * @param engine the existing VIATRA Query engine in which this matcher will be created.
243 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
244 *
245 */
246 public static VLSOr.Matcher on(final ViatraQueryEngine engine) {
247 // check if matcher already exists
248 Matcher matcher = engine.getExistingMatcher(querySpecification());
249 if (matcher == null) {
250 matcher = (Matcher)engine.getMatcher(querySpecification());
251 }
252 return matcher;
253 }
254
255 /**
256 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
257 * @return an initialized matcher
258 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
259 *
260 */
261 public static VLSOr.Matcher create() {
262 return new Matcher();
263 }
264
265 private final static int POSITION_TERM = 0;
266
267 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSOr.Matcher.class);
268
269 /**
270 * Initializes the pattern matcher within an existing VIATRA Query engine.
271 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
272 *
273 * @param engine the existing VIATRA Query engine in which this matcher will be created.
274 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
275 *
276 */
277 private Matcher() {
278 super(querySpecification());
279 }
280
281 /**
282 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
283 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
284 * @return matches represented as a Match object.
285 *
286 */
287 public Collection<VLSOr.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
288 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
289 }
290
291 /**
292 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
293 * </p>
294 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
295 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
296 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
297 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
298 * @return a stream of matches represented as a Match object.
299 *
300 */
301 public Stream<VLSOr.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
302 return rawStreamAllMatches(new Object[]{pTerm});
303 }
304
305 /**
306 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
307 * Neither determinism nor randomness of selection is guaranteed.
308 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
309 * @return a match represented as a Match object, or null if no match is found.
310 *
311 */
312 public Optional<VLSOr.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
313 return rawGetOneArbitraryMatch(new Object[]{pTerm});
314 }
315
316 /**
317 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
318 * under any possible substitution of the unspecified parameters (if any).
319 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
320 * @return true if the input is a valid (partial) match of the pattern.
321 *
322 */
323 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
324 return rawHasMatch(new Object[]{pTerm});
325 }
326
327 /**
328 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
329 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
330 * @return the number of pattern matches found.
331 *
332 */
333 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
334 return rawCountMatches(new Object[]{pTerm});
335 }
336
337 /**
338 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
339 * Neither determinism nor randomness of selection is guaranteed.
340 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
341 * @param processor the action that will process the selected match.
342 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
343 *
344 */
345 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm, final Consumer<? super VLSOr.Match> processor) {
346 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
347 }
348
349 /**
350 * Returns a new (partial) match.
351 * This can be used e.g. to call the matcher with a partial match.
352 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
353 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
354 * @return the (partial) match object.
355 *
356 */
357 public VLSOr.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr pTerm) {
358 return VLSOr.Match.newMatch(pTerm);
359 }
360
361 /**
362 * Retrieve the set of values that occur in matches for term.
363 * @return the Set of all values or empty set if there are no matches
364 *
365 */
366 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr> rawStreamAllValuesOfterm(final Object[] parameters) {
367 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr.class::cast);
368 }
369
370 /**
371 * Retrieve the set of values that occur in matches for term.
372 * @return the Set of all values or empty set if there are no matches
373 *
374 */
375 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr> getAllValuesOfterm() {
376 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
377 }
378
379 /**
380 * Retrieve the set of values that occur in matches for term.
381 * @return the Set of all values or empty set if there are no matches
382 *
383 */
384 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr> streamAllValuesOfterm() {
385 return rawStreamAllValuesOfterm(emptyArray());
386 }
387
388 @Override
389 protected VLSOr.Match tupleToMatch(final Tuple t) {
390 try {
391 return VLSOr.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr) t.get(POSITION_TERM));
392 } catch(ClassCastException e) {
393 LOGGER.error("Element(s) in tuple not properly typed!",e);
394 return null;
395 }
396 }
397
398 @Override
399 protected VLSOr.Match arrayToMatch(final Object[] match) {
400 try {
401 return VLSOr.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr) match[POSITION_TERM]);
402 } catch(ClassCastException e) {
403 LOGGER.error("Element(s) in array not properly typed!",e);
404 return null;
405 }
406 }
407
408 @Override
409 protected VLSOr.Match arrayToMatchMutable(final Object[] match) {
410 try {
411 return VLSOr.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr) match[POSITION_TERM]);
412 } catch(ClassCastException e) {
413 LOGGER.error("Element(s) in array not properly typed!",e);
414 return null;
415 }
416 }
417
418 /**
419 * @return the singleton instance of the query specification of this pattern
420 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
421 *
422 */
423 public static IQuerySpecification<VLSOr.Matcher> querySpecification() {
424 return VLSOr.instance();
425 }
426 }
427
428 private VLSOr() {
429 super(GeneratedPQuery.INSTANCE);
430 }
431
432 /**
433 * @return the singleton instance of the query specification
434 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
435 *
436 */
437 public static VLSOr instance() {
438 try{
439 return LazyHolder.INSTANCE;
440 } catch (ExceptionInInitializerError err) {
441 throw processInitializerError(err);
442 }
443 }
444
445 @Override
446 protected VLSOr.Matcher instantiate(final ViatraQueryEngine engine) {
447 return VLSOr.Matcher.on(engine);
448 }
449
450 @Override
451 public VLSOr.Matcher instantiate() {
452 return VLSOr.Matcher.create();
453 }
454
455 @Override
456 public VLSOr.Match newEmptyMatch() {
457 return VLSOr.Match.newEmptyMatch();
458 }
459
460 @Override
461 public VLSOr.Match newMatch(final Object... parameters) {
462 return VLSOr.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr) parameters[0]);
463 }
464
465 /**
466 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSOr (visibility: PUBLIC, simpleName: VLSOr, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSOr, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
467 * <b>not</b> at the class load time of the outer class,
468 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSOr (visibility: PUBLIC, simpleName: VLSOr, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSOr, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
469 *
470 * <p> This workaround is required e.g. to support recursion.
471 *
472 */
473 private static class LazyHolder {
474 private final static VLSOr INSTANCE = new VLSOr();
475
476 /**
477 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
478 * This initialization order is required to support indirect recursion.
479 *
480 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
481 *
482 */
483 private final static Object STATIC_INITIALIZER = ensureInitialized();
484
485 public static Object ensureInitialized() {
486 INSTANCE.ensureInitializedInternal();
487 return null;
488 }
489 }
490
491 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
492 private final static VLSOr.GeneratedPQuery INSTANCE = new GeneratedPQuery();
493
494 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSOr")), PParameterDirection.INOUT);
495
496 private final List<PParameter> parameters = Arrays.asList(parameter_term);
497
498 private GeneratedPQuery() {
499 super(PVisibility.PUBLIC);
500 }
501
502 @Override
503 public String getFullyQualifiedName() {
504 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSOr";
505 }
506
507 @Override
508 public List<String> getParameterNames() {
509 return Arrays.asList("term");
510 }
511
512 @Override
513 public List<PParameter> getParameters() {
514 return parameters;
515 }
516
517 @Override
518 public Set<PBody> doGetContainedBodies() {
519 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
520 Set<PBody> bodies = new LinkedHashSet<>();
521 {
522 PBody body = new PBody(this);
523 PVariable var_term = body.getOrCreateVariableByName("term");
524 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSOr")));
525 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
526 new ExportedParameter(body, var_term, parameter_term)
527 ));
528 // VLSOr(term)
529 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSOr")));
530 bodies.add(body);
531 }
532 return bodies;
533 }
534 }
535}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSUnaryNegation.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSUnaryNegation.java
new file mode 100644
index 00000000..b6290aab
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSUnaryNegation.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSUnaryNegation(term: VLSUnaryNegation){
44 * VLSUnaryNegation(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSUnaryNegation extends BaseGeneratedEMFQuerySpecification<VLSUnaryNegation.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUnaryNegation pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUnaryNegation";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSUnaryNegation.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSUnaryNegation.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSUnaryNegation.Match)) {
140 VLSUnaryNegation.Match other = (VLSUnaryNegation.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSUnaryNegation specification() {
154 return VLSUnaryNegation.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSUnaryNegation.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSUnaryNegation.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSUnaryNegation.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSUnaryNegation.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSUnaryNegation.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUnaryNegation pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSUnaryNegation(term: VLSUnaryNegation){
227 * VLSUnaryNegation(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSUnaryNegation
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSUnaryNegation.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSUnaryNegation.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSUnaryNegation.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSUnaryNegation.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSUnaryNegation.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSUnaryNegation.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSUnaryNegation.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm, final Consumer<? super VLSUnaryNegation.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSUnaryNegation.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation pTerm) {
356 return VLSUnaryNegation.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSUnaryNegation.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSUnaryNegation.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSUnaryNegation.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSUnaryNegation.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSUnaryNegation.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSUnaryNegation.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSUnaryNegation.Matcher> querySpecification() {
422 return VLSUnaryNegation.instance();
423 }
424 }
425
426 private VLSUnaryNegation() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSUnaryNegation instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSUnaryNegation.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSUnaryNegation.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSUnaryNegation.Matcher instantiate() {
450 return VLSUnaryNegation.Matcher.create();
451 }
452
453 @Override
454 public VLSUnaryNegation.Match newEmptyMatch() {
455 return VLSUnaryNegation.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSUnaryNegation.Match newMatch(final Object... parameters) {
460 return VLSUnaryNegation.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUnaryNegation (visibility: PUBLIC, simpleName: VLSUnaryNegation, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUnaryNegation, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUnaryNegation (visibility: PUBLIC, simpleName: VLSUnaryNegation, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUnaryNegation, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSUnaryNegation INSTANCE = new VLSUnaryNegation();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSUnaryNegation.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSUnaryNegation")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUnaryNegation";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSUnaryNegation")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSUnaryNegation(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSUnaryNegation")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSUniversalQuantifier.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSUniversalQuantifier.java
new file mode 100644
index 00000000..0dab9771
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VLSUniversalQuantifier.java
@@ -0,0 +1,533 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
37
38/**
39 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * pattern VLSUniversalQuantifier(term: VLSUniversalQuantifier){
44 * VLSUniversalQuantifier(term);
45 * }
46 * </pre></code>
47 *
48 * @see Matcher
49 * @see Match
50 *
51 */
52@SuppressWarnings("all")
53public final class VLSUniversalQuantifier extends BaseGeneratedEMFQuerySpecification<VLSUniversalQuantifier.Matcher> {
54 /**
55 * Pattern-specific match representation of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUniversalQuantifier pattern,
56 * to be used in conjunction with {@link Matcher}.
57 *
58 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
59 * Each instance is a (possibly partial) substitution of pattern parameters,
60 * usable to represent a match of the pattern in the result of a query,
61 * or to specify the bound (fixed) input parameters when issuing a query.
62 *
63 * @see Matcher
64 *
65 */
66 public static abstract class Match extends BasePatternMatch {
67 private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier fTerm;
68
69 private static List<String> parameterNames = makeImmutableList("term");
70
71 private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
72 this.fTerm = pTerm;
73 }
74
75 @Override
76 public Object get(final String parameterName) {
77 if ("term".equals(parameterName)) return this.fTerm;
78 return null;
79 }
80
81 public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier getTerm() {
82 return this.fTerm;
83 }
84
85 @Override
86 public boolean set(final String parameterName, final Object newValue) {
87 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
88 if ("term".equals(parameterName) ) {
89 this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier) newValue;
90 return true;
91 }
92 return false;
93 }
94
95 public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 this.fTerm = pTerm;
98 }
99
100 @Override
101 public String patternName() {
102 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUniversalQuantifier";
103 }
104
105 @Override
106 public List<String> parameterNames() {
107 return VLSUniversalQuantifier.Match.parameterNames;
108 }
109
110 @Override
111 public Object[] toArray() {
112 return new Object[]{fTerm};
113 }
114
115 @Override
116 public VLSUniversalQuantifier.Match toImmutable() {
117 return isMutable() ? newMatch(fTerm) : this;
118 }
119
120 @Override
121 public String prettyPrint() {
122 StringBuilder result = new StringBuilder();
123 result.append("\"term\"=" + prettyPrintValue(fTerm));
124 return result.toString();
125 }
126
127 @Override
128 public int hashCode() {
129 return Objects.hash(fTerm);
130 }
131
132 @Override
133 public boolean equals(final Object obj) {
134 if (this == obj)
135 return true;
136 if (obj == null) {
137 return false;
138 }
139 if ((obj instanceof VLSUniversalQuantifier.Match)) {
140 VLSUniversalQuantifier.Match other = (VLSUniversalQuantifier.Match) obj;
141 return Objects.equals(fTerm, other.fTerm);
142 } else {
143 // this should be infrequent
144 if (!(obj instanceof IPatternMatch)) {
145 return false;
146 }
147 IPatternMatch otherSig = (IPatternMatch) obj;
148 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
149 }
150 }
151
152 @Override
153 public VLSUniversalQuantifier specification() {
154 return VLSUniversalQuantifier.instance();
155 }
156
157 /**
158 * Returns an empty, mutable match.
159 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
160 *
161 * @return the empty match.
162 *
163 */
164 public static VLSUniversalQuantifier.Match newEmptyMatch() {
165 return new Mutable(null);
166 }
167
168 /**
169 * Returns a mutable (partial) match.
170 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
171 *
172 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
173 * @return the new, mutable (partial) match object.
174 *
175 */
176 public static VLSUniversalQuantifier.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
177 return new Mutable(pTerm);
178 }
179
180 /**
181 * Returns a new (partial) match.
182 * This can be used e.g. to call the matcher with a partial match.
183 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
184 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
185 * @return the (partial) match object.
186 *
187 */
188 public static VLSUniversalQuantifier.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
189 return new Immutable(pTerm);
190 }
191
192 private static final class Mutable extends VLSUniversalQuantifier.Match {
193 Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
194 super(pTerm);
195 }
196
197 @Override
198 public boolean isMutable() {
199 return true;
200 }
201 }
202
203 private static final class Immutable extends VLSUniversalQuantifier.Match {
204 Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
205 super(pTerm);
206 }
207
208 @Override
209 public boolean isMutable() {
210 return false;
211 }
212 }
213 }
214
215 /**
216 * Generated pattern matcher API of the ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUniversalQuantifier pattern,
217 * providing pattern-specific query methods.
218 *
219 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
220 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
221 *
222 * <p>Matches of the pattern will be represented as {@link Match}.
223 *
224 * <p>Original source:
225 * <code><pre>
226 * pattern VLSUniversalQuantifier(term: VLSUniversalQuantifier){
227 * VLSUniversalQuantifier(term);
228 * }
229 * </pre></code>
230 *
231 * @see Match
232 * @see VLSUniversalQuantifier
233 *
234 */
235 public static class Matcher extends BaseMatcher<VLSUniversalQuantifier.Match> {
236 /**
237 * Initializes the pattern matcher within an existing VIATRA Query engine.
238 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
239 *
240 * @param engine the existing VIATRA Query engine in which this matcher will be created.
241 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
242 *
243 */
244 public static VLSUniversalQuantifier.Matcher on(final ViatraQueryEngine engine) {
245 // check if matcher already exists
246 Matcher matcher = engine.getExistingMatcher(querySpecification());
247 if (matcher == null) {
248 matcher = (Matcher)engine.getMatcher(querySpecification());
249 }
250 return matcher;
251 }
252
253 /**
254 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
255 * @return an initialized matcher
256 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
257 *
258 */
259 public static VLSUniversalQuantifier.Matcher create() {
260 return new Matcher();
261 }
262
263 private final static int POSITION_TERM = 0;
264
265 private final static Logger LOGGER = ViatraQueryLoggingUtil.getLogger(VLSUniversalQuantifier.Matcher.class);
266
267 /**
268 * Initializes the pattern matcher within an existing VIATRA Query engine.
269 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
270 *
271 * @param engine the existing VIATRA Query engine in which this matcher will be created.
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 *
274 */
275 private Matcher() {
276 super(querySpecification());
277 }
278
279 /**
280 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
281 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
282 * @return matches represented as a Match object.
283 *
284 */
285 public Collection<VLSUniversalQuantifier.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
286 return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet());
287 }
288
289 /**
290 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
291 * </p>
292 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
293 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
294 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
295 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
296 * @return a stream of matches represented as a Match object.
297 *
298 */
299 public Stream<VLSUniversalQuantifier.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
300 return rawStreamAllMatches(new Object[]{pTerm});
301 }
302
303 /**
304 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
305 * Neither determinism nor randomness of selection is guaranteed.
306 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
307 * @return a match represented as a Match object, or null if no match is found.
308 *
309 */
310 public Optional<VLSUniversalQuantifier.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
311 return rawGetOneArbitraryMatch(new Object[]{pTerm});
312 }
313
314 /**
315 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
316 * under any possible substitution of the unspecified parameters (if any).
317 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
318 * @return true if the input is a valid (partial) match of the pattern.
319 *
320 */
321 public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
322 return rawHasMatch(new Object[]{pTerm});
323 }
324
325 /**
326 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
327 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
328 * @return the number of pattern matches found.
329 *
330 */
331 public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
332 return rawCountMatches(new Object[]{pTerm});
333 }
334
335 /**
336 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
337 * Neither determinism nor randomness of selection is guaranteed.
338 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
339 * @param processor the action that will process the selected match.
340 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
341 *
342 */
343 public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm, final Consumer<? super VLSUniversalQuantifier.Match> processor) {
344 return rawForOneArbitraryMatch(new Object[]{pTerm}, processor);
345 }
346
347 /**
348 * Returns a new (partial) match.
349 * This can be used e.g. to call the matcher with a partial match.
350 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
351 * @param pTerm the fixed value of pattern parameter term, or null if not bound.
352 * @return the (partial) match object.
353 *
354 */
355 public VLSUniversalQuantifier.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier pTerm) {
356 return VLSUniversalQuantifier.Match.newMatch(pTerm);
357 }
358
359 /**
360 * Retrieve the set of values that occur in matches for term.
361 * @return the Set of all values or empty set if there are no matches
362 *
363 */
364 protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier> rawStreamAllValuesOfterm(final Object[] parameters) {
365 return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier.class::cast);
366 }
367
368 /**
369 * Retrieve the set of values that occur in matches for term.
370 * @return the Set of all values or empty set if there are no matches
371 *
372 */
373 public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier> getAllValuesOfterm() {
374 return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet());
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for term.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier> streamAllValuesOfterm() {
383 return rawStreamAllValuesOfterm(emptyArray());
384 }
385
386 @Override
387 protected VLSUniversalQuantifier.Match tupleToMatch(final Tuple t) {
388 try {
389 return VLSUniversalQuantifier.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier) t.get(POSITION_TERM));
390 } catch(ClassCastException e) {
391 LOGGER.error("Element(s) in tuple not properly typed!",e);
392 return null;
393 }
394 }
395
396 @Override
397 protected VLSUniversalQuantifier.Match arrayToMatch(final Object[] match) {
398 try {
399 return VLSUniversalQuantifier.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier) match[POSITION_TERM]);
400 } catch(ClassCastException e) {
401 LOGGER.error("Element(s) in array not properly typed!",e);
402 return null;
403 }
404 }
405
406 @Override
407 protected VLSUniversalQuantifier.Match arrayToMatchMutable(final Object[] match) {
408 try {
409 return VLSUniversalQuantifier.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier) match[POSITION_TERM]);
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in array not properly typed!",e);
412 return null;
413 }
414 }
415
416 /**
417 * @return the singleton instance of the query specification of this pattern
418 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
419 *
420 */
421 public static IQuerySpecification<VLSUniversalQuantifier.Matcher> querySpecification() {
422 return VLSUniversalQuantifier.instance();
423 }
424 }
425
426 private VLSUniversalQuantifier() {
427 super(GeneratedPQuery.INSTANCE);
428 }
429
430 /**
431 * @return the singleton instance of the query specification
432 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
433 *
434 */
435 public static VLSUniversalQuantifier instance() {
436 try{
437 return LazyHolder.INSTANCE;
438 } catch (ExceptionInInitializerError err) {
439 throw processInitializerError(err);
440 }
441 }
442
443 @Override
444 protected VLSUniversalQuantifier.Matcher instantiate(final ViatraQueryEngine engine) {
445 return VLSUniversalQuantifier.Matcher.on(engine);
446 }
447
448 @Override
449 public VLSUniversalQuantifier.Matcher instantiate() {
450 return VLSUniversalQuantifier.Matcher.create();
451 }
452
453 @Override
454 public VLSUniversalQuantifier.Match newEmptyMatch() {
455 return VLSUniversalQuantifier.Match.newEmptyMatch();
456 }
457
458 @Override
459 public VLSUniversalQuantifier.Match newMatch(final Object... parameters) {
460 return VLSUniversalQuantifier.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier) parameters[0]);
461 }
462
463 /**
464 * Inner class allowing the singleton instance of {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUniversalQuantifier (visibility: PUBLIC, simpleName: VLSUniversalQuantifier, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUniversalQuantifier, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
465 * <b>not</b> at the class load time of the outer class,
466 * but rather at the first call to {@link JvmGenericType: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUniversalQuantifier (visibility: PUBLIC, simpleName: VLSUniversalQuantifier, identifier: ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUniversalQuantifier, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: ca.mcgill.ecse.dslreasoner.vampire.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
467 *
468 * <p> This workaround is required e.g. to support recursion.
469 *
470 */
471 private static class LazyHolder {
472 private final static VLSUniversalQuantifier INSTANCE = new VLSUniversalQuantifier();
473
474 /**
475 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
476 * This initialization order is required to support indirect recursion.
477 *
478 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
479 *
480 */
481 private final static Object STATIC_INITIALIZER = ensureInitialized();
482
483 public static Object ensureInitialized() {
484 INSTANCE.ensureInitializedInternal();
485 return null;
486 }
487 }
488
489 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
490 private final static VLSUniversalQuantifier.GeneratedPQuery INSTANCE = new GeneratedPQuery();
491
492 private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSUniversalQuantifier")), PParameterDirection.INOUT);
493
494 private final List<PParameter> parameters = Arrays.asList(parameter_term);
495
496 private GeneratedPQuery() {
497 super(PVisibility.PUBLIC);
498 }
499
500 @Override
501 public String getFullyQualifiedName() {
502 return "ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUniversalQuantifier";
503 }
504
505 @Override
506 public List<String> getParameterNames() {
507 return Arrays.asList("term");
508 }
509
510 @Override
511 public List<PParameter> getParameters() {
512 return parameters;
513 }
514
515 @Override
516 public Set<PBody> doGetContainedBodies() {
517 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
518 Set<PBody> bodies = new LinkedHashSet<>();
519 {
520 PBody body = new PBody(this);
521 PVariable var_term = body.getOrCreateVariableByName("term");
522 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSUniversalQuantifier")));
523 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
524 new ExportedParameter(body, var_term, parameter_term)
525 ));
526 // VLSUniversalQuantifier(term)
527 new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSUniversalQuantifier")));
528 bodies.add(body);
529 }
530 return bodies;
531 }
532 }
533}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VampireQueries.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VampireQueries.java
new file mode 100644
index 00000000..e3518cd6
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src-gen/ca/mcgill/ecse/dslreasoner/vampire/queries/VampireQueries.java
@@ -0,0 +1,174 @@
1/**
2 * Generated from platform:/resource/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
3 */
4package ca.mcgill.ecse.dslreasoner.vampire.queries;
5
6import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnd;
7import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSAnnotation;
8import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSComment;
9import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSEquivalent;
10import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSExistentialQuantifier;
11import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFofFormula;
12import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunction;
13import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSFunctionFof;
14import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSInequality;
15import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSOr;
16import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUnaryNegation;
17import ca.mcgill.ecse.dslreasoner.vampire.queries.VLSUniversalQuantifier;
18import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
19import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
20
21/**
22 * A pattern group formed of all public patterns defined in vampireQueries.vql.
23 *
24 * <p>Use the static instance as any {@link interface org.eclipse.viatra.query.runtime.api.IQueryGroup}, to conveniently prepare
25 * a VIATRA Query engine for matching all patterns originally defined in file vampireQueries.vql,
26 * in order to achieve better performance than one-by-one on-demand matcher initialization.
27 *
28 * <p> From package ca.mcgill.ecse.dslreasoner.vampire.queries, the group contains the definition of the following patterns: <ul>
29 * <li>VLSComment</li>
30 * <li>VLSFofFormula</li>
31 * <li>VLSAnnotation</li>
32 * <li>VLSOr</li>
33 * <li>VLSAnd</li>
34 * <li>VLSEquivalent</li>
35 * <li>VLSFunction</li>
36 * <li>VLSExistentialQuantifier</li>
37 * <li>VLSUniversalQuantifier</li>
38 * <li>VLSUnaryNegation</li>
39 * <li>VLSInequality</li>
40 * <li>VLSFunctionFof</li>
41 * </ul>
42 *
43 * @see IQueryGroup
44 *
45 */
46@SuppressWarnings("all")
47public final class VampireQueries extends BaseGeneratedPatternGroup {
48 /**
49 * Access the pattern group.
50 *
51 * @return the singleton instance of the group
52 * @throws ViatraQueryRuntimeException if there was an error loading the generated code of pattern specifications
53 *
54 */
55 public static VampireQueries instance() {
56 if (INSTANCE == null) {
57 INSTANCE = new VampireQueries();
58 }
59 return INSTANCE;
60 }
61
62 private static VampireQueries INSTANCE;
63
64 private VampireQueries() {
65 querySpecifications.add(VLSComment.instance());
66 querySpecifications.add(VLSFofFormula.instance());
67 querySpecifications.add(VLSAnnotation.instance());
68 querySpecifications.add(VLSOr.instance());
69 querySpecifications.add(VLSAnd.instance());
70 querySpecifications.add(VLSEquivalent.instance());
71 querySpecifications.add(VLSFunction.instance());
72 querySpecifications.add(VLSExistentialQuantifier.instance());
73 querySpecifications.add(VLSUniversalQuantifier.instance());
74 querySpecifications.add(VLSUnaryNegation.instance());
75 querySpecifications.add(VLSInequality.instance());
76 querySpecifications.add(VLSFunctionFof.instance());
77 }
78
79 public VLSComment getVLSComment() {
80 return VLSComment.instance();
81 }
82
83 public VLSComment.Matcher getVLSComment(final ViatraQueryEngine engine) {
84 return VLSComment.Matcher.on(engine);
85 }
86
87 public VLSFofFormula getVLSFofFormula() {
88 return VLSFofFormula.instance();
89 }
90
91 public VLSFofFormula.Matcher getVLSFofFormula(final ViatraQueryEngine engine) {
92 return VLSFofFormula.Matcher.on(engine);
93 }
94
95 public VLSAnnotation getVLSAnnotation() {
96 return VLSAnnotation.instance();
97 }
98
99 public VLSAnnotation.Matcher getVLSAnnotation(final ViatraQueryEngine engine) {
100 return VLSAnnotation.Matcher.on(engine);
101 }
102
103 public VLSOr getVLSOr() {
104 return VLSOr.instance();
105 }
106
107 public VLSOr.Matcher getVLSOr(final ViatraQueryEngine engine) {
108 return VLSOr.Matcher.on(engine);
109 }
110
111 public VLSAnd getVLSAnd() {
112 return VLSAnd.instance();
113 }
114
115 public VLSAnd.Matcher getVLSAnd(final ViatraQueryEngine engine) {
116 return VLSAnd.Matcher.on(engine);
117 }
118
119 public VLSEquivalent getVLSEquivalent() {
120 return VLSEquivalent.instance();
121 }
122
123 public VLSEquivalent.Matcher getVLSEquivalent(final ViatraQueryEngine engine) {
124 return VLSEquivalent.Matcher.on(engine);
125 }
126
127 public VLSFunction getVLSFunction() {
128 return VLSFunction.instance();
129 }
130
131 public VLSFunction.Matcher getVLSFunction(final ViatraQueryEngine engine) {
132 return VLSFunction.Matcher.on(engine);
133 }
134
135 public VLSExistentialQuantifier getVLSExistentialQuantifier() {
136 return VLSExistentialQuantifier.instance();
137 }
138
139 public VLSExistentialQuantifier.Matcher getVLSExistentialQuantifier(final ViatraQueryEngine engine) {
140 return VLSExistentialQuantifier.Matcher.on(engine);
141 }
142
143 public VLSUniversalQuantifier getVLSUniversalQuantifier() {
144 return VLSUniversalQuantifier.instance();
145 }
146
147 public VLSUniversalQuantifier.Matcher getVLSUniversalQuantifier(final ViatraQueryEngine engine) {
148 return VLSUniversalQuantifier.Matcher.on(engine);
149 }
150
151 public VLSUnaryNegation getVLSUnaryNegation() {
152 return VLSUnaryNegation.instance();
153 }
154
155 public VLSUnaryNegation.Matcher getVLSUnaryNegation(final ViatraQueryEngine engine) {
156 return VLSUnaryNegation.Matcher.on(engine);
157 }
158
159 public VLSInequality getVLSInequality() {
160 return VLSInequality.instance();
161 }
162
163 public VLSInequality.Matcher getVLSInequality(final ViatraQueryEngine engine) {
164 return VLSInequality.Matcher.on(engine);
165 }
166
167 public VLSFunctionFof getVLSFunctionFof() {
168 return VLSFunctionFof.instance();
169 }
170
171 public VLSFunctionFof.Matcher getVLSFunctionFof(final ViatraQueryEngine engine) {
172 return VLSFunctionFof.Matcher.on(engine);
173 }
174}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
new file mode 100644
index 00000000..2bc22f9e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.queries/src/ca/mcgill/ecse/dslreasoner/vampire/queries/vampireQueries.vql
@@ -0,0 +1,57 @@
1package ca.mcgill.ecse.dslreasoner.vampire.queries
2
3import "http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage"
4
5pattern VLSComment(term: VLSComment){
6 VLSComment(term);
7}
8
9pattern VLSFofFormula(term: VLSFofFormula){
10 VLSFofFormula(term);
11}
12
13pattern VLSAnnotation(term: VLSAnnotation){
14 VLSAnnotation(term);
15}
16
17
18//VLSFormula
19pattern VLSOr(term: VLSOr){
20 VLSOr(term);
21}
22
23pattern VLSAnd(term: VLSAnd){
24 VLSAnd(term);
25}
26
27pattern VLSEquivalent(term: VLSEquivalent){
28 VLSEquivalent(term);
29}
30
31pattern VLSFunction(term: VLSFunction){
32 VLSFunction(term);
33}
34
35pattern VLSExistentialQuantifier(term: VLSExistentialQuantifier){
36 VLSExistentialQuantifier(term);
37}
38
39pattern VLSUniversalQuantifier(term: VLSUniversalQuantifier){
40 VLSUniversalQuantifier(term);
41}
42
43pattern VLSUnaryNegation(term: VLSUnaryNegation){
44 VLSUnaryNegation(term);
45}
46
47pattern VLSInequality(term: VLSInequality){
48 VLSInequality(term);
49}
50
51pattern VLSFunctionFof(term: VLSFunctionFof){
52 VLSFunctionFof(term);
53}
54
55//pattern VLSFofTerm(term: VLSFofTerm){
56// VLSFofTerm(term);
57//} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.classpath b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.classpath
new file mode 100644
index 00000000..a1e0140b
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.classpath
@@ -0,0 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5 <classpathentry kind="src" path="src"/>
6 <classpathentry kind="src" path="xtend-gen"/>
7 <classpathentry kind="src" path="queries"/>
8 <classpathentry kind="output" path="bin"/>
9</classpath>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.gitignore
@@ -0,0 +1 @@
/bin/
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.project b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.project
new file mode 100644
index 00000000..2221f39c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>ca.mcgill.ecse.dslreasoner.vampire.reasoner</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.settings/org.eclipse.jdt.core.prefs b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/META-INF/MANIFEST.MF b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..2eb4f151
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: Reasoner
4Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.vampire.reasoner;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Automatic-Module-Name: ca.mcgill.ecse.dslreasoner.vampire.reasoner
7Bundle-RequiredExecutionEnvironment: JavaSE-1.8
8Require-Bundle: org.eclipse.xtend.lib,
9 hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0",
10 hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
11 ca.mcgill.ecse.dslreasoner.vampire.language;bundle-version="1.0.0",
12 org.eclipse.viatra.query.runtime;bundle-version="2.1.0",
13 org.eclipse.viatra.query.runtime.base.itc;bundle-version="2.1.0"
14Export-Package: ca.mcgill.ecse.dslreasoner.vampire.reasoner,
15 ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
16
17
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/build.properties b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/build.properties
new file mode 100644
index 00000000..41eb6ade
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/build.properties
@@ -0,0 +1,4 @@
1source.. = src/
2output.. = bin/
3bin.includes = META-INF/,\
4 .
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/queries/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/signatureQueries.vql b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/queries/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/signatureQueries.vql
new file mode 100644
index 00000000..754b5ac7
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/queries/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/signatureQueries.vql
@@ -0,0 +1 @@
package ca.mcgill.ecse.dslreasoner.vampire.reasoner.queries \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/queries/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/typeQueries.vql b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/queries/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/typeQueries.vql
new file mode 100644
index 00000000..754b5ac7
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/queries/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/typeQueries.vql
@@ -0,0 +1 @@
package ca.mcgill.ecse.dslreasoner.vampire.reasoner.queries \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireAnalyzerConfiguration.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireAnalyzerConfiguration.xtend
new file mode 100644
index 00000000..27e00ccf
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireAnalyzerConfiguration.xtend
@@ -0,0 +1,22 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
4
5class VampireSolverConfiguration extends LogicSolverConfiguration {
6
7 public var int symmetry = 0 // by default
8 //choose needed backend solver
9// public var VampireBackendSolver solver = VampireBackendSolver.SAT4J
10 public var boolean writeToFile = false
11}
12
13
14enum VampireBackendSolver {
15 //add needed things
16}
17
18
19enum TypeMappingTechnique {
20 //default
21 FilteredTypes
22} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend
new file mode 100644
index 00000000..64484b88
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend
@@ -0,0 +1,102 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner
2
3import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
8import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
9import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage
11import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
12import java.io.PrintWriter
13import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup
14import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper
15import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes
16
17class VampireSolver extends LogicReasoner{
18
19 new() {
20 VampireLanguagePackage.eINSTANCE.eClass
21 val x = new VampireLanguageStandaloneSetupGenerated
22 VampireLanguageStandaloneSetup::doSetup()
23 }
24
25 val Logic2VampireLanguageMapper forwardMapper = new Logic2VampireLanguageMapper(new Logic2VampireLanguageMapper_TypeMapper_FilteredTypes)
26// //not for now
27// val VampireHandler handler = new VampireHandler
28// val Vampire2LogicMapper backwardMapper = new Vampire2LogicMapper
29
30 val fileName = "problem.tptp"
31
32 override solve(LogicProblem problem, LogicSolverConfiguration configuration, ReasonerWorkspace workspace) throws LogicReasonerException {
33 val vampireConfig = configuration.asConfig
34
35 // Start: Logic -> Vampire mapping
36 val transformationStart = System.currentTimeMillis
37 //TODO
38 val result = forwardMapper.transformProblem(problem,vampireConfig)
39 val vampireProblem = result.output
40 val forwardTrace = result.trace
41
42 var String fileURI = null;
43 var String vampireCode = null;
44 if(vampireConfig.writeToFile) {
45 fileURI = workspace.writeModel(vampireProblem,fileName).toFileString
46 } else {
47 vampireCode = workspace.writeModelToString(vampireProblem,fileName)
48 }
49 val transformationTime = System.currentTimeMillis - transformationStart
50 // Finish: Logic -> Vampire mapping
51
52 //Creates a file containing the tptp code after transformation
53 val out = new PrintWriter("output/files/vampireCode.tptp")
54 out.println(vampireCode)
55 out.close()
56
57
58 /*
59 * not for now -> Start: Solving Alloy problem
60 *
61 // Start: Solving Alloy problem
62 val solverStart = System.currentTimeMillis
63 val result2 = handler.callSolver(alloyProblem,workspace,alloyConfig,fileURI,alloyCode)
64 val logicResult = backwardMapper.transformOutput(problem,configuration.solutionScope.numberOfRequiredSolution,result2,forwardTrace,transformationTime)
65 val solverFinish = System.currentTimeMillis-solverStart
66 // Finish: Solving Alloy problem
67
68 if(vampireConfig.writeToFile) workspace.deactivateModel(fileName)
69
70 return logicResult
71 */
72
73 return null // for now
74 }
75
76 def asConfig(LogicSolverConfiguration configuration){
77 if(configuration instanceof VampireSolverConfiguration) {
78 return configuration
79 } else {
80 throw new IllegalArgumentException('''The configuration have to be an «VampireSolverConfiguration.simpleName»!''')
81 }
82 }
83
84// /*
85// * not for now
86// *
87 override getInterpretations(ModelResult modelResult) {
88 //val answers = (modelResult.representation as MonitoredAlloySolution).aswers.map[key]
89// val sols = modelResult.representation// as List<A4Solution>
90// //val res = answers.map
91// sols.map[
92// new VampireModelInterpretation(
93// forwardMapper.typeMapper.typeInterpreter,
94// it as A4Solution,
95// forwardMapper,
96// modelResult.trace as Logic2AlloyLanguageMapperTrace
97// )
98// ]
99 }
100// */
101
102} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend
new file mode 100644
index 00000000..5ec15541
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend
@@ -0,0 +1,386 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl
20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf
21import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not
23import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or
24import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
26import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
27import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue
28import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
29import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
30import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
31import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration
32import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
33import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable
34import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory
35import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel
36import java.util.Collections
37import java.util.HashMap
38import java.util.List
39import java.util.Map
40import org.eclipse.xtend.lib.annotations.Accessors
41
42import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
43
44class Logic2VampireLanguageMapper {
45 private val extension VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE
46 private val Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support;
47 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_ConstantMapper constantMapper = new Logic2VampireLanguageMapper_ConstantMapper(
48 this)
49 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_RelationMapper relationMapper = new Logic2VampireLanguageMapper_RelationMapper(
50 this)
51 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_TypeMapper typeMapper
52
53 public new(Logic2VampireLanguageMapper_TypeMapper typeMapper) {
54 this.typeMapper = typeMapper
55 }
56
57 public def TracedOutput<VampireModel, Logic2VampireLanguageMapperTrace> transformProblem(LogicProblem problem,
58 VampireSolverConfiguration configuration) {
59 // create model bases
60 // TODO
61 val initialComment = createVLSComment => [
62 it.comment = "%This is an initial Test Comment \r"
63 ]
64
65 val specification = createVampireModel => [
66 it.comments += initialComment
67 ]
68
69 val trace = new Logic2VampireLanguageMapperTrace => [
70 it.specification = specification
71
72// it.incQueryEngine = viatraQueryEngine.on(new EMFScope(problem))
73 ]
74
75 // call mappers
76 if (!problem.types.isEmpty) {
77 typeMapper.transformTypes(problem.types, problem.elements, this, trace)
78 }
79
80 trace.constantDefinitions = problem.collectConstantDefinitions
81 trace.relationDefinitions = problem.collectRelationDefinitions
82
83 problem.relations.forEach[this.relationMapper.transformRelation(it, trace)]
84
85 // only transforms definitions
86 // problem.constants.filter(ConstantDefinition).forEach[this.constantMapper.transformConstant(it, trace)]
87 problem.constants.filter(ConstantDefinition).forEach [
88 this.constantMapper.transformConstantDefinitionSpecification(it, trace)
89 ]
90
91 // //////////////////
92 // Transform Assertions
93 // //////////////////
94 for (assertion : problem.assertions) {
95 transformAssertion(assertion, trace)
96 }
97
98 return new TracedOutput(specification, trace)
99 }
100
101 // End of transformProblem
102 // ////////////
103 // Type References
104 // ////////////
105 def dispatch protected VLSTerm transformTypeReference(BoolTypeReference boolTypeReference,
106 Logic2VampireLanguageMapperTrace trace) {
107 // TODO, Not Now
108 // return createALSReference => [ it.referred = support.getBooleanType(trace) ]
109 }
110
111 // ////////////
112 // Collectors
113 // ////////////
114 // exact Same as for Alloy
115 private def collectConstantDefinitions(LogicProblem problem) {
116 val res = new HashMap
117 problem.constants.filter(ConstantDefinition).filter[it.defines !== null].forEach [
118 res.put(it.defines, it)
119 ]
120 return res
121 }
122
123 private def collectRelationDefinitions(LogicProblem problem) {
124 val res = new HashMap
125 problem.relations.filter(RelationDefinition).filter[it.defines !== null].forEach [
126 res.put(it.defines, it)
127 ]
128 return res
129 }
130
131 // ////////////
132 // Assertions + Terms
133 // ////////////
134 def protected transformAssertion(Assertion assertion, Logic2VampireLanguageMapperTrace trace) {
135 val res = createVLSFofFormula => [
136 it.name = support.toID(assertion.name)
137 // below is temporary solution
138 it.fofRole = "axiom"
139 it.fofFormula = assertion.value.transformTerm(trace, Collections.EMPTY_MAP)
140 // it.annotation = nothing
141 ]
142 trace.specification.formulas += res
143 }
144
145 def dispatch protected VLSTerm transformTerm(BoolLiteral literal, Logic2VampireLanguageMapperTrace trace,
146 Map<Variable, VLSVariable> variables) {
147 if (literal.value == true) {
148 createVLSTrue
149 } else {
150 createVLSFalse
151 }
152 }
153
154 def dispatch protected VLSTerm transformTerm(IntLiteral literal, Logic2VampireLanguageMapperTrace trace,
155 Map<Variable, VLSVariable> variables) {
156 createVLSInt => [it.value = literal.value.toString()]
157 }
158
159 def dispatch protected VLSTerm transformTerm(RealLiteral literal, Logic2VampireLanguageMapperTrace trace,
160 Map<Variable, VLSVariable> variables) {
161 createVLSReal => [it.value = literal.value.toString()]
162 }
163
164 def dispatch protected VLSTerm transformTerm(Not not, Logic2VampireLanguageMapperTrace trace,
165 Map<Variable, VLSVariable> variables) {
166 createVLSUnaryNegation => [operand = not.operand.transformTerm(trace, variables)]
167 }
168
169 def dispatch protected VLSTerm transformTerm(And and, Logic2VampireLanguageMapperTrace trace,
170 Map<Variable, VLSVariable> variables) { support.unfoldAnd(and.operands.map[transformTerm(trace, variables)]) }
171
172 def dispatch protected VLSTerm transformTerm(Or or, Logic2VampireLanguageMapperTrace trace,
173 Map<Variable, VLSVariable> variables) { support.unfoldOr(or.operands.map[transformTerm(trace, variables)]) }
174
175 def dispatch protected VLSTerm transformTerm(Impl impl, Logic2VampireLanguageMapperTrace trace,
176 Map<Variable, VLSVariable> variables) {
177 createVLSImplies => [
178 left = impl.leftOperand.transformTerm(trace, variables)
179 right = impl.rightOperand.transformTerm(trace, variables)
180 ]
181 }
182
183 def dispatch protected VLSTerm transformTerm(Iff iff, Logic2VampireLanguageMapperTrace trace,
184 Map<Variable, VLSVariable> variables) {
185 createVLSEquivalent => [
186 left = iff.leftOperand.transformTerm(trace, variables)
187 right = iff.rightOperand.transformTerm(trace, variables)
188 ]
189 }
190
191// def dispatch protected VLSTerm transformTerm(MoreThan moreThan, Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
192// createALSMore => [leftOperand = moreThan.leftOperand.transformTerm(trace,variables) rightOperand = moreThan.rightOperand.transformTerm(trace,variables)] }
193// def dispatch protected VLSTerm transformTerm(LessThan lessThan, Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
194// createALSLess => [leftOperand = lessThan.leftOperand.transformTerm(trace,variables) rightOperand = lessThan.rightOperand.transformTerm(trace,variables)] }
195// def dispatch protected VLSTerm transformTerm(MoreOrEqualThan moreThan, Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
196// createALSMeq => [leftOperand = moreThan.leftOperand.transformTerm(trace,variables) rightOperand = moreThan.rightOperand.transformTerm(trace,variables)] }
197// def dispatch protected VLSTerm transformTerm(LessOrEqualThan lessThan, Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
198// createALSLeq => [leftOperand = lessThan.leftOperand.transformTerm(trace,variables) rightOperand = lessThan.rightOperand.transformTerm(trace,variables)] }
199 def dispatch protected VLSTerm transformTerm(Equals equals, Logic2VampireLanguageMapperTrace trace,
200 Map<Variable, VLSVariable> variables) {
201 createVLSEquality => [
202 left = equals.leftOperand.transformTerm(trace, variables)
203 right = equals.rightOperand.transformTerm(trace, variables)
204 ]
205 }
206
207 def dispatch protected VLSTerm transformTerm(Distinct distinct, Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
208 support.unfoldDistinctTerms(this,distinct.operands,trace,variables) }
209//
210// def dispatch protected ALSTerm transformTerm(Plus plus, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
211// createALSFunctionCall => [it.params += plus.leftOperand.transformTerm(trace,variables) it.params += plus.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.PLUS] }
212// def dispatch protected ALSTerm transformTerm(Minus minus, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
213// createALSFunctionCall => [it.params += minus.leftOperand.transformTerm(trace,variables) it.params += minus.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.SUB] }
214// def dispatch protected ALSTerm transformTerm(Multiply multiply, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
215// createALSFunctionCall => [it.params += multiply.leftOperand.transformTerm(trace,variables) it.params += multiply.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.MUL] }
216// def dispatch protected ALSTerm transformTerm(Divison div, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
217// createALSFunctionCall => [it.params += div.leftOperand.transformTerm(trace,variables) it.params += div.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.DIV] }
218// def dispatch protected ALSTerm transformTerm(Mod mod, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
219// createALSFunctionCall => [it.params += mod.leftOperand.transformTerm(trace,variables) it.params += mod.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.REM] }
220//
221 def dispatch protected VLSTerm transformTerm(Forall forall, Logic2VampireLanguageMapperTrace trace,
222 Map<Variable, VLSVariable> variables) {
223 support.createUniversallyQuantifiedExpression(this, forall, trace, variables)
224 }
225
226 def dispatch protected VLSTerm transformTerm(Exists exists, Logic2VampireLanguageMapperTrace trace,
227 Map<Variable, VLSVariable> variables) {
228 support.createExistentiallyQuantifiedExpression(this, exists, trace, variables)
229 }
230
231 def dispatch protected VLSTerm transformTerm(InstanceOf instanceOf, Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
232 return createVLSFunction => [
233 it.constant = support.toIDMultiple("type", (instanceOf.range as ComplexTypeReference).referred.name )
234 it.terms += instanceOf.value.transformTerm(trace, variables)
235 ]
236 }
237//
238// def dispatch protected ALSTerm transformTerm(TransitiveClosure tc, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
239// return this.relationMapper.transformTransitiveRelationReference(
240// tc.relation,
241// tc.leftOperand.transformTerm(trace,variables),
242// tc.rightOperand.transformTerm(trace,variables),
243// trace
244// )
245// }
246//
247 def dispatch protected VLSTerm transformTerm(SymbolicValue symbolicValue, Logic2VampireLanguageMapperTrace trace,
248 Map<Variable, VLSVariable> variables) {
249 symbolicValue.symbolicReference.transformSymbolicReference(symbolicValue.parameterSubstitutions, trace,
250 variables)
251 }
252
253 def dispatch protected VLSTerm transformSymbolicReference(DefinedElement referred,
254 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
255 Map<Variable, VLSVariable> variables) {
256 typeMapper.transformReference(referred, trace)
257 }
258
259 def dispatch protected VLSTerm transformSymbolicReference(ConstantDeclaration constant,
260 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
261 Map<Variable, VLSVariable> variables) {
262 // might need to make sure that only declared csts get transformed. see for Alloy
263 val res = createVLSConstant => [
264 // ask if necessary VLSConstantDeclaration and not just directly strng
265 it.name = support.toID(constant.name)
266 ]
267 // no postprocessing cuz booleans are accepted
268 return res
269 }
270
271 // NOT NEEDED FOR NOW
272 // TODO
273 def dispatch protected VLSTerm transformSymbolicReference(ConstantDefinition constant,
274 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
275 Map<Variable, VLSVariable> variables) {
276// val res = createVLSFunctionCall => [
277// it.referredDefinition = constant.lookup(trace.constantDefinition2Function)
278// ]
279// return support.postprocessResultOfSymbolicReference(constant.type,res,trace)
280 }
281
282 def dispatch protected VLSTerm transformSymbolicReference(Variable variable,
283 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
284 Map<Variable, VLSVariable> variables) {
285
286 // cannot treat variable as function (constant) because of name ID not being the same
287 // below does not work
288 val res = createVLSVariable => [
289// it.name = support.toIDMultiple("Var", variable.lookup(variables).name)
290 it.name = support.toID(variable.lookup(variables).name)
291 ]
292 // no need for potprocessing cuz booleans are supported
293 return res
294 }
295
296 // TODO
297 def dispatch protected VLSTerm transformSymbolicReference(FunctionDeclaration function,
298 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
299 Map<Variable, VLSVariable> variables) {
300// if(trace.functionDefinitions.containsKey(function)) {
301// return this.transformSymbolicReference(function.lookup(trace.functionDefinitions),parameterSubstitutions,trace,variables)
302// } else {
303// if(functionMapper.transformedToHostedField(function,trace)) {
304// val param = parameterSubstitutions.get(0).transformTerm(trace,variables)
305// val res = createVLSJoin => [
306// leftOperand = support.prepareParameterOfSymbolicReference(function.parameters.get(0),param,trace)
307// rightOperand = createVLSReference => [referred = function.lookup(trace.functionDeclaration2HostedField)]
308// ]
309// return support.postprocessResultOfSymbolicReference(function.range,res,trace)
310// } else {
311// val functionExpression = createVLSJoin=>[
312// leftOperand = createVLSReference => [referred = trace.logicLanguage]
313// rightOperand = createVLSReference => [referred = function.lookup(trace.functionDeclaration2LanguageField)]
314// ]
315// val res = support.unfoldDotJoin(this,parameterSubstitutions,functionExpression,trace,variables)
316// return support.postprocessResultOfSymbolicReference(function.range,res,trace)
317// }
318// }
319 }
320
321 // TODO
322 def dispatch protected VLSTerm transformSymbolicReference(FunctionDefinition function,
323 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
324 Map<Variable, VLSVariable> variables) {
325// val result = createVLSFunctionCall => [
326// it.referredDefinition = function.lookup(trace.functionDefinition2Function)
327// it.params += parameterSubstitutions.map[it.transformTerm(trace,variables)]
328// ]
329// return support.postprocessResultOfSymbolicReference(function.range,result,trace)
330 }
331
332 // TODO
333 /*
334 def dispatch protected VLSTerm transformSymbolicReference(Relation relation,
335 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
336 Map<Variable, VLSVariable> variables) {
337 if (trace.relationDefinitions.containsKey(relation)) {
338 this.transformSymbolicReference(relation.lookup(trace.relationDefinitions),
339 parameterSubstitutions, trace, variables)
340 }
341 else {
342// if (relationMapper.transformToHostedField(relation, trace)) {
343// val VLSRelation = relation.lookup(trace.relationDeclaration2Field)
344// // R(a,b) =>
345// // b in a.R
346// return createVLSSubset => [
347// it.leftOperand = parameterSubstitutions.get(1).transformTerm(trace, variables)
348// it.rightOperand = createVLSJoin => [
349// it.leftOperand = parameterSubstitutions.get(0).transformTerm(trace, variables)
350// it.rightOperand = createVLSReference => [it.referred = VLSRelation]
351// ]
352// ]
353// } else {
354// val target = createVLSJoin => [
355// leftOperand = createVLSReference => [referred = trace.logicLanguage]
356// rightOperand = createVLSReference => [
357// referred = relation.lookup(trace.relationDeclaration2Global)
358// ]
359// ]
360// val source = support.unfoldTermDirectProduct(this, parameterSubstitutions, trace, variables)
361//
362// return createVLSSubset => [
363// leftOperand = source
364// rightOperand = target
365// ]
366// }
367 }
368 }
369 */
370
371 // TODO
372 def dispatch protected VLSTerm transformSymbolicReference(Relation relation,
373 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
374 Map<Variable, VLSVariable> variables) {
375// createVLSFunction => [
376// it.referredDefinition = relation.lookup(trace.relationDefinition2Predicate)
377// it.params += parameterSubstitutions.map[p|p.transformTerm(trace, variables)]
378// ]
379 return createVLSFunction => [
380 it.constant = support.toIDMultiple("rel", relation.name)
381 it.terms += parameterSubstitutions.map[p | p.transformTerm(trace,variables)]
382 ]
383 }
384
385 }
386 \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend
new file mode 100644
index 00000000..135b3f07
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend
@@ -0,0 +1,39 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel
13import java.util.HashMap
14import java.util.Map
15
16interface Logic2VampireLanguageMapper_TypeMapperTrace {}
17
18class Logic2VampireLanguageMapperTrace {
19// public var ViatraQueryEngine incQueryEngine;
20
21 //list of needed VLS components
22 public var VampireModel specification
23 public var VLSFofFormula logicLanguageBody
24 public var VLSTerm formula
25//NOT NEEDED //public var VLSFunction constantDec
26
27 public var Logic2VampireLanguageMapper_TypeMapperTrace typeMapperTrace
28
29
30//NOT NEEDED //public val Map<ConstantDeclaration, VLSFunctionDeclaration> constantDeclaration2LanguageField = new HashMap
31 //public val Map<ConstantDefinition, ALSFunctionDefinition> constantDefinition2Function = new HashMap
32
33 public var Map<ConstantDeclaration, ConstantDefinition> constantDefinitions
34
35 public var Map<RelationDeclaration, RelationDefinition> relationDefinitions
36 public val Map<Variable, VLSVariable> relationVar2VLS = new HashMap
37 public val Map<Variable, VLSFunction> relationVar2TypeDec = new HashMap
38
39} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ConstantMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ConstantMapper.xtend
new file mode 100644
index 00000000..2366ea15
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ConstantMapper.xtend
@@ -0,0 +1,42 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory
6
7class Logic2VampireLanguageMapper_ConstantMapper {
8 private val extension VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE
9 private val Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support
10 val Logic2VampireLanguageMapper base
11
12 public new(Logic2VampireLanguageMapper base) {
13 this.base = base
14 }
15
16//NOT NEEDED
17// def protected dispatch transformConstant(ConstantDeclaration constant, Logic2VampireLanguageMapperTrace trace) {
18// val c = createVLSFunctionDeclaration=> [
19// it.name = support.toID(constant.name)
20// ]
21// trace.constantDec.constant = c
22// trace.constantDeclaration2LanguageField.put(constant, c);
23//
24// }
25
26//NOT Used In Sample
27 def protected dispatch transformConstant(ConstantDefinition constant, Logic2VampireLanguageMapperTrace trace) {
28 //error
29 //TODO
30// val c = createVLSFofFormula=> [
31// name = support.toID(constant.name)
32// fofRole = "axiom"
33// fofFormula = base.transformTypeReference()
34// ]
35 }
36
37 def protected transformConstantDefinitionSpecification(ConstantDefinition constant, Logic2VampireLanguageMapperTrace trace) {
38 //TODO
39 }
40
41
42} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.xtend
new file mode 100644
index 00000000..60653a42
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.xtend
@@ -0,0 +1,183 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory
11import java.util.ArrayList
12import java.util.HashMap
13import java.util.List
14import java.util.Map
15
16import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
17
18class Logic2VampireLanguageMapper_RelationMapper {
19 private val extension VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE
20 private val Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support
21 val Logic2VampireLanguageMapper base
22
23 public new(Logic2VampireLanguageMapper base) {
24 this.base = base
25 }
26
27 def dispatch public void transformRelation(RelationDefinition r, Logic2VampireLanguageMapperTrace trace) {
28
29 // 1. store all variables in support wrt their name
30 // 1.1 if variable has type, creating list of type declarations
31 val Map<Variable, VLSVariable> relationVar2VLS = new HashMap
32 val Map<Variable, VLSFunction> relationVar2TypeDecComply = new HashMap
33 val Map<Variable, VLSFunction> relationVar2TypeDecRes = new HashMap
34 val typedefs = new ArrayList<VLSTerm>
35 for (variable : r.variables) {
36 val v = createVLSVariable => [
37 it.name = support.toIDMultiple("Var", variable.name)
38 ]
39 relationVar2VLS.put(variable, v)
40
41 val varTypeComply = createVLSFunction => [
42 it.constant = support.toIDMultiple("type", (variable.range as ComplexTypeReference).referred.name)
43 it.terms += createVLSVariable => [
44 it.name = support.toIDMultiple("Var", variable.name)
45 ]
46 ]
47 relationVar2TypeDecComply.put(variable, varTypeComply)
48
49 val varTypeRes = createVLSFunction => [
50 it.constant = support.toIDMultiple("type", (variable.range as ComplexTypeReference).referred.name)
51 it.terms += createVLSVariable => [
52 it.name = support.toIDMultiple("Var", variable.name)
53 ]
54 ]
55 relationVar2TypeDecRes.put(variable, varTypeRes)
56 }
57
58 val comply = createVLSFofFormula => [
59 it.name = support.toIDMultiple("compliance", r.name)
60 it.fofRole = "axiom"
61 it.fofFormula = createVLSUniversalQuantifier => [
62 for (variable : r.variables) {
63 val v = createVLSVariable => [
64 it.name = variable.lookup(relationVar2VLS).name
65 ]
66 it.variables += v
67
68 }
69 it.operand = createVLSImplies => [
70 it.left = createVLSFunction => [
71 it.constant = support.toIDMultiple("rel", r.name)
72 for (variable : r.variables) {
73 val v = createVLSVariable => [
74 it.name = variable.lookup(relationVar2VLS).name
75 ]
76 it.terms += v
77 }
78 ]
79 it.right = support.unfoldAnd(new ArrayList<VLSTerm>(relationVar2TypeDecComply.values))
80 ]
81 ]
82 ]
83
84 val res = createVLSFofFormula => [
85 it.name = support.toIDMultiple("relation", r.name)
86 it.fofRole = "axiom"
87 it.fofFormula = createVLSUniversalQuantifier => [
88 for (variable : r.variables) {
89 val v = createVLSVariable => [
90 it.name = variable.lookup(relationVar2VLS).name
91 ]
92 it.variables += v
93
94 }
95 it.operand = createVLSImplies => [
96 it.left = support.unfoldAnd(new ArrayList<VLSTerm>(relationVar2TypeDecRes.values))
97 it.right = createVLSEquivalent => [
98 it.left = createVLSFunction => [
99 it.constant = support.toIDMultiple("rel", r.name)
100 for (variable : r.variables) {
101 val v = createVLSVariable => [
102 it.name = variable.lookup(relationVar2VLS).name
103 ]
104 it.terms += v
105
106 }
107 ]
108 it.right = base.transformTerm(r.value, trace, relationVar2VLS)
109 ]
110
111 ]
112
113 ]
114
115 ]
116
117 // trace.relationDefinition2Predicate.put(r,res)
118 trace.specification.formulas += comply;
119 trace.specification.formulas += res;
120
121 }
122
123 def dispatch public void transformRelation(RelationDeclaration r, Logic2VampireLanguageMapperTrace trace) {
124
125 // 1. store all variables in support wrt their name
126 // 1.1 if variable has type, creating list of type declarations
127 val List<VLSVariable> relationVar2VLS = new ArrayList
128 val List<VLSFunction> relationVar2TypeDecComply = new ArrayList
129 val typedefs = new ArrayList<VLSTerm>
130
131 for (i : 0..<r.parameters.length) {
132
133 val v = createVLSVariable => [
134 it.name = support.toIDMultiple("Var", i.toString)
135 ]
136 relationVar2VLS.add(v)
137
138 val varTypeComply = createVLSFunction => [
139 it.constant = support.toIDMultiple("type", (r.parameters.get(i) as ComplexTypeReference).referred.name)
140 it.terms += createVLSVariable => [
141 it.name = support.toIDMultiple("Var", i.toString)
142 ]
143 ]
144 relationVar2TypeDecComply.add(varTypeComply)
145
146 }
147
148
149 val comply = createVLSFofFormula => [
150 it.name = support.toIDMultiple("compliance", r.name)
151 it.fofRole = "axiom"
152 it.fofFormula = createVLSUniversalQuantifier => [
153
154 for (i : 0..<r.parameters.length) {
155 val v = createVLSVariable => [
156 it.name = relationVar2VLS.get(i).name
157 ]
158 it.variables += v
159
160 }
161
162 it.operand = createVLSImplies => [
163 it.left = createVLSFunction => [
164 it.constant = support.toIDMultiple("rel", r.name)
165
166 for (i : 0..<r.parameters.length) {
167 val v = createVLSVariable => [
168 it.name = relationVar2VLS.get(i).name
169 ]
170 it.terms += v
171 }
172
173 ]
174 it.right = support.unfoldAnd(relationVar2TypeDecComply)
175 ]
176 ]
177 ]
178
179 // trace.relationDefinition2Predicate.put(r,res)
180 trace.specification.formulas += comply
181 }
182
183}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend
new file mode 100644
index 00000000..ab92b42f
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend
@@ -0,0 +1,148 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory
8import java.util.ArrayList
9import java.util.HashMap
10import java.util.List
11import java.util.Map
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
13import org.eclipse.emf.common.util.EList
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
15
16class Logic2VampireLanguageMapper_Support {
17 private val extension VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE
18
19 // ID Handler
20 def protected String toIDMultiple(String... ids) {
21 ids.map[it.split("\\s+").join("_")].join("_")
22 }
23
24 def protected String toID(String ids) {
25 ids.split("\\s+").join("_")
26 }
27
28 // Support Functions
29 // booleans
30 // AND and OR
31 def protected VLSTerm unfoldAnd(List<? extends VLSTerm> operands) {
32 if (operands.size == 1) {
33 return operands.head
34 } else if (operands.size > 1) {
35 return createVLSAnd => [
36 left = operands.head
37 right = operands.subList(1, operands.size).unfoldAnd
38 ]
39 } else
40 throw new UnsupportedOperationException('''Logic operator with 0 operands!''')
41 }
42
43 def protected VLSTerm unfoldOr(List<? extends VLSTerm> operands) {
44
45// if(operands.size == 0) {basically return true}
46 /*else*/ if (operands.size == 1) {
47 return operands.head
48 } else if (operands.size > 1) {
49 return createVLSOr => [
50 left = operands.head
51 right = operands.subList(1, operands.size).unfoldOr
52 ]
53 } else
54 throw new UnsupportedOperationException('''Logic operator with 0 operands!''') // TEMP
55 }
56
57 def protected VLSTerm unfoldDistinctTerms(Logic2VampireLanguageMapper m, EList<Term> operands,
58 Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
59 if(operands.size == 1) { return m.transformTerm(operands.head,trace,variables) }
60 else if(operands.size > 1) {
61 val notEquals = new ArrayList<VLSTerm>(operands.size*operands.size/2)
62 for(i:0..<operands.size) {
63 for(j: i+1..<operands.size) {
64 notEquals+=createVLSInequality=>[
65 it.left= m.transformTerm(operands.get(i),trace,variables)
66 it.right = m.transformTerm(operands.get(j),trace,variables)
67 ]
68 }
69 }
70 return notEquals.unfoldAnd
71 }
72 else throw new UnsupportedOperationException('''Logic operator with 0 operands!''')
73 }
74
75 // Symbolic
76 // def postprocessResultOfSymbolicReference(TypeReference type, VLSTerm term, Logic2VampireLanguageMapperTrace trace) {
77// if(type instanceof BoolTypeReference) {
78// return booleanToLogicValue(term ,trace)
79// }
80// else return term
81// }
82// def booleanToLogicValue(VLSTerm term, Logic2VampireLanguageMapperTrace trace) {
83// throw new UnsupportedOperationException("TODO: auto-generated method stub")
84// }
85 /*
86 * def protected String toID(List<String> ids) {
87 * ids.map[it.split("\\s+").join("'")].join("'")
88 * }
89 */
90 // QUANTIFIERS + VARIABLES
91 def protected VLSTerm createUniversallyQuantifiedExpression(Logic2VampireLanguageMapper mapper,
92 QuantifiedExpression expression, Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
93 val variableMap = expression.quantifiedVariables.toInvertedMap [ v |
94 createVLSVariable => [it.name = toIDMultiple("Var", v.name)]
95 ]
96
97 val typedefs = new ArrayList<VLSTerm>
98 for (variable : expression.quantifiedVariables) {
99 val eq = createVLSFunction => [
100 it.constant = toIDMultiple("type", (variable.range as ComplexTypeReference).referred.name)
101 it.terms += createVLSVariable => [
102 it.name = toIDMultiple("Var", variable.name)
103 ]
104
105 ]
106 typedefs.add(eq)
107 }
108
109
110 createVLSUniversalQuantifier => [
111 it.variables += variableMap.values
112 it.operand = createVLSImplies => [
113 it.left = unfoldAnd(typedefs)
114 it.right = mapper.transformTerm(expression.expression, trace, variables.withAddition(variableMap))
115 ]
116 ]
117 }
118
119 def protected VLSTerm createExistentiallyQuantifiedExpression(Logic2VampireLanguageMapper mapper,
120 QuantifiedExpression expression, Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
121 val variableMap = expression.quantifiedVariables.toInvertedMap [ v |
122 createVLSVariable => [it.name = toIDMultiple("Var", v.name)]
123 ]
124
125 val typedefs = new ArrayList<VLSTerm>
126 for (variable : expression.quantifiedVariables) {
127 val eq = createVLSFunction => [
128 it.constant = toIDMultiple("type", (variable.range as ComplexTypeReference).referred.name)
129 it.terms += createVLSVariable => [
130 it.name = toIDMultiple("Var", variable.name)
131 ]
132 ]
133 typedefs.add(eq)
134 }
135
136 typedefs.add(mapper.transformTerm(expression.expression, trace, variables.withAddition(variableMap)))
137 createVLSExistentialQuantifier => [
138 it.variables += variableMap.values
139 it.operand = unfoldAnd(typedefs)
140
141 ]
142 }
143
144 def protected withAddition(Map<Variable, VLSVariable> map1, Map<Variable, VLSVariable> map2) {
145 new HashMap(map1) => [putAll(map2)]
146 }
147
148}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.xtend
new file mode 100644
index 00000000..1f071635
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.xtend
@@ -0,0 +1,19 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import java.util.Collection
6import java.util.List
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
8
9interface Logic2VampireLanguageMapper_TypeMapper {
10 def void transformTypes(Collection<Type> types, Collection<DefinedElement> elements, Logic2VampireLanguageMapper mapper, Logic2VampireLanguageMapperTrace trace);
11 //samples below 2 lines
12 def List<VLSTerm> transformTypeReference(Type referred, Logic2VampireLanguageMapper mapper, Logic2VampireLanguageMapperTrace trace)
13 def VLSTerm getUndefinedSupertype(Logic2VampireLanguageMapperTrace trace)
14
15 def int getUndefinedSupertypeScope(int undefinedScope,Logic2VampireLanguageMapperTrace trace)
16 def VLSTerm transformReference(DefinedElement referred,Logic2VampireLanguageMapperTrace trace)
17
18 def VampireModelInterpretation_TypeInterpretation getTypeInterpreter()
19} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtend
new file mode 100644
index 00000000..a0f0edda
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtend
@@ -0,0 +1,21 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
8import java.util.ArrayList
9import java.util.HashMap
10import java.util.List
11import java.util.Map
12
13class Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes implements Logic2VampireLanguageMapper_TypeMapperTrace{
14
15// public var VLSFofFormula objectSuperClass
16 public val Map<Type, VLSFunction> type2Predicate = new HashMap;
17 public val Map<DefinedElement, VLSEquality> definedElement2Declaration = new HashMap //Not Yet Used
18 public val Map<Type, VLSTerm> type2PossibleNot = new HashMap
19 public val Map<Type, VLSTerm> type2And = new HashMap
20
21} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtend
new file mode 100644
index 00000000..7221f3ff
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtend
@@ -0,0 +1,158 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory
10import java.util.ArrayList
11import java.util.Collection
12
13import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
14
15class Logic2VampireLanguageMapper_TypeMapper_FilteredTypes implements Logic2VampireLanguageMapper_TypeMapper {
16 private val Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support
17 private val extension VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE
18
19 new() {
20 LogicproblemPackage.eINSTANCE.class
21 }
22
23 override transformTypes(Collection<Type> types, Collection<DefinedElement> elements,
24 Logic2VampireLanguageMapper mapper, Logic2VampireLanguageMapperTrace trace) {
25 val typeTrace = new Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes
26 trace.typeMapperTrace = typeTrace
27
28 val VLSVariable variable = createVLSVariable => [it.name = "A"] // did not work
29 // 1. store predicates for declarations in trace
30 for (type : types) {
31 val typePred = createVLSFunction => [
32 it.constant = support.toIDMultiple("type", type.name)
33 it.terms += createVLSVariable => [it.name = variable.name]
34 ]
35 typeTrace.type2Predicate.put(type, typePred)
36 }
37
38 // 2. Map each type definition to fof formula
39 for (type : types.filter(TypeDefinition)) {
40
41 val res = createVLSFofFormula => [
42 it.name = support.toIDMultiple("typeDef", type.name)
43 // below is temporary solution
44 it.fofRole = "axiom"
45 it.fofFormula = createVLSUniversalQuantifier => [
46 it.variables += createVLSVariable => [it.name = variable.name]
47 it.operand = createVLSEquivalent => [
48 it.left = createVLSFunction => [
49 it.constant = type.lookup(typeTrace.type2Predicate).constant
50 it.terms += createVLSVariable => [it.name = "A"]
51 ]
52
53 type.lookup(typeTrace.type2Predicate)
54 it.right = support.unfoldOr(type.elements.map [ e |
55 createVLSEquality => [
56 it.left = createVLSVariable => [it.name = variable.name]
57// it.right = createVLSDoubleQuote => [
58// it.value = "\"" + e.name + "\""
59// ]
60 it.right = createVLSDoubleQuote => [
61 it.value = "\"a" + e.name + "\""
62 ]
63 ]
64 ])
65 ]
66 ]
67
68 ]
69 trace.specification.formulas += res
70 }
71 // 2.5. Currently allowing duplicate types. Not problematic cuz strings are by def unique
72 // 3. For each non-abstract type, create an and sequence containing all typedeclaration predicates
73 // and store in a map
74// val List<VLSTerm> type2PossibleNot = new ArrayList
75// val List<VLSTerm> type2And = new ArrayList
76 for (type : types.filter[!isIsAbstract]) {
77 for (type2 : types) {
78 // possible improvement: check all supertypes and decide if negated or not based on negations/not negations of supertypes
79 if (type == type2 || dfsSupertypeCheck(type, type2)) {
80 typeTrace.type2PossibleNot.put(type2, createVLSFunction => [
81 it.constant = type2.lookup(typeTrace.type2Predicate).constant
82 it.terms += createVLSVariable => [it.name = "A"]
83 ])
84 } else {
85 typeTrace.type2PossibleNot.put(type2, createVLSUnaryNegation => [
86 it.operand = createVLSFunction => [
87 it.constant = type2.lookup(typeTrace.type2Predicate).constant
88 it.terms += createVLSVariable => [it.name = "A"]
89 ]
90 ])
91 }
92// typeTrace.type2PossibleNot.put(type2, type2.lookup(typeTrace.type2Predicate))
93 }
94 typeTrace.type2And.put(type, support.unfoldAnd(new ArrayList<VLSTerm>(typeTrace.type2PossibleNot.values)))
95// typeTrace.type2And.put(type, type.lookup(typeTrace.type2Predicate) )
96 typeTrace.type2PossibleNot.clear
97 }
98
99 // 5. create fof function that is an or with all the elements in map
100 val hierarch = createVLSFofFormula => [
101 it.name = "hierarchyHandler"
102 it.fofRole = "axiom"
103 it.fofFormula = createVLSUniversalQuantifier => [
104 it.variables += createVLSVariable => [it.name = "A"]
105 it.operand = createVLSEquivalent => [
106 it.left = createVLSFunction => [
107 it.constant = "Object"
108 it.terms += createVLSVariable => [
109 it.name = "A"
110 ]
111 ]
112 it.right = support.unfoldOr(new ArrayList<VLSTerm>(typeTrace.type2And.values))
113 ]
114 ]
115 ]
116
117 trace.specification.formulas += hierarch
118 }
119
120 def boolean dfsSupertypeCheck(Type type, Type type2) {
121 // There is surely a better way to do this
122 if (type.supertypes.isEmpty)
123 return false
124 else {
125 if (type.supertypes.contains(type2))
126 return true
127 else {
128 for (supertype : type.supertypes) {
129 if(dfsSupertypeCheck(supertype, type2)) return true
130 }
131 }
132 }
133 }
134
135 override transformTypeReference(Type referred, Logic2VampireLanguageMapper mapper,
136 Logic2VampireLanguageMapperTrace trace) {
137 throw new UnsupportedOperationException("TODO: auto-generated method stub")
138 }
139
140 override getUndefinedSupertype(Logic2VampireLanguageMapperTrace trace) {
141 throw new UnsupportedOperationException("TODO: auto-generated method stub")
142 }
143
144 override getUndefinedSupertypeScope(int undefinedScope, Logic2VampireLanguageMapperTrace trace) {
145 throw new UnsupportedOperationException("TODO: auto-generated method stub")
146 }
147
148 override transformReference(DefinedElement referred, Logic2VampireLanguageMapperTrace trace) {
149 createVLSDoubleQuote => [
150 it.value = "\"a" + referred.name + "\""
151 ]
152 }
153
154 override getTypeInterpreter() {
155 throw new UnsupportedOperationException("TODO: auto-generated method stub")
156 }
157
158}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation.xtend
new file mode 100644
index 00000000..66f4fb06
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation.xtend
@@ -0,0 +1,5 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3interface VampireModelInterpretation_TypeInterpretation {
4
5} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtend
new file mode 100644
index 00000000..863ec783
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtend
@@ -0,0 +1,5 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3class VampireModelInterpretation_TypeInterpretation_FilteredTypes implements VampireModelInterpretation_TypeInterpretation {
4 //TODO
5} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin
new file mode 100644
index 00000000..e8e82269
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin
new file mode 100644
index 00000000..dee2a0a8
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.gitignore
new file mode 100644
index 00000000..9efd2ac5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.gitignore
@@ -0,0 +1,4 @@
1/.VampireSolver.java._trace
2/.TypeMappingTechnique.java._trace
3/.VampireBackendSolver.java._trace
4/.VampireSolverConfiguration.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/TypeMappingTechnique.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/TypeMappingTechnique.java
new file mode 100644
index 00000000..8ffba2f1
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/TypeMappingTechnique.java
@@ -0,0 +1,6 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner;
2
3@SuppressWarnings("all")
4public enum TypeMappingTechnique {
5 FilteredTypes;
6}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireBackendSolver.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireBackendSolver.java
new file mode 100644
index 00000000..91e9bed0
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireBackendSolver.java
@@ -0,0 +1,5 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner;
2
3@SuppressWarnings("all")
4public enum VampireBackendSolver {
5}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.java
new file mode 100644
index 00000000..81cae109
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.java
@@ -0,0 +1,80 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner;
2
3import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup;
4import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration;
6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper;
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace;
8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel;
11import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation;
12import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner;
13import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException;
14import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration;
15import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput;
16import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
17import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult;
18import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult;
19import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace;
20import java.io.PrintWriter;
21import java.util.List;
22import org.eclipse.xtend2.lib.StringConcatenation;
23import org.eclipse.xtext.xbase.lib.Exceptions;
24
25@SuppressWarnings("all")
26public class VampireSolver extends LogicReasoner {
27 public VampireSolver() {
28 VampireLanguagePackage.eINSTANCE.eClass();
29 final VampireLanguageStandaloneSetupGenerated x = new VampireLanguageStandaloneSetupGenerated();
30 VampireLanguageStandaloneSetup.doSetup();
31 }
32
33 private final Logic2VampireLanguageMapper forwardMapper = new Logic2VampireLanguageMapper(new Logic2VampireLanguageMapper_TypeMapper_FilteredTypes());
34
35 private final String fileName = "problem.tptp";
36
37 @Override
38 public LogicResult solve(final LogicProblem problem, final LogicSolverConfiguration configuration, final ReasonerWorkspace workspace) throws LogicReasonerException {
39 try {
40 final VampireSolverConfiguration vampireConfig = this.asConfig(configuration);
41 final long transformationStart = System.currentTimeMillis();
42 final TracedOutput<VampireModel, Logic2VampireLanguageMapperTrace> result = this.forwardMapper.transformProblem(problem, vampireConfig);
43 final VampireModel vampireProblem = result.getOutput();
44 final Logic2VampireLanguageMapperTrace forwardTrace = result.getTrace();
45 String fileURI = null;
46 String vampireCode = null;
47 if (vampireConfig.writeToFile) {
48 fileURI = workspace.writeModel(vampireProblem, this.fileName).toFileString();
49 } else {
50 vampireCode = workspace.writeModelToString(vampireProblem, this.fileName);
51 }
52 long _currentTimeMillis = System.currentTimeMillis();
53 final long transformationTime = (_currentTimeMillis - transformationStart);
54 final PrintWriter out = new PrintWriter("output/files/vampireCode.tptp");
55 out.println(vampireCode);
56 out.close();
57 return null;
58 } catch (Throwable _e) {
59 throw Exceptions.sneakyThrow(_e);
60 }
61 }
62
63 public VampireSolverConfiguration asConfig(final LogicSolverConfiguration configuration) {
64 if ((configuration instanceof VampireSolverConfiguration)) {
65 return ((VampireSolverConfiguration)configuration);
66 } else {
67 StringConcatenation _builder = new StringConcatenation();
68 _builder.append("The configuration have to be an ");
69 String _simpleName = VampireSolverConfiguration.class.getSimpleName();
70 _builder.append(_simpleName);
71 _builder.append("!");
72 throw new IllegalArgumentException(_builder.toString());
73 }
74 }
75
76 @Override
77 public List<? extends LogicModelInterpretation> getInterpretations(final ModelResult modelResult) {
78 return null;
79 }
80}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java
new file mode 100644
index 00000000..d392016e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java
@@ -0,0 +1,10 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner;
2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration;
4
5@SuppressWarnings("all")
6public class VampireSolverConfiguration extends LogicSolverConfiguration {
7 public int symmetry = 0;
8
9 public boolean writeToFile = false;
10}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin
new file mode 100644
index 00000000..10edee94
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin
new file mode 100644
index 00000000..50c1d625
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin
new file mode 100644
index 00000000..f331beac
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin
new file mode 100644
index 00000000..e929e637
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin
new file mode 100644
index 00000000..cc7aea7c
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin
new file mode 100644
index 00000000..1b6cf5d1
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtendbin
new file mode 100644
index 00000000..7a4d5bc7
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtendbin
new file mode 100644
index 00000000..7b6b2f9a
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin
new file mode 100644
index 00000000..f8b3c54e
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin
new file mode 100644
index 00000000..52b870a3
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.gitignore
new file mode 100644
index 00000000..d27ff186
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.gitignore
@@ -0,0 +1,11 @@
1/.Logic2VampireLanguageMapper_ConstantMapper.java._trace
2/.Logic2VampireLanguageMapper.java._trace
3/.Logic2VampireLanguageMapperTrace.java._trace
4/.Logic2VampireLanguageMapper_TypeMapperTrace.java._trace
5/.VampireModelInterpretation_TypeInterpretation.java._trace
6/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.java._trace
7/.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.java._trace
8/.Logic2VampireLanguageMapper_TypeMapper.java._trace
9/.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.java._trace
10/.Logic2VampireLanguageMapper_Support.java._trace
11/.Logic2VampireLanguageMapper_RelationMapper.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.java
new file mode 100644
index 00000000..390a6b10
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.java
@@ -0,0 +1,442 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_ConstantMapper;
6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_RelationMapper;
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support;
8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies;
16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInt;
17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSReal;
18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation;
20import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
21import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
22import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel;
23import com.google.common.collect.Iterables;
24import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput;
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And;
26import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion;
27import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolLiteral;
28import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference;
29import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference;
30import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration;
31import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition;
32import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
33import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Distinct;
34import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Equals;
35import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists;
36import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Forall;
37import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration;
38import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDefinition;
39import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff;
40import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Impl;
41import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.InstanceOf;
42import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral;
43import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not;
44import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or;
45import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral;
46import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
47import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration;
48import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition;
49import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicDeclaration;
50import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue;
51import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
52import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
53import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
54import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
55import hu.bme.mit.inf.dslreasoner.util.CollectionsUtil;
56import java.util.Arrays;
57import java.util.Collections;
58import java.util.HashMap;
59import java.util.List;
60import java.util.Map;
61import java.util.function.Consumer;
62import org.eclipse.emf.common.util.EList;
63import org.eclipse.xtend.lib.annotations.AccessorType;
64import org.eclipse.xtend.lib.annotations.Accessors;
65import org.eclipse.xtext.xbase.lib.Extension;
66import org.eclipse.xtext.xbase.lib.Functions.Function1;
67import org.eclipse.xtext.xbase.lib.IterableExtensions;
68import org.eclipse.xtext.xbase.lib.ListExtensions;
69import org.eclipse.xtext.xbase.lib.ObjectExtensions;
70import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
71import org.eclipse.xtext.xbase.lib.Pure;
72
73@SuppressWarnings("all")
74public class Logic2VampireLanguageMapper {
75 @Extension
76 private final VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE;
77
78 private final Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support();
79
80 @Accessors(AccessorType.PUBLIC_GETTER)
81 private final Logic2VampireLanguageMapper_ConstantMapper constantMapper = new Logic2VampireLanguageMapper_ConstantMapper(this);
82
83 @Accessors(AccessorType.PUBLIC_GETTER)
84 private final Logic2VampireLanguageMapper_RelationMapper relationMapper = new Logic2VampireLanguageMapper_RelationMapper(this);
85
86 @Accessors(AccessorType.PUBLIC_GETTER)
87 private final Logic2VampireLanguageMapper_TypeMapper typeMapper;
88
89 public Logic2VampireLanguageMapper(final Logic2VampireLanguageMapper_TypeMapper typeMapper) {
90 this.typeMapper = typeMapper;
91 }
92
93 public TracedOutput<VampireModel, Logic2VampireLanguageMapperTrace> transformProblem(final LogicProblem problem, final VampireSolverConfiguration configuration) {
94 VLSComment _createVLSComment = this.factory.createVLSComment();
95 final Procedure1<VLSComment> _function = (VLSComment it) -> {
96 it.setComment("%This is an initial Test Comment \r");
97 };
98 final VLSComment initialComment = ObjectExtensions.<VLSComment>operator_doubleArrow(_createVLSComment, _function);
99 VampireModel _createVampireModel = this.factory.createVampireModel();
100 final Procedure1<VampireModel> _function_1 = (VampireModel it) -> {
101 EList<VLSComment> _comments = it.getComments();
102 _comments.add(initialComment);
103 };
104 final VampireModel specification = ObjectExtensions.<VampireModel>operator_doubleArrow(_createVampireModel, _function_1);
105 Logic2VampireLanguageMapperTrace _logic2VampireLanguageMapperTrace = new Logic2VampireLanguageMapperTrace();
106 final Procedure1<Logic2VampireLanguageMapperTrace> _function_2 = (Logic2VampireLanguageMapperTrace it) -> {
107 it.specification = specification;
108 };
109 final Logic2VampireLanguageMapperTrace trace = ObjectExtensions.<Logic2VampireLanguageMapperTrace>operator_doubleArrow(_logic2VampireLanguageMapperTrace, _function_2);
110 boolean _isEmpty = problem.getTypes().isEmpty();
111 boolean _not = (!_isEmpty);
112 if (_not) {
113 this.typeMapper.transformTypes(problem.getTypes(), problem.getElements(), this, trace);
114 }
115 trace.constantDefinitions = this.collectConstantDefinitions(problem);
116 trace.relationDefinitions = this.collectRelationDefinitions(problem);
117 final Consumer<Relation> _function_3 = (Relation it) -> {
118 this.relationMapper.transformRelation(it, trace);
119 };
120 problem.getRelations().forEach(_function_3);
121 final Consumer<ConstantDefinition> _function_4 = (ConstantDefinition it) -> {
122 this.constantMapper.transformConstantDefinitionSpecification(it, trace);
123 };
124 Iterables.<ConstantDefinition>filter(problem.getConstants(), ConstantDefinition.class).forEach(_function_4);
125 EList<Assertion> _assertions = problem.getAssertions();
126 for (final Assertion assertion : _assertions) {
127 this.transformAssertion(assertion, trace);
128 }
129 return new TracedOutput<VampireModel, Logic2VampireLanguageMapperTrace>(specification, trace);
130 }
131
132 protected VLSTerm _transformTypeReference(final BoolTypeReference boolTypeReference, final Logic2VampireLanguageMapperTrace trace) {
133 return null;
134 }
135
136 private HashMap<ConstantDeclaration, ConstantDefinition> collectConstantDefinitions(final LogicProblem problem) {
137 final HashMap<ConstantDeclaration, ConstantDefinition> res = new HashMap<ConstantDeclaration, ConstantDefinition>();
138 final Function1<ConstantDefinition, Boolean> _function = (ConstantDefinition it) -> {
139 ConstantDeclaration _defines = it.getDefines();
140 return Boolean.valueOf((_defines != null));
141 };
142 final Consumer<ConstantDefinition> _function_1 = (ConstantDefinition it) -> {
143 res.put(it.getDefines(), it);
144 };
145 IterableExtensions.<ConstantDefinition>filter(Iterables.<ConstantDefinition>filter(problem.getConstants(), ConstantDefinition.class), _function).forEach(_function_1);
146 return res;
147 }
148
149 private HashMap<RelationDeclaration, RelationDefinition> collectRelationDefinitions(final LogicProblem problem) {
150 final HashMap<RelationDeclaration, RelationDefinition> res = new HashMap<RelationDeclaration, RelationDefinition>();
151 final Function1<RelationDefinition, Boolean> _function = (RelationDefinition it) -> {
152 RelationDeclaration _defines = it.getDefines();
153 return Boolean.valueOf((_defines != null));
154 };
155 final Consumer<RelationDefinition> _function_1 = (RelationDefinition it) -> {
156 res.put(it.getDefines(), it);
157 };
158 IterableExtensions.<RelationDefinition>filter(Iterables.<RelationDefinition>filter(problem.getRelations(), RelationDefinition.class), _function).forEach(_function_1);
159 return res;
160 }
161
162 protected boolean transformAssertion(final Assertion assertion, final Logic2VampireLanguageMapperTrace trace) {
163 boolean _xblockexpression = false;
164 {
165 VLSFofFormula _createVLSFofFormula = this.factory.createVLSFofFormula();
166 final Procedure1<VLSFofFormula> _function = (VLSFofFormula it) -> {
167 it.setName(this.support.toID(assertion.getName()));
168 it.setFofRole("axiom");
169 it.setFofFormula(this.transformTerm(assertion.getValue(), trace, Collections.EMPTY_MAP));
170 };
171 final VLSFofFormula res = ObjectExtensions.<VLSFofFormula>operator_doubleArrow(_createVLSFofFormula, _function);
172 EList<VLSFofFormula> _formulas = trace.specification.getFormulas();
173 _xblockexpression = _formulas.add(res);
174 }
175 return _xblockexpression;
176 }
177
178 protected VLSTerm _transformTerm(final BoolLiteral literal, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
179 VLSTerm _xifexpression = null;
180 boolean _isValue = literal.isValue();
181 boolean _equals = (_isValue == true);
182 if (_equals) {
183 _xifexpression = this.factory.createVLSTrue();
184 } else {
185 _xifexpression = this.factory.createVLSFalse();
186 }
187 return _xifexpression;
188 }
189
190 protected VLSTerm _transformTerm(final IntLiteral literal, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
191 VLSInt _createVLSInt = this.factory.createVLSInt();
192 final Procedure1<VLSInt> _function = (VLSInt it) -> {
193 it.setValue(Integer.valueOf(literal.getValue()).toString());
194 };
195 return ObjectExtensions.<VLSInt>operator_doubleArrow(_createVLSInt, _function);
196 }
197
198 protected VLSTerm _transformTerm(final RealLiteral literal, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
199 VLSReal _createVLSReal = this.factory.createVLSReal();
200 final Procedure1<VLSReal> _function = (VLSReal it) -> {
201 it.setValue(literal.getValue().toString());
202 };
203 return ObjectExtensions.<VLSReal>operator_doubleArrow(_createVLSReal, _function);
204 }
205
206 protected VLSTerm _transformTerm(final Not not, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
207 VLSUnaryNegation _createVLSUnaryNegation = this.factory.createVLSUnaryNegation();
208 final Procedure1<VLSUnaryNegation> _function = (VLSUnaryNegation it) -> {
209 it.setOperand(this.transformTerm(not.getOperand(), trace, variables));
210 };
211 return ObjectExtensions.<VLSUnaryNegation>operator_doubleArrow(_createVLSUnaryNegation, _function);
212 }
213
214 protected VLSTerm _transformTerm(final And and, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
215 final Function1<Term, VLSTerm> _function = (Term it) -> {
216 return this.transformTerm(it, trace, variables);
217 };
218 return this.support.unfoldAnd(ListExtensions.<Term, VLSTerm>map(and.getOperands(), _function));
219 }
220
221 protected VLSTerm _transformTerm(final Or or, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
222 final Function1<Term, VLSTerm> _function = (Term it) -> {
223 return this.transformTerm(it, trace, variables);
224 };
225 return this.support.unfoldOr(ListExtensions.<Term, VLSTerm>map(or.getOperands(), _function));
226 }
227
228 protected VLSTerm _transformTerm(final Impl impl, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
229 VLSImplies _createVLSImplies = this.factory.createVLSImplies();
230 final Procedure1<VLSImplies> _function = (VLSImplies it) -> {
231 it.setLeft(this.transformTerm(impl.getLeftOperand(), trace, variables));
232 it.setRight(this.transformTerm(impl.getRightOperand(), trace, variables));
233 };
234 return ObjectExtensions.<VLSImplies>operator_doubleArrow(_createVLSImplies, _function);
235 }
236
237 protected VLSTerm _transformTerm(final Iff iff, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
238 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
239 final Procedure1<VLSEquivalent> _function = (VLSEquivalent it) -> {
240 it.setLeft(this.transformTerm(iff.getLeftOperand(), trace, variables));
241 it.setRight(this.transformTerm(iff.getRightOperand(), trace, variables));
242 };
243 return ObjectExtensions.<VLSEquivalent>operator_doubleArrow(_createVLSEquivalent, _function);
244 }
245
246 protected VLSTerm _transformTerm(final Equals equals, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
247 VLSEquality _createVLSEquality = this.factory.createVLSEquality();
248 final Procedure1<VLSEquality> _function = (VLSEquality it) -> {
249 it.setLeft(this.transformTerm(equals.getLeftOperand(), trace, variables));
250 it.setRight(this.transformTerm(equals.getRightOperand(), trace, variables));
251 };
252 return ObjectExtensions.<VLSEquality>operator_doubleArrow(_createVLSEquality, _function);
253 }
254
255 protected VLSTerm _transformTerm(final Distinct distinct, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
256 return this.support.unfoldDistinctTerms(this, distinct.getOperands(), trace, variables);
257 }
258
259 protected VLSTerm _transformTerm(final Forall forall, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
260 return this.support.createUniversallyQuantifiedExpression(this, forall, trace, variables);
261 }
262
263 protected VLSTerm _transformTerm(final Exists exists, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
264 return this.support.createExistentiallyQuantifiedExpression(this, exists, trace, variables);
265 }
266
267 protected VLSTerm _transformTerm(final InstanceOf instanceOf, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
268 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
269 final Procedure1<VLSFunction> _function = (VLSFunction it) -> {
270 TypeReference _range = instanceOf.getRange();
271 it.setConstant(this.support.toIDMultiple("type", ((ComplexTypeReference) _range).getReferred().getName()));
272 EList<VLSTerm> _terms = it.getTerms();
273 VLSTerm _transformTerm = this.transformTerm(instanceOf.getValue(), trace, variables);
274 _terms.add(_transformTerm);
275 };
276 return ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function);
277 }
278
279 protected VLSTerm _transformTerm(final SymbolicValue symbolicValue, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
280 return this.transformSymbolicReference(symbolicValue.getSymbolicReference(), symbolicValue.getParameterSubstitutions(), trace, variables);
281 }
282
283 protected VLSTerm _transformSymbolicReference(final DefinedElement referred, final List<Term> parameterSubstitutions, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
284 return this.typeMapper.transformReference(referred, trace);
285 }
286
287 protected VLSTerm _transformSymbolicReference(final ConstantDeclaration constant, final List<Term> parameterSubstitutions, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
288 VLSConstant _createVLSConstant = this.factory.createVLSConstant();
289 final Procedure1<VLSConstant> _function = (VLSConstant it) -> {
290 it.setName(this.support.toID(constant.getName()));
291 };
292 final VLSConstant res = ObjectExtensions.<VLSConstant>operator_doubleArrow(_createVLSConstant, _function);
293 return res;
294 }
295
296 protected VLSTerm _transformSymbolicReference(final ConstantDefinition constant, final List<Term> parameterSubstitutions, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
297 return null;
298 }
299
300 protected VLSTerm _transformSymbolicReference(final Variable variable, final List<Term> parameterSubstitutions, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
301 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
302 final Procedure1<VLSVariable> _function = (VLSVariable it) -> {
303 it.setName(this.support.toID(CollectionsUtil.<Variable, VLSVariable>lookup(variable, variables).getName()));
304 };
305 final VLSVariable res = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function);
306 return res;
307 }
308
309 protected VLSTerm _transformSymbolicReference(final FunctionDeclaration function, final List<Term> parameterSubstitutions, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
310 return null;
311 }
312
313 protected VLSTerm _transformSymbolicReference(final FunctionDefinition function, final List<Term> parameterSubstitutions, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
314 return null;
315 }
316
317 /**
318 * def dispatch protected VLSTerm transformSymbolicReference(Relation relation,
319 * List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
320 * Map<Variable, VLSVariable> variables) {
321 * if (trace.relationDefinitions.containsKey(relation)) {
322 * this.transformSymbolicReference(relation.lookup(trace.relationDefinitions),
323 * parameterSubstitutions, trace, variables)
324 * }
325 * else {
326 * // if (relationMapper.transformToHostedField(relation, trace)) {
327 * // val VLSRelation = relation.lookup(trace.relationDeclaration2Field)
328 * // // R(a,b) =>
329 * // // b in a.R
330 * // return createVLSSubset => [
331 * // it.leftOperand = parameterSubstitutions.get(1).transformTerm(trace, variables)
332 * // it.rightOperand = createVLSJoin => [
333 * // it.leftOperand = parameterSubstitutions.get(0).transformTerm(trace, variables)
334 * // it.rightOperand = createVLSReference => [it.referred = VLSRelation]
335 * // ]
336 * // ]
337 * // } else {
338 * // val target = createVLSJoin => [
339 * // leftOperand = createVLSReference => [referred = trace.logicLanguage]
340 * // rightOperand = createVLSReference => [
341 * // referred = relation.lookup(trace.relationDeclaration2Global)
342 * // ]
343 * // ]
344 * // val source = support.unfoldTermDirectProduct(this, parameterSubstitutions, trace, variables)
345 * //
346 * // return createVLSSubset => [
347 * // leftOperand = source
348 * // rightOperand = target
349 * // ]
350 * // }
351 * }
352 * }
353 */
354 protected VLSTerm _transformSymbolicReference(final Relation relation, final List<Term> parameterSubstitutions, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
355 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
356 final Procedure1<VLSFunction> _function = (VLSFunction it) -> {
357 it.setConstant(this.support.toIDMultiple("rel", relation.getName()));
358 EList<VLSTerm> _terms = it.getTerms();
359 final Function1<Term, VLSTerm> _function_1 = (Term p) -> {
360 return this.transformTerm(p, trace, variables);
361 };
362 List<VLSTerm> _map = ListExtensions.<Term, VLSTerm>map(parameterSubstitutions, _function_1);
363 Iterables.<VLSTerm>addAll(_terms, _map);
364 };
365 return ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function);
366 }
367
368 protected VLSTerm transformTypeReference(final BoolTypeReference boolTypeReference, final Logic2VampireLanguageMapperTrace trace) {
369 return _transformTypeReference(boolTypeReference, trace);
370 }
371
372 protected VLSTerm transformTerm(final Term and, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
373 if (and instanceof And) {
374 return _transformTerm((And)and, trace, variables);
375 } else if (and instanceof BoolLiteral) {
376 return _transformTerm((BoolLiteral)and, trace, variables);
377 } else if (and instanceof Distinct) {
378 return _transformTerm((Distinct)and, trace, variables);
379 } else if (and instanceof Equals) {
380 return _transformTerm((Equals)and, trace, variables);
381 } else if (and instanceof Exists) {
382 return _transformTerm((Exists)and, trace, variables);
383 } else if (and instanceof Forall) {
384 return _transformTerm((Forall)and, trace, variables);
385 } else if (and instanceof Iff) {
386 return _transformTerm((Iff)and, trace, variables);
387 } else if (and instanceof Impl) {
388 return _transformTerm((Impl)and, trace, variables);
389 } else if (and instanceof IntLiteral) {
390 return _transformTerm((IntLiteral)and, trace, variables);
391 } else if (and instanceof Not) {
392 return _transformTerm((Not)and, trace, variables);
393 } else if (and instanceof Or) {
394 return _transformTerm((Or)and, trace, variables);
395 } else if (and instanceof RealLiteral) {
396 return _transformTerm((RealLiteral)and, trace, variables);
397 } else if (and instanceof InstanceOf) {
398 return _transformTerm((InstanceOf)and, trace, variables);
399 } else if (and instanceof SymbolicValue) {
400 return _transformTerm((SymbolicValue)and, trace, variables);
401 } else {
402 throw new IllegalArgumentException("Unhandled parameter types: " +
403 Arrays.<Object>asList(and, trace, variables).toString());
404 }
405 }
406
407 protected VLSTerm transformSymbolicReference(final SymbolicDeclaration constant, final List<Term> parameterSubstitutions, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
408 if (constant instanceof ConstantDeclaration) {
409 return _transformSymbolicReference((ConstantDeclaration)constant, parameterSubstitutions, trace, variables);
410 } else if (constant instanceof ConstantDefinition) {
411 return _transformSymbolicReference((ConstantDefinition)constant, parameterSubstitutions, trace, variables);
412 } else if (constant instanceof FunctionDeclaration) {
413 return _transformSymbolicReference((FunctionDeclaration)constant, parameterSubstitutions, trace, variables);
414 } else if (constant instanceof FunctionDefinition) {
415 return _transformSymbolicReference((FunctionDefinition)constant, parameterSubstitutions, trace, variables);
416 } else if (constant instanceof DefinedElement) {
417 return _transformSymbolicReference((DefinedElement)constant, parameterSubstitutions, trace, variables);
418 } else if (constant instanceof Relation) {
419 return _transformSymbolicReference((Relation)constant, parameterSubstitutions, trace, variables);
420 } else if (constant instanceof Variable) {
421 return _transformSymbolicReference((Variable)constant, parameterSubstitutions, trace, variables);
422 } else {
423 throw new IllegalArgumentException("Unhandled parameter types: " +
424 Arrays.<Object>asList(constant, parameterSubstitutions, trace, variables).toString());
425 }
426 }
427
428 @Pure
429 public Logic2VampireLanguageMapper_ConstantMapper getConstantMapper() {
430 return this.constantMapper;
431 }
432
433 @Pure
434 public Logic2VampireLanguageMapper_RelationMapper getRelationMapper() {
435 return this.relationMapper;
436 }
437
438 @Pure
439 public Logic2VampireLanguageMapper_TypeMapper getTypeMapper() {
440 return this.typeMapper;
441 }
442}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java
new file mode 100644
index 00000000..855815f8
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java
@@ -0,0 +1,34 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapperTrace;
4import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel;
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration;
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition;
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration;
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition;
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
14import java.util.HashMap;
15import java.util.Map;
16
17@SuppressWarnings("all")
18public class Logic2VampireLanguageMapperTrace {
19 public VampireModel specification;
20
21 public VLSFofFormula logicLanguageBody;
22
23 public VLSTerm formula;
24
25 public Logic2VampireLanguageMapper_TypeMapperTrace typeMapperTrace;
26
27 public Map<ConstantDeclaration, ConstantDefinition> constantDefinitions;
28
29 public Map<RelationDeclaration, RelationDefinition> relationDefinitions;
30
31 public final Map<Variable, VLSVariable> relationVar2VLS = new HashMap<Variable, VLSVariable>();
32
33 public final Map<Variable, VLSFunction> relationVar2TypeDec = new HashMap<Variable, VLSFunction>();
34}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ConstantMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ConstantMapper.java
new file mode 100644
index 00000000..e5f42e73
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ConstantMapper.java
@@ -0,0 +1,34 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support;
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDefinition;
8import org.eclipse.xtext.xbase.lib.Extension;
9
10@SuppressWarnings("all")
11public class Logic2VampireLanguageMapper_ConstantMapper {
12 @Extension
13 private final VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE;
14
15 private final Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support();
16
17 private final Logic2VampireLanguageMapper base;
18
19 public Logic2VampireLanguageMapper_ConstantMapper(final Logic2VampireLanguageMapper base) {
20 this.base = base;
21 }
22
23 protected Object _transformConstant(final ConstantDefinition constant, final Logic2VampireLanguageMapperTrace trace) {
24 return null;
25 }
26
27 protected Object transformConstantDefinitionSpecification(final ConstantDefinition constant, final Logic2VampireLanguageMapperTrace trace) {
28 return null;
29 }
30
31 protected Object transformConstant(final ConstantDefinition constant, final Logic2VampireLanguageMapperTrace trace) {
32 return _transformConstant(constant, trace);
33 }
34}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java
new file mode 100644
index 00000000..561402a7
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java
@@ -0,0 +1,296 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support;
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference;
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration;
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition;
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
20import hu.bme.mit.inf.dslreasoner.util.CollectionsUtil;
21import java.util.ArrayList;
22import java.util.Arrays;
23import java.util.Collection;
24import java.util.HashMap;
25import java.util.List;
26import java.util.Map;
27import org.eclipse.emf.common.util.EList;
28import org.eclipse.xtext.xbase.lib.Conversions;
29import org.eclipse.xtext.xbase.lib.ExclusiveRange;
30import org.eclipse.xtext.xbase.lib.Extension;
31import org.eclipse.xtext.xbase.lib.ObjectExtensions;
32import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
33
34@SuppressWarnings("all")
35public class Logic2VampireLanguageMapper_RelationMapper {
36 @Extension
37 private final VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE;
38
39 private final Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support();
40
41 private final Logic2VampireLanguageMapper base;
42
43 public Logic2VampireLanguageMapper_RelationMapper(final Logic2VampireLanguageMapper base) {
44 this.base = base;
45 }
46
47 public void _transformRelation(final RelationDefinition r, final Logic2VampireLanguageMapperTrace trace) {
48 final Map<Variable, VLSVariable> relationVar2VLS = new HashMap<Variable, VLSVariable>();
49 final Map<Variable, VLSFunction> relationVar2TypeDecComply = new HashMap<Variable, VLSFunction>();
50 final Map<Variable, VLSFunction> relationVar2TypeDecRes = new HashMap<Variable, VLSFunction>();
51 final ArrayList<VLSTerm> typedefs = new ArrayList<VLSTerm>();
52 EList<Variable> _variables = r.getVariables();
53 for (final Variable variable : _variables) {
54 {
55 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
56 final Procedure1<VLSVariable> _function = (VLSVariable it) -> {
57 it.setName(this.support.toIDMultiple("Var", variable.getName()));
58 };
59 final VLSVariable v = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function);
60 relationVar2VLS.put(variable, v);
61 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
62 final Procedure1<VLSFunction> _function_1 = (VLSFunction it) -> {
63 TypeReference _range = variable.getRange();
64 it.setConstant(this.support.toIDMultiple("type", ((ComplexTypeReference) _range).getReferred().getName()));
65 EList<VLSTerm> _terms = it.getTerms();
66 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable();
67 final Procedure1<VLSVariable> _function_2 = (VLSVariable it_1) -> {
68 it_1.setName(this.support.toIDMultiple("Var", variable.getName()));
69 };
70 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_2);
71 _terms.add(_doubleArrow);
72 };
73 final VLSFunction varTypeComply = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_1);
74 relationVar2TypeDecComply.put(variable, varTypeComply);
75 VLSFunction _createVLSFunction_1 = this.factory.createVLSFunction();
76 final Procedure1<VLSFunction> _function_2 = (VLSFunction it) -> {
77 TypeReference _range = variable.getRange();
78 it.setConstant(this.support.toIDMultiple("type", ((ComplexTypeReference) _range).getReferred().getName()));
79 EList<VLSTerm> _terms = it.getTerms();
80 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable();
81 final Procedure1<VLSVariable> _function_3 = (VLSVariable it_1) -> {
82 it_1.setName(this.support.toIDMultiple("Var", variable.getName()));
83 };
84 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_3);
85 _terms.add(_doubleArrow);
86 };
87 final VLSFunction varTypeRes = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction_1, _function_2);
88 relationVar2TypeDecRes.put(variable, varTypeRes);
89 }
90 }
91 VLSFofFormula _createVLSFofFormula = this.factory.createVLSFofFormula();
92 final Procedure1<VLSFofFormula> _function = (VLSFofFormula it) -> {
93 it.setName(this.support.toIDMultiple("compliance", r.getName()));
94 it.setFofRole("axiom");
95 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
96 final Procedure1<VLSUniversalQuantifier> _function_1 = (VLSUniversalQuantifier it_1) -> {
97 EList<Variable> _variables_1 = r.getVariables();
98 for (final Variable variable_1 : _variables_1) {
99 {
100 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
101 final Procedure1<VLSVariable> _function_2 = (VLSVariable it_2) -> {
102 it_2.setName(CollectionsUtil.<Variable, VLSVariable>lookup(variable_1, relationVar2VLS).getName());
103 };
104 final VLSVariable v = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_2);
105 EList<VLSVariable> _variables_2 = it_1.getVariables();
106 _variables_2.add(v);
107 }
108 }
109 VLSImplies _createVLSImplies = this.factory.createVLSImplies();
110 final Procedure1<VLSImplies> _function_2 = (VLSImplies it_2) -> {
111 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
112 final Procedure1<VLSFunction> _function_3 = (VLSFunction it_3) -> {
113 it_3.setConstant(this.support.toIDMultiple("rel", r.getName()));
114 EList<Variable> _variables_2 = r.getVariables();
115 for (final Variable variable_2 : _variables_2) {
116 {
117 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
118 final Procedure1<VLSVariable> _function_4 = (VLSVariable it_4) -> {
119 it_4.setName(CollectionsUtil.<Variable, VLSVariable>lookup(variable_2, relationVar2VLS).getName());
120 };
121 final VLSVariable v = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_4);
122 EList<VLSTerm> _terms = it_3.getTerms();
123 _terms.add(v);
124 }
125 }
126 };
127 VLSFunction _doubleArrow = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_3);
128 it_2.setLeft(_doubleArrow);
129 Collection<VLSFunction> _values = relationVar2TypeDecComply.values();
130 ArrayList<VLSTerm> _arrayList = new ArrayList<VLSTerm>(_values);
131 it_2.setRight(this.support.unfoldAnd(_arrayList));
132 };
133 VLSImplies _doubleArrow = ObjectExtensions.<VLSImplies>operator_doubleArrow(_createVLSImplies, _function_2);
134 it_1.setOperand(_doubleArrow);
135 };
136 VLSUniversalQuantifier _doubleArrow = ObjectExtensions.<VLSUniversalQuantifier>operator_doubleArrow(_createVLSUniversalQuantifier, _function_1);
137 it.setFofFormula(_doubleArrow);
138 };
139 final VLSFofFormula comply = ObjectExtensions.<VLSFofFormula>operator_doubleArrow(_createVLSFofFormula, _function);
140 VLSFofFormula _createVLSFofFormula_1 = this.factory.createVLSFofFormula();
141 final Procedure1<VLSFofFormula> _function_1 = (VLSFofFormula it) -> {
142 it.setName(this.support.toIDMultiple("relation", r.getName()));
143 it.setFofRole("axiom");
144 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
145 final Procedure1<VLSUniversalQuantifier> _function_2 = (VLSUniversalQuantifier it_1) -> {
146 EList<Variable> _variables_1 = r.getVariables();
147 for (final Variable variable_1 : _variables_1) {
148 {
149 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
150 final Procedure1<VLSVariable> _function_3 = (VLSVariable it_2) -> {
151 it_2.setName(CollectionsUtil.<Variable, VLSVariable>lookup(variable_1, relationVar2VLS).getName());
152 };
153 final VLSVariable v = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_3);
154 EList<VLSVariable> _variables_2 = it_1.getVariables();
155 _variables_2.add(v);
156 }
157 }
158 VLSImplies _createVLSImplies = this.factory.createVLSImplies();
159 final Procedure1<VLSImplies> _function_3 = (VLSImplies it_2) -> {
160 Collection<VLSFunction> _values = relationVar2TypeDecRes.values();
161 ArrayList<VLSTerm> _arrayList = new ArrayList<VLSTerm>(_values);
162 it_2.setLeft(this.support.unfoldAnd(_arrayList));
163 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
164 final Procedure1<VLSEquivalent> _function_4 = (VLSEquivalent it_3) -> {
165 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
166 final Procedure1<VLSFunction> _function_5 = (VLSFunction it_4) -> {
167 it_4.setConstant(this.support.toIDMultiple("rel", r.getName()));
168 EList<Variable> _variables_2 = r.getVariables();
169 for (final Variable variable_2 : _variables_2) {
170 {
171 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
172 final Procedure1<VLSVariable> _function_6 = (VLSVariable it_5) -> {
173 it_5.setName(CollectionsUtil.<Variable, VLSVariable>lookup(variable_2, relationVar2VLS).getName());
174 };
175 final VLSVariable v = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_6);
176 EList<VLSTerm> _terms = it_4.getTerms();
177 _terms.add(v);
178 }
179 }
180 };
181 VLSFunction _doubleArrow = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_5);
182 it_3.setLeft(_doubleArrow);
183 it_3.setRight(this.base.transformTerm(r.getValue(), trace, relationVar2VLS));
184 };
185 VLSEquivalent _doubleArrow = ObjectExtensions.<VLSEquivalent>operator_doubleArrow(_createVLSEquivalent, _function_4);
186 it_2.setRight(_doubleArrow);
187 };
188 VLSImplies _doubleArrow = ObjectExtensions.<VLSImplies>operator_doubleArrow(_createVLSImplies, _function_3);
189 it_1.setOperand(_doubleArrow);
190 };
191 VLSUniversalQuantifier _doubleArrow = ObjectExtensions.<VLSUniversalQuantifier>operator_doubleArrow(_createVLSUniversalQuantifier, _function_2);
192 it.setFofFormula(_doubleArrow);
193 };
194 final VLSFofFormula res = ObjectExtensions.<VLSFofFormula>operator_doubleArrow(_createVLSFofFormula_1, _function_1);
195 EList<VLSFofFormula> _formulas = trace.specification.getFormulas();
196 _formulas.add(comply);
197 EList<VLSFofFormula> _formulas_1 = trace.specification.getFormulas();
198 _formulas_1.add(res);
199 }
200
201 public void _transformRelation(final RelationDeclaration r, final Logic2VampireLanguageMapperTrace trace) {
202 final List<VLSVariable> relationVar2VLS = new ArrayList<VLSVariable>();
203 final List<VLSFunction> relationVar2TypeDecComply = new ArrayList<VLSFunction>();
204 final ArrayList<VLSTerm> typedefs = new ArrayList<VLSTerm>();
205 int _length = ((Object[])Conversions.unwrapArray(r.getParameters(), Object.class)).length;
206 ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _length, true);
207 for (final Integer i : _doubleDotLessThan) {
208 {
209 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
210 final Procedure1<VLSVariable> _function = (VLSVariable it) -> {
211 it.setName(this.support.toIDMultiple("Var", i.toString()));
212 };
213 final VLSVariable v = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function);
214 relationVar2VLS.add(v);
215 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
216 final Procedure1<VLSFunction> _function_1 = (VLSFunction it) -> {
217 TypeReference _get = r.getParameters().get((i).intValue());
218 it.setConstant(this.support.toIDMultiple("type", ((ComplexTypeReference) _get).getReferred().getName()));
219 EList<VLSTerm> _terms = it.getTerms();
220 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable();
221 final Procedure1<VLSVariable> _function_2 = (VLSVariable it_1) -> {
222 it_1.setName(this.support.toIDMultiple("Var", i.toString()));
223 };
224 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_2);
225 _terms.add(_doubleArrow);
226 };
227 final VLSFunction varTypeComply = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_1);
228 relationVar2TypeDecComply.add(varTypeComply);
229 }
230 }
231 VLSFofFormula _createVLSFofFormula = this.factory.createVLSFofFormula();
232 final Procedure1<VLSFofFormula> _function = (VLSFofFormula it) -> {
233 it.setName(this.support.toIDMultiple("compliance", r.getName()));
234 it.setFofRole("axiom");
235 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
236 final Procedure1<VLSUniversalQuantifier> _function_1 = (VLSUniversalQuantifier it_1) -> {
237 int _length_1 = ((Object[])Conversions.unwrapArray(r.getParameters(), Object.class)).length;
238 ExclusiveRange _doubleDotLessThan_1 = new ExclusiveRange(0, _length_1, true);
239 for (final Integer i_1 : _doubleDotLessThan_1) {
240 {
241 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
242 final Procedure1<VLSVariable> _function_2 = (VLSVariable it_2) -> {
243 it_2.setName(relationVar2VLS.get((i_1).intValue()).getName());
244 };
245 final VLSVariable v = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_2);
246 EList<VLSVariable> _variables = it_1.getVariables();
247 _variables.add(v);
248 }
249 }
250 VLSImplies _createVLSImplies = this.factory.createVLSImplies();
251 final Procedure1<VLSImplies> _function_2 = (VLSImplies it_2) -> {
252 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
253 final Procedure1<VLSFunction> _function_3 = (VLSFunction it_3) -> {
254 it_3.setConstant(this.support.toIDMultiple("rel", r.getName()));
255 int _length_2 = ((Object[])Conversions.unwrapArray(r.getParameters(), Object.class)).length;
256 ExclusiveRange _doubleDotLessThan_2 = new ExclusiveRange(0, _length_2, true);
257 for (final Integer i_2 : _doubleDotLessThan_2) {
258 {
259 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
260 final Procedure1<VLSVariable> _function_4 = (VLSVariable it_4) -> {
261 it_4.setName(relationVar2VLS.get((i_2).intValue()).getName());
262 };
263 final VLSVariable v = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_4);
264 EList<VLSTerm> _terms = it_3.getTerms();
265 _terms.add(v);
266 }
267 }
268 };
269 VLSFunction _doubleArrow = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_3);
270 it_2.setLeft(_doubleArrow);
271 it_2.setRight(this.support.unfoldAnd(relationVar2TypeDecComply));
272 };
273 VLSImplies _doubleArrow = ObjectExtensions.<VLSImplies>operator_doubleArrow(_createVLSImplies, _function_2);
274 it_1.setOperand(_doubleArrow);
275 };
276 VLSUniversalQuantifier _doubleArrow = ObjectExtensions.<VLSUniversalQuantifier>operator_doubleArrow(_createVLSUniversalQuantifier, _function_1);
277 it.setFofFormula(_doubleArrow);
278 };
279 final VLSFofFormula comply = ObjectExtensions.<VLSFofFormula>operator_doubleArrow(_createVLSFofFormula, _function);
280 EList<VLSFofFormula> _formulas = trace.specification.getFormulas();
281 _formulas.add(comply);
282 }
283
284 public void transformRelation(final Relation r, final Logic2VampireLanguageMapperTrace trace) {
285 if (r instanceof RelationDeclaration) {
286 _transformRelation((RelationDeclaration)r, trace);
287 return;
288 } else if (r instanceof RelationDefinition) {
289 _transformRelation((RelationDefinition)r, trace);
290 return;
291 } else {
292 throw new IllegalArgumentException("Unhandled parameter types: " +
293 Arrays.<Object>asList(r, trace).toString());
294 }
295 }
296}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java
new file mode 100644
index 00000000..e1be7df5
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java
@@ -0,0 +1,242 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace;
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd;
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
15import com.google.common.collect.Iterables;
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference;
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression;
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference;
20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
21import java.util.ArrayList;
22import java.util.Collection;
23import java.util.HashMap;
24import java.util.List;
25import java.util.Map;
26import org.eclipse.emf.common.util.EList;
27import org.eclipse.xtend2.lib.StringConcatenation;
28import org.eclipse.xtext.xbase.lib.Conversions;
29import org.eclipse.xtext.xbase.lib.ExclusiveRange;
30import org.eclipse.xtext.xbase.lib.Extension;
31import org.eclipse.xtext.xbase.lib.Functions.Function1;
32import org.eclipse.xtext.xbase.lib.IterableExtensions;
33import org.eclipse.xtext.xbase.lib.ListExtensions;
34import org.eclipse.xtext.xbase.lib.ObjectExtensions;
35import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
36
37@SuppressWarnings("all")
38public class Logic2VampireLanguageMapper_Support {
39 @Extension
40 private final VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE;
41
42 protected String toIDMultiple(final String... ids) {
43 final Function1<String, String> _function = (String it) -> {
44 return IterableExtensions.join(((Iterable<?>)Conversions.doWrapArray(it.split("\\s+"))), "_");
45 };
46 return IterableExtensions.join(ListExtensions.<String, String>map(((List<String>)Conversions.doWrapArray(ids)), _function), "_");
47 }
48
49 protected String toID(final String ids) {
50 return IterableExtensions.join(((Iterable<?>)Conversions.doWrapArray(ids.split("\\s+"))), "_");
51 }
52
53 protected VLSTerm unfoldAnd(final List<? extends VLSTerm> operands) {
54 int _size = operands.size();
55 boolean _equals = (_size == 1);
56 if (_equals) {
57 return IterableExtensions.head(operands);
58 } else {
59 int _size_1 = operands.size();
60 boolean _greaterThan = (_size_1 > 1);
61 if (_greaterThan) {
62 VLSAnd _createVLSAnd = this.factory.createVLSAnd();
63 final Procedure1<VLSAnd> _function = (VLSAnd it) -> {
64 it.setLeft(IterableExtensions.head(operands));
65 it.setRight(this.unfoldAnd(operands.subList(1, operands.size())));
66 };
67 return ObjectExtensions.<VLSAnd>operator_doubleArrow(_createVLSAnd, _function);
68 } else {
69 StringConcatenation _builder = new StringConcatenation();
70 _builder.append("Logic operator with 0 operands!");
71 throw new UnsupportedOperationException(_builder.toString());
72 }
73 }
74 }
75
76 protected VLSTerm unfoldOr(final List<? extends VLSTerm> operands) {
77 int _size = operands.size();
78 boolean _equals = (_size == 1);
79 if (_equals) {
80 return IterableExtensions.head(operands);
81 } else {
82 int _size_1 = operands.size();
83 boolean _greaterThan = (_size_1 > 1);
84 if (_greaterThan) {
85 VLSOr _createVLSOr = this.factory.createVLSOr();
86 final Procedure1<VLSOr> _function = (VLSOr it) -> {
87 it.setLeft(IterableExtensions.head(operands));
88 it.setRight(this.unfoldOr(operands.subList(1, operands.size())));
89 };
90 return ObjectExtensions.<VLSOr>operator_doubleArrow(_createVLSOr, _function);
91 } else {
92 StringConcatenation _builder = new StringConcatenation();
93 _builder.append("Logic operator with 0 operands!");
94 throw new UnsupportedOperationException(_builder.toString());
95 }
96 }
97 }
98
99 protected VLSTerm unfoldDistinctTerms(final Logic2VampireLanguageMapper m, final EList<Term> operands, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
100 int _size = operands.size();
101 boolean _equals = (_size == 1);
102 if (_equals) {
103 return m.transformTerm(IterableExtensions.<Term>head(operands), trace, variables);
104 } else {
105 int _size_1 = operands.size();
106 boolean _greaterThan = (_size_1 > 1);
107 if (_greaterThan) {
108 int _size_2 = operands.size();
109 int _size_3 = operands.size();
110 int _multiply = (_size_2 * _size_3);
111 int _divide = (_multiply / 2);
112 final ArrayList<VLSTerm> notEquals = new ArrayList<VLSTerm>(_divide);
113 int _size_4 = operands.size();
114 ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _size_4, true);
115 for (final Integer i : _doubleDotLessThan) {
116 int _size_5 = operands.size();
117 ExclusiveRange _doubleDotLessThan_1 = new ExclusiveRange(((i).intValue() + 1), _size_5, true);
118 for (final Integer j : _doubleDotLessThan_1) {
119 VLSInequality _createVLSInequality = this.factory.createVLSInequality();
120 final Procedure1<VLSInequality> _function = (VLSInequality it) -> {
121 it.setLeft(m.transformTerm(operands.get((i).intValue()), trace, variables));
122 it.setRight(m.transformTerm(operands.get((j).intValue()), trace, variables));
123 };
124 VLSInequality _doubleArrow = ObjectExtensions.<VLSInequality>operator_doubleArrow(_createVLSInequality, _function);
125 notEquals.add(_doubleArrow);
126 }
127 }
128 return this.unfoldAnd(notEquals);
129 } else {
130 StringConcatenation _builder = new StringConcatenation();
131 _builder.append("Logic operator with 0 operands!");
132 throw new UnsupportedOperationException(_builder.toString());
133 }
134 }
135 }
136
137 /**
138 * def protected String toID(List<String> ids) {
139 * ids.map[it.split("\\s+").join("'")].join("'")
140 * }
141 */
142 protected VLSTerm createUniversallyQuantifiedExpression(final Logic2VampireLanguageMapper mapper, final QuantifiedExpression expression, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
143 VLSUniversalQuantifier _xblockexpression = null;
144 {
145 final Function1<Variable, VLSVariable> _function = (Variable v) -> {
146 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
147 final Procedure1<VLSVariable> _function_1 = (VLSVariable it) -> {
148 it.setName(this.toIDMultiple("Var", v.getName()));
149 };
150 return ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_1);
151 };
152 final Map<Variable, VLSVariable> variableMap = IterableExtensions.<Variable, VLSVariable>toInvertedMap(expression.getQuantifiedVariables(), _function);
153 final ArrayList<VLSTerm> typedefs = new ArrayList<VLSTerm>();
154 EList<Variable> _quantifiedVariables = expression.getQuantifiedVariables();
155 for (final Variable variable : _quantifiedVariables) {
156 {
157 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
158 final Procedure1<VLSFunction> _function_1 = (VLSFunction it) -> {
159 TypeReference _range = variable.getRange();
160 it.setConstant(this.toIDMultiple("type", ((ComplexTypeReference) _range).getReferred().getName()));
161 EList<VLSTerm> _terms = it.getTerms();
162 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
163 final Procedure1<VLSVariable> _function_2 = (VLSVariable it_1) -> {
164 it_1.setName(this.toIDMultiple("Var", variable.getName()));
165 };
166 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_2);
167 _terms.add(_doubleArrow);
168 };
169 final VLSFunction eq = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_1);
170 typedefs.add(eq);
171 }
172 }
173 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
174 final Procedure1<VLSUniversalQuantifier> _function_1 = (VLSUniversalQuantifier it) -> {
175 EList<VLSVariable> _variables = it.getVariables();
176 Collection<VLSVariable> _values = variableMap.values();
177 Iterables.<VLSVariable>addAll(_variables, _values);
178 VLSImplies _createVLSImplies = this.factory.createVLSImplies();
179 final Procedure1<VLSImplies> _function_2 = (VLSImplies it_1) -> {
180 it_1.setLeft(this.unfoldAnd(typedefs));
181 it_1.setRight(mapper.transformTerm(expression.getExpression(), trace, this.withAddition(variables, variableMap)));
182 };
183 VLSImplies _doubleArrow = ObjectExtensions.<VLSImplies>operator_doubleArrow(_createVLSImplies, _function_2);
184 it.setOperand(_doubleArrow);
185 };
186 _xblockexpression = ObjectExtensions.<VLSUniversalQuantifier>operator_doubleArrow(_createVLSUniversalQuantifier, _function_1);
187 }
188 return _xblockexpression;
189 }
190
191 protected VLSTerm createExistentiallyQuantifiedExpression(final Logic2VampireLanguageMapper mapper, final QuantifiedExpression expression, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
192 VLSExistentialQuantifier _xblockexpression = null;
193 {
194 final Function1<Variable, VLSVariable> _function = (Variable v) -> {
195 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
196 final Procedure1<VLSVariable> _function_1 = (VLSVariable it) -> {
197 it.setName(this.toIDMultiple("Var", v.getName()));
198 };
199 return ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_1);
200 };
201 final Map<Variable, VLSVariable> variableMap = IterableExtensions.<Variable, VLSVariable>toInvertedMap(expression.getQuantifiedVariables(), _function);
202 final ArrayList<VLSTerm> typedefs = new ArrayList<VLSTerm>();
203 EList<Variable> _quantifiedVariables = expression.getQuantifiedVariables();
204 for (final Variable variable : _quantifiedVariables) {
205 {
206 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
207 final Procedure1<VLSFunction> _function_1 = (VLSFunction it) -> {
208 TypeReference _range = variable.getRange();
209 it.setConstant(this.toIDMultiple("type", ((ComplexTypeReference) _range).getReferred().getName()));
210 EList<VLSTerm> _terms = it.getTerms();
211 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
212 final Procedure1<VLSVariable> _function_2 = (VLSVariable it_1) -> {
213 it_1.setName(this.toIDMultiple("Var", variable.getName()));
214 };
215 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_2);
216 _terms.add(_doubleArrow);
217 };
218 final VLSFunction eq = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_1);
219 typedefs.add(eq);
220 }
221 }
222 typedefs.add(mapper.transformTerm(expression.getExpression(), trace, this.withAddition(variables, variableMap)));
223 VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier();
224 final Procedure1<VLSExistentialQuantifier> _function_1 = (VLSExistentialQuantifier it) -> {
225 EList<VLSVariable> _variables = it.getVariables();
226 Collection<VLSVariable> _values = variableMap.values();
227 Iterables.<VLSVariable>addAll(_variables, _values);
228 it.setOperand(this.unfoldAnd(typedefs));
229 };
230 _xblockexpression = ObjectExtensions.<VLSExistentialQuantifier>operator_doubleArrow(_createVLSExistentialQuantifier, _function_1);
231 }
232 return _xblockexpression;
233 }
234
235 protected HashMap<Variable, VLSVariable> withAddition(final Map<Variable, VLSVariable> map1, final Map<Variable, VLSVariable> map2) {
236 HashMap<Variable, VLSVariable> _hashMap = new HashMap<Variable, VLSVariable>(map1);
237 final Procedure1<HashMap<Variable, VLSVariable>> _function = (HashMap<Variable, VLSVariable> it) -> {
238 it.putAll(map2);
239 };
240 return ObjectExtensions.<HashMap<Variable, VLSVariable>>operator_doubleArrow(_hashMap, _function);
241 }
242}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.java
new file mode 100644
index 00000000..c55e2421
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.java
@@ -0,0 +1,25 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation_TypeInterpretation;
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
9import java.util.Collection;
10import java.util.List;
11
12@SuppressWarnings("all")
13public interface Logic2VampireLanguageMapper_TypeMapper {
14 public abstract void transformTypes(final Collection<Type> types, final Collection<DefinedElement> elements, final Logic2VampireLanguageMapper mapper, final Logic2VampireLanguageMapperTrace trace);
15
16 public abstract List<VLSTerm> transformTypeReference(final Type referred, final Logic2VampireLanguageMapper mapper, final Logic2VampireLanguageMapperTrace trace);
17
18 public abstract VLSTerm getUndefinedSupertype(final Logic2VampireLanguageMapperTrace trace);
19
20 public abstract int getUndefinedSupertypeScope(final int undefinedScope, final Logic2VampireLanguageMapperTrace trace);
21
22 public abstract VLSTerm transformReference(final DefinedElement referred, final Logic2VampireLanguageMapperTrace trace);
23
24 public abstract VampireModelInterpretation_TypeInterpretation getTypeInterpreter();
25}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace.java
new file mode 100644
index 00000000..1e08c8ad
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace.java
@@ -0,0 +1,5 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3@SuppressWarnings("all")
4public interface Logic2VampireLanguageMapper_TypeMapperTrace {
5}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.java
new file mode 100644
index 00000000..d674ac71
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.java
@@ -0,0 +1,21 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapperTrace;
4import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
9import java.util.HashMap;
10import java.util.Map;
11
12@SuppressWarnings("all")
13public class Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes implements Logic2VampireLanguageMapper_TypeMapperTrace {
14 public final Map<Type, VLSFunction> type2Predicate = new HashMap<Type, VLSFunction>();
15
16 public final Map<DefinedElement, VLSEquality> definedElement2Declaration = new HashMap<DefinedElement, VLSEquality>();
17
18 public final Map<Type, VLSTerm> type2PossibleNot = new HashMap<Type, VLSTerm>();
19
20 public final Map<Type, VLSTerm> type2And = new HashMap<Type, VLSTerm>();
21}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.java
new file mode 100644
index 00000000..38ff37cd
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.java
@@ -0,0 +1,287 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support;
6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper;
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes;
8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation_TypeInterpretation;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDoubleQuote;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation;
16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
19import com.google.common.base.Objects;
20import com.google.common.collect.Iterables;
21import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
23import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition;
24import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
25import hu.bme.mit.inf.dslreasoner.util.CollectionsUtil;
26import java.util.ArrayList;
27import java.util.Collection;
28import java.util.List;
29import org.eclipse.emf.common.util.EList;
30import org.eclipse.xtext.xbase.lib.Extension;
31import org.eclipse.xtext.xbase.lib.Functions.Function1;
32import org.eclipse.xtext.xbase.lib.IterableExtensions;
33import org.eclipse.xtext.xbase.lib.ListExtensions;
34import org.eclipse.xtext.xbase.lib.ObjectExtensions;
35import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
36
37@SuppressWarnings("all")
38public class Logic2VampireLanguageMapper_TypeMapper_FilteredTypes implements Logic2VampireLanguageMapper_TypeMapper {
39 private final Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support();
40
41 @Extension
42 private final VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE;
43
44 public Logic2VampireLanguageMapper_TypeMapper_FilteredTypes() {
45 LogicproblemPackage.eINSTANCE.getClass();
46 }
47
48 @Override
49 public void transformTypes(final Collection<Type> types, final Collection<DefinedElement> elements, final Logic2VampireLanguageMapper mapper, final Logic2VampireLanguageMapperTrace trace) {
50 final Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes typeTrace = new Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes();
51 trace.typeMapperTrace = typeTrace;
52 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
53 final Procedure1<VLSVariable> _function = (VLSVariable it) -> {
54 it.setName("A");
55 };
56 final VLSVariable variable = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function);
57 for (final Type type : types) {
58 {
59 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
60 final Procedure1<VLSFunction> _function_1 = (VLSFunction it) -> {
61 it.setConstant(this.support.toIDMultiple("type", type.getName()));
62 EList<VLSTerm> _terms = it.getTerms();
63 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable();
64 final Procedure1<VLSVariable> _function_2 = (VLSVariable it_1) -> {
65 it_1.setName(variable.getName());
66 };
67 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_2);
68 _terms.add(_doubleArrow);
69 };
70 final VLSFunction typePred = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_1);
71 typeTrace.type2Predicate.put(type, typePred);
72 }
73 }
74 Iterable<TypeDefinition> _filter = Iterables.<TypeDefinition>filter(types, TypeDefinition.class);
75 for (final TypeDefinition type_1 : _filter) {
76 {
77 VLSFofFormula _createVLSFofFormula = this.factory.createVLSFofFormula();
78 final Procedure1<VLSFofFormula> _function_1 = (VLSFofFormula it) -> {
79 it.setName(this.support.toIDMultiple("typeDef", type_1.getName()));
80 it.setFofRole("axiom");
81 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
82 final Procedure1<VLSUniversalQuantifier> _function_2 = (VLSUniversalQuantifier it_1) -> {
83 EList<VLSVariable> _variables = it_1.getVariables();
84 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable();
85 final Procedure1<VLSVariable> _function_3 = (VLSVariable it_2) -> {
86 it_2.setName(variable.getName());
87 };
88 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_3);
89 _variables.add(_doubleArrow);
90 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
91 final Procedure1<VLSEquivalent> _function_4 = (VLSEquivalent it_2) -> {
92 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
93 final Procedure1<VLSFunction> _function_5 = (VLSFunction it_3) -> {
94 it_3.setConstant(CollectionsUtil.<TypeDefinition, VLSFunction>lookup(type_1, typeTrace.type2Predicate).getConstant());
95 EList<VLSTerm> _terms = it_3.getTerms();
96 VLSVariable _createVLSVariable_2 = this.factory.createVLSVariable();
97 final Procedure1<VLSVariable> _function_6 = (VLSVariable it_4) -> {
98 it_4.setName("A");
99 };
100 VLSVariable _doubleArrow_1 = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_2, _function_6);
101 _terms.add(_doubleArrow_1);
102 };
103 VLSFunction _doubleArrow_1 = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_5);
104 it_2.setLeft(_doubleArrow_1);
105 CollectionsUtil.<TypeDefinition, VLSFunction>lookup(type_1, typeTrace.type2Predicate);
106 final Function1<DefinedElement, VLSEquality> _function_6 = (DefinedElement e) -> {
107 VLSEquality _createVLSEquality = this.factory.createVLSEquality();
108 final Procedure1<VLSEquality> _function_7 = (VLSEquality it_3) -> {
109 VLSVariable _createVLSVariable_2 = this.factory.createVLSVariable();
110 final Procedure1<VLSVariable> _function_8 = (VLSVariable it_4) -> {
111 it_4.setName(variable.getName());
112 };
113 VLSVariable _doubleArrow_2 = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_2, _function_8);
114 it_3.setLeft(_doubleArrow_2);
115 VLSDoubleQuote _createVLSDoubleQuote = this.factory.createVLSDoubleQuote();
116 final Procedure1<VLSDoubleQuote> _function_9 = (VLSDoubleQuote it_4) -> {
117 String _name = e.getName();
118 String _plus = ("\"a" + _name);
119 String _plus_1 = (_plus + "\"");
120 it_4.setValue(_plus_1);
121 };
122 VLSDoubleQuote _doubleArrow_3 = ObjectExtensions.<VLSDoubleQuote>operator_doubleArrow(_createVLSDoubleQuote, _function_9);
123 it_3.setRight(_doubleArrow_3);
124 };
125 return ObjectExtensions.<VLSEquality>operator_doubleArrow(_createVLSEquality, _function_7);
126 };
127 it_2.setRight(this.support.unfoldOr(ListExtensions.<DefinedElement, VLSEquality>map(type_1.getElements(), _function_6)));
128 };
129 VLSEquivalent _doubleArrow_1 = ObjectExtensions.<VLSEquivalent>operator_doubleArrow(_createVLSEquivalent, _function_4);
130 it_1.setOperand(_doubleArrow_1);
131 };
132 VLSUniversalQuantifier _doubleArrow = ObjectExtensions.<VLSUniversalQuantifier>operator_doubleArrow(_createVLSUniversalQuantifier, _function_2);
133 it.setFofFormula(_doubleArrow);
134 };
135 final VLSFofFormula res = ObjectExtensions.<VLSFofFormula>operator_doubleArrow(_createVLSFofFormula, _function_1);
136 EList<VLSFofFormula> _formulas = trace.specification.getFormulas();
137 _formulas.add(res);
138 }
139 }
140 final Function1<Type, Boolean> _function_1 = (Type it) -> {
141 boolean _isIsAbstract = it.isIsAbstract();
142 return Boolean.valueOf((!_isIsAbstract));
143 };
144 Iterable<Type> _filter_1 = IterableExtensions.<Type>filter(types, _function_1);
145 for (final Type type_2 : _filter_1) {
146 {
147 for (final Type type2 : types) {
148 if ((Objects.equal(type_2, type2) || this.dfsSupertypeCheck(type_2, type2))) {
149 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
150 final Procedure1<VLSFunction> _function_2 = (VLSFunction it) -> {
151 it.setConstant(CollectionsUtil.<Type, VLSFunction>lookup(type2, typeTrace.type2Predicate).getConstant());
152 EList<VLSTerm> _terms = it.getTerms();
153 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable();
154 final Procedure1<VLSVariable> _function_3 = (VLSVariable it_1) -> {
155 it_1.setName("A");
156 };
157 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_3);
158 _terms.add(_doubleArrow);
159 };
160 VLSFunction _doubleArrow = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_2);
161 typeTrace.type2PossibleNot.put(type2, _doubleArrow);
162 } else {
163 VLSUnaryNegation _createVLSUnaryNegation = this.factory.createVLSUnaryNegation();
164 final Procedure1<VLSUnaryNegation> _function_3 = (VLSUnaryNegation it) -> {
165 VLSFunction _createVLSFunction_1 = this.factory.createVLSFunction();
166 final Procedure1<VLSFunction> _function_4 = (VLSFunction it_1) -> {
167 it_1.setConstant(CollectionsUtil.<Type, VLSFunction>lookup(type2, typeTrace.type2Predicate).getConstant());
168 EList<VLSTerm> _terms = it_1.getTerms();
169 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable();
170 final Procedure1<VLSVariable> _function_5 = (VLSVariable it_2) -> {
171 it_2.setName("A");
172 };
173 VLSVariable _doubleArrow_1 = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_5);
174 _terms.add(_doubleArrow_1);
175 };
176 VLSFunction _doubleArrow_1 = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction_1, _function_4);
177 it.setOperand(_doubleArrow_1);
178 };
179 VLSUnaryNegation _doubleArrow_1 = ObjectExtensions.<VLSUnaryNegation>operator_doubleArrow(_createVLSUnaryNegation, _function_3);
180 typeTrace.type2PossibleNot.put(type2, _doubleArrow_1);
181 }
182 }
183 Collection<VLSTerm> _values = typeTrace.type2PossibleNot.values();
184 ArrayList<VLSTerm> _arrayList = new ArrayList<VLSTerm>(_values);
185 typeTrace.type2And.put(type_2, this.support.unfoldAnd(_arrayList));
186 typeTrace.type2PossibleNot.clear();
187 }
188 }
189 VLSFofFormula _createVLSFofFormula = this.factory.createVLSFofFormula();
190 final Procedure1<VLSFofFormula> _function_2 = (VLSFofFormula it) -> {
191 it.setName("hierarchyHandler");
192 it.setFofRole("axiom");
193 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
194 final Procedure1<VLSUniversalQuantifier> _function_3 = (VLSUniversalQuantifier it_1) -> {
195 EList<VLSVariable> _variables = it_1.getVariables();
196 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable();
197 final Procedure1<VLSVariable> _function_4 = (VLSVariable it_2) -> {
198 it_2.setName("A");
199 };
200 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_4);
201 _variables.add(_doubleArrow);
202 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
203 final Procedure1<VLSEquivalent> _function_5 = (VLSEquivalent it_2) -> {
204 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
205 final Procedure1<VLSFunction> _function_6 = (VLSFunction it_3) -> {
206 it_3.setConstant("Object");
207 EList<VLSTerm> _terms = it_3.getTerms();
208 VLSVariable _createVLSVariable_2 = this.factory.createVLSVariable();
209 final Procedure1<VLSVariable> _function_7 = (VLSVariable it_4) -> {
210 it_4.setName("A");
211 };
212 VLSVariable _doubleArrow_1 = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_2, _function_7);
213 _terms.add(_doubleArrow_1);
214 };
215 VLSFunction _doubleArrow_1 = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_6);
216 it_2.setLeft(_doubleArrow_1);
217 Collection<VLSTerm> _values = typeTrace.type2And.values();
218 ArrayList<VLSTerm> _arrayList = new ArrayList<VLSTerm>(_values);
219 it_2.setRight(this.support.unfoldOr(_arrayList));
220 };
221 VLSEquivalent _doubleArrow_1 = ObjectExtensions.<VLSEquivalent>operator_doubleArrow(_createVLSEquivalent, _function_5);
222 it_1.setOperand(_doubleArrow_1);
223 };
224 VLSUniversalQuantifier _doubleArrow = ObjectExtensions.<VLSUniversalQuantifier>operator_doubleArrow(_createVLSUniversalQuantifier, _function_3);
225 it.setFofFormula(_doubleArrow);
226 };
227 final VLSFofFormula hierarch = ObjectExtensions.<VLSFofFormula>operator_doubleArrow(_createVLSFofFormula, _function_2);
228 EList<VLSFofFormula> _formulas = trace.specification.getFormulas();
229 _formulas.add(hierarch);
230 }
231
232 public boolean dfsSupertypeCheck(final Type type, final Type type2) {
233 boolean _xifexpression = false;
234 boolean _isEmpty = type.getSupertypes().isEmpty();
235 if (_isEmpty) {
236 return false;
237 } else {
238 boolean _xifexpression_1 = false;
239 boolean _contains = type.getSupertypes().contains(type2);
240 if (_contains) {
241 return true;
242 } else {
243 EList<Type> _supertypes = type.getSupertypes();
244 for (final Type supertype : _supertypes) {
245 boolean _dfsSupertypeCheck = this.dfsSupertypeCheck(supertype, type2);
246 if (_dfsSupertypeCheck) {
247 return true;
248 }
249 }
250 }
251 _xifexpression = _xifexpression_1;
252 }
253 return _xifexpression;
254 }
255
256 @Override
257 public List<VLSTerm> transformTypeReference(final Type referred, final Logic2VampireLanguageMapper mapper, final Logic2VampireLanguageMapperTrace trace) {
258 throw new UnsupportedOperationException("TODO: auto-generated method stub");
259 }
260
261 @Override
262 public VLSTerm getUndefinedSupertype(final Logic2VampireLanguageMapperTrace trace) {
263 throw new UnsupportedOperationException("TODO: auto-generated method stub");
264 }
265
266 @Override
267 public int getUndefinedSupertypeScope(final int undefinedScope, final Logic2VampireLanguageMapperTrace trace) {
268 throw new UnsupportedOperationException("TODO: auto-generated method stub");
269 }
270
271 @Override
272 public VLSTerm transformReference(final DefinedElement referred, final Logic2VampireLanguageMapperTrace trace) {
273 VLSDoubleQuote _createVLSDoubleQuote = this.factory.createVLSDoubleQuote();
274 final Procedure1<VLSDoubleQuote> _function = (VLSDoubleQuote it) -> {
275 String _name = referred.getName();
276 String _plus = ("\"a" + _name);
277 String _plus_1 = (_plus + "\"");
278 it.setValue(_plus_1);
279 };
280 return ObjectExtensions.<VLSDoubleQuote>operator_doubleArrow(_createVLSDoubleQuote, _function);
281 }
282
283 @Override
284 public VampireModelInterpretation_TypeInterpretation getTypeInterpreter() {
285 throw new UnsupportedOperationException("TODO: auto-generated method stub");
286 }
287}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation.java
new file mode 100644
index 00000000..507831fa
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation.java
@@ -0,0 +1,5 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3@SuppressWarnings("all")
4public interface VampireModelInterpretation_TypeInterpretation {
5}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation_FilteredTypes.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation_FilteredTypes.java
new file mode 100644
index 00000000..aff0dc9d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation_TypeInterpretation_FilteredTypes.java
@@ -0,0 +1,7 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation_TypeInterpretation;
4
5@SuppressWarnings("all")
6public class VampireModelInterpretation_TypeInterpretation_FilteredTypes implements VampireModelInterpretation_TypeInterpretation {
7}
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.classpath b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.classpath
new file mode 100644
index 00000000..1c96fe2f
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.classpath
@@ -0,0 +1,8 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5 <classpathentry kind="src" path="src"/>
6 <classpathentry kind="src" path="xtend-gen"/>
7 <classpathentry kind="output" path="bin"/>
8</classpath>
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.gitignore b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.gitignore
@@ -0,0 +1 @@
/bin/
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.project b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.project
new file mode 100644
index 00000000..eb3347d0
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.project
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>ca.mcgill.ecse.dslreasoner.vampire.test</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.settings/org.eclipse.jdt.core.prefs b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/META-INF/MANIFEST.MF b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..13fcb7b9
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: Test
4Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.vampire.test
5Bundle-Version: 1.0.0.qualifier
6Automatic-Module-Name: ca.mcgill.ecse.dslreasoner.vampire.test
7Bundle-RequiredExecutionEnvironment: JavaSE-1.8
8Require-Bundle: com.google.guava,
9 org.eclipse.xtext.xbase.lib,
10 org.eclipse.xtend.lib,
11 org.eclipse.xtend.lib.macro,
12 ca.mcgill.ecse.dslreasoner.vampire.language;bundle-version="1.0.0",
13 hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0",
14 ca.mcgill.ecse.dslreasoner.vampire.reasoner;bundle-version="1.0.0",
15 hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
16 hu.bme.mit.inf.dslreasoner.viatra2logic;bundle-version="1.0.0",
17 org.eclipse.emf.ecore.xmi;bundle-version="2.13.0",
18 hu.bme.mit.inf.dlsreasoner.alloy.reasoner;bundle-version="1.0.0",
19 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0"
20
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/build.properties b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/build.properties
new file mode 100644
index 00000000..41eb6ade
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/build.properties
@@ -0,0 +1,4 @@
1source.. = src/
2output.. = bin/
3bin.includes = META-INF/,\
4 .
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/FAM.xmi b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/FAM.xmi
new file mode 100644
index 00000000..c79e58ed
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/FAM.xmi
@@ -0,0 +1,3 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<fam:FunctionalArchitectureModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fam="FAM" xsi:schemaLocation="FAM FAM.ecore"/>
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/Yakindu.xmi b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/Yakindu.xmi
new file mode 100644
index 00000000..49b1f89d
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/Yakindu.xmi
@@ -0,0 +1,4 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<hu.bme.mit.inf.yakindumm:Statechart xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hu.bme.mit.inf.yakindumm="hu.bme.mit.inf.yakindumm"
4 xsi:schemaLocation="hu.bme.mit.inf.yakindumm yakindu_simplified.ecore"/>
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/ecore.xmi b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/ecore.xmi
new file mode 100644
index 00000000..867e5049
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/ecore.xmi
@@ -0,0 +1,6 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage
3 xmi:version="2.0"
4 xmlns:xmi="http://www.omg.org/XMI"
5 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
6 name="init"/>
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/fs.xmi b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/fs.xmi
new file mode 100644
index 00000000..56879c1a
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/fs.xmi
@@ -0,0 +1,3 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<FS:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:FS="FS" xsi:schemaLocation="FS FileSytem.ecore"/>
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/output/files/logProb.logicproblem b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/output/files/logProb.logicproblem
new file mode 100644
index 00000000..f5f90f38
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/output/files/logProb.logicproblem
@@ -0,0 +1,27 @@
1<?xml version="1.0" encoding="ASCII"?>
2<language:LogicProblem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" xmlns:language_1="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language">
3 <assertions name="assertion1">
4 <value xsi:type="language_1:Iff">
5 <leftOperand xsi:type="language_1:Not">
6 <operand xsi:type="language_1:And">
7 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@constants.0"/>
8 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@constants.1"/>
9 </operand>
10 </leftOperand>
11 <rightOperand xsi:type="language_1:Or">
12 <operands xsi:type="language_1:Not">
13 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@constants.0"/>
14 </operands>
15 <operands xsi:type="language_1:Not">
16 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@constants.1"/>
17 </operands>
18 </rightOperand>
19 </value>
20 </assertions>
21 <constants xsi:type="language_1:ConstantDeclaration" name="constant1">
22 <type xsi:type="language_1:BoolTypeReference"/>
23 </constants>
24 <constants xsi:type="language_1:ConstantDeclaration" name="constant2">
25 <type xsi:type="language_1:BoolTypeReference"/>
26 </constants>
27</language:LogicProblem>
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/output/files/vampireCode.tptp b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/output/files/vampireCode.tptp
new file mode 100644
index 00000000..ddeec4f4
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/output/files/vampireCode.tptp
@@ -0,0 +1 @@
%This is an initial Test Comment fof ( assertion1 , axiom , ~ ( constant1 & constant2 ) <=> ( ~ constant1 | ~ constant2 ) ) .
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/SimpleRun.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/SimpleRun.xtend
new file mode 100644
index 00000000..feb28dd5
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/SimpleRun.xtend
@@ -0,0 +1,213 @@
1//package ca.mcgill.ecse.dslreasoner.vampire.test
2//
3//import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolver
4//import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolverConfiguration
5//import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage
6//import hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern
7//import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor
8//import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
9//import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
10//import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
11//import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
12//import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
13//import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor
14//import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
15//import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
16//import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
17//import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
18//import java.util.LinkedHashMap
19//import java.util.List
20//import org.eclipse.emf.ecore.EAttribute
21//import org.eclipse.emf.ecore.EClass
22//import org.eclipse.emf.ecore.EEnum
23//import org.eclipse.emf.ecore.EEnumLiteral
24//import org.eclipse.emf.ecore.EObject
25//import org.eclipse.emf.ecore.EReference
26//import org.eclipse.emf.ecore.resource.Resource
27//import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
28//
29//class SimpleRun {
30//
31// def static void main(String[] args) {
32// val inputs = new FileSystemWorkspace('''initialModels/''', "")
33// val workspace = new FileSystemWorkspace('''outputModels/''', "")
34// workspace.initAndClear
35////
36//// println("Input and output workspaces are created")
37////
38//// val metamodel = loadMetamodel()
39//// val partialModel = loadPartialModel(inputs)
40//// val queries = loadQueries(metamodel)
41////
42//// println("DSL loaded")
43////
44//// val Ecore2Logic ecore2Logic = new Ecore2Logic
45//// val Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic)
46//// val Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic)
47//// val InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic
48////
49//// val modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel,new Ecore2LogicConfiguration())
50//// val modelExtensionProblem = instanceModel2Logic.transform(modelGenerationProblem,partialModel)
51//// val validModelExtensionProblem = viatra2Logic.transformQueries(queries,modelGenerationProblem,new Viatra2LogicConfiguration)
52////
53//// val logicProblem = validModelExtensionProblem.output
54//// //*************xmi.save. advntageous cuz seperate and only contains things that are necessary
55//// //Write to file. This is importnat to understand
56//// //furthermore, output solution1.partialInterpretation contains also the logic probelm
57//// //that needs to be solved
58////
59//// //Logic problem same for vamp,l alloy, viatra. but fr alloy, vamp, it is mapped into the specific ecore metamodel using the xtext.
60//// //initial simple example: take one thing (ex. iff) from the logic problem generated for one of the sample examples, try to make it into vampire
61//// //xtext (but only the instance model, not the lines of code) to see how mapping will work. Then ishteh use vampire on it to "solve" it.
62// // create logic problem
63// var extension builder = new LogicProblemBuilder
64// var LogicProblem problem = builder.createProblem
65//
66// val rock = Element("Rock")
67// val paper = Element("Paper")
68// val scissor = Element("Scissor")
69//
70// problem.elements += rock
71// problem.elements += paper
72// problem.elements += scissor
73//
74//// val red = Element("Red")
75//// val green = Element("Green")
76////
77//// problem.elements += red
78//// problem.elements += green
79//
80//// val allRPS = problem.add(TypeDeclaration("allRPS", true))
81// val oldRPS = problem.add(TypeDefinition("oldRPS", false, rock, paper, scissor)) // n+1 axioms, where n is the number of type definitions. 1. rocjk, paper, scissor are all rps. 2. every object is rps
82//// val newRPS = problem.add(TypeDeclaration("newRPS", false))
83//// val color = problem.add(TypeDefinition("color", false, red, green))
84//// Supertype(oldRPS, allRPS)
85//// Supertype(newRPS, allRPS)
86//
87// val beats2 = problem.add(RelationDeclaration("beats2", oldRPS, oldRPS))
88// problem.add(Assertion(Forall[
89// val x = addVar("x", oldRPS)
90// // x.range
91// Exists[
92// val y = addVar("y", oldRPS)
93// beats2.call(x, y)
94// ]
95// ]))
96//
97//// val beats = problem.add(RelationDefinition("beats",[
98//// val x = addVar("x",RPS)
99//// val y = addVar("y",RPS)
100//// (x==rock && y==scissor)||(x==scissor && y==paper)||(x==paper && y==rock)
101//// ]))
102////
103//// //below needs to be added as an axiom
104//// val beats2 = problem.add(RelationDeclaration("beats2",RPS,RPS))
105//// problem.add(Assertion(Forall[
106//// val x = addVar("x",RPS)
107//// Exists[
108//// val y = addVar("y",RPS)
109//// beats2.call(x,y)
110//// ]
111//// ]))
112// println("Problem created")
113// var LogicResult solution
114// var LogicReasoner reasoner
115// /*
116// * reasoner = new ViatraReasoner
117// * val viatraConfig = new ViatraReasonerConfiguration => [
118// * it.typeScopes.maxNewElements = 5
119// * it.typeScopes.minNewElements = 5
120// * it.solutionScope.numberOfRequiredSolution = 1
121// * it.existingQueries = queries.patterns.map[it.internalQueryRepresentation]
122// * it.debugCongiguration.logging = false
123// * it.debugCongiguration.partalInterpretationVisualisationFrequency = 1
124// * it.debugCongiguration.partialInterpretatioVisualiser = new GraphvizVisualisation
125// * ]
126// * solution = reasoner.solve(logicProblem,viatraConfig,workspace)
127// /*/
128// reasoner = new AlloySolver
129// val alloyConfig = new AlloySolverConfiguration => [
130// it.typeScopes.maxNewElements = 5
131// it.typeScopes.minNewElements = 5
132// it.solutionScope.numberOfRequiredSolution = 1
133// it.typeScopes.maxNewIntegers = 0
134// it.writeToFile = false
135// ]
136// solution = reasoner.solve(problem, alloyConfig, workspace)
137// // */
138// // ************
139// // since input logic model is also output, we can check out what is the input for alloy and then
140// // see what should be input for vampire, as it should be similar to alloy. once i can create the input,
141// // that is the first step.
142// // look at allo2logic
143// // always keep looking at output
144// // try to figure out what rule is used
145// println("Problem solved")
146//
147//// val interpretations = reasoner.getInterpretations(solution as ModelResult)
148//// val models = new LinkedList
149//// for(interpretation : interpretations) {
150//// val instanceModel = logic2Ecore.transformInterpretation(interpretation,modelGenerationProblem.trace)
151//// models+=instanceModel
152//// }
153////
154//// solution.writeSolution(workspace, #[])
155// }
156//
157// def private static loadMetamodel() {
158// val pckg = FunctionalArchitecturePackage.eINSTANCE
159// val List<EClass> classes = pckg.EClassifiers.filter(EClass).toList
160// val List<EEnum> enums = pckg.EClassifiers.filter(EEnum).toList
161// val List<EEnumLiteral> literals = enums.map[ELiterals].flatten.toList
162// val List<EReference> references = classes.map[EReferences].flatten.toList
163// val List<EAttribute> attributes = classes.map[EAttributes].flatten.toList
164// return new EcoreMetamodelDescriptor(classes, #{}, false, enums, literals, references, attributes)
165// }
166//
167// def private static loadQueries(EcoreMetamodelDescriptor metamodel) {
168// val i = Pattern.instance
169// val patterns = i.specifications.toList
170// val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name == "Constraint"]].toSet
171// val derivedFeatures = new LinkedHashMap
172// derivedFeatures.put(i.type.internalQueryRepresentation, metamodel.attributes.filter[it.name == "type"].head)
173// derivedFeatures.put(i.model.internalQueryRepresentation, metamodel.references.filter[it.name == "model"].head)
174// val res = new ViatraQuerySetDescriptor(
175// patterns,
176// wfPatterns,
177// derivedFeatures
178// )
179// return res
180// }
181//
182// def static loadPartialModel(ReasonerWorkspace inputs) {
183// Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl());
184// inputs.readModel(EObject, "FAM.xmi").eResource.allContents.toList
185// }
186//
187// def static writeSolution(LogicResult solution, ReasonerWorkspace workspace, List<EObject> models) {
188// if (solution instanceof ModelResult) {
189// val representations = solution.representation
190// for (representationIndex : 0 ..< representations.size) {
191// val representation = representations.get(representationIndex)
192// val representationNumber = representationIndex + 1
193// if (representation instanceof PartialInterpretation) {
194// workspace.writeModel(representation, '''solution«representationNumber».partialinterpretation''')
195// val partialInterpretation2GML = new PartialInterpretation2Gml
196// val gml = partialInterpretation2GML.transform(representation)
197// // ecore2GML.transform(root)
198// workspace.writeText('''solutionVisualisation.gml''', gml)
199//
200// } else {
201// workspace.writeText('''solution«representationNumber».txt''', representation.toString)
202// }
203// }
204// for (model : models) {
205// workspace.writeModel(model, "model.xmi")
206// }
207// println("Solution saved and visualised")
208// }
209// }
210//
211// def static visualizeSolution() {
212// }
213//}
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.xtend
new file mode 100644
index 00000000..64914fd0
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.xtend
@@ -0,0 +1,153 @@
1package ca.mcgill.ecse.dslreasoner.vampire.test
2
3
4import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup
5import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
7import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
10import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
11import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver
12import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration
13import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
14import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
15import java.util.Collections
16import org.eclipse.emf.common.util.URI
17import org.eclipse.emf.ecore.resource.Resource
18import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl
19import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
20
21class VampireTest {
22
23 val static extension LogicProblemBuilder builder = new LogicProblemBuilder
24
25 def static void main(String[] args) {
26// val inputs = new FileSystemWorkspace('''initialModels/''',"")
27
28
29 //create logic problem
30 //var LogicProblem problem = builder.createProblem
31
32
33
34 LogicproblemPackage.eINSTANCE.eClass()
35 Ecore2logicannotationsPackage.eINSTANCE.eClass()
36 Viatra2LogicAnnotationsPackage.eINSTANCE.eClass()
37 val reg = Resource.Factory.Registry.INSTANCE
38 val map = reg.extensionToFactoryMap
39 map.put("logicproblem", new XMIResourceFactoryImpl)
40 VampireLanguageStandaloneSetup.doSetup
41
42 val workspace = new FileSystemWorkspace('''output/models/''',"")
43 workspace.initAndClear
44
45 // Load and create top level elements
46 // Load source model
47 val rs = new ResourceSetImpl
48 val logicURI = URI.createFileURI("output/files/logProb.logicproblem")
49 val logRes = rs.createResource(logicURI)
50
51 var LogicProblem problem = builder.createProblem
52
53 //*
54 deMorgan(problem)
55 /*/
56 rockPaperScisors(problem)
57 //*/
58
59 logRes.contents.add(problem)
60 logRes.save(Collections.EMPTY_MAP)
61
62 //problem.add(Assertion( Y && X <=> X) )
63
64 println("Problem Created");
65
66 var LogicResult solution
67 var LogicReasoner reasoner
68
69 reasoner = new VampireSolver
70 val vampireConfig = new VampireSolverConfiguration => [
71 //add configuration things, in config file first
72 it.writeToFile = false
73 ]
74
75 solution = reasoner.solve(problem, vampireConfig, workspace)
76
77// if(solution instanceof ModelResult) {
78// reasoner.getInterpretations(solution)
79// }
80 //^can extract everything (ex, vars) from solver
81
82
83 //call the solver
84
85 println("Problem Solved")
86
87 //output solution
88
89 }
90
91 static def deMorgan(LogicProblem problem) {
92
93
94 var X = ConstantDeclaration(LogicBool)
95 var Y = ConstantDeclaration(LogicBool)
96 problem.add(X)
97 problem.add(Y)
98
99 //assertion is negated manually because logic problem can only handle axioms (assertions)
100 //so ya
101 problem.add(Assertion( !(X && Y) <=> ( !X || !Y)) )
102 }
103
104 static def rockPaperScisors(LogicProblem problem) {
105
106 val rock = Element("Rock")
107 val paper= Element("Paper")
108 val scissor = Element("Scissor")
109
110 problem.elements += rock
111 problem.elements += paper
112 problem.elements += scissor
113
114// val red = Element("Red")
115// val green = Element("Green")
116//
117// problem.elements += red
118// problem.elements += green
119
120
121 //val allRPS = problem.add(TypeDeclaration("allRPS", true))
122 //val newRPS = problem.add(TypeDeclaration("newRPS", false))
123 val oldRPS = problem.add(TypeDefinition("oldRPS", false, rock, paper, scissor)) //n+1 axioms, where n is the number of type definitions. 1. rocjk, paper, scissor are all rps. 2. every object is rps
124
125// val color = problem.add(TypeDefinition("color", false, red, green ))
126 //Supertype(oldRPS,allRPS)
127 //Supertype(newRPS,oldRPS)
128
129
130
131
132 /* Remains
133 val beats = problem.add(RelationDefinition("beats",[
134 val x = addVar("x",oldRPS)
135 val y = addVar("y",oldRPS)
136 (x==rock && y==scissor)||(x==scissor && y==paper)||(x==paper && y==rock)
137 ]))
138
139 /*/
140 //below needs to be added as an axiom
141 val beats2 = problem.add(RelationDeclaration("beats2",oldRPS,oldRPS))
142 problem.add(Assertion(Forall[
143 val x = addVar("x",oldRPS)
144 //x.range
145 Exists[
146 val y = addVar("y",oldRPS)
147 beats2.call(x,y)
148 ]
149 ]))
150 //*/
151
152 }
153} \ No newline at end of file
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin
new file mode 100644
index 00000000..b60ffe4c
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin
Binary files differ
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin
new file mode 100644
index 00000000..881f927c
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin
Binary files differ
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.gitignore b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.gitignore
new file mode 100644
index 00000000..f3c47b99
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.gitignore
@@ -0,0 +1,2 @@
1/.VampireTest.java._trace
2/.SimpleRun.java._trace
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.java
new file mode 100644
index 00000000..73c413b3
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.java
@@ -0,0 +1,140 @@
1package ca.mcgill.ecse.dslreasoner.vampire.test;
2
3import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration;
6import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage;
7import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder;
8import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner;
9import hu.bme.mit.inf.dslreasoner.logic.model.builder.VariableContext;
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.And;
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion;
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration;
13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Exists;
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Iff;
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Not;
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Or;
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.SymbolicValue;
20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription;
21import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
23import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
24import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
25import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult;
26import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
27import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace;
28import java.util.Collections;
29import java.util.Map;
30import org.eclipse.emf.common.util.EList;
31import org.eclipse.emf.common.util.URI;
32import org.eclipse.emf.ecore.resource.Resource;
33import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
34import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
35import org.eclipse.xtend2.lib.StringConcatenation;
36import org.eclipse.xtext.xbase.lib.Exceptions;
37import org.eclipse.xtext.xbase.lib.Extension;
38import org.eclipse.xtext.xbase.lib.Functions.Function1;
39import org.eclipse.xtext.xbase.lib.InputOutput;
40import org.eclipse.xtext.xbase.lib.ObjectExtensions;
41import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
42
43@SuppressWarnings("all")
44public class VampireTest {
45 @Extension
46 private final static LogicProblemBuilder builder = new LogicProblemBuilder();
47
48 public static void main(final String[] args) {
49 try {
50 LogicproblemPackage.eINSTANCE.eClass();
51 Ecore2logicannotationsPackage.eINSTANCE.eClass();
52 Viatra2LogicAnnotationsPackage.eINSTANCE.eClass();
53 final Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;
54 final Map<String, Object> map = reg.getExtensionToFactoryMap();
55 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl();
56 map.put("logicproblem", _xMIResourceFactoryImpl);
57 VampireLanguageStandaloneSetup.doSetup();
58 StringConcatenation _builder = new StringConcatenation();
59 _builder.append("output/models/");
60 final FileSystemWorkspace workspace = new FileSystemWorkspace(_builder.toString(), "");
61 workspace.initAndClear();
62 final ResourceSetImpl rs = new ResourceSetImpl();
63 final URI logicURI = URI.createFileURI("output/files/logProb.logicproblem");
64 final Resource logRes = rs.createResource(logicURI);
65 LogicProblem problem = VampireTest.builder.createProblem();
66 VampireTest.deMorgan(problem);
67 logRes.getContents().add(problem);
68 logRes.save(Collections.EMPTY_MAP);
69 InputOutput.<String>println("Problem Created");
70 LogicResult solution = null;
71 LogicReasoner reasoner = null;
72 VampireSolver _vampireSolver = new VampireSolver();
73 reasoner = _vampireSolver;
74 VampireSolverConfiguration _vampireSolverConfiguration = new VampireSolverConfiguration();
75 final Procedure1<VampireSolverConfiguration> _function = (VampireSolverConfiguration it) -> {
76 it.writeToFile = false;
77 };
78 final VampireSolverConfiguration vampireConfig = ObjectExtensions.<VampireSolverConfiguration>operator_doubleArrow(_vampireSolverConfiguration, _function);
79 solution = reasoner.solve(problem, vampireConfig, workspace);
80 InputOutput.<String>println("Problem Solved");
81 } catch (Throwable _e) {
82 throw Exceptions.sneakyThrow(_e);
83 }
84 }
85
86 public static Assertion deMorgan(final LogicProblem problem) {
87 Assertion _xblockexpression = null;
88 {
89 ConstantDeclaration X = VampireTest.builder.ConstantDeclaration(VampireTest.builder.LogicBool());
90 ConstantDeclaration Y = VampireTest.builder.ConstantDeclaration(VampireTest.builder.LogicBool());
91 VampireTest.builder.add(problem, X);
92 VampireTest.builder.add(problem, Y);
93 And _and = VampireTest.builder.operator_and(X, Y);
94 Not _not = VampireTest.builder.operator_not(_and);
95 Not _not_1 = VampireTest.builder.operator_not(X);
96 Not _not_2 = VampireTest.builder.operator_not(Y);
97 Or _or = VampireTest.builder.operator_or(_not_1, _not_2);
98 Iff _spaceship = VampireTest.builder.operator_spaceship(_not, _or);
99 _xblockexpression = VampireTest.builder.add(problem, VampireTest.builder.Assertion(_spaceship));
100 }
101 return _xblockexpression;
102 }
103
104 public static Assertion rockPaperScisors(final LogicProblem problem) {
105 Assertion _xblockexpression = null;
106 {
107 final DefinedElement rock = VampireTest.builder.Element("Rock");
108 final DefinedElement paper = VampireTest.builder.Element("Paper");
109 final DefinedElement scissor = VampireTest.builder.Element("Scissor");
110 EList<DefinedElement> _elements = problem.getElements();
111 _elements.add(rock);
112 EList<DefinedElement> _elements_1 = problem.getElements();
113 _elements_1.add(paper);
114 EList<DefinedElement> _elements_2 = problem.getElements();
115 _elements_2.add(scissor);
116 final Type oldRPS = VampireTest.builder.add(problem, VampireTest.builder.TypeDefinition("oldRPS", false, rock, paper, scissor));
117 final Relation beats2 = VampireTest.builder.add(problem, VampireTest.builder.RelationDeclaration("beats2", oldRPS, oldRPS));
118 final Function1<VariableContext, TermDescription> _function = (VariableContext it) -> {
119 Exists _xblockexpression_1 = null;
120 {
121 final Variable x = it.addVar("x", oldRPS);
122 final Function1<VariableContext, TermDescription> _function_1 = (VariableContext it_1) -> {
123 SymbolicValue _xblockexpression_2 = null;
124 {
125 final Variable y = it_1.addVar("y", oldRPS);
126 _xblockexpression_2 = VampireTest.builder.call(beats2, x, y);
127 }
128 return _xblockexpression_2;
129 };
130 _xblockexpression_1 = VampireTest.builder.Exists(_function_1);
131 }
132 return _xblockexpression_1;
133 };
134 _xblockexpression = VampireTest.builder.add(problem,
135 VampireTest.builder.Assertion(
136 VampireTest.builder.Forall(_function)));
137 }
138 return _xblockexpression;
139 }
140}