From 2f99ce37e5380c8e53fb3515cc2bc5d48bd3d7fd Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Fri, 11 Jan 2019 15:41:57 +0100 Subject: Build with Eclipse 2018.12, generated files change --- .../META-INF/MANIFEST.MF | 24 ++++++++-------- .../plugin.xml | 32 +++++++++++----------- 2 files changed, 28 insertions(+), 28 deletions(-) (limited to 'Solvers/Alloy-Solver') diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF index 87ff7abc..b944302b 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF @@ -4,22 +4,22 @@ Bundle-Name: %pluginName Bundle-SymbolicName: hu.bme.mit.inf.dlsreasoner.alloy.reasoner;singleton:=true Bundle-Version: 1.0.0.qualifier Bundle-ClassPath: lib/alloy4.2_2015-02-22.jar, - . + . Bundle-Vendor: %providerName Bundle-Localization: plugin Export-Package: hu.bme.mit.inf.dlsreasoner.alloy.reasoner, - hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder, - hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries + hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder, + hu.bme.mit.inf.dlsreasoner.alloy.reasoner.queries Require-Bundle: com.google.guava, - org.eclipse.xtend.lib, - org.eclipse.xtext.xbase.lib, - org.eclipse.core.runtime, - org.eclipse.emf.ecore;visibility:=reexport, - hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0";visibility:=reexport, - hu.bme.mit.inf.dslreasoner.alloy.language;bundle-version="1.0.0", - org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.3.0", - hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0", - org.eclipse.viatra.query.runtime;bundle-version="2.0.0" + org.eclipse.xtend.lib, + org.eclipse.xtext.xbase.lib, + org.eclipse.core.runtime, + org.eclipse.emf.ecore;visibility:=reexport, + hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0";visibility:=reexport, + hu.bme.mit.inf.dslreasoner.alloy.language;bundle-version="1.0.0", + org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.3.0", + hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0", + org.eclipse.viatra.query.runtime;bundle-version="2.0.0" Import-Package: org.apache.log4j;version="1.2.15" Automatic-Module-Name: hu.bme.mit.inf.dlsreasoner.alloy.reasoner Bundle-ActivationPolicy: lazy diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.xml b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.xml index 5457d70c..e57b595a 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.xml +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/plugin.xml @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - +--> + + + + + + + + + + + + + + + -- cgit v1.2.3-54-g00ecf From 7f7f934fe6ad11df96906d009eec68583fd46660 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 5 Feb 2019 23:54:03 +0100 Subject: [Stochastic] Fault tree transformation langauge --- ....bme.mit.inf.dslreasoner.alloy.language).launch | 18 - ...hu.bme.mit.inf.dslreasoner.smt.language).launch | 17 - .../.classpath | 9 + .../.gitignore | 1 + .../.project | 34 + .../.settings/org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 7 + .../META-INF/MANIFEST.MF | 15 + .../build.properties | 6 + .../META-INF/services/org.eclipse.xtext.ISetup | 1 + .../ide/AbstractCftLanguageIdeModule.java | 60 + .../ide/contentassist/antlr/CftLanguageParser.java | 145 + .../PartialCftLanguageContentAssistParser.java | 34 + .../antlr/internal/InternalCftLanguage.g | 3540 +++++++ .../antlr/internal/InternalCftLanguage.tokens | 60 + .../antlr/internal/InternalCftLanguageLexer.java | 1876 ++++ .../antlr/internal/InternalCftLanguageParser.java | 10617 +++++++++++++++++++ .../components/ide/CftLanguageIdeModule.xtend | 11 + .../components/ide/CftLanguageIdeSetup.xtend | 20 + .../components/ide/.CftLanguageIdeModule.xtendbin | Bin 0 -> 1712 bytes .../components/ide/.CftLanguageIdeSetup.xtendbin | Bin 0 -> 2549 bytes .../faulttree/components/ide/.gitignore | 2 + .../components/ide/CftLanguageIdeModule.java | 13 + .../components/ide/CftLanguageIdeSetup.java | 24 + .../.classpath | 9 + .../.gitignore | 1 + .../.project | 34 + .../.settings/org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 7 + .../META-INF/MANIFEST.MF | 26 + .../build.properties | 7 + .../plugin.xml | 434 + .../components/ui/AbstractCftLanguageUiModule.java | 293 + .../ui/CftLanguageExecutableExtensionFactory.java | 29 + .../AbstractCftLanguageProposalProvider.java | 193 + .../ui/internal/ComponentsActivator.java | 94 + .../CftLanguageValidatorConfigurationBlock.java | 35 + .../components/ui/CftLanguageUiModule.xtend | 13 + .../CftLanguageProposalProvider.xtend | 12 + .../CftLanguageDescriptionLabelProvider.xtend | 24 + .../ui/labeling/CftLanguageLabelProvider.xtend | 31 + .../outline/CftLanguageOutlineTreeProvider.xtend | 15 + .../ui/quickfix/CftLanguageQuickfixProvider.xtend | 24 + .../components/ui/.CftLanguageUiModule.xtendbin | Bin 0 -> 2459 bytes .../dslreasoner/faulttree/components/ui/.gitignore | 1 + .../components/ui/CftLanguageUiModule.java | 19 + .../.CftLanguageProposalProvider.xtendbin | Bin 0 -> 1820 bytes .../components/ui/contentassist/.gitignore | 1 + .../contentassist/CftLanguageProposalProvider.java | 14 + .../.CftLanguageDescriptionLabelProvider.xtendbin | Bin 0 -> 1993 bytes .../ui/labeling/.CftLanguageLabelProvider.xtendbin | Bin 0 -> 2439 bytes .../faulttree/components/ui/labeling/.gitignore | 2 + .../CftLanguageDescriptionLabelProvider.java | 15 + .../ui/labeling/CftLanguageLabelProvider.java | 21 + .../.CftLanguageOutlineTreeProvider.xtendbin | Bin 0 -> 1849 bytes .../faulttree/components/ui/outline/.gitignore | 1 + .../ui/outline/CftLanguageOutlineTreeProvider.java | 15 + .../quickfix/.CftLanguageQuickfixProvider.xtendbin | Bin 0 -> 1819 bytes .../faulttree/components/ui/quickfix/.gitignore | 1 + .../ui/quickfix/CftLanguageQuickfixProvider.java | 15 + .../.classpath | 9 + .../.gitignore | 1 + ...ftLanguage (cft) Language Infrastructure.launch | 18 + .../.project | 34 + .../.settings/org.eclipse.core.resources.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 7 + .../META-INF/MANIFEST.MF | 31 + .../build.properties | 20 + .../model/generated/CftLanguage.ecore | 84 + .../model/generated/CftLanguage.genmodel | 74 + .../plugin.xml | 10 + .../AbstractCftLanguageRuntimeModule.java | 208 + .../faulttree/components/CftLanguage.xtextbin | Bin 0 -> 5070 bytes .../CftLanguageStandaloneSetupGenerated.java | 42 + .../faulttree/components/cftLanguage/AndGate.java | 19 + .../components/cftLanguage/Assignment.java | 106 + .../cftLanguage/BasicEventDefinition.java | 51 + .../components/cftLanguage/CftLanguageFactory.java | 197 + .../components/cftLanguage/CftLanguagePackage.java | 1746 +++ .../faulttree/components/cftLanguage/CftModel.java | 105 + .../cftLanguage/ComponentDefinition.java | 105 + .../components/cftLanguage/ComponentInstance.java | 51 + .../components/cftLanguage/EventDeclaration.java | 52 + .../components/cftLanguage/EventDefinition.java | 19 + .../components/cftLanguage/EventReference.java | 79 + .../components/cftLanguage/GateDefinition.java | 42 + .../components/cftLanguage/ImportDeclaration.java | 52 + .../components/cftLanguage/InputEvent.java | 51 + .../components/cftLanguage/LookupDefinition.java | 69 + .../components/cftLanguage/MappingDefinition.java | 161 + .../components/cftLanguage/MappingParameter.java | 52 + .../faulttree/components/cftLanguage/OrGate.java | 19 + .../cftLanguage/TransformationDefinition.java | 71 + .../faulttree/components/cftLanguage/Variable.java | 52 + .../components/cftLanguage/impl/AndGateImpl.java | 41 + .../cftLanguage/impl/AssignmentImpl.java | 343 + .../cftLanguage/impl/BasicEventDefinitionImpl.java | 179 + .../cftLanguage/impl/CftLanguageFactoryImpl.java | 330 + .../cftLanguage/impl/CftLanguagePackageImpl.java | 999 ++ .../components/cftLanguage/impl/CftModelImpl.java | 324 + .../cftLanguage/impl/ComponentDefinitionImpl.java | 323 + .../cftLanguage/impl/ComponentInstanceImpl.java | 175 + .../cftLanguage/impl/EventDeclarationImpl.java | 180 + .../cftLanguage/impl/EventDefinitionImpl.java | 41 + .../cftLanguage/impl/EventReferenceImpl.java | 244 + .../cftLanguage/impl/GateDefinitionImpl.java | 147 + .../cftLanguage/impl/ImportDeclarationImpl.java | 180 + .../cftLanguage/impl/InputEventImpl.java | 179 + .../cftLanguage/impl/LookupDefinitionImpl.java | 220 + .../cftLanguage/impl/MappingDefinitionImpl.java | 467 + .../cftLanguage/impl/MappingParameterImpl.java | 180 + .../components/cftLanguage/impl/OrGateImpl.java | 41 + .../impl/TransformationDefinitionImpl.java | 244 + .../components/cftLanguage/impl/VariableImpl.java | 180 + .../util/CftLanguageAdapterFactory.java | 473 + .../cftLanguage/util/CftLanguageSwitch.java | 525 + .../antlr/CftLanguageAntlrTokenFileProvider.java | 16 + .../components/parser/antlr/CftLanguageParser.java | 40 + .../parser/antlr/internal/InternalCftLanguage.g | 1332 +++ .../antlr/internal/InternalCftLanguage.tokens | 60 + .../antlr/internal/InternalCftLanguageLexer.java | 1876 ++++ .../antlr/internal/InternalCftLanguageParser.java | 3449 ++++++ .../scoping/AbstractCftLanguageScopeProvider.java | 9 + .../serializer/CftLanguageSemanticSequencer.java | 315 + .../serializer/CftLanguageSyntacticSequencer.java | 242 + .../services/CftLanguageGrammarAccess.java | 1189 +++ .../validation/AbstractCftLanguageValidator.java | 19 + .../CftLanguageConfigurableIssueCodesProvider.java | 22 + .../faulttree/components/CftLanguage.xtext | 82 + .../components/CftLanguageRuntimeModule.xtend | 33 + .../components/CftLanguageStandaloneSetup.xtend | 15 + .../faulttree/components/GenerateCftLanguage.mwe2 | 46 + .../generator/CftLanguageGenerator.xtend | 25 + .../naming/CftLanguageQualifiedNameProvider.xtend | 27 + .../components/naming/PackageNameProvider.xtend | 30 + ...eImportedNamespaceAwareLocalScopeProvider.xtend | 45 + .../scoping/CftLanguageScopeProvider.xtend | 138 + .../validation/CftLanguageValidator.xtend | 25 + .../components/.CftLanguageRuntimeModule.xtendbin | Bin 0 -> 3218 bytes .../.CftLanguageStandaloneSetup.xtendbin | Bin 0 -> 2015 bytes .../dslreasoner/faulttree/components/.gitignore | 2 + .../components/CftLanguageRuntimeModule.java | 37 + .../components/CftLanguageStandaloneSetup.java | 16 + .../generator/.CftLanguageGenerator.xtendbin | Bin 0 -> 2365 bytes .../faulttree/components/generator/.gitignore | 1 + .../components/generator/CftLanguageGenerator.java | 21 + .../.CftLanguageQualifiedNameProvider.xtendbin | Bin 0 -> 3678 bytes .../naming/.PackageNameProvider.xtendbin | Bin 0 -> 3283 bytes .../faulttree/components/naming/.gitignore | 2 + .../naming/CftLanguageQualifiedNameProvider.java | 35 + .../components/naming/PackageNameProvider.java | 46 + ...portedNamespaceAwareLocalScopeProvider.xtendbin | Bin 0 -> 4651 bytes .../scoping/.CftLanguageScopeProvider.xtendbin | Bin 0 -> 9017 bytes .../faulttree/components/scoping/.gitignore | 4 + ...geImportedNamespaceAwareLocalScopeProvider.java | 63 + .../scoping/CftLanguageScopeProvider.java | 248 + .../validation/.CftLanguageValidator.xtendbin | Bin 0 -> 1760 bytes .../faulttree/components/validation/.gitignore | 1 + .../validation/CftLanguageValidator.java | 15 + 159 files changed, 37045 insertions(+), 35 deletions(-) delete mode 100644 Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.alloy.language).launch delete mode 100644 Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.smt.language).launch create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.classpath create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.project create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.settings/org.eclipse.core.resources.prefs create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.settings/org.eclipse.jdt.core.prefs create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/META-INF/MANIFEST.MF create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/build.properties create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/AbstractCftLanguageIdeModule.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/CftLanguageParser.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/PartialCftLanguageContentAssistParser.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.g create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.tokens create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageLexer.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageParser.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeModule.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeSetup.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeModule.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeSetup.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.classpath create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.project create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.settings/org.eclipse.core.resources.prefs create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.settings/org.eclipse.jdt.core.prefs create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/META-INF/MANIFEST.MF create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/build.properties create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/plugin.xml create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/AbstractCftLanguageUiModule.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageExecutableExtensionFactory.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/AbstractCftLanguageProposalProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/internal/ComponentsActivator.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidatorConfigurationBlock.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageUiModule.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/CftLanguageProposalProvider.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageDescriptionLabelProvider.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageLabelProvider.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/CftLanguageOutlineTreeProvider.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/CftLanguageQuickfixProvider.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageUiModule.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/CftLanguageProposalProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageDescriptionLabelProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageLabelProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/CftLanguageOutlineTreeProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/CftLanguageQuickfixProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.classpath create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.launch/Generate CftLanguage (cft) Language Infrastructure.launch create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.project create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.settings/org.eclipse.core.resources.prefs create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.settings/org.eclipse.jdt.core.prefs create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/META-INF/MANIFEST.MF create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/build.properties create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/model/generated/CftLanguage.ecore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/model/generated/CftLanguage.genmodel create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/plugin.xml create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/AbstractCftLanguageRuntimeModule.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtextbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetupGenerated.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/AndGate.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/Assignment.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/BasicEventDefinition.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftLanguageFactory.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftLanguagePackage.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftModel.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ComponentDefinition.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ComponentInstance.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventDeclaration.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventDefinition.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventReference.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/GateDefinition.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ImportDeclaration.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/InputEvent.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/LookupDefinition.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/MappingDefinition.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/MappingParameter.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/OrGate.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/TransformationDefinition.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/Variable.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/AndGateImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/AssignmentImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/BasicEventDefinitionImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftLanguageFactoryImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftLanguagePackageImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftModelImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ComponentDefinitionImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ComponentInstanceImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventDeclarationImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventDefinitionImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventReferenceImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/GateDefinitionImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ImportDeclarationImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/InputEventImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/LookupDefinitionImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/MappingDefinitionImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/MappingParameterImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/OrGateImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/TransformationDefinitionImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/VariableImpl.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/util/CftLanguageAdapterFactory.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/util/CftLanguageSwitch.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/CftLanguageAntlrTokenFileProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/CftLanguageParser.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.g create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.tokens create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageLexer.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageParser.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/AbstractCftLanguageScopeProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSemanticSequencer.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSyntacticSequencer.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/services/CftLanguageGrammarAccess.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/AbstractCftLanguageValidator.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageConfigurableIssueCodesProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtext create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageRuntimeModule.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetup.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/GenerateCftLanguage.mwe2 create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/CftLanguageGenerator.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidator.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageRuntimeModule.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetup.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/CftLanguageGenerator.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.java create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.gitignore create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidator.java (limited to 'Solvers/Alloy-Solver') diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.alloy.language).launch b/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.alloy.language).launch deleted file mode 100644 index 77031bf1..00000000 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dslreasoner.alloy.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.alloy.language).launch +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.smt.language).launch b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.smt.language).launch deleted file mode 100644 index e448edbe..00000000 --- a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.language/.launch/Generate Language Infrastructure (hu.bme.mit.inf.dslreasoner.smt.language).launch +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.classpath b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.classpath new file mode 100644 index 00000000..9081d4f7 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.gitignore new file mode 100644 index 00000000..ae3c1726 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.project b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.project new file mode 100644 index 00000000..7e994188 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.project @@ -0,0 +1,34 @@ + + + hu.bme.mit.inf.dslreasoner.faulttree.components.ide + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.settings/org.eclipse.core.resources.prefs b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..99f26c02 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.settings/org.eclipse.jdt.core.prefs b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..0c68a61d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/META-INF/MANIFEST.MF b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/META-INF/MANIFEST.MF new file mode 100644 index 00000000..15d6a9f9 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/META-INF/MANIFEST.MF @@ -0,0 +1,15 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.faulttree.components.ide +Bundle-ManifestVersion: 2 +Bundle-Name: hu.bme.mit.inf.dslreasoner.faulttree.components.ide +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.faulttree.components.ide; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: hu.bme.mit.inf.dslreasoner.faulttree.components, + org.eclipse.xtext.ide, + org.eclipse.xtext.xbase.ide, + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr, + hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.internal diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/build.properties b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/build.properties new file mode 100644 index 00000000..5c6bbf99 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/build.properties @@ -0,0 +1,6 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/ +bin.excludes = **/*.xtend diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup new file mode 100644 index 00000000..73a0041c --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup @@ -0,0 +1 @@ +hu.bme.mit.inf.dslreasoner.faulttree.components.ide.CftLanguageIdeSetup diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/AbstractCftLanguageIdeModule.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/AbstractCftLanguageIdeModule.java new file mode 100644 index 00000000..f17cf7d5 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/AbstractCftLanguageIdeModule.java @@ -0,0 +1,60 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide; + +import com.google.inject.Binder; +import com.google.inject.name.Names; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.CftLanguageParser; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.internal.InternalCftLanguageLexer; +import org.eclipse.xtext.ide.DefaultIdeModule; +import org.eclipse.xtext.ide.LexerIdeBindings; +import org.eclipse.xtext.ide.editor.contentassist.FQNPrefixMatcher; +import org.eclipse.xtext.ide.editor.contentassist.IPrefixMatcher; +import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper; +import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper; +import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +import org.eclipse.xtext.ide.refactoring.IRenameStrategy2; +import org.eclipse.xtext.ide.server.rename.IRenameService; +import org.eclipse.xtext.ide.server.rename.RenameService; + +/** + * Manual modifications go to {@link CftLanguageIdeModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractCftLanguageIdeModule extends DefaultIdeModule { + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureContentAssistLexer(Binder binder) { + binder.bind(Lexer.class) + .annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST)) + .to(InternalCftLanguageLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIContentAssistParser() { + return CftLanguageParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIProposalConflictHelper() { + return AntlrProposalConflictHelper.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class bindIPrefixMatcher() { + return FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class bindIRenameService() { + return RenameService.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class bindIRenameStrategy2() { + return IRenameStrategy2.DefaultImpl.class; + } + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/CftLanguageParser.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/CftLanguageParser.java new file mode 100644 index 00000000..579a30af --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/CftLanguageParser.java @@ -0,0 +1,145 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr; + +import com.google.common.collect.ImmutableMap; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.internal.InternalCftLanguageParser; +import hu.bme.mit.inf.dslreasoner.faulttree.components.services.CftLanguageGrammarAccess; +import java.util.Map; +import org.eclipse.xtext.AbstractElement; +import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser; + +public class CftLanguageParser extends AbstractContentAssistParser { + + @Singleton + public static final class NameMappings { + + private final Map mappings; + + @Inject + public NameMappings(CftLanguageGrammarAccess grammarAccess) { + ImmutableMap.Builder builder = ImmutableMap.builder(); + init(builder, grammarAccess); + this.mappings = builder.build(); + } + + public String getRuleName(AbstractElement element) { + return mappings.get(element); + } + + private static void init(ImmutableMap.Builder builder, CftLanguageGrammarAccess grammarAccess) { + builder.put(grammarAccess.getCftModelAccess().getAlternatives_4(), "rule__CftModel__Alternatives_4"); + builder.put(grammarAccess.getEventDeclarationAccess().getAlternatives(), "rule__EventDeclaration__Alternatives"); + builder.put(grammarAccess.getEventDefinitionAccess().getAlternatives(), "rule__EventDefinition__Alternatives"); + builder.put(grammarAccess.getGateDefinitionAccess().getAlternatives(), "rule__GateDefinition__Alternatives"); + builder.put(grammarAccess.getMappingDefinitionAccess().getAlternatives_8_1_0(), "rule__MappingDefinition__Alternatives_8_1_0"); + builder.put(grammarAccess.getVariableAccess().getAlternatives(), "rule__Variable__Alternatives"); + builder.put(grammarAccess.getAssignmentAccess().getAlternatives_1(), "rule__Assignment__Alternatives_1"); + builder.put(grammarAccess.getCftModelAccess().getGroup(), "rule__CftModel__Group__0"); + builder.put(grammarAccess.getImportDeclarationAccess().getGroup(), "rule__ImportDeclaration__Group__0"); + builder.put(grammarAccess.getComponentDefinitionAccess().getGroup(), "rule__ComponentDefinition__Group__0"); + builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_3_0(), "rule__ComponentDefinition__Group_3_0__0"); + builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_3_1(), "rule__ComponentDefinition__Group_3_1__0"); + builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_4(), "rule__ComponentDefinition__Group_4__0"); + builder.put(grammarAccess.getInputEventAccess().getGroup(), "rule__InputEvent__Group__0"); + builder.put(grammarAccess.getBasicEventDefinitionAccess().getGroup(), "rule__BasicEventDefinition__Group__0"); + builder.put(grammarAccess.getAndGateAccess().getGroup(), "rule__AndGate__Group__0"); + builder.put(grammarAccess.getOrGateAccess().getGroup(), "rule__OrGate__Group__0"); + builder.put(grammarAccess.getTransformationDefinitionAccess().getGroup(), "rule__TransformationDefinition__Group__0"); + builder.put(grammarAccess.getMappingDefinitionAccess().getGroup(), "rule__MappingDefinition__Group__0"); + builder.put(grammarAccess.getMappingDefinitionAccess().getGroup_5(), "rule__MappingDefinition__Group_5__0"); + builder.put(grammarAccess.getMappingDefinitionAccess().getGroup_8(), "rule__MappingDefinition__Group_8__0"); + builder.put(grammarAccess.getMappingDefinitionAccess().getGroup_8_1(), "rule__MappingDefinition__Group_8_1__0"); + builder.put(grammarAccess.getLookupDefinitionAccess().getGroup(), "rule__LookupDefinition__Group__0"); + builder.put(grammarAccess.getLookupDefinitionAccess().getGroup_4(), "rule__LookupDefinition__Group_4__0"); + builder.put(grammarAccess.getAssignmentAccess().getGroup(), "rule__Assignment__Group__0"); + builder.put(grammarAccess.getEventReferenceAccess().getGroup(), "rule__EventReference__Group__0"); + builder.put(grammarAccess.getComponentInstanceAccess().getGroup(), "rule__ComponentInstance__Group__0"); + builder.put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0"); + builder.put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0"); + builder.put(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup(), "rule__QualifiedNameWithWildcard__Group__0"); + builder.put(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup_1(), "rule__QualifiedNameWithWildcard__Group_1__0"); + builder.put(grammarAccess.getCftModelAccess().getPackageNameAssignment_1(), "rule__CftModel__PackageNameAssignment_1"); + builder.put(grammarAccess.getCftModelAccess().getImportsAssignment_3(), "rule__CftModel__ImportsAssignment_3"); + builder.put(grammarAccess.getCftModelAccess().getComponentDefinitionsAssignment_4_0(), "rule__CftModel__ComponentDefinitionsAssignment_4_0"); + builder.put(grammarAccess.getCftModelAccess().getTransformationDefinitionsAssignment_4_1(), "rule__CftModel__TransformationDefinitionsAssignment_4_1"); + builder.put(grammarAccess.getImportDeclarationAccess().getImportedNamespaceAssignment_1(), "rule__ImportDeclaration__ImportedNamespaceAssignment_1"); + builder.put(grammarAccess.getComponentDefinitionAccess().getNameAssignment_1(), "rule__ComponentDefinition__NameAssignment_1"); + builder.put(grammarAccess.getComponentDefinitionAccess().getInputEventsAssignment_3_0_1(), "rule__ComponentDefinition__InputEventsAssignment_3_0_1"); + builder.put(grammarAccess.getComponentDefinitionAccess().getOutputEventsAssignment_3_1_1(), "rule__ComponentDefinition__OutputEventsAssignment_3_1_1"); + builder.put(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsAssignment_4_0(), "rule__ComponentDefinition__EventDefinitionsAssignment_4_0"); + builder.put(grammarAccess.getInputEventAccess().getNameAssignment_0(), "rule__InputEvent__NameAssignment_0"); + builder.put(grammarAccess.getInputEventAccess().getMultipleAssignment_1(), "rule__InputEvent__MultipleAssignment_1"); + builder.put(grammarAccess.getBasicEventDefinitionAccess().getNameAssignment_0(), "rule__BasicEventDefinition__NameAssignment_0"); + builder.put(grammarAccess.getBasicEventDefinitionAccess().getRateAssignment_3(), "rule__BasicEventDefinition__RateAssignment_3"); + builder.put(grammarAccess.getAndGateAccess().getNameAssignment_0(), "rule__AndGate__NameAssignment_0"); + builder.put(grammarAccess.getAndGateAccess().getInputEventsAssignment_2(), "rule__AndGate__InputEventsAssignment_2"); + builder.put(grammarAccess.getOrGateAccess().getNameAssignment_0(), "rule__OrGate__NameAssignment_0"); + builder.put(grammarAccess.getOrGateAccess().getInputEventsAssignment_2(), "rule__OrGate__InputEventsAssignment_2"); + builder.put(grammarAccess.getTransformationDefinitionAccess().getNameAssignment_1(), "rule__TransformationDefinition__NameAssignment_1"); + builder.put(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsAssignment_3(), "rule__TransformationDefinition__MappingDefinitionsAssignment_3"); + builder.put(grammarAccess.getMappingDefinitionAccess().getTopLevelAssignment_0(), "rule__MappingDefinition__TopLevelAssignment_0"); + builder.put(grammarAccess.getMappingDefinitionAccess().getPatternAssignment_2(), "rule__MappingDefinition__PatternAssignment_2"); + builder.put(grammarAccess.getMappingDefinitionAccess().getParametersAssignment_4(), "rule__MappingDefinition__ParametersAssignment_4"); + builder.put(grammarAccess.getMappingDefinitionAccess().getParametersAssignment_5_1(), "rule__MappingDefinition__ParametersAssignment_5_1"); + builder.put(grammarAccess.getMappingDefinitionAccess().getComponentInstanceAssignment_7(), "rule__MappingDefinition__ComponentInstanceAssignment_7"); + builder.put(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsAssignment_8_1_0_0(), "rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0"); + builder.put(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignment_8_1_0_1(), "rule__MappingDefinition__AssignmentsAssignment_8_1_0_1"); + builder.put(grammarAccess.getMappingParameterAccess().getNameAssignment(), "rule__MappingParameter__NameAssignment"); + builder.put(grammarAccess.getLookupDefinitionAccess().getMappingAssignment_1(), "rule__LookupDefinition__MappingAssignment_1"); + builder.put(grammarAccess.getLookupDefinitionAccess().getArgumentsAssignment_3(), "rule__LookupDefinition__ArgumentsAssignment_3"); + builder.put(grammarAccess.getLookupDefinitionAccess().getArgumentsAssignment_4_1(), "rule__LookupDefinition__ArgumentsAssignment_4_1"); + builder.put(grammarAccess.getLookupDefinitionAccess().getNameAssignment_7(), "rule__LookupDefinition__NameAssignment_7"); + builder.put(grammarAccess.getAssignmentAccess().getInputAssignment_0(), "rule__Assignment__InputAssignment_0"); + builder.put(grammarAccess.getAssignmentAccess().getMultipleAssignment_1_0(), "rule__Assignment__MultipleAssignment_1_0"); + builder.put(grammarAccess.getAssignmentAccess().getOutputAssignment_2(), "rule__Assignment__OutputAssignment_2"); + builder.put(grammarAccess.getEventReferenceAccess().getComponentAssignment_0(), "rule__EventReference__ComponentAssignment_0"); + builder.put(grammarAccess.getEventReferenceAccess().getEventAssignment_2(), "rule__EventReference__EventAssignment_2"); + builder.put(grammarAccess.getComponentInstanceAccess().getComponentTypeAssignment_1(), "rule__ComponentInstance__ComponentTypeAssignment_1"); + builder.put(grammarAccess.getComponentInstanceAccess().getNameAssignment_2(), "rule__ComponentInstance__NameAssignment_2"); + builder.put(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), "rule__ComponentDefinition__UnorderedGroup_3"); + } + } + + @Inject + private NameMappings nameMappings; + + @Inject + private CftLanguageGrammarAccess grammarAccess; + + @Override + protected InternalCftLanguageParser createParser() { + InternalCftLanguageParser result = new InternalCftLanguageParser(null); + result.setGrammarAccess(grammarAccess); + return result; + } + + @Override + protected String getRuleName(AbstractElement element) { + return nameMappings.getRuleName(element); + } + + @Override + protected String[] getInitialHiddenTokens() { + return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" }; + } + + public CftLanguageGrammarAccess getGrammarAccess() { + return this.grammarAccess; + } + + public void setGrammarAccess(CftLanguageGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + public NameMappings getNameMappings() { + return nameMappings; + } + + public void setNameMappings(NameMappings nameMappings) { + this.nameMappings = nameMappings; + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/PartialCftLanguageContentAssistParser.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/PartialCftLanguageContentAssistParser.java new file mode 100644 index 00000000..11f5a864 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/PartialCftLanguageContentAssistParser.java @@ -0,0 +1,34 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr; + +import java.util.Collection; +import java.util.Collections; +import org.eclipse.xtext.AbstractRule; +import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser; +import org.eclipse.xtext.util.PolymorphicDispatcher; + +public class PartialCftLanguageContentAssistParser extends CftLanguageParser implements IPartialEditingContentAssistParser { + + private AbstractRule rule; + + @Override + public void initializeFor(AbstractRule rule) { + this.rule = rule; + } + + @Override + protected Collection getFollowElements(AbstractInternalContentAssistParser parser) { + if (rule == null || rule.eIsProxy()) + return Collections.emptyList(); + String methodName = "entryRule" + rule.getName(); + PolymorphicDispatcher> dispatcher = + new PolymorphicDispatcher>(methodName, 0, 0, Collections.singletonList(parser)); + dispatcher.invoke(); + return parser.getFollowElements(); + } + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.g b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.g new file mode 100644 index 00000000..84bb924e --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.g @@ -0,0 +1,3540 @@ +/* + * generated by Xtext 2.16.0 + */ +grammar InternalCftLanguage; + +options { + superClass=AbstractInternalContentAssistParser; +} + +@lexer::header { +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.internal; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +} + +@parser::header { +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.internal; + +import java.io.InputStream; +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA; +import hu.bme.mit.inf.dslreasoner.faulttree.components.services.CftLanguageGrammarAccess; + +} +@parser::members { + private CftLanguageGrammarAccess grammarAccess; + + public void setGrammarAccess(CftLanguageGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } +} + +// Entry rule entryRuleCftModel +entryRuleCftModel +: +{ before(grammarAccess.getCftModelRule()); } + ruleCftModel +{ after(grammarAccess.getCftModelRule()); } + EOF +; + +// Rule CftModel +ruleCftModel + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getCftModelAccess().getGroup()); } + (rule__CftModel__Group__0) + { after(grammarAccess.getCftModelAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleImportDeclaration +entryRuleImportDeclaration +: +{ before(grammarAccess.getImportDeclarationRule()); } + ruleImportDeclaration +{ after(grammarAccess.getImportDeclarationRule()); } + EOF +; + +// Rule ImportDeclaration +ruleImportDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getImportDeclarationAccess().getGroup()); } + (rule__ImportDeclaration__Group__0) + { after(grammarAccess.getImportDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleComponentDefinition +entryRuleComponentDefinition +: +{ before(grammarAccess.getComponentDefinitionRule()); } + ruleComponentDefinition +{ after(grammarAccess.getComponentDefinitionRule()); } + EOF +; + +// Rule ComponentDefinition +ruleComponentDefinition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getComponentDefinitionAccess().getGroup()); } + (rule__ComponentDefinition__Group__0) + { after(grammarAccess.getComponentDefinitionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleInputEvent +entryRuleInputEvent +: +{ before(grammarAccess.getInputEventRule()); } + ruleInputEvent +{ after(grammarAccess.getInputEventRule()); } + EOF +; + +// Rule InputEvent +ruleInputEvent + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getInputEventAccess().getGroup()); } + (rule__InputEvent__Group__0) + { after(grammarAccess.getInputEventAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleEventDefinition +entryRuleEventDefinition +: +{ before(grammarAccess.getEventDefinitionRule()); } + ruleEventDefinition +{ after(grammarAccess.getEventDefinitionRule()); } + EOF +; + +// Rule EventDefinition +ruleEventDefinition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getEventDefinitionAccess().getAlternatives()); } + (rule__EventDefinition__Alternatives) + { after(grammarAccess.getEventDefinitionAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleBasicEventDefinition +entryRuleBasicEventDefinition +: +{ before(grammarAccess.getBasicEventDefinitionRule()); } + ruleBasicEventDefinition +{ after(grammarAccess.getBasicEventDefinitionRule()); } + EOF +; + +// Rule BasicEventDefinition +ruleBasicEventDefinition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getBasicEventDefinitionAccess().getGroup()); } + (rule__BasicEventDefinition__Group__0) + { after(grammarAccess.getBasicEventDefinitionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleGateDefinition +entryRuleGateDefinition +: +{ before(grammarAccess.getGateDefinitionRule()); } + ruleGateDefinition +{ after(grammarAccess.getGateDefinitionRule()); } + EOF +; + +// Rule GateDefinition +ruleGateDefinition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getGateDefinitionAccess().getAlternatives()); } + (rule__GateDefinition__Alternatives) + { after(grammarAccess.getGateDefinitionAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAndGate +entryRuleAndGate +: +{ before(grammarAccess.getAndGateRule()); } + ruleAndGate +{ after(grammarAccess.getAndGateRule()); } + EOF +; + +// Rule AndGate +ruleAndGate + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAndGateAccess().getGroup()); } + (rule__AndGate__Group__0) + { after(grammarAccess.getAndGateAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOrGate +entryRuleOrGate +: +{ before(grammarAccess.getOrGateRule()); } + ruleOrGate +{ after(grammarAccess.getOrGateRule()); } + EOF +; + +// Rule OrGate +ruleOrGate + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getOrGateAccess().getGroup()); } + (rule__OrGate__Group__0) + { after(grammarAccess.getOrGateAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleTransformationDefinition +entryRuleTransformationDefinition +: +{ before(grammarAccess.getTransformationDefinitionRule()); } + ruleTransformationDefinition +{ after(grammarAccess.getTransformationDefinitionRule()); } + EOF +; + +// Rule TransformationDefinition +ruleTransformationDefinition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getTransformationDefinitionAccess().getGroup()); } + (rule__TransformationDefinition__Group__0) + { after(grammarAccess.getTransformationDefinitionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleMappingDefinition +entryRuleMappingDefinition +: +{ before(grammarAccess.getMappingDefinitionRule()); } + ruleMappingDefinition +{ after(grammarAccess.getMappingDefinitionRule()); } + EOF +; + +// Rule MappingDefinition +ruleMappingDefinition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getMappingDefinitionAccess().getGroup()); } + (rule__MappingDefinition__Group__0) + { after(grammarAccess.getMappingDefinitionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleMappingParameter +entryRuleMappingParameter +: +{ before(grammarAccess.getMappingParameterRule()); } + ruleMappingParameter +{ after(grammarAccess.getMappingParameterRule()); } + EOF +; + +// Rule MappingParameter +ruleMappingParameter + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getMappingParameterAccess().getNameAssignment()); } + (rule__MappingParameter__NameAssignment) + { after(grammarAccess.getMappingParameterAccess().getNameAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLookupDefinition +entryRuleLookupDefinition +: +{ before(grammarAccess.getLookupDefinitionRule()); } + ruleLookupDefinition +{ after(grammarAccess.getLookupDefinitionRule()); } + EOF +; + +// Rule LookupDefinition +ruleLookupDefinition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLookupDefinitionAccess().getGroup()); } + (rule__LookupDefinition__Group__0) + { after(grammarAccess.getLookupDefinitionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAssignment +entryRuleAssignment +: +{ before(grammarAccess.getAssignmentRule()); } + ruleAssignment +{ after(grammarAccess.getAssignmentRule()); } + EOF +; + +// Rule Assignment +ruleAssignment + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAssignmentAccess().getGroup()); } + (rule__Assignment__Group__0) + { after(grammarAccess.getAssignmentAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleEventReference +entryRuleEventReference +: +{ before(grammarAccess.getEventReferenceRule()); } + ruleEventReference +{ after(grammarAccess.getEventReferenceRule()); } + EOF +; + +// Rule EventReference +ruleEventReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getEventReferenceAccess().getGroup()); } + (rule__EventReference__Group__0) + { after(grammarAccess.getEventReferenceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleComponentInstance +entryRuleComponentInstance +: +{ before(grammarAccess.getComponentInstanceRule()); } + ruleComponentInstance +{ after(grammarAccess.getComponentInstanceRule()); } + EOF +; + +// Rule ComponentInstance +ruleComponentInstance + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getComponentInstanceAccess().getGroup()); } + (rule__ComponentInstance__Group__0) + { after(grammarAccess.getComponentInstanceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName +: +{ before(grammarAccess.getQualifiedNameRule()); } + ruleQualifiedName +{ after(grammarAccess.getQualifiedNameRule()); } + EOF +; + +// Rule QualifiedName +ruleQualifiedName + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQualifiedNameAccess().getGroup()); } + (rule__QualifiedName__Group__0) + { after(grammarAccess.getQualifiedNameAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQualifiedNameWithWildcard +entryRuleQualifiedNameWithWildcard +: +{ before(grammarAccess.getQualifiedNameWithWildcardRule()); } + ruleQualifiedNameWithWildcard +{ after(grammarAccess.getQualifiedNameWithWildcardRule()); } + EOF +; + +// Rule QualifiedNameWithWildcard +ruleQualifiedNameWithWildcard + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } + (rule__QualifiedNameWithWildcard__Group__0) + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Alternatives_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCftModelAccess().getComponentDefinitionsAssignment_4_0()); } + (rule__CftModel__ComponentDefinitionsAssignment_4_0) + { after(grammarAccess.getCftModelAccess().getComponentDefinitionsAssignment_4_0()); } + ) + | + ( + { before(grammarAccess.getCftModelAccess().getTransformationDefinitionsAssignment_4_1()); } + (rule__CftModel__TransformationDefinitionsAssignment_4_1) + { after(grammarAccess.getCftModelAccess().getTransformationDefinitionsAssignment_4_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__EventDefinition__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getEventDefinitionAccess().getBasicEventDefinitionParserRuleCall_0()); } + ruleBasicEventDefinition + { after(grammarAccess.getEventDefinitionAccess().getBasicEventDefinitionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getEventDefinitionAccess().getGateDefinitionParserRuleCall_1()); } + ruleGateDefinition + { after(grammarAccess.getEventDefinitionAccess().getGateDefinitionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__GateDefinition__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGateDefinitionAccess().getAndGateParserRuleCall_0()); } + ruleAndGate + { after(grammarAccess.getGateDefinitionAccess().getAndGateParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getGateDefinitionAccess().getOrGateParserRuleCall_1()); } + ruleOrGate + { after(grammarAccess.getGateDefinitionAccess().getOrGateParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Alternatives_8_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsAssignment_8_1_0_0()); } + (rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0) + { after(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsAssignment_8_1_0_0()); } + ) + | + ( + { before(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignment_8_1_0_1()); } + (rule__MappingDefinition__AssignmentsAssignment_8_1_0_1) + { after(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignment_8_1_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Assignment__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAssignmentAccess().getMultipleAssignment_1_0()); } + (rule__Assignment__MultipleAssignment_1_0) + { after(grammarAccess.getAssignmentAccess().getMultipleAssignment_1_0()); } + ) + | + ( + { before(grammarAccess.getAssignmentAccess().getColonEqualsSignKeyword_1_1()); } + ':=' + { after(grammarAccess.getAssignmentAccess().getColonEqualsSignKeyword_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CftModel__Group__0__Impl + rule__CftModel__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCftModelAccess().getPackageKeyword_0()); } + 'package' + { after(grammarAccess.getCftModelAccess().getPackageKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CftModel__Group__1__Impl + rule__CftModel__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCftModelAccess().getPackageNameAssignment_1()); } + (rule__CftModel__PackageNameAssignment_1) + { after(grammarAccess.getCftModelAccess().getPackageNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CftModel__Group__2__Impl + rule__CftModel__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCftModelAccess().getSemicolonKeyword_2()); } + (';')? + { after(grammarAccess.getCftModelAccess().getSemicolonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CftModel__Group__3__Impl + rule__CftModel__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCftModelAccess().getImportsAssignment_3()); } + (rule__CftModel__ImportsAssignment_3)* + { after(grammarAccess.getCftModelAccess().getImportsAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__CftModel__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCftModelAccess().getAlternatives_4()); } + (rule__CftModel__Alternatives_4)* + { after(grammarAccess.getCftModelAccess().getAlternatives_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ImportDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImportDeclaration__Group__0__Impl + rule__ImportDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImportDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportDeclarationAccess().getImportKeyword_0()); } + 'import' + { after(grammarAccess.getImportDeclarationAccess().getImportKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImportDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImportDeclaration__Group__1__Impl + rule__ImportDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImportDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportDeclarationAccess().getImportedNamespaceAssignment_1()); } + (rule__ImportDeclaration__ImportedNamespaceAssignment_1) + { after(grammarAccess.getImportDeclarationAccess().getImportedNamespaceAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImportDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImportDeclaration__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ImportDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportDeclarationAccess().getSemicolonKeyword_2()); } + (';')? + { after(grammarAccess.getImportDeclarationAccess().getSemicolonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group__0__Impl + rule__ComponentDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getCftKeyword_0()); } + 'cft' + { after(grammarAccess.getComponentDefinitionAccess().getCftKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group__1__Impl + rule__ComponentDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getNameAssignment_1()); } + (rule__ComponentDefinition__NameAssignment_1) + { after(grammarAccess.getComponentDefinitionAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group__2__Impl + rule__ComponentDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getLeftCurlyBracketKeyword_2()); } + '{' + { after(grammarAccess.getComponentDefinitionAccess().getLeftCurlyBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group__3__Impl + rule__ComponentDefinition__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); } + (rule__ComponentDefinition__UnorderedGroup_3) + { after(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group__4__Impl + rule__ComponentDefinition__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getGroup_4()); } + (rule__ComponentDefinition__Group_4__0)* + { after(grammarAccess.getComponentDefinitionAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getRightCurlyBracketKeyword_5()); } + '}' + { after(grammarAccess.getComponentDefinitionAccess().getRightCurlyBracketKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDefinition__Group_3_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group_3_0__0__Impl + rule__ComponentDefinition__Group_3_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_3_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()); } + 'in' + { after(grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_3_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group_3_0__1__Impl + rule__ComponentDefinition__Group_3_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_3_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getInputEventsAssignment_3_0_1()); } + (rule__ComponentDefinition__InputEventsAssignment_3_0_1)* + { after(grammarAccess.getComponentDefinitionAccess().getInputEventsAssignment_3_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_3_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group_3_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_3_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()); } + ';' + { after(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDefinition__Group_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group_3_1__0__Impl + rule__ComponentDefinition__Group_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()); } + 'out' + { after(grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group_3_1__1__Impl + rule__ComponentDefinition__Group_3_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getOutputEventsAssignment_3_1_1()); } + (rule__ComponentDefinition__OutputEventsAssignment_3_1_1)* + { after(grammarAccess.getComponentDefinitionAccess().getOutputEventsAssignment_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_3_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group_3_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_3_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()); } + ';' + { after(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDefinition__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group_4__0__Impl + rule__ComponentDefinition__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsAssignment_4_0()); } + (rule__ComponentDefinition__EventDefinitionsAssignment_4_0) + { after(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsAssignment_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__Group_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_4_1()); } + ';' + { after(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InputEvent__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InputEvent__Group__0__Impl + rule__InputEvent__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InputEvent__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInputEventAccess().getNameAssignment_0()); } + (rule__InputEvent__NameAssignment_0) + { after(grammarAccess.getInputEventAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InputEvent__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InputEvent__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InputEvent__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInputEventAccess().getMultipleAssignment_1()); } + (rule__InputEvent__MultipleAssignment_1)? + { after(grammarAccess.getInputEventAccess().getMultipleAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__BasicEventDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__BasicEventDefinition__Group__0__Impl + rule__BasicEventDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicEventDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBasicEventDefinitionAccess().getNameAssignment_0()); } + (rule__BasicEventDefinition__NameAssignment_0) + { after(grammarAccess.getBasicEventDefinitionAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicEventDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__BasicEventDefinition__Group__1__Impl + rule__BasicEventDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicEventDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBasicEventDefinitionAccess().getLambdaKeyword_1()); } + 'lambda' + { after(grammarAccess.getBasicEventDefinitionAccess().getLambdaKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicEventDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__BasicEventDefinition__Group__2__Impl + rule__BasicEventDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicEventDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBasicEventDefinitionAccess().getEqualsSignKeyword_2()); } + '=' + { after(grammarAccess.getBasicEventDefinitionAccess().getEqualsSignKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicEventDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__BasicEventDefinition__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicEventDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBasicEventDefinitionAccess().getRateAssignment_3()); } + (rule__BasicEventDefinition__RateAssignment_3) + { after(grammarAccess.getBasicEventDefinitionAccess().getRateAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AndGate__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndGate__Group__0__Impl + rule__AndGate__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndGate__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndGateAccess().getNameAssignment_0()); } + (rule__AndGate__NameAssignment_0) + { after(grammarAccess.getAndGateAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndGate__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndGate__Group__1__Impl + rule__AndGate__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndGate__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndGateAccess().getAndKeyword_1()); } + 'and' + { after(grammarAccess.getAndGateAccess().getAndKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndGate__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndGate__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AndGate__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndGateAccess().getInputEventsAssignment_2()); } + (rule__AndGate__InputEventsAssignment_2)* + { after(grammarAccess.getAndGateAccess().getInputEventsAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OrGate__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrGate__Group__0__Impl + rule__OrGate__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrGate__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrGateAccess().getNameAssignment_0()); } + (rule__OrGate__NameAssignment_0) + { after(grammarAccess.getOrGateAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrGate__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrGate__Group__1__Impl + rule__OrGate__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrGate__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrGateAccess().getOrKeyword_1()); } + 'or' + { after(grammarAccess.getOrGateAccess().getOrKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrGate__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrGate__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OrGate__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrGateAccess().getInputEventsAssignment_2()); } + (rule__OrGate__InputEventsAssignment_2)* + { after(grammarAccess.getOrGateAccess().getInputEventsAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__TransformationDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransformationDefinition__Group__0__Impl + rule__TransformationDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransformationDefinitionAccess().getTransformationKeyword_0()); } + 'transformation' + { after(grammarAccess.getTransformationDefinitionAccess().getTransformationKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransformationDefinition__Group__1__Impl + rule__TransformationDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransformationDefinitionAccess().getNameAssignment_1()); } + (rule__TransformationDefinition__NameAssignment_1) + { after(grammarAccess.getTransformationDefinitionAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransformationDefinition__Group__2__Impl + rule__TransformationDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransformationDefinitionAccess().getLeftCurlyBracketKeyword_2()); } + '{' + { after(grammarAccess.getTransformationDefinitionAccess().getLeftCurlyBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransformationDefinition__Group__3__Impl + rule__TransformationDefinition__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsAssignment_3()); } + (rule__TransformationDefinition__MappingDefinitionsAssignment_3)* + { after(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransformationDefinition__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransformationDefinitionAccess().getRightCurlyBracketKeyword_4()); } + '}' + { after(grammarAccess.getTransformationDefinitionAccess().getRightCurlyBracketKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MappingDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group__0__Impl + rule__MappingDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getTopLevelAssignment_0()); } + (rule__MappingDefinition__TopLevelAssignment_0)? + { after(grammarAccess.getMappingDefinitionAccess().getTopLevelAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group__1__Impl + rule__MappingDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getMappingKeyword_1()); } + 'mapping' + { after(grammarAccess.getMappingDefinitionAccess().getMappingKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group__2__Impl + rule__MappingDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getPatternAssignment_2()); } + (rule__MappingDefinition__PatternAssignment_2) + { after(grammarAccess.getMappingDefinitionAccess().getPatternAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group__3__Impl + rule__MappingDefinition__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getLeftParenthesisKeyword_3()); } + '(' + { after(grammarAccess.getMappingDefinitionAccess().getLeftParenthesisKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group__4__Impl + rule__MappingDefinition__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getParametersAssignment_4()); } + (rule__MappingDefinition__ParametersAssignment_4) + { after(grammarAccess.getMappingDefinitionAccess().getParametersAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group__5__Impl + rule__MappingDefinition__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getGroup_5()); } + (rule__MappingDefinition__Group_5__0)* + { after(grammarAccess.getMappingDefinitionAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group__6__Impl + rule__MappingDefinition__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getRightParenthesisKeyword_6()); } + ')' + { after(grammarAccess.getMappingDefinitionAccess().getRightParenthesisKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group__7__Impl + rule__MappingDefinition__Group__8 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getComponentInstanceAssignment_7()); } + (rule__MappingDefinition__ComponentInstanceAssignment_7)? + { after(grammarAccess.getMappingDefinitionAccess().getComponentInstanceAssignment_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__8 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group__8__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group__8__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getGroup_8()); } + (rule__MappingDefinition__Group_8__0)? + { after(grammarAccess.getMappingDefinitionAccess().getGroup_8()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MappingDefinition__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group_5__0__Impl + rule__MappingDefinition__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getCommaKeyword_5_0()); } + ',' + { after(grammarAccess.getMappingDefinitionAccess().getCommaKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getParametersAssignment_5_1()); } + (rule__MappingDefinition__ParametersAssignment_5_1) + { after(grammarAccess.getMappingDefinitionAccess().getParametersAssignment_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MappingDefinition__Group_8__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group_8__0__Impl + rule__MappingDefinition__Group_8__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_8__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getLeftCurlyBracketKeyword_8_0()); } + '{' + { after(grammarAccess.getMappingDefinitionAccess().getLeftCurlyBracketKeyword_8_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_8__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group_8__1__Impl + rule__MappingDefinition__Group_8__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_8__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getGroup_8_1()); } + (rule__MappingDefinition__Group_8_1__0)* + { after(grammarAccess.getMappingDefinitionAccess().getGroup_8_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_8__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group_8__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_8__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getRightCurlyBracketKeyword_8_2()); } + '}' + { after(grammarAccess.getMappingDefinitionAccess().getRightCurlyBracketKeyword_8_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MappingDefinition__Group_8_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group_8_1__0__Impl + rule__MappingDefinition__Group_8_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_8_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getAlternatives_8_1_0()); } + (rule__MappingDefinition__Alternatives_8_1_0) + { after(grammarAccess.getMappingDefinitionAccess().getAlternatives_8_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_8_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MappingDefinition__Group_8_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__Group_8_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMappingDefinitionAccess().getSemicolonKeyword_8_1_1()); } + ';' + { after(grammarAccess.getMappingDefinitionAccess().getSemicolonKeyword_8_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LookupDefinition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LookupDefinition__Group__0__Impl + rule__LookupDefinition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLookupDefinitionAccess().getLookupKeyword_0()); } + 'lookup' + { after(grammarAccess.getLookupDefinitionAccess().getLookupKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LookupDefinition__Group__1__Impl + rule__LookupDefinition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLookupDefinitionAccess().getMappingAssignment_1()); } + (rule__LookupDefinition__MappingAssignment_1) + { after(grammarAccess.getLookupDefinitionAccess().getMappingAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LookupDefinition__Group__2__Impl + rule__LookupDefinition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLookupDefinitionAccess().getLeftParenthesisKeyword_2()); } + '(' + { after(grammarAccess.getLookupDefinitionAccess().getLeftParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__LookupDefinition__Group__3__Impl + rule__LookupDefinition__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLookupDefinitionAccess().getArgumentsAssignment_3()); } + (rule__LookupDefinition__ArgumentsAssignment_3) + { after(grammarAccess.getLookupDefinitionAccess().getArgumentsAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__LookupDefinition__Group__4__Impl + rule__LookupDefinition__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLookupDefinitionAccess().getGroup_4()); } + (rule__LookupDefinition__Group_4__0)* + { after(grammarAccess.getLookupDefinitionAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__LookupDefinition__Group__5__Impl + rule__LookupDefinition__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLookupDefinitionAccess().getRightParenthesisKeyword_5()); } + ')' + { after(grammarAccess.getLookupDefinitionAccess().getRightParenthesisKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__LookupDefinition__Group__6__Impl + rule__LookupDefinition__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLookupDefinitionAccess().getAsKeyword_6()); } + 'as' + { after(grammarAccess.getLookupDefinitionAccess().getAsKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__LookupDefinition__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLookupDefinitionAccess().getNameAssignment_7()); } + (rule__LookupDefinition__NameAssignment_7) + { after(grammarAccess.getLookupDefinitionAccess().getNameAssignment_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LookupDefinition__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LookupDefinition__Group_4__0__Impl + rule__LookupDefinition__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLookupDefinitionAccess().getCommaKeyword_4_0()); } + ',' + { after(grammarAccess.getLookupDefinitionAccess().getCommaKeyword_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LookupDefinition__Group_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLookupDefinitionAccess().getArgumentsAssignment_4_1()); } + (rule__LookupDefinition__ArgumentsAssignment_4_1) + { after(grammarAccess.getLookupDefinitionAccess().getArgumentsAssignment_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Assignment__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Assignment__Group__0__Impl + rule__Assignment__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Assignment__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssignmentAccess().getInputAssignment_0()); } + (rule__Assignment__InputAssignment_0) + { after(grammarAccess.getAssignmentAccess().getInputAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Assignment__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Assignment__Group__1__Impl + rule__Assignment__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Assignment__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssignmentAccess().getAlternatives_1()); } + (rule__Assignment__Alternatives_1) + { after(grammarAccess.getAssignmentAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Assignment__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Assignment__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Assignment__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAssignmentAccess().getOutputAssignment_2()); } + (rule__Assignment__OutputAssignment_2) + { after(grammarAccess.getAssignmentAccess().getOutputAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__EventReference__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__EventReference__Group__0__Impl + rule__EventReference__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__EventReference__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEventReferenceAccess().getComponentAssignment_0()); } + (rule__EventReference__ComponentAssignment_0) + { after(grammarAccess.getEventReferenceAccess().getComponentAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__EventReference__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__EventReference__Group__1__Impl + rule__EventReference__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__EventReference__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEventReferenceAccess().getFullStopKeyword_1()); } + '.' + { after(grammarAccess.getEventReferenceAccess().getFullStopKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__EventReference__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__EventReference__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__EventReference__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEventReferenceAccess().getEventAssignment_2()); } + (rule__EventReference__EventAssignment_2) + { after(grammarAccess.getEventReferenceAccess().getEventAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentInstance__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group__0__Impl + rule__ComponentInstance__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getEqualsSignGreaterThanSignKeyword_0()); } + '=>' + { after(grammarAccess.getComponentInstanceAccess().getEqualsSignGreaterThanSignKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group__1__Impl + rule__ComponentInstance__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getComponentTypeAssignment_1()); } + (rule__ComponentInstance__ComponentTypeAssignment_1) + { after(grammarAccess.getComponentInstanceAccess().getComponentTypeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getNameAssignment_2()); } + (rule__ComponentInstance__NameAssignment_2)? + { after(grammarAccess.getComponentInstanceAccess().getNameAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QualifiedName__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedName__Group__0__Impl + rule__QualifiedName__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedName__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); } + RULE_ID + { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedName__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedName__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedName__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedNameAccess().getGroup_1()); } + (rule__QualifiedName__Group_1__0)* + { after(grammarAccess.getQualifiedNameAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QualifiedName__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedName__Group_1__0__Impl + rule__QualifiedName__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedName__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } + '.' + { after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedName__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedName__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedName__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); } + RULE_ID + { after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QualifiedNameWithWildcard__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedNameWithWildcard__Group__0__Impl + rule__QualifiedNameWithWildcard__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedNameWithWildcard__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } + ruleQualifiedName + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedNameWithWildcard__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedNameWithWildcard__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedNameWithWildcard__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup_1()); } + (rule__QualifiedNameWithWildcard__Group_1__0)? + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QualifiedNameWithWildcard__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedNameWithWildcard__Group_1__0__Impl + rule__QualifiedNameWithWildcard__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedNameWithWildcard__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); } + '.' + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedNameWithWildcard__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QualifiedNameWithWildcard__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QualifiedNameWithWildcard__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_1_1()); } + '*' + { after(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDefinition__UnorderedGroup_3 + @init { + int stackSize = keepStackSize(); + getUnorderedGroupHelper().enter(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + } +: + rule__ComponentDefinition__UnorderedGroup_3__0 + ? +; +finally { + getUnorderedGroupHelper().leave(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__UnorderedGroup_3__Impl + @init { + int stackSize = keepStackSize(); + boolean selected = false; + } +: + ( + ( + {getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0)}?=>( + { + getUnorderedGroupHelper().select(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0); + } + { + selected = true; + } + ( + { before(grammarAccess.getComponentDefinitionAccess().getGroup_3_0()); } + (rule__ComponentDefinition__Group_3_0__0) + { after(grammarAccess.getComponentDefinitionAccess().getGroup_3_0()); } + ) + ) + )| + ( + {getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1)}?=>( + { + getUnorderedGroupHelper().select(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1); + } + { + selected = true; + } + ( + { before(grammarAccess.getComponentDefinitionAccess().getGroup_3_1()); } + (rule__ComponentDefinition__Group_3_1__0) + { after(grammarAccess.getComponentDefinitionAccess().getGroup_3_1()); } + ) + ) + ) + ) +; +finally { + if (selected) + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__UnorderedGroup_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__UnorderedGroup_3__Impl + rule__ComponentDefinition__UnorderedGroup_3__1? +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__UnorderedGroup_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDefinition__UnorderedGroup_3__Impl +; +finally { + restoreStackSize(stackSize); +} + + +rule__CftModel__PackageNameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCftModelAccess().getPackageNameQualifiedNameParserRuleCall_1_0()); } + ruleQualifiedName + { after(grammarAccess.getCftModelAccess().getPackageNameQualifiedNameParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__ImportsAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCftModelAccess().getImportsImportDeclarationParserRuleCall_3_0()); } + ruleImportDeclaration + { after(grammarAccess.getCftModelAccess().getImportsImportDeclarationParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__ComponentDefinitionsAssignment_4_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCftModelAccess().getComponentDefinitionsComponentDefinitionParserRuleCall_4_0_0()); } + ruleComponentDefinition + { after(grammarAccess.getCftModelAccess().getComponentDefinitionsComponentDefinitionParserRuleCall_4_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CftModel__TransformationDefinitionsAssignment_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCftModelAccess().getTransformationDefinitionsTransformationDefinitionParserRuleCall_4_1_0()); } + ruleTransformationDefinition + { after(grammarAccess.getCftModelAccess().getTransformationDefinitionsTransformationDefinitionParserRuleCall_4_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImportDeclaration__ImportedNamespaceAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); } + ruleQualifiedNameWithWildcard + { after(grammarAccess.getImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDefinitionAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getComponentDefinitionAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__InputEventsAssignment_3_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDefinitionAccess().getInputEventsInputEventParserRuleCall_3_0_1_0()); } + ruleInputEvent + { after(grammarAccess.getComponentDefinitionAccess().getInputEventsInputEventParserRuleCall_3_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__OutputEventsAssignment_3_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationCrossReference_3_1_1_0()); } + ( + { before(grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationIDTerminalRuleCall_3_1_1_0_1()); } + RULE_ID + { after(grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationIDTerminalRuleCall_3_1_1_0_1()); } + ) + { after(grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationCrossReference_3_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDefinition__EventDefinitionsAssignment_4_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsEventDefinitionParserRuleCall_4_0_0()); } + ruleEventDefinition + { after(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsEventDefinitionParserRuleCall_4_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InputEvent__NameAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInputEventAccess().getNameIDTerminalRuleCall_0_0()); } + RULE_ID + { after(grammarAccess.getInputEventAccess().getNameIDTerminalRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InputEvent__MultipleAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); } + ( + { before(grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); } + '[]' + { after(grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); } + ) + { after(grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicEventDefinition__NameAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBasicEventDefinitionAccess().getNameIDTerminalRuleCall_0_0()); } + RULE_ID + { after(grammarAccess.getBasicEventDefinitionAccess().getNameIDTerminalRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicEventDefinition__RateAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBasicEventDefinitionAccess().getRateDOULBETerminalRuleCall_3_0()); } + RULE_DOULBE + { after(grammarAccess.getBasicEventDefinitionAccess().getRateDOULBETerminalRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndGate__NameAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAndGateAccess().getNameIDTerminalRuleCall_0_0()); } + RULE_ID + { after(grammarAccess.getAndGateAccess().getNameIDTerminalRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndGate__InputEventsAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAndGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); } + ( + { before(grammarAccess.getAndGateAccess().getInputEventsEventDeclarationIDTerminalRuleCall_2_0_1()); } + RULE_ID + { after(grammarAccess.getAndGateAccess().getInputEventsEventDeclarationIDTerminalRuleCall_2_0_1()); } + ) + { after(grammarAccess.getAndGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrGate__NameAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOrGateAccess().getNameIDTerminalRuleCall_0_0()); } + RULE_ID + { after(grammarAccess.getOrGateAccess().getNameIDTerminalRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrGate__InputEventsAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOrGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); } + ( + { before(grammarAccess.getOrGateAccess().getInputEventsEventDeclarationIDTerminalRuleCall_2_0_1()); } + RULE_ID + { after(grammarAccess.getOrGateAccess().getInputEventsEventDeclarationIDTerminalRuleCall_2_0_1()); } + ) + { after(grammarAccess.getOrGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransformationDefinitionAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getTransformationDefinitionAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__TransformationDefinition__MappingDefinitionsAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsMappingDefinitionParserRuleCall_3_0()); } + ruleMappingDefinition + { after(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsMappingDefinitionParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__TopLevelAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); } + ( + { before(grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); } + 'toplevel' + { after(grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); } + ) + { after(grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__PatternAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMappingDefinitionAccess().getPatternPatternCrossReference_2_0()); } + ( + { before(grammarAccess.getMappingDefinitionAccess().getPatternPatternQualifiedNameParserRuleCall_2_0_1()); } + ruleQualifiedName + { after(grammarAccess.getMappingDefinitionAccess().getPatternPatternQualifiedNameParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getMappingDefinitionAccess().getPatternPatternCrossReference_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__ParametersAssignment_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_4_0()); } + ruleMappingParameter + { after(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_4_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__ParametersAssignment_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_5_1_0()); } + ruleMappingParameter + { after(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_5_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__ComponentInstanceAssignment_7 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMappingDefinitionAccess().getComponentInstanceComponentInstanceParserRuleCall_7_0()); } + ruleComponentInstance + { after(grammarAccess.getMappingDefinitionAccess().getComponentInstanceComponentInstanceParserRuleCall_7_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsLookupDefinitionParserRuleCall_8_1_0_0_0()); } + ruleLookupDefinition + { after(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsLookupDefinitionParserRuleCall_8_1_0_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingDefinition__AssignmentsAssignment_8_1_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignmentParserRuleCall_8_1_0_1_0()); } + ruleAssignment + { after(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignmentParserRuleCall_8_1_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MappingParameter__NameAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMappingParameterAccess().getNameIDTerminalRuleCall_0()); } + RULE_ID + { after(grammarAccess.getMappingParameterAccess().getNameIDTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__MappingAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionCrossReference_1_0()); } + ( + { before(grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__ArgumentsAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_3_0()); } + ( + { before(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterIDTerminalRuleCall_3_0_1()); } + RULE_ID + { after(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterIDTerminalRuleCall_3_0_1()); } + ) + { after(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__ArgumentsAssignment_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_4_1_0()); } + ( + { before(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterIDTerminalRuleCall_4_1_0_1()); } + RULE_ID + { after(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterIDTerminalRuleCall_4_1_0_1()); } + ) + { after(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_4_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LookupDefinition__NameAssignment_7 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLookupDefinitionAccess().getNameIDTerminalRuleCall_7_0()); } + RULE_ID + { after(grammarAccess.getLookupDefinitionAccess().getNameIDTerminalRuleCall_7_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Assignment__InputAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAssignmentAccess().getInputEventReferenceParserRuleCall_0_0()); } + ruleEventReference + { after(grammarAccess.getAssignmentAccess().getInputEventReferenceParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Assignment__MultipleAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); } + ( + { before(grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); } + '+=' + { after(grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); } + ) + { after(grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Assignment__OutputAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAssignmentAccess().getOutputEventReferenceParserRuleCall_2_0()); } + ruleEventReference + { after(grammarAccess.getAssignmentAccess().getOutputEventReferenceParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__EventReference__ComponentAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getEventReferenceAccess().getComponentVariableCrossReference_0_0()); } + ( + { before(grammarAccess.getEventReferenceAccess().getComponentVariableIDTerminalRuleCall_0_0_1()); } + RULE_ID + { after(grammarAccess.getEventReferenceAccess().getComponentVariableIDTerminalRuleCall_0_0_1()); } + ) + { after(grammarAccess.getEventReferenceAccess().getComponentVariableCrossReference_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__EventReference__EventAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getEventReferenceAccess().getEventEventDeclarationCrossReference_2_0()); } + ( + { before(grammarAccess.getEventReferenceAccess().getEventEventDeclarationIDTerminalRuleCall_2_0_1()); } + RULE_ID + { after(grammarAccess.getEventReferenceAccess().getEventEventDeclarationIDTerminalRuleCall_2_0_1()); } + ) + { after(grammarAccess.getEventReferenceAccess().getEventEventDeclarationCrossReference_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__ComponentTypeAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionCrossReference_1_0()); } + ( + { before(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1()); } + ruleQualifiedName + { after(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1()); } + ) + { after(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__NameAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); } + RULE_ID + { after(grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +RULE_DOULBE : ('0'..'9')+ ('.' ('0'..'9')+|('.' ('0'..'9')+)? ('e'|'E') ('+'|'-')? ('0'..'9')+); + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +RULE_INT : ('0'..'9')+; + +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.tokens b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.tokens new file mode 100644 index 00000000..77eb6696 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguage.tokens @@ -0,0 +1,60 @@ +'('=27 +')'=28 +'*'=34 +'+='=37 +','=29 +'.'=32 +':='=12 +';'=14 +'='=22 +'=>'=33 +'[]'=35 +'and'=23 +'as'=31 +'cft'=16 +'import'=15 +'in'=19 +'lambda'=21 +'lookup'=30 +'mapping'=26 +'or'=24 +'out'=20 +'package'=13 +'toplevel'=36 +'transformation'=25 +'{'=17 +'}'=18 +RULE_ANY_OTHER=11 +RULE_DOULBE=5 +RULE_ID=4 +RULE_INT=6 +RULE_ML_COMMENT=8 +RULE_SL_COMMENT=9 +RULE_STRING=7 +RULE_WS=10 +T__12=12 +T__13=13 +T__14=14 +T__15=15 +T__16=16 +T__17=17 +T__18=18 +T__19=19 +T__20=20 +T__21=21 +T__22=22 +T__23=23 +T__24=24 +T__25=25 +T__26=26 +T__27=27 +T__28=28 +T__29=29 +T__30=30 +T__31=31 +T__32=32 +T__33=33 +T__34=34 +T__35=35 +T__36=36 +T__37=37 diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageLexer.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageLexer.java new file mode 100644 index 00000000..d80b13c6 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageLexer.java @@ -0,0 +1,1876 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.internal; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalCftLanguageLexer extends Lexer { + public static final int RULE_STRING=7; + public static final int RULE_SL_COMMENT=9; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__37=37; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__33=33; + public static final int T__12=12; + public static final int T__34=34; + public static final int T__13=13; + public static final int T__35=35; + public static final int T__14=14; + public static final int T__36=36; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_ID=4; + public static final int RULE_WS=10; + public static final int RULE_DOULBE=5; + public static final int RULE_ANY_OTHER=11; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int RULE_INT=6; + public static final int T__29=29; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=8; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + + // delegates + // delegators + + public InternalCftLanguageLexer() {;} + public InternalCftLanguageLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalCftLanguageLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "InternalCftLanguage.g"; } + + // $ANTLR start "T__12" + public final void mT__12() throws RecognitionException { + try { + int _type = T__12; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:11:7: ( ':=' ) + // InternalCftLanguage.g:11:9: ':=' + { + match(":="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__12" + + // $ANTLR start "T__13" + public final void mT__13() throws RecognitionException { + try { + int _type = T__13; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:12:7: ( 'package' ) + // InternalCftLanguage.g:12:9: 'package' + { + match("package"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__13" + + // $ANTLR start "T__14" + public final void mT__14() throws RecognitionException { + try { + int _type = T__14; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:13:7: ( ';' ) + // InternalCftLanguage.g:13:9: ';' + { + match(';'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__14" + + // $ANTLR start "T__15" + public final void mT__15() throws RecognitionException { + try { + int _type = T__15; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:14:7: ( 'import' ) + // InternalCftLanguage.g:14:9: 'import' + { + match("import"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__15" + + // $ANTLR start "T__16" + public final void mT__16() throws RecognitionException { + try { + int _type = T__16; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:15:7: ( 'cft' ) + // InternalCftLanguage.g:15:9: 'cft' + { + match("cft"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__16" + + // $ANTLR start "T__17" + public final void mT__17() throws RecognitionException { + try { + int _type = T__17; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:16:7: ( '{' ) + // InternalCftLanguage.g:16:9: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__17" + + // $ANTLR start "T__18" + public final void mT__18() throws RecognitionException { + try { + int _type = T__18; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:17:7: ( '}' ) + // InternalCftLanguage.g:17:9: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__18" + + // $ANTLR start "T__19" + public final void mT__19() throws RecognitionException { + try { + int _type = T__19; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:18:7: ( 'in' ) + // InternalCftLanguage.g:18:9: 'in' + { + match("in"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__19" + + // $ANTLR start "T__20" + public final void mT__20() throws RecognitionException { + try { + int _type = T__20; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:19:7: ( 'out' ) + // InternalCftLanguage.g:19:9: 'out' + { + match("out"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__20" + + // $ANTLR start "T__21" + public final void mT__21() throws RecognitionException { + try { + int _type = T__21; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:20:7: ( 'lambda' ) + // InternalCftLanguage.g:20:9: 'lambda' + { + match("lambda"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__21" + + // $ANTLR start "T__22" + public final void mT__22() throws RecognitionException { + try { + int _type = T__22; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:21:7: ( '=' ) + // InternalCftLanguage.g:21:9: '=' + { + match('='); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__22" + + // $ANTLR start "T__23" + public final void mT__23() throws RecognitionException { + try { + int _type = T__23; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:22:7: ( 'and' ) + // InternalCftLanguage.g:22:9: 'and' + { + match("and"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__23" + + // $ANTLR start "T__24" + public final void mT__24() throws RecognitionException { + try { + int _type = T__24; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:23:7: ( 'or' ) + // InternalCftLanguage.g:23:9: 'or' + { + match("or"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__24" + + // $ANTLR start "T__25" + public final void mT__25() throws RecognitionException { + try { + int _type = T__25; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:24:7: ( 'transformation' ) + // InternalCftLanguage.g:24:9: 'transformation' + { + match("transformation"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__25" + + // $ANTLR start "T__26" + public final void mT__26() throws RecognitionException { + try { + int _type = T__26; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:25:7: ( 'mapping' ) + // InternalCftLanguage.g:25:9: 'mapping' + { + match("mapping"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__26" + + // $ANTLR start "T__27" + public final void mT__27() throws RecognitionException { + try { + int _type = T__27; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:26:7: ( '(' ) + // InternalCftLanguage.g:26:9: '(' + { + match('('); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__27" + + // $ANTLR start "T__28" + public final void mT__28() throws RecognitionException { + try { + int _type = T__28; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:27:7: ( ')' ) + // InternalCftLanguage.g:27:9: ')' + { + match(')'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__28" + + // $ANTLR start "T__29" + public final void mT__29() throws RecognitionException { + try { + int _type = T__29; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:28:7: ( ',' ) + // InternalCftLanguage.g:28:9: ',' + { + match(','); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__29" + + // $ANTLR start "T__30" + public final void mT__30() throws RecognitionException { + try { + int _type = T__30; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:29:7: ( 'lookup' ) + // InternalCftLanguage.g:29:9: 'lookup' + { + match("lookup"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__30" + + // $ANTLR start "T__31" + public final void mT__31() throws RecognitionException { + try { + int _type = T__31; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:30:7: ( 'as' ) + // InternalCftLanguage.g:30:9: 'as' + { + match("as"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__31" + + // $ANTLR start "T__32" + public final void mT__32() throws RecognitionException { + try { + int _type = T__32; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:31:7: ( '.' ) + // InternalCftLanguage.g:31:9: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__32" + + // $ANTLR start "T__33" + public final void mT__33() throws RecognitionException { + try { + int _type = T__33; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:32:7: ( '=>' ) + // InternalCftLanguage.g:32:9: '=>' + { + match("=>"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__33" + + // $ANTLR start "T__34" + public final void mT__34() throws RecognitionException { + try { + int _type = T__34; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:33:7: ( '*' ) + // InternalCftLanguage.g:33:9: '*' + { + match('*'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__34" + + // $ANTLR start "T__35" + public final void mT__35() throws RecognitionException { + try { + int _type = T__35; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:34:7: ( '[]' ) + // InternalCftLanguage.g:34:9: '[]' + { + match("[]"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__35" + + // $ANTLR start "T__36" + public final void mT__36() throws RecognitionException { + try { + int _type = T__36; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:35:7: ( 'toplevel' ) + // InternalCftLanguage.g:35:9: 'toplevel' + { + match("toplevel"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__36" + + // $ANTLR start "T__37" + public final void mT__37() throws RecognitionException { + try { + int _type = T__37; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:36:7: ( '+=' ) + // InternalCftLanguage.g:36:9: '+=' + { + match("+="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__37" + + // $ANTLR start "RULE_DOULBE" + public final void mRULE_DOULBE() throws RecognitionException { + try { + int _type = RULE_DOULBE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:3526:13: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) ) + // InternalCftLanguage.g:3526:15: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) + { + // InternalCftLanguage.g:3526:15: ( '0' .. '9' )+ + int cnt1=0; + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( ((LA1_0>='0' && LA1_0<='9')) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // InternalCftLanguage.g:3526:16: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt1 >= 1 ) break loop1; + EarlyExitException eee = + new EarlyExitException(1, input); + throw eee; + } + cnt1++; + } while (true); + + // InternalCftLanguage.g:3526:27: ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) + int alt7=2; + alt7 = dfa7.predict(input); + switch (alt7) { + case 1 : + // InternalCftLanguage.g:3526:28: '.' ( '0' .. '9' )+ + { + match('.'); + // InternalCftLanguage.g:3526:32: ( '0' .. '9' )+ + int cnt2=0; + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // InternalCftLanguage.g:3526:33: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt2 >= 1 ) break loop2; + EarlyExitException eee = + new EarlyExitException(2, input); + throw eee; + } + cnt2++; + } while (true); + + + } + break; + case 2 : + // InternalCftLanguage.g:3526:44: ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ + { + // InternalCftLanguage.g:3526:44: ( '.' ( '0' .. '9' )+ )? + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='.') ) { + alt4=1; + } + switch (alt4) { + case 1 : + // InternalCftLanguage.g:3526:45: '.' ( '0' .. '9' )+ + { + match('.'); + // InternalCftLanguage.g:3526:49: ( '0' .. '9' )+ + int cnt3=0; + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( ((LA3_0>='0' && LA3_0<='9')) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // InternalCftLanguage.g:3526:50: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt3 >= 1 ) break loop3; + EarlyExitException eee = + new EarlyExitException(3, input); + throw eee; + } + cnt3++; + } while (true); + + + } + break; + + } + + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalCftLanguage.g:3526:73: ( '+' | '-' )? + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='+'||LA5_0=='-') ) { + alt5=1; + } + switch (alt5) { + case 1 : + // InternalCftLanguage.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + // InternalCftLanguage.g:3526:84: ( '0' .. '9' )+ + int cnt6=0; + loop6: + do { + int alt6=2; + int LA6_0 = input.LA(1); + + if ( ((LA6_0>='0' && LA6_0<='9')) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // InternalCftLanguage.g:3526:85: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt6 >= 1 ) break loop6; + EarlyExitException eee = + new EarlyExitException(6, input); + throw eee; + } + cnt6++; + } while (true); + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_DOULBE" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:3528:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalCftLanguage.g:3528:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // InternalCftLanguage.g:3528:11: ( '^' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='^') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalCftLanguage.g:3528:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalCftLanguage.g:3528:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop9: + do { + int alt9=2; + int LA9_0 = input.LA(1); + + if ( ((LA9_0>='0' && LA9_0<='9')||(LA9_0>='A' && LA9_0<='Z')||LA9_0=='_'||(LA9_0>='a' && LA9_0<='z')) ) { + alt9=1; + } + + + switch (alt9) { + case 1 : + // InternalCftLanguage.g: + { + 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') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop9; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:3530:10: ( ( '0' .. '9' )+ ) + // InternalCftLanguage.g:3530:12: ( '0' .. '9' )+ + { + // InternalCftLanguage.g:3530:12: ( '0' .. '9' )+ + int cnt10=0; + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( ((LA10_0>='0' && LA10_0<='9')) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // InternalCftLanguage.g:3530:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt10 >= 1 ) break loop10; + EarlyExitException eee = + new EarlyExitException(10, input); + throw eee; + } + cnt10++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:3532:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalCftLanguage.g:3532:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + { + // InternalCftLanguage.g:3532:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0=='\"') ) { + alt13=1; + } + else if ( (LA13_0=='\'') ) { + alt13=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 13, 0, input); + + throw nvae; + } + switch (alt13) { + case 1 : + // InternalCftLanguage.g:3532:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalCftLanguage.g:3532:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop11: + do { + int alt11=3; + int LA11_0 = input.LA(1); + + if ( (LA11_0=='\\') ) { + alt11=1; + } + else if ( ((LA11_0>='\u0000' && LA11_0<='!')||(LA11_0>='#' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) { + alt11=2; + } + + + switch (alt11) { + case 1 : + // InternalCftLanguage.g:3532:21: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalCftLanguage.g:3532:28: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop11; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // InternalCftLanguage.g:3532:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalCftLanguage.g:3532:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop12: + do { + int alt12=3; + int LA12_0 = input.LA(1); + + if ( (LA12_0=='\\') ) { + alt12=1; + } + else if ( ((LA12_0>='\u0000' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='[')||(LA12_0>=']' && LA12_0<='\uFFFF')) ) { + alt12=2; + } + + + switch (alt12) { + case 1 : + // InternalCftLanguage.g:3532:54: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalCftLanguage.g:3532:61: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop12; + } + } while (true); + + match('\''); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:3534:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalCftLanguage.g:3534:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // InternalCftLanguage.g:3534:24: ( options {greedy=false; } : . )* + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0=='*') ) { + int LA14_1 = input.LA(2); + + if ( (LA14_1=='/') ) { + alt14=2; + } + else if ( ((LA14_1>='\u0000' && LA14_1<='.')||(LA14_1>='0' && LA14_1<='\uFFFF')) ) { + alt14=1; + } + + + } + else if ( ((LA14_0>='\u0000' && LA14_0<=')')||(LA14_0>='+' && LA14_0<='\uFFFF')) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // InternalCftLanguage.g:3534:52: . + { + matchAny(); + + } + break; + + default : + break loop14; + } + } while (true); + + match("*/"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ML_COMMENT" + + // $ANTLR start "RULE_SL_COMMENT" + public final void mRULE_SL_COMMENT() throws RecognitionException { + try { + int _type = RULE_SL_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:3536:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalCftLanguage.g:3536:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // InternalCftLanguage.g:3536:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop15: + do { + int alt15=2; + int LA15_0 = input.LA(1); + + if ( ((LA15_0>='\u0000' && LA15_0<='\t')||(LA15_0>='\u000B' && LA15_0<='\f')||(LA15_0>='\u000E' && LA15_0<='\uFFFF')) ) { + alt15=1; + } + + + switch (alt15) { + case 1 : + // InternalCftLanguage.g:3536:24: ~ ( ( '\\n' | '\\r' ) ) + { + 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') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop15; + } + } while (true); + + // InternalCftLanguage.g:3536:40: ( ( '\\r' )? '\\n' )? + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0=='\n'||LA17_0=='\r') ) { + alt17=1; + } + switch (alt17) { + case 1 : + // InternalCftLanguage.g:3536:41: ( '\\r' )? '\\n' + { + // InternalCftLanguage.g:3536:41: ( '\\r' )? + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0=='\r') ) { + alt16=1; + } + switch (alt16) { + case 1 : + // InternalCftLanguage.g:3536:41: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_SL_COMMENT" + + // $ANTLR start "RULE_WS" + public final void mRULE_WS() throws RecognitionException { + try { + int _type = RULE_WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:3538:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalCftLanguage.g:3538:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalCftLanguage.g:3538:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt18=0; + loop18: + do { + int alt18=2; + int LA18_0 = input.LA(1); + + if ( ((LA18_0>='\t' && LA18_0<='\n')||LA18_0=='\r'||LA18_0==' ') ) { + alt18=1; + } + + + switch (alt18) { + case 1 : + // InternalCftLanguage.g: + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt18 >= 1 ) break loop18; + EarlyExitException eee = + new EarlyExitException(18, input); + throw eee; + } + cnt18++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:3540:16: ( . ) + // InternalCftLanguage.g:3540:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalCftLanguage.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | RULE_DOULBE | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt19=34; + alt19 = dfa19.predict(input); + switch (alt19) { + case 1 : + // InternalCftLanguage.g:1:10: T__12 + { + mT__12(); + + } + break; + case 2 : + // InternalCftLanguage.g:1:16: T__13 + { + mT__13(); + + } + break; + case 3 : + // InternalCftLanguage.g:1:22: T__14 + { + mT__14(); + + } + break; + case 4 : + // InternalCftLanguage.g:1:28: T__15 + { + mT__15(); + + } + break; + case 5 : + // InternalCftLanguage.g:1:34: T__16 + { + mT__16(); + + } + break; + case 6 : + // InternalCftLanguage.g:1:40: T__17 + { + mT__17(); + + } + break; + case 7 : + // InternalCftLanguage.g:1:46: T__18 + { + mT__18(); + + } + break; + case 8 : + // InternalCftLanguage.g:1:52: T__19 + { + mT__19(); + + } + break; + case 9 : + // InternalCftLanguage.g:1:58: T__20 + { + mT__20(); + + } + break; + case 10 : + // InternalCftLanguage.g:1:64: T__21 + { + mT__21(); + + } + break; + case 11 : + // InternalCftLanguage.g:1:70: T__22 + { + mT__22(); + + } + break; + case 12 : + // InternalCftLanguage.g:1:76: T__23 + { + mT__23(); + + } + break; + case 13 : + // InternalCftLanguage.g:1:82: T__24 + { + mT__24(); + + } + break; + case 14 : + // InternalCftLanguage.g:1:88: T__25 + { + mT__25(); + + } + break; + case 15 : + // InternalCftLanguage.g:1:94: T__26 + { + mT__26(); + + } + break; + case 16 : + // InternalCftLanguage.g:1:100: T__27 + { + mT__27(); + + } + break; + case 17 : + // InternalCftLanguage.g:1:106: T__28 + { + mT__28(); + + } + break; + case 18 : + // InternalCftLanguage.g:1:112: T__29 + { + mT__29(); + + } + break; + case 19 : + // InternalCftLanguage.g:1:118: T__30 + { + mT__30(); + + } + break; + case 20 : + // InternalCftLanguage.g:1:124: T__31 + { + mT__31(); + + } + break; + case 21 : + // InternalCftLanguage.g:1:130: T__32 + { + mT__32(); + + } + break; + case 22 : + // InternalCftLanguage.g:1:136: T__33 + { + mT__33(); + + } + break; + case 23 : + // InternalCftLanguage.g:1:142: T__34 + { + mT__34(); + + } + break; + case 24 : + // InternalCftLanguage.g:1:148: T__35 + { + mT__35(); + + } + break; + case 25 : + // InternalCftLanguage.g:1:154: T__36 + { + mT__36(); + + } + break; + case 26 : + // InternalCftLanguage.g:1:160: T__37 + { + mT__37(); + + } + break; + case 27 : + // InternalCftLanguage.g:1:166: RULE_DOULBE + { + mRULE_DOULBE(); + + } + break; + case 28 : + // InternalCftLanguage.g:1:178: RULE_ID + { + mRULE_ID(); + + } + break; + case 29 : + // InternalCftLanguage.g:1:186: RULE_INT + { + mRULE_INT(); + + } + break; + case 30 : + // InternalCftLanguage.g:1:195: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 31 : + // InternalCftLanguage.g:1:207: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 32 : + // InternalCftLanguage.g:1:223: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 33 : + // InternalCftLanguage.g:1:239: RULE_WS + { + mRULE_WS(); + + } + break; + case 34 : + // InternalCftLanguage.g:1:247: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA7 dfa7 = new DFA7(this); + protected DFA19 dfa19 = new DFA19(this); + static final String DFA7_eotS = + "\3\uffff\1\4\1\uffff"; + static final String DFA7_eofS = + "\5\uffff"; + static final String DFA7_minS = + "\1\56\1\60\1\uffff\1\60\1\uffff"; + static final String DFA7_maxS = + "\1\145\1\71\1\uffff\1\145\1\uffff"; + static final String DFA7_acceptS = + "\2\uffff\1\2\1\uffff\1\1"; + static final String DFA7_specialS = + "\5\uffff}>"; + static final String[] DFA7_transitionS = { + "\1\1\26\uffff\1\2\37\uffff\1\2", + "\12\3", + "", + "\12\3\13\uffff\1\2\37\uffff\1\2", + "" + }; + + static final short[] DFA7_eot = DFA.unpackEncodedString(DFA7_eotS); + static final short[] DFA7_eof = DFA.unpackEncodedString(DFA7_eofS); + static final char[] DFA7_min = DFA.unpackEncodedStringToUnsignedChars(DFA7_minS); + static final char[] DFA7_max = DFA.unpackEncodedStringToUnsignedChars(DFA7_maxS); + static final short[] DFA7_accept = DFA.unpackEncodedString(DFA7_acceptS); + static final short[] DFA7_special = DFA.unpackEncodedString(DFA7_specialS); + static final short[][] DFA7_transition; + + static { + int numStates = DFA7_transitionS.length; + DFA7_transition = new short[numStates][]; + for (int i=0; i"; + static final String[] DFA19_transitionS = { + "\11\34\2\33\2\34\1\33\22\34\1\33\1\34\1\30\4\34\1\31\1\16\1\17\1\22\1\24\1\20\1\34\1\21\1\32\12\25\1\1\1\3\1\34\1\12\3\34\32\27\1\23\2\34\1\26\1\27\1\34\1\13\1\27\1\5\5\27\1\4\2\27\1\11\1\15\1\27\1\10\1\2\3\27\1\14\6\27\1\6\1\34\1\7\uff82\34", + "\1\35", + "\1\36", + "", + "\1\41\1\42", + "\1\43", + "", + "", + "\1\47\2\uffff\1\46", + "\1\50\15\uffff\1\51", + "\1\52", + "\1\54\4\uffff\1\55", + "\1\57\2\uffff\1\56", + "\1\60", + "", + "", + "", + "", + "", + "\1\66", + "\1\67", + "\1\70\1\uffff\12\71\13\uffff\1\70\37\uffff\1\70", + "\32\37\4\uffff\1\37\1\uffff\32\37", + "", + "\0\73", + "\0\73", + "\1\74\4\uffff\1\75", + "", + "", + "", + "\1\77", + "", + "", + "\1\100", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "\1\102", + "", + "", + "\1\103", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "\1\105", + "\1\106", + "", + "", + "\1\107", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "\1\111", + "\1\112", + "\1\113", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\70\1\uffff\12\71\13\uffff\1\70\37\uffff\1\70", + "", + "", + "", + "", + "", + "\1\114", + "\1\115", + "", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "", + "\1\120", + "\1\121", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "", + "\1\123", + "\1\124", + "\1\125", + "\1\126", + "\1\127", + "", + "", + "\1\130", + "\1\131", + "", + "\1\132", + "\1\133", + "\1\134", + "\1\135", + "\1\136", + "\1\137", + "\1\140", + "\1\141", + "\1\142", + "\1\143", + "\1\144", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "\1\150", + "\1\151", + "\1\152", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "", + "", + "", + "\1\154", + "\1\155", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "", + "\1\157", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "", + "\1\161", + "", + "\1\162", + "\1\163", + "\1\164", + "\1\165", + "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37", + "" + }; + + static final short[] DFA19_eot = DFA.unpackEncodedString(DFA19_eotS); + static final short[] DFA19_eof = DFA.unpackEncodedString(DFA19_eofS); + static final char[] DFA19_min = DFA.unpackEncodedStringToUnsignedChars(DFA19_minS); + static final char[] DFA19_max = DFA.unpackEncodedStringToUnsignedChars(DFA19_maxS); + static final short[] DFA19_accept = DFA.unpackEncodedString(DFA19_acceptS); + static final short[] DFA19_special = DFA.unpackEncodedString(DFA19_specialS); + static final short[][] DFA19_transition; + + static { + int numStates = DFA19_transitionS.length; + DFA19_transition = new short[numStates][]; + for (int i=0; i='\u0000' && LA19_25<='\uFFFF')) ) {s = 59;} + + else s = 28; + + if ( s>=0 ) return s; + break; + case 1 : + int LA19_24 = input.LA(1); + + s = -1; + if ( ((LA19_24>='\u0000' && LA19_24<='\uFFFF')) ) {s = 59;} + + else s = 28; + + if ( s>=0 ) return s; + break; + case 2 : + int LA19_0 = input.LA(1); + + s = -1; + if ( (LA19_0==':') ) {s = 1;} + + else if ( (LA19_0=='p') ) {s = 2;} + + else if ( (LA19_0==';') ) {s = 3;} + + else if ( (LA19_0=='i') ) {s = 4;} + + else if ( (LA19_0=='c') ) {s = 5;} + + else if ( (LA19_0=='{') ) {s = 6;} + + else if ( (LA19_0=='}') ) {s = 7;} + + else if ( (LA19_0=='o') ) {s = 8;} + + else if ( (LA19_0=='l') ) {s = 9;} + + else if ( (LA19_0=='=') ) {s = 10;} + + else if ( (LA19_0=='a') ) {s = 11;} + + else if ( (LA19_0=='t') ) {s = 12;} + + else if ( (LA19_0=='m') ) {s = 13;} + + else if ( (LA19_0=='(') ) {s = 14;} + + else if ( (LA19_0==')') ) {s = 15;} + + else if ( (LA19_0==',') ) {s = 16;} + + else if ( (LA19_0=='.') ) {s = 17;} + + else if ( (LA19_0=='*') ) {s = 18;} + + else if ( (LA19_0=='[') ) {s = 19;} + + else if ( (LA19_0=='+') ) {s = 20;} + + else if ( ((LA19_0>='0' && LA19_0<='9')) ) {s = 21;} + + else if ( (LA19_0=='^') ) {s = 22;} + + else if ( ((LA19_0>='A' && LA19_0<='Z')||LA19_0=='_'||LA19_0=='b'||(LA19_0>='d' && LA19_0<='h')||(LA19_0>='j' && LA19_0<='k')||LA19_0=='n'||(LA19_0>='q' && LA19_0<='s')||(LA19_0>='u' && LA19_0<='z')) ) {s = 23;} + + else if ( (LA19_0=='\"') ) {s = 24;} + + else if ( (LA19_0=='\'') ) {s = 25;} + + else if ( (LA19_0=='/') ) {s = 26;} + + else if ( ((LA19_0>='\t' && LA19_0<='\n')||LA19_0=='\r'||LA19_0==' ') ) {s = 27;} + + else if ( ((LA19_0>='\u0000' && LA19_0<='\b')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\u001F')||LA19_0=='!'||(LA19_0>='#' && LA19_0<='&')||LA19_0=='-'||LA19_0=='<'||(LA19_0>='>' && LA19_0<='@')||(LA19_0>='\\' && LA19_0<=']')||LA19_0=='`'||LA19_0=='|'||(LA19_0>='~' && LA19_0<='\uFFFF')) ) {s = 28;} + + if ( s>=0 ) return s; + break; + } + NoViableAltException nvae = + new NoViableAltException(getDescription(), 19, _s, input); + error(nvae); + throw nvae; + } + } + + +} \ No newline at end of file diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageParser.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageParser.java new file mode 100644 index 00000000..a12d9fd8 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/contentassist/antlr/internal/InternalCftLanguageParser.java @@ -0,0 +1,10617 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.internal; + +import java.io.InputStream; +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA; +import hu.bme.mit.inf.dslreasoner.faulttree.components.services.CftLanguageGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalCftLanguageParser extends AbstractInternalContentAssistParser { + public static final String[] tokenNames = new String[] { + "", "", "", "", "RULE_ID", "RULE_DOULBE", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "':='", "'package'", "';'", "'import'", "'cft'", "'{'", "'}'", "'in'", "'out'", "'lambda'", "'='", "'and'", "'or'", "'transformation'", "'mapping'", "'('", "')'", "','", "'lookup'", "'as'", "'.'", "'=>'", "'*'", "'[]'", "'toplevel'", "'+='" + }; + public static final int RULE_STRING=7; + public static final int RULE_SL_COMMENT=9; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__37=37; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__33=33; + public static final int T__12=12; + public static final int T__34=34; + public static final int T__13=13; + public static final int T__35=35; + public static final int T__14=14; + public static final int T__36=36; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_ID=4; + public static final int RULE_WS=10; + public static final int RULE_DOULBE=5; + public static final int RULE_ANY_OTHER=11; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int RULE_INT=6; + public static final int T__29=29; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=8; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + + // delegates + // delegators + + + public InternalCftLanguageParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalCftLanguageParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalCftLanguageParser.tokenNames; } + public String getGrammarFileName() { return "InternalCftLanguage.g"; } + + + private CftLanguageGrammarAccess grammarAccess; + + public void setGrammarAccess(CftLanguageGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } + + + + // $ANTLR start "entryRuleCftModel" + // InternalCftLanguage.g:53:1: entryRuleCftModel : ruleCftModel EOF ; + public final void entryRuleCftModel() throws RecognitionException { + try { + // InternalCftLanguage.g:54:1: ( ruleCftModel EOF ) + // InternalCftLanguage.g:55:1: ruleCftModel EOF + { + before(grammarAccess.getCftModelRule()); + pushFollow(FOLLOW_1); + ruleCftModel(); + + state._fsp--; + + after(grammarAccess.getCftModelRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleCftModel" + + + // $ANTLR start "ruleCftModel" + // InternalCftLanguage.g:62:1: ruleCftModel : ( ( rule__CftModel__Group__0 ) ) ; + public final void ruleCftModel() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:66:2: ( ( ( rule__CftModel__Group__0 ) ) ) + // InternalCftLanguage.g:67:2: ( ( rule__CftModel__Group__0 ) ) + { + // InternalCftLanguage.g:67:2: ( ( rule__CftModel__Group__0 ) ) + // InternalCftLanguage.g:68:3: ( rule__CftModel__Group__0 ) + { + before(grammarAccess.getCftModelAccess().getGroup()); + // InternalCftLanguage.g:69:3: ( rule__CftModel__Group__0 ) + // InternalCftLanguage.g:69:4: rule__CftModel__Group__0 + { + pushFollow(FOLLOW_2); + rule__CftModel__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getCftModelAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleCftModel" + + + // $ANTLR start "entryRuleImportDeclaration" + // InternalCftLanguage.g:78:1: entryRuleImportDeclaration : ruleImportDeclaration EOF ; + public final void entryRuleImportDeclaration() throws RecognitionException { + try { + // InternalCftLanguage.g:79:1: ( ruleImportDeclaration EOF ) + // InternalCftLanguage.g:80:1: ruleImportDeclaration EOF + { + before(grammarAccess.getImportDeclarationRule()); + pushFollow(FOLLOW_1); + ruleImportDeclaration(); + + state._fsp--; + + after(grammarAccess.getImportDeclarationRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleImportDeclaration" + + + // $ANTLR start "ruleImportDeclaration" + // InternalCftLanguage.g:87:1: ruleImportDeclaration : ( ( rule__ImportDeclaration__Group__0 ) ) ; + public final void ruleImportDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:91:2: ( ( ( rule__ImportDeclaration__Group__0 ) ) ) + // InternalCftLanguage.g:92:2: ( ( rule__ImportDeclaration__Group__0 ) ) + { + // InternalCftLanguage.g:92:2: ( ( rule__ImportDeclaration__Group__0 ) ) + // InternalCftLanguage.g:93:3: ( rule__ImportDeclaration__Group__0 ) + { + before(grammarAccess.getImportDeclarationAccess().getGroup()); + // InternalCftLanguage.g:94:3: ( rule__ImportDeclaration__Group__0 ) + // InternalCftLanguage.g:94:4: rule__ImportDeclaration__Group__0 + { + pushFollow(FOLLOW_2); + rule__ImportDeclaration__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getImportDeclarationAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleImportDeclaration" + + + // $ANTLR start "entryRuleComponentDefinition" + // InternalCftLanguage.g:103:1: entryRuleComponentDefinition : ruleComponentDefinition EOF ; + public final void entryRuleComponentDefinition() throws RecognitionException { + try { + // InternalCftLanguage.g:104:1: ( ruleComponentDefinition EOF ) + // InternalCftLanguage.g:105:1: ruleComponentDefinition EOF + { + before(grammarAccess.getComponentDefinitionRule()); + pushFollow(FOLLOW_1); + ruleComponentDefinition(); + + state._fsp--; + + after(grammarAccess.getComponentDefinitionRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleComponentDefinition" + + + // $ANTLR start "ruleComponentDefinition" + // InternalCftLanguage.g:112:1: ruleComponentDefinition : ( ( rule__ComponentDefinition__Group__0 ) ) ; + public final void ruleComponentDefinition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:116:2: ( ( ( rule__ComponentDefinition__Group__0 ) ) ) + // InternalCftLanguage.g:117:2: ( ( rule__ComponentDefinition__Group__0 ) ) + { + // InternalCftLanguage.g:117:2: ( ( rule__ComponentDefinition__Group__0 ) ) + // InternalCftLanguage.g:118:3: ( rule__ComponentDefinition__Group__0 ) + { + before(grammarAccess.getComponentDefinitionAccess().getGroup()); + // InternalCftLanguage.g:119:3: ( rule__ComponentDefinition__Group__0 ) + // InternalCftLanguage.g:119:4: rule__ComponentDefinition__Group__0 + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentDefinitionAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComponentDefinition" + + + // $ANTLR start "entryRuleInputEvent" + // InternalCftLanguage.g:128:1: entryRuleInputEvent : ruleInputEvent EOF ; + public final void entryRuleInputEvent() throws RecognitionException { + try { + // InternalCftLanguage.g:129:1: ( ruleInputEvent EOF ) + // InternalCftLanguage.g:130:1: ruleInputEvent EOF + { + before(grammarAccess.getInputEventRule()); + pushFollow(FOLLOW_1); + ruleInputEvent(); + + state._fsp--; + + after(grammarAccess.getInputEventRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleInputEvent" + + + // $ANTLR start "ruleInputEvent" + // InternalCftLanguage.g:137:1: ruleInputEvent : ( ( rule__InputEvent__Group__0 ) ) ; + public final void ruleInputEvent() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:141:2: ( ( ( rule__InputEvent__Group__0 ) ) ) + // InternalCftLanguage.g:142:2: ( ( rule__InputEvent__Group__0 ) ) + { + // InternalCftLanguage.g:142:2: ( ( rule__InputEvent__Group__0 ) ) + // InternalCftLanguage.g:143:3: ( rule__InputEvent__Group__0 ) + { + before(grammarAccess.getInputEventAccess().getGroup()); + // InternalCftLanguage.g:144:3: ( rule__InputEvent__Group__0 ) + // InternalCftLanguage.g:144:4: rule__InputEvent__Group__0 + { + pushFollow(FOLLOW_2); + rule__InputEvent__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getInputEventAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleInputEvent" + + + // $ANTLR start "entryRuleEventDefinition" + // InternalCftLanguage.g:153:1: entryRuleEventDefinition : ruleEventDefinition EOF ; + public final void entryRuleEventDefinition() throws RecognitionException { + try { + // InternalCftLanguage.g:154:1: ( ruleEventDefinition EOF ) + // InternalCftLanguage.g:155:1: ruleEventDefinition EOF + { + before(grammarAccess.getEventDefinitionRule()); + pushFollow(FOLLOW_1); + ruleEventDefinition(); + + state._fsp--; + + after(grammarAccess.getEventDefinitionRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleEventDefinition" + + + // $ANTLR start "ruleEventDefinition" + // InternalCftLanguage.g:162:1: ruleEventDefinition : ( ( rule__EventDefinition__Alternatives ) ) ; + public final void ruleEventDefinition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:166:2: ( ( ( rule__EventDefinition__Alternatives ) ) ) + // InternalCftLanguage.g:167:2: ( ( rule__EventDefinition__Alternatives ) ) + { + // InternalCftLanguage.g:167:2: ( ( rule__EventDefinition__Alternatives ) ) + // InternalCftLanguage.g:168:3: ( rule__EventDefinition__Alternatives ) + { + before(grammarAccess.getEventDefinitionAccess().getAlternatives()); + // InternalCftLanguage.g:169:3: ( rule__EventDefinition__Alternatives ) + // InternalCftLanguage.g:169:4: rule__EventDefinition__Alternatives + { + pushFollow(FOLLOW_2); + rule__EventDefinition__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getEventDefinitionAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleEventDefinition" + + + // $ANTLR start "entryRuleBasicEventDefinition" + // InternalCftLanguage.g:178:1: entryRuleBasicEventDefinition : ruleBasicEventDefinition EOF ; + public final void entryRuleBasicEventDefinition() throws RecognitionException { + try { + // InternalCftLanguage.g:179:1: ( ruleBasicEventDefinition EOF ) + // InternalCftLanguage.g:180:1: ruleBasicEventDefinition EOF + { + before(grammarAccess.getBasicEventDefinitionRule()); + pushFollow(FOLLOW_1); + ruleBasicEventDefinition(); + + state._fsp--; + + after(grammarAccess.getBasicEventDefinitionRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleBasicEventDefinition" + + + // $ANTLR start "ruleBasicEventDefinition" + // InternalCftLanguage.g:187:1: ruleBasicEventDefinition : ( ( rule__BasicEventDefinition__Group__0 ) ) ; + public final void ruleBasicEventDefinition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:191:2: ( ( ( rule__BasicEventDefinition__Group__0 ) ) ) + // InternalCftLanguage.g:192:2: ( ( rule__BasicEventDefinition__Group__0 ) ) + { + // InternalCftLanguage.g:192:2: ( ( rule__BasicEventDefinition__Group__0 ) ) + // InternalCftLanguage.g:193:3: ( rule__BasicEventDefinition__Group__0 ) + { + before(grammarAccess.getBasicEventDefinitionAccess().getGroup()); + // InternalCftLanguage.g:194:3: ( rule__BasicEventDefinition__Group__0 ) + // InternalCftLanguage.g:194:4: rule__BasicEventDefinition__Group__0 + { + pushFollow(FOLLOW_2); + rule__BasicEventDefinition__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getBasicEventDefinitionAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleBasicEventDefinition" + + + // $ANTLR start "entryRuleGateDefinition" + // InternalCftLanguage.g:203:1: entryRuleGateDefinition : ruleGateDefinition EOF ; + public final void entryRuleGateDefinition() throws RecognitionException { + try { + // InternalCftLanguage.g:204:1: ( ruleGateDefinition EOF ) + // InternalCftLanguage.g:205:1: ruleGateDefinition EOF + { + before(grammarAccess.getGateDefinitionRule()); + pushFollow(FOLLOW_1); + ruleGateDefinition(); + + state._fsp--; + + after(grammarAccess.getGateDefinitionRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleGateDefinition" + + + // $ANTLR start "ruleGateDefinition" + // InternalCftLanguage.g:212:1: ruleGateDefinition : ( ( rule__GateDefinition__Alternatives ) ) ; + public final void ruleGateDefinition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:216:2: ( ( ( rule__GateDefinition__Alternatives ) ) ) + // InternalCftLanguage.g:217:2: ( ( rule__GateDefinition__Alternatives ) ) + { + // InternalCftLanguage.g:217:2: ( ( rule__GateDefinition__Alternatives ) ) + // InternalCftLanguage.g:218:3: ( rule__GateDefinition__Alternatives ) + { + before(grammarAccess.getGateDefinitionAccess().getAlternatives()); + // InternalCftLanguage.g:219:3: ( rule__GateDefinition__Alternatives ) + // InternalCftLanguage.g:219:4: rule__GateDefinition__Alternatives + { + pushFollow(FOLLOW_2); + rule__GateDefinition__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getGateDefinitionAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleGateDefinition" + + + // $ANTLR start "entryRuleAndGate" + // InternalCftLanguage.g:228:1: entryRuleAndGate : ruleAndGate EOF ; + public final void entryRuleAndGate() throws RecognitionException { + try { + // InternalCftLanguage.g:229:1: ( ruleAndGate EOF ) + // InternalCftLanguage.g:230:1: ruleAndGate EOF + { + before(grammarAccess.getAndGateRule()); + pushFollow(FOLLOW_1); + ruleAndGate(); + + state._fsp--; + + after(grammarAccess.getAndGateRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAndGate" + + + // $ANTLR start "ruleAndGate" + // InternalCftLanguage.g:237:1: ruleAndGate : ( ( rule__AndGate__Group__0 ) ) ; + public final void ruleAndGate() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:241:2: ( ( ( rule__AndGate__Group__0 ) ) ) + // InternalCftLanguage.g:242:2: ( ( rule__AndGate__Group__0 ) ) + { + // InternalCftLanguage.g:242:2: ( ( rule__AndGate__Group__0 ) ) + // InternalCftLanguage.g:243:3: ( rule__AndGate__Group__0 ) + { + before(grammarAccess.getAndGateAccess().getGroup()); + // InternalCftLanguage.g:244:3: ( rule__AndGate__Group__0 ) + // InternalCftLanguage.g:244:4: rule__AndGate__Group__0 + { + pushFollow(FOLLOW_2); + rule__AndGate__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getAndGateAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAndGate" + + + // $ANTLR start "entryRuleOrGate" + // InternalCftLanguage.g:253:1: entryRuleOrGate : ruleOrGate EOF ; + public final void entryRuleOrGate() throws RecognitionException { + try { + // InternalCftLanguage.g:254:1: ( ruleOrGate EOF ) + // InternalCftLanguage.g:255:1: ruleOrGate EOF + { + before(grammarAccess.getOrGateRule()); + pushFollow(FOLLOW_1); + ruleOrGate(); + + state._fsp--; + + after(grammarAccess.getOrGateRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOrGate" + + + // $ANTLR start "ruleOrGate" + // InternalCftLanguage.g:262:1: ruleOrGate : ( ( rule__OrGate__Group__0 ) ) ; + public final void ruleOrGate() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:266:2: ( ( ( rule__OrGate__Group__0 ) ) ) + // InternalCftLanguage.g:267:2: ( ( rule__OrGate__Group__0 ) ) + { + // InternalCftLanguage.g:267:2: ( ( rule__OrGate__Group__0 ) ) + // InternalCftLanguage.g:268:3: ( rule__OrGate__Group__0 ) + { + before(grammarAccess.getOrGateAccess().getGroup()); + // InternalCftLanguage.g:269:3: ( rule__OrGate__Group__0 ) + // InternalCftLanguage.g:269:4: rule__OrGate__Group__0 + { + pushFollow(FOLLOW_2); + rule__OrGate__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getOrGateAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleOrGate" + + + // $ANTLR start "entryRuleTransformationDefinition" + // InternalCftLanguage.g:278:1: entryRuleTransformationDefinition : ruleTransformationDefinition EOF ; + public final void entryRuleTransformationDefinition() throws RecognitionException { + try { + // InternalCftLanguage.g:279:1: ( ruleTransformationDefinition EOF ) + // InternalCftLanguage.g:280:1: ruleTransformationDefinition EOF + { + before(grammarAccess.getTransformationDefinitionRule()); + pushFollow(FOLLOW_1); + ruleTransformationDefinition(); + + state._fsp--; + + after(grammarAccess.getTransformationDefinitionRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTransformationDefinition" + + + // $ANTLR start "ruleTransformationDefinition" + // InternalCftLanguage.g:287:1: ruleTransformationDefinition : ( ( rule__TransformationDefinition__Group__0 ) ) ; + public final void ruleTransformationDefinition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:291:2: ( ( ( rule__TransformationDefinition__Group__0 ) ) ) + // InternalCftLanguage.g:292:2: ( ( rule__TransformationDefinition__Group__0 ) ) + { + // InternalCftLanguage.g:292:2: ( ( rule__TransformationDefinition__Group__0 ) ) + // InternalCftLanguage.g:293:3: ( rule__TransformationDefinition__Group__0 ) + { + before(grammarAccess.getTransformationDefinitionAccess().getGroup()); + // InternalCftLanguage.g:294:3: ( rule__TransformationDefinition__Group__0 ) + // InternalCftLanguage.g:294:4: rule__TransformationDefinition__Group__0 + { + pushFollow(FOLLOW_2); + rule__TransformationDefinition__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getTransformationDefinitionAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTransformationDefinition" + + + // $ANTLR start "entryRuleMappingDefinition" + // InternalCftLanguage.g:303:1: entryRuleMappingDefinition : ruleMappingDefinition EOF ; + public final void entryRuleMappingDefinition() throws RecognitionException { + try { + // InternalCftLanguage.g:304:1: ( ruleMappingDefinition EOF ) + // InternalCftLanguage.g:305:1: ruleMappingDefinition EOF + { + before(grammarAccess.getMappingDefinitionRule()); + pushFollow(FOLLOW_1); + ruleMappingDefinition(); + + state._fsp--; + + after(grammarAccess.getMappingDefinitionRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleMappingDefinition" + + + // $ANTLR start "ruleMappingDefinition" + // InternalCftLanguage.g:312:1: ruleMappingDefinition : ( ( rule__MappingDefinition__Group__0 ) ) ; + public final void ruleMappingDefinition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:316:2: ( ( ( rule__MappingDefinition__Group__0 ) ) ) + // InternalCftLanguage.g:317:2: ( ( rule__MappingDefinition__Group__0 ) ) + { + // InternalCftLanguage.g:317:2: ( ( rule__MappingDefinition__Group__0 ) ) + // InternalCftLanguage.g:318:3: ( rule__MappingDefinition__Group__0 ) + { + before(grammarAccess.getMappingDefinitionAccess().getGroup()); + // InternalCftLanguage.g:319:3: ( rule__MappingDefinition__Group__0 ) + // InternalCftLanguage.g:319:4: rule__MappingDefinition__Group__0 + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getMappingDefinitionAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleMappingDefinition" + + + // $ANTLR start "entryRuleMappingParameter" + // InternalCftLanguage.g:328:1: entryRuleMappingParameter : ruleMappingParameter EOF ; + public final void entryRuleMappingParameter() throws RecognitionException { + try { + // InternalCftLanguage.g:329:1: ( ruleMappingParameter EOF ) + // InternalCftLanguage.g:330:1: ruleMappingParameter EOF + { + before(grammarAccess.getMappingParameterRule()); + pushFollow(FOLLOW_1); + ruleMappingParameter(); + + state._fsp--; + + after(grammarAccess.getMappingParameterRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleMappingParameter" + + + // $ANTLR start "ruleMappingParameter" + // InternalCftLanguage.g:337:1: ruleMappingParameter : ( ( rule__MappingParameter__NameAssignment ) ) ; + public final void ruleMappingParameter() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:341:2: ( ( ( rule__MappingParameter__NameAssignment ) ) ) + // InternalCftLanguage.g:342:2: ( ( rule__MappingParameter__NameAssignment ) ) + { + // InternalCftLanguage.g:342:2: ( ( rule__MappingParameter__NameAssignment ) ) + // InternalCftLanguage.g:343:3: ( rule__MappingParameter__NameAssignment ) + { + before(grammarAccess.getMappingParameterAccess().getNameAssignment()); + // InternalCftLanguage.g:344:3: ( rule__MappingParameter__NameAssignment ) + // InternalCftLanguage.g:344:4: rule__MappingParameter__NameAssignment + { + pushFollow(FOLLOW_2); + rule__MappingParameter__NameAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getMappingParameterAccess().getNameAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleMappingParameter" + + + // $ANTLR start "entryRuleLookupDefinition" + // InternalCftLanguage.g:353:1: entryRuleLookupDefinition : ruleLookupDefinition EOF ; + public final void entryRuleLookupDefinition() throws RecognitionException { + try { + // InternalCftLanguage.g:354:1: ( ruleLookupDefinition EOF ) + // InternalCftLanguage.g:355:1: ruleLookupDefinition EOF + { + before(grammarAccess.getLookupDefinitionRule()); + pushFollow(FOLLOW_1); + ruleLookupDefinition(); + + state._fsp--; + + after(grammarAccess.getLookupDefinitionRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLookupDefinition" + + + // $ANTLR start "ruleLookupDefinition" + // InternalCftLanguage.g:362:1: ruleLookupDefinition : ( ( rule__LookupDefinition__Group__0 ) ) ; + public final void ruleLookupDefinition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:366:2: ( ( ( rule__LookupDefinition__Group__0 ) ) ) + // InternalCftLanguage.g:367:2: ( ( rule__LookupDefinition__Group__0 ) ) + { + // InternalCftLanguage.g:367:2: ( ( rule__LookupDefinition__Group__0 ) ) + // InternalCftLanguage.g:368:3: ( rule__LookupDefinition__Group__0 ) + { + before(grammarAccess.getLookupDefinitionAccess().getGroup()); + // InternalCftLanguage.g:369:3: ( rule__LookupDefinition__Group__0 ) + // InternalCftLanguage.g:369:4: rule__LookupDefinition__Group__0 + { + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getLookupDefinitionAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLookupDefinition" + + + // $ANTLR start "entryRuleAssignment" + // InternalCftLanguage.g:378:1: entryRuleAssignment : ruleAssignment EOF ; + public final void entryRuleAssignment() throws RecognitionException { + try { + // InternalCftLanguage.g:379:1: ( ruleAssignment EOF ) + // InternalCftLanguage.g:380:1: ruleAssignment EOF + { + before(grammarAccess.getAssignmentRule()); + pushFollow(FOLLOW_1); + ruleAssignment(); + + state._fsp--; + + after(grammarAccess.getAssignmentRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAssignment" + + + // $ANTLR start "ruleAssignment" + // InternalCftLanguage.g:387:1: ruleAssignment : ( ( rule__Assignment__Group__0 ) ) ; + public final void ruleAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:391:2: ( ( ( rule__Assignment__Group__0 ) ) ) + // InternalCftLanguage.g:392:2: ( ( rule__Assignment__Group__0 ) ) + { + // InternalCftLanguage.g:392:2: ( ( rule__Assignment__Group__0 ) ) + // InternalCftLanguage.g:393:3: ( rule__Assignment__Group__0 ) + { + before(grammarAccess.getAssignmentAccess().getGroup()); + // InternalCftLanguage.g:394:3: ( rule__Assignment__Group__0 ) + // InternalCftLanguage.g:394:4: rule__Assignment__Group__0 + { + pushFollow(FOLLOW_2); + rule__Assignment__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getAssignmentAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAssignment" + + + // $ANTLR start "entryRuleEventReference" + // InternalCftLanguage.g:403:1: entryRuleEventReference : ruleEventReference EOF ; + public final void entryRuleEventReference() throws RecognitionException { + try { + // InternalCftLanguage.g:404:1: ( ruleEventReference EOF ) + // InternalCftLanguage.g:405:1: ruleEventReference EOF + { + before(grammarAccess.getEventReferenceRule()); + pushFollow(FOLLOW_1); + ruleEventReference(); + + state._fsp--; + + after(grammarAccess.getEventReferenceRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleEventReference" + + + // $ANTLR start "ruleEventReference" + // InternalCftLanguage.g:412:1: ruleEventReference : ( ( rule__EventReference__Group__0 ) ) ; + public final void ruleEventReference() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:416:2: ( ( ( rule__EventReference__Group__0 ) ) ) + // InternalCftLanguage.g:417:2: ( ( rule__EventReference__Group__0 ) ) + { + // InternalCftLanguage.g:417:2: ( ( rule__EventReference__Group__0 ) ) + // InternalCftLanguage.g:418:3: ( rule__EventReference__Group__0 ) + { + before(grammarAccess.getEventReferenceAccess().getGroup()); + // InternalCftLanguage.g:419:3: ( rule__EventReference__Group__0 ) + // InternalCftLanguage.g:419:4: rule__EventReference__Group__0 + { + pushFollow(FOLLOW_2); + rule__EventReference__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getEventReferenceAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleEventReference" + + + // $ANTLR start "entryRuleComponentInstance" + // InternalCftLanguage.g:428:1: entryRuleComponentInstance : ruleComponentInstance EOF ; + public final void entryRuleComponentInstance() throws RecognitionException { + try { + // InternalCftLanguage.g:429:1: ( ruleComponentInstance EOF ) + // InternalCftLanguage.g:430:1: ruleComponentInstance EOF + { + before(grammarAccess.getComponentInstanceRule()); + pushFollow(FOLLOW_1); + ruleComponentInstance(); + + state._fsp--; + + after(grammarAccess.getComponentInstanceRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleComponentInstance" + + + // $ANTLR start "ruleComponentInstance" + // InternalCftLanguage.g:437:1: ruleComponentInstance : ( ( rule__ComponentInstance__Group__0 ) ) ; + public final void ruleComponentInstance() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:441:2: ( ( ( rule__ComponentInstance__Group__0 ) ) ) + // InternalCftLanguage.g:442:2: ( ( rule__ComponentInstance__Group__0 ) ) + { + // InternalCftLanguage.g:442:2: ( ( rule__ComponentInstance__Group__0 ) ) + // InternalCftLanguage.g:443:3: ( rule__ComponentInstance__Group__0 ) + { + before(grammarAccess.getComponentInstanceAccess().getGroup()); + // InternalCftLanguage.g:444:3: ( rule__ComponentInstance__Group__0 ) + // InternalCftLanguage.g:444:4: rule__ComponentInstance__Group__0 + { + pushFollow(FOLLOW_2); + rule__ComponentInstance__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentInstanceAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComponentInstance" + + + // $ANTLR start "entryRuleQualifiedName" + // InternalCftLanguage.g:453:1: entryRuleQualifiedName : ruleQualifiedName EOF ; + public final void entryRuleQualifiedName() throws RecognitionException { + try { + // InternalCftLanguage.g:454:1: ( ruleQualifiedName EOF ) + // InternalCftLanguage.g:455:1: ruleQualifiedName EOF + { + before(grammarAccess.getQualifiedNameRule()); + pushFollow(FOLLOW_1); + ruleQualifiedName(); + + state._fsp--; + + after(grammarAccess.getQualifiedNameRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleQualifiedName" + + + // $ANTLR start "ruleQualifiedName" + // InternalCftLanguage.g:462:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ; + public final void ruleQualifiedName() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:466:2: ( ( ( rule__QualifiedName__Group__0 ) ) ) + // InternalCftLanguage.g:467:2: ( ( rule__QualifiedName__Group__0 ) ) + { + // InternalCftLanguage.g:467:2: ( ( rule__QualifiedName__Group__0 ) ) + // InternalCftLanguage.g:468:3: ( rule__QualifiedName__Group__0 ) + { + before(grammarAccess.getQualifiedNameAccess().getGroup()); + // InternalCftLanguage.g:469:3: ( rule__QualifiedName__Group__0 ) + // InternalCftLanguage.g:469:4: rule__QualifiedName__Group__0 + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getQualifiedNameAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleQualifiedName" + + + // $ANTLR start "entryRuleQualifiedNameWithWildcard" + // InternalCftLanguage.g:478:1: entryRuleQualifiedNameWithWildcard : ruleQualifiedNameWithWildcard EOF ; + public final void entryRuleQualifiedNameWithWildcard() throws RecognitionException { + try { + // InternalCftLanguage.g:479:1: ( ruleQualifiedNameWithWildcard EOF ) + // InternalCftLanguage.g:480:1: ruleQualifiedNameWithWildcard EOF + { + before(grammarAccess.getQualifiedNameWithWildcardRule()); + pushFollow(FOLLOW_1); + ruleQualifiedNameWithWildcard(); + + state._fsp--; + + after(grammarAccess.getQualifiedNameWithWildcardRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleQualifiedNameWithWildcard" + + + // $ANTLR start "ruleQualifiedNameWithWildcard" + // InternalCftLanguage.g:487:1: ruleQualifiedNameWithWildcard : ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ; + public final void ruleQualifiedNameWithWildcard() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:491:2: ( ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) ) + // InternalCftLanguage.g:492:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) + { + // InternalCftLanguage.g:492:2: ( ( rule__QualifiedNameWithWildcard__Group__0 ) ) + // InternalCftLanguage.g:493:3: ( rule__QualifiedNameWithWildcard__Group__0 ) + { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); + // InternalCftLanguage.g:494:3: ( rule__QualifiedNameWithWildcard__Group__0 ) + // InternalCftLanguage.g:494:4: rule__QualifiedNameWithWildcard__Group__0 + { + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleQualifiedNameWithWildcard" + + + // $ANTLR start "rule__CftModel__Alternatives_4" + // InternalCftLanguage.g:502:1: rule__CftModel__Alternatives_4 : ( ( ( rule__CftModel__ComponentDefinitionsAssignment_4_0 ) ) | ( ( rule__CftModel__TransformationDefinitionsAssignment_4_1 ) ) ); + public final void rule__CftModel__Alternatives_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:506:1: ( ( ( rule__CftModel__ComponentDefinitionsAssignment_4_0 ) ) | ( ( rule__CftModel__TransformationDefinitionsAssignment_4_1 ) ) ) + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==16) ) { + alt1=1; + } + else if ( (LA1_0==25) ) { + alt1=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 1, 0, input); + + throw nvae; + } + switch (alt1) { + case 1 : + // InternalCftLanguage.g:507:2: ( ( rule__CftModel__ComponentDefinitionsAssignment_4_0 ) ) + { + // InternalCftLanguage.g:507:2: ( ( rule__CftModel__ComponentDefinitionsAssignment_4_0 ) ) + // InternalCftLanguage.g:508:3: ( rule__CftModel__ComponentDefinitionsAssignment_4_0 ) + { + before(grammarAccess.getCftModelAccess().getComponentDefinitionsAssignment_4_0()); + // InternalCftLanguage.g:509:3: ( rule__CftModel__ComponentDefinitionsAssignment_4_0 ) + // InternalCftLanguage.g:509:4: rule__CftModel__ComponentDefinitionsAssignment_4_0 + { + pushFollow(FOLLOW_2); + rule__CftModel__ComponentDefinitionsAssignment_4_0(); + + state._fsp--; + + + } + + after(grammarAccess.getCftModelAccess().getComponentDefinitionsAssignment_4_0()); + + } + + + } + break; + case 2 : + // InternalCftLanguage.g:513:2: ( ( rule__CftModel__TransformationDefinitionsAssignment_4_1 ) ) + { + // InternalCftLanguage.g:513:2: ( ( rule__CftModel__TransformationDefinitionsAssignment_4_1 ) ) + // InternalCftLanguage.g:514:3: ( rule__CftModel__TransformationDefinitionsAssignment_4_1 ) + { + before(grammarAccess.getCftModelAccess().getTransformationDefinitionsAssignment_4_1()); + // InternalCftLanguage.g:515:3: ( rule__CftModel__TransformationDefinitionsAssignment_4_1 ) + // InternalCftLanguage.g:515:4: rule__CftModel__TransformationDefinitionsAssignment_4_1 + { + pushFollow(FOLLOW_2); + rule__CftModel__TransformationDefinitionsAssignment_4_1(); + + state._fsp--; + + + } + + after(grammarAccess.getCftModelAccess().getTransformationDefinitionsAssignment_4_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Alternatives_4" + + + // $ANTLR start "rule__EventDefinition__Alternatives" + // InternalCftLanguage.g:523:1: rule__EventDefinition__Alternatives : ( ( ruleBasicEventDefinition ) | ( ruleGateDefinition ) ); + public final void rule__EventDefinition__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:527:1: ( ( ruleBasicEventDefinition ) | ( ruleGateDefinition ) ) + int alt2=2; + int LA2_0 = input.LA(1); + + if ( (LA2_0==RULE_ID) ) { + int LA2_1 = input.LA(2); + + if ( (LA2_1==21) ) { + alt2=1; + } + else if ( ((LA2_1>=23 && LA2_1<=24)) ) { + alt2=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 2, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 2, 0, input); + + throw nvae; + } + switch (alt2) { + case 1 : + // InternalCftLanguage.g:528:2: ( ruleBasicEventDefinition ) + { + // InternalCftLanguage.g:528:2: ( ruleBasicEventDefinition ) + // InternalCftLanguage.g:529:3: ruleBasicEventDefinition + { + before(grammarAccess.getEventDefinitionAccess().getBasicEventDefinitionParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleBasicEventDefinition(); + + state._fsp--; + + after(grammarAccess.getEventDefinitionAccess().getBasicEventDefinitionParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalCftLanguage.g:534:2: ( ruleGateDefinition ) + { + // InternalCftLanguage.g:534:2: ( ruleGateDefinition ) + // InternalCftLanguage.g:535:3: ruleGateDefinition + { + before(grammarAccess.getEventDefinitionAccess().getGateDefinitionParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleGateDefinition(); + + state._fsp--; + + after(grammarAccess.getEventDefinitionAccess().getGateDefinitionParserRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventDefinition__Alternatives" + + + // $ANTLR start "rule__GateDefinition__Alternatives" + // InternalCftLanguage.g:544:1: rule__GateDefinition__Alternatives : ( ( ruleAndGate ) | ( ruleOrGate ) ); + public final void rule__GateDefinition__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:548:1: ( ( ruleAndGate ) | ( ruleOrGate ) ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0==RULE_ID) ) { + int LA3_1 = input.LA(2); + + if ( (LA3_1==23) ) { + alt3=1; + } + else if ( (LA3_1==24) ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // InternalCftLanguage.g:549:2: ( ruleAndGate ) + { + // InternalCftLanguage.g:549:2: ( ruleAndGate ) + // InternalCftLanguage.g:550:3: ruleAndGate + { + before(grammarAccess.getGateDefinitionAccess().getAndGateParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleAndGate(); + + state._fsp--; + + after(grammarAccess.getGateDefinitionAccess().getAndGateParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalCftLanguage.g:555:2: ( ruleOrGate ) + { + // InternalCftLanguage.g:555:2: ( ruleOrGate ) + // InternalCftLanguage.g:556:3: ruleOrGate + { + before(grammarAccess.getGateDefinitionAccess().getOrGateParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleOrGate(); + + state._fsp--; + + after(grammarAccess.getGateDefinitionAccess().getOrGateParserRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GateDefinition__Alternatives" + + + // $ANTLR start "rule__MappingDefinition__Alternatives_8_1_0" + // InternalCftLanguage.g:565:1: rule__MappingDefinition__Alternatives_8_1_0 : ( ( ( rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0 ) ) | ( ( rule__MappingDefinition__AssignmentsAssignment_8_1_0_1 ) ) ); + public final void rule__MappingDefinition__Alternatives_8_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:569:1: ( ( ( rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0 ) ) | ( ( rule__MappingDefinition__AssignmentsAssignment_8_1_0_1 ) ) ) + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0==30) ) { + alt4=1; + } + else if ( (LA4_0==RULE_ID) ) { + alt4=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 4, 0, input); + + throw nvae; + } + switch (alt4) { + case 1 : + // InternalCftLanguage.g:570:2: ( ( rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0 ) ) + { + // InternalCftLanguage.g:570:2: ( ( rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0 ) ) + // InternalCftLanguage.g:571:3: ( rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0 ) + { + before(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsAssignment_8_1_0_0()); + // InternalCftLanguage.g:572:3: ( rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0 ) + // InternalCftLanguage.g:572:4: rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0 + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0(); + + state._fsp--; + + + } + + after(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsAssignment_8_1_0_0()); + + } + + + } + break; + case 2 : + // InternalCftLanguage.g:576:2: ( ( rule__MappingDefinition__AssignmentsAssignment_8_1_0_1 ) ) + { + // InternalCftLanguage.g:576:2: ( ( rule__MappingDefinition__AssignmentsAssignment_8_1_0_1 ) ) + // InternalCftLanguage.g:577:3: ( rule__MappingDefinition__AssignmentsAssignment_8_1_0_1 ) + { + before(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignment_8_1_0_1()); + // InternalCftLanguage.g:578:3: ( rule__MappingDefinition__AssignmentsAssignment_8_1_0_1 ) + // InternalCftLanguage.g:578:4: rule__MappingDefinition__AssignmentsAssignment_8_1_0_1 + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__AssignmentsAssignment_8_1_0_1(); + + state._fsp--; + + + } + + after(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignment_8_1_0_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Alternatives_8_1_0" + + + // $ANTLR start "rule__Assignment__Alternatives_1" + // InternalCftLanguage.g:586:1: rule__Assignment__Alternatives_1 : ( ( ( rule__Assignment__MultipleAssignment_1_0 ) ) | ( ':=' ) ); + public final void rule__Assignment__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:590:1: ( ( ( rule__Assignment__MultipleAssignment_1_0 ) ) | ( ':=' ) ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0==37) ) { + alt5=1; + } + else if ( (LA5_0==12) ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalCftLanguage.g:591:2: ( ( rule__Assignment__MultipleAssignment_1_0 ) ) + { + // InternalCftLanguage.g:591:2: ( ( rule__Assignment__MultipleAssignment_1_0 ) ) + // InternalCftLanguage.g:592:3: ( rule__Assignment__MultipleAssignment_1_0 ) + { + before(grammarAccess.getAssignmentAccess().getMultipleAssignment_1_0()); + // InternalCftLanguage.g:593:3: ( rule__Assignment__MultipleAssignment_1_0 ) + // InternalCftLanguage.g:593:4: rule__Assignment__MultipleAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__Assignment__MultipleAssignment_1_0(); + + state._fsp--; + + + } + + after(grammarAccess.getAssignmentAccess().getMultipleAssignment_1_0()); + + } + + + } + break; + case 2 : + // InternalCftLanguage.g:597:2: ( ':=' ) + { + // InternalCftLanguage.g:597:2: ( ':=' ) + // InternalCftLanguage.g:598:3: ':=' + { + before(grammarAccess.getAssignmentAccess().getColonEqualsSignKeyword_1_1()); + match(input,12,FOLLOW_2); + after(grammarAccess.getAssignmentAccess().getColonEqualsSignKeyword_1_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Assignment__Alternatives_1" + + + // $ANTLR start "rule__CftModel__Group__0" + // InternalCftLanguage.g:607:1: rule__CftModel__Group__0 : rule__CftModel__Group__0__Impl rule__CftModel__Group__1 ; + public final void rule__CftModel__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:611:1: ( rule__CftModel__Group__0__Impl rule__CftModel__Group__1 ) + // InternalCftLanguage.g:612:2: rule__CftModel__Group__0__Impl rule__CftModel__Group__1 + { + pushFollow(FOLLOW_3); + rule__CftModel__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CftModel__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Group__0" + + + // $ANTLR start "rule__CftModel__Group__0__Impl" + // InternalCftLanguage.g:619:1: rule__CftModel__Group__0__Impl : ( 'package' ) ; + public final void rule__CftModel__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:623:1: ( ( 'package' ) ) + // InternalCftLanguage.g:624:1: ( 'package' ) + { + // InternalCftLanguage.g:624:1: ( 'package' ) + // InternalCftLanguage.g:625:2: 'package' + { + before(grammarAccess.getCftModelAccess().getPackageKeyword_0()); + match(input,13,FOLLOW_2); + after(grammarAccess.getCftModelAccess().getPackageKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Group__0__Impl" + + + // $ANTLR start "rule__CftModel__Group__1" + // InternalCftLanguage.g:634:1: rule__CftModel__Group__1 : rule__CftModel__Group__1__Impl rule__CftModel__Group__2 ; + public final void rule__CftModel__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:638:1: ( rule__CftModel__Group__1__Impl rule__CftModel__Group__2 ) + // InternalCftLanguage.g:639:2: rule__CftModel__Group__1__Impl rule__CftModel__Group__2 + { + pushFollow(FOLLOW_4); + rule__CftModel__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CftModel__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Group__1" + + + // $ANTLR start "rule__CftModel__Group__1__Impl" + // InternalCftLanguage.g:646:1: rule__CftModel__Group__1__Impl : ( ( rule__CftModel__PackageNameAssignment_1 ) ) ; + public final void rule__CftModel__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:650:1: ( ( ( rule__CftModel__PackageNameAssignment_1 ) ) ) + // InternalCftLanguage.g:651:1: ( ( rule__CftModel__PackageNameAssignment_1 ) ) + { + // InternalCftLanguage.g:651:1: ( ( rule__CftModel__PackageNameAssignment_1 ) ) + // InternalCftLanguage.g:652:2: ( rule__CftModel__PackageNameAssignment_1 ) + { + before(grammarAccess.getCftModelAccess().getPackageNameAssignment_1()); + // InternalCftLanguage.g:653:2: ( rule__CftModel__PackageNameAssignment_1 ) + // InternalCftLanguage.g:653:3: rule__CftModel__PackageNameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__CftModel__PackageNameAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getCftModelAccess().getPackageNameAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Group__1__Impl" + + + // $ANTLR start "rule__CftModel__Group__2" + // InternalCftLanguage.g:661:1: rule__CftModel__Group__2 : rule__CftModel__Group__2__Impl rule__CftModel__Group__3 ; + public final void rule__CftModel__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:665:1: ( rule__CftModel__Group__2__Impl rule__CftModel__Group__3 ) + // InternalCftLanguage.g:666:2: rule__CftModel__Group__2__Impl rule__CftModel__Group__3 + { + pushFollow(FOLLOW_4); + rule__CftModel__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CftModel__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Group__2" + + + // $ANTLR start "rule__CftModel__Group__2__Impl" + // InternalCftLanguage.g:673:1: rule__CftModel__Group__2__Impl : ( ( ';' )? ) ; + public final void rule__CftModel__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:677:1: ( ( ( ';' )? ) ) + // InternalCftLanguage.g:678:1: ( ( ';' )? ) + { + // InternalCftLanguage.g:678:1: ( ( ';' )? ) + // InternalCftLanguage.g:679:2: ( ';' )? + { + before(grammarAccess.getCftModelAccess().getSemicolonKeyword_2()); + // InternalCftLanguage.g:680:2: ( ';' )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==14) ) { + alt6=1; + } + switch (alt6) { + case 1 : + // InternalCftLanguage.g:680:3: ';' + { + match(input,14,FOLLOW_2); + + } + break; + + } + + after(grammarAccess.getCftModelAccess().getSemicolonKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Group__2__Impl" + + + // $ANTLR start "rule__CftModel__Group__3" + // InternalCftLanguage.g:688:1: rule__CftModel__Group__3 : rule__CftModel__Group__3__Impl rule__CftModel__Group__4 ; + public final void rule__CftModel__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:692:1: ( rule__CftModel__Group__3__Impl rule__CftModel__Group__4 ) + // InternalCftLanguage.g:693:2: rule__CftModel__Group__3__Impl rule__CftModel__Group__4 + { + pushFollow(FOLLOW_4); + rule__CftModel__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CftModel__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Group__3" + + + // $ANTLR start "rule__CftModel__Group__3__Impl" + // InternalCftLanguage.g:700:1: rule__CftModel__Group__3__Impl : ( ( rule__CftModel__ImportsAssignment_3 )* ) ; + public final void rule__CftModel__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:704:1: ( ( ( rule__CftModel__ImportsAssignment_3 )* ) ) + // InternalCftLanguage.g:705:1: ( ( rule__CftModel__ImportsAssignment_3 )* ) + { + // InternalCftLanguage.g:705:1: ( ( rule__CftModel__ImportsAssignment_3 )* ) + // InternalCftLanguage.g:706:2: ( rule__CftModel__ImportsAssignment_3 )* + { + before(grammarAccess.getCftModelAccess().getImportsAssignment_3()); + // InternalCftLanguage.g:707:2: ( rule__CftModel__ImportsAssignment_3 )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0==15) ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // InternalCftLanguage.g:707:3: rule__CftModel__ImportsAssignment_3 + { + pushFollow(FOLLOW_5); + rule__CftModel__ImportsAssignment_3(); + + state._fsp--; + + + } + break; + + default : + break loop7; + } + } while (true); + + after(grammarAccess.getCftModelAccess().getImportsAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Group__3__Impl" + + + // $ANTLR start "rule__CftModel__Group__4" + // InternalCftLanguage.g:715:1: rule__CftModel__Group__4 : rule__CftModel__Group__4__Impl ; + public final void rule__CftModel__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:719:1: ( rule__CftModel__Group__4__Impl ) + // InternalCftLanguage.g:720:2: rule__CftModel__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__CftModel__Group__4__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Group__4" + + + // $ANTLR start "rule__CftModel__Group__4__Impl" + // InternalCftLanguage.g:726:1: rule__CftModel__Group__4__Impl : ( ( rule__CftModel__Alternatives_4 )* ) ; + public final void rule__CftModel__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:730:1: ( ( ( rule__CftModel__Alternatives_4 )* ) ) + // InternalCftLanguage.g:731:1: ( ( rule__CftModel__Alternatives_4 )* ) + { + // InternalCftLanguage.g:731:1: ( ( rule__CftModel__Alternatives_4 )* ) + // InternalCftLanguage.g:732:2: ( rule__CftModel__Alternatives_4 )* + { + before(grammarAccess.getCftModelAccess().getAlternatives_4()); + // InternalCftLanguage.g:733:2: ( rule__CftModel__Alternatives_4 )* + loop8: + do { + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0==16||LA8_0==25) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // InternalCftLanguage.g:733:3: rule__CftModel__Alternatives_4 + { + pushFollow(FOLLOW_6); + rule__CftModel__Alternatives_4(); + + state._fsp--; + + + } + break; + + default : + break loop8; + } + } while (true); + + after(grammarAccess.getCftModelAccess().getAlternatives_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__Group__4__Impl" + + + // $ANTLR start "rule__ImportDeclaration__Group__0" + // InternalCftLanguage.g:742:1: rule__ImportDeclaration__Group__0 : rule__ImportDeclaration__Group__0__Impl rule__ImportDeclaration__Group__1 ; + public final void rule__ImportDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:746:1: ( rule__ImportDeclaration__Group__0__Impl rule__ImportDeclaration__Group__1 ) + // InternalCftLanguage.g:747:2: rule__ImportDeclaration__Group__0__Impl rule__ImportDeclaration__Group__1 + { + pushFollow(FOLLOW_3); + rule__ImportDeclaration__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ImportDeclaration__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__Group__0" + + + // $ANTLR start "rule__ImportDeclaration__Group__0__Impl" + // InternalCftLanguage.g:754:1: rule__ImportDeclaration__Group__0__Impl : ( 'import' ) ; + public final void rule__ImportDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:758:1: ( ( 'import' ) ) + // InternalCftLanguage.g:759:1: ( 'import' ) + { + // InternalCftLanguage.g:759:1: ( 'import' ) + // InternalCftLanguage.g:760:2: 'import' + { + before(grammarAccess.getImportDeclarationAccess().getImportKeyword_0()); + match(input,15,FOLLOW_2); + after(grammarAccess.getImportDeclarationAccess().getImportKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__ImportDeclaration__Group__1" + // InternalCftLanguage.g:769:1: rule__ImportDeclaration__Group__1 : rule__ImportDeclaration__Group__1__Impl rule__ImportDeclaration__Group__2 ; + public final void rule__ImportDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:773:1: ( rule__ImportDeclaration__Group__1__Impl rule__ImportDeclaration__Group__2 ) + // InternalCftLanguage.g:774:2: rule__ImportDeclaration__Group__1__Impl rule__ImportDeclaration__Group__2 + { + pushFollow(FOLLOW_7); + rule__ImportDeclaration__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ImportDeclaration__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__Group__1" + + + // $ANTLR start "rule__ImportDeclaration__Group__1__Impl" + // InternalCftLanguage.g:781:1: rule__ImportDeclaration__Group__1__Impl : ( ( rule__ImportDeclaration__ImportedNamespaceAssignment_1 ) ) ; + public final void rule__ImportDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:785:1: ( ( ( rule__ImportDeclaration__ImportedNamespaceAssignment_1 ) ) ) + // InternalCftLanguage.g:786:1: ( ( rule__ImportDeclaration__ImportedNamespaceAssignment_1 ) ) + { + // InternalCftLanguage.g:786:1: ( ( rule__ImportDeclaration__ImportedNamespaceAssignment_1 ) ) + // InternalCftLanguage.g:787:2: ( rule__ImportDeclaration__ImportedNamespaceAssignment_1 ) + { + before(grammarAccess.getImportDeclarationAccess().getImportedNamespaceAssignment_1()); + // InternalCftLanguage.g:788:2: ( rule__ImportDeclaration__ImportedNamespaceAssignment_1 ) + // InternalCftLanguage.g:788:3: rule__ImportDeclaration__ImportedNamespaceAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ImportDeclaration__ImportedNamespaceAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getImportDeclarationAccess().getImportedNamespaceAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__ImportDeclaration__Group__2" + // InternalCftLanguage.g:796:1: rule__ImportDeclaration__Group__2 : rule__ImportDeclaration__Group__2__Impl ; + public final void rule__ImportDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:800:1: ( rule__ImportDeclaration__Group__2__Impl ) + // InternalCftLanguage.g:801:2: rule__ImportDeclaration__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__ImportDeclaration__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__Group__2" + + + // $ANTLR start "rule__ImportDeclaration__Group__2__Impl" + // InternalCftLanguage.g:807:1: rule__ImportDeclaration__Group__2__Impl : ( ( ';' )? ) ; + public final void rule__ImportDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:811:1: ( ( ( ';' )? ) ) + // InternalCftLanguage.g:812:1: ( ( ';' )? ) + { + // InternalCftLanguage.g:812:1: ( ( ';' )? ) + // InternalCftLanguage.g:813:2: ( ';' )? + { + before(grammarAccess.getImportDeclarationAccess().getSemicolonKeyword_2()); + // InternalCftLanguage.g:814:2: ( ';' )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0==14) ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalCftLanguage.g:814:3: ';' + { + match(input,14,FOLLOW_2); + + } + break; + + } + + after(grammarAccess.getImportDeclarationAccess().getSemicolonKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group__0" + // InternalCftLanguage.g:823:1: rule__ComponentDefinition__Group__0 : rule__ComponentDefinition__Group__0__Impl rule__ComponentDefinition__Group__1 ; + public final void rule__ComponentDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:827:1: ( rule__ComponentDefinition__Group__0__Impl rule__ComponentDefinition__Group__1 ) + // InternalCftLanguage.g:828:2: rule__ComponentDefinition__Group__0__Impl rule__ComponentDefinition__Group__1 + { + pushFollow(FOLLOW_3); + rule__ComponentDefinition__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__0" + + + // $ANTLR start "rule__ComponentDefinition__Group__0__Impl" + // InternalCftLanguage.g:835:1: rule__ComponentDefinition__Group__0__Impl : ( 'cft' ) ; + public final void rule__ComponentDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:839:1: ( ( 'cft' ) ) + // InternalCftLanguage.g:840:1: ( 'cft' ) + { + // InternalCftLanguage.g:840:1: ( 'cft' ) + // InternalCftLanguage.g:841:2: 'cft' + { + before(grammarAccess.getComponentDefinitionAccess().getCftKeyword_0()); + match(input,16,FOLLOW_2); + after(grammarAccess.getComponentDefinitionAccess().getCftKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__0__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group__1" + // InternalCftLanguage.g:850:1: rule__ComponentDefinition__Group__1 : rule__ComponentDefinition__Group__1__Impl rule__ComponentDefinition__Group__2 ; + public final void rule__ComponentDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:854:1: ( rule__ComponentDefinition__Group__1__Impl rule__ComponentDefinition__Group__2 ) + // InternalCftLanguage.g:855:2: rule__ComponentDefinition__Group__1__Impl rule__ComponentDefinition__Group__2 + { + pushFollow(FOLLOW_8); + rule__ComponentDefinition__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__1" + + + // $ANTLR start "rule__ComponentDefinition__Group__1__Impl" + // InternalCftLanguage.g:862:1: rule__ComponentDefinition__Group__1__Impl : ( ( rule__ComponentDefinition__NameAssignment_1 ) ) ; + public final void rule__ComponentDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:866:1: ( ( ( rule__ComponentDefinition__NameAssignment_1 ) ) ) + // InternalCftLanguage.g:867:1: ( ( rule__ComponentDefinition__NameAssignment_1 ) ) + { + // InternalCftLanguage.g:867:1: ( ( rule__ComponentDefinition__NameAssignment_1 ) ) + // InternalCftLanguage.g:868:2: ( rule__ComponentDefinition__NameAssignment_1 ) + { + before(grammarAccess.getComponentDefinitionAccess().getNameAssignment_1()); + // InternalCftLanguage.g:869:2: ( rule__ComponentDefinition__NameAssignment_1 ) + // InternalCftLanguage.g:869:3: rule__ComponentDefinition__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__NameAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentDefinitionAccess().getNameAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__1__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group__2" + // InternalCftLanguage.g:877:1: rule__ComponentDefinition__Group__2 : rule__ComponentDefinition__Group__2__Impl rule__ComponentDefinition__Group__3 ; + public final void rule__ComponentDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:881:1: ( rule__ComponentDefinition__Group__2__Impl rule__ComponentDefinition__Group__3 ) + // InternalCftLanguage.g:882:2: rule__ComponentDefinition__Group__2__Impl rule__ComponentDefinition__Group__3 + { + pushFollow(FOLLOW_9); + rule__ComponentDefinition__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__2" + + + // $ANTLR start "rule__ComponentDefinition__Group__2__Impl" + // InternalCftLanguage.g:889:1: rule__ComponentDefinition__Group__2__Impl : ( '{' ) ; + public final void rule__ComponentDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:893:1: ( ( '{' ) ) + // InternalCftLanguage.g:894:1: ( '{' ) + { + // InternalCftLanguage.g:894:1: ( '{' ) + // InternalCftLanguage.g:895:2: '{' + { + before(grammarAccess.getComponentDefinitionAccess().getLeftCurlyBracketKeyword_2()); + match(input,17,FOLLOW_2); + after(grammarAccess.getComponentDefinitionAccess().getLeftCurlyBracketKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__2__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group__3" + // InternalCftLanguage.g:904:1: rule__ComponentDefinition__Group__3 : rule__ComponentDefinition__Group__3__Impl rule__ComponentDefinition__Group__4 ; + public final void rule__ComponentDefinition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:908:1: ( rule__ComponentDefinition__Group__3__Impl rule__ComponentDefinition__Group__4 ) + // InternalCftLanguage.g:909:2: rule__ComponentDefinition__Group__3__Impl rule__ComponentDefinition__Group__4 + { + pushFollow(FOLLOW_10); + rule__ComponentDefinition__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__3" + + + // $ANTLR start "rule__ComponentDefinition__Group__3__Impl" + // InternalCftLanguage.g:916:1: rule__ComponentDefinition__Group__3__Impl : ( ( rule__ComponentDefinition__UnorderedGroup_3 ) ) ; + public final void rule__ComponentDefinition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:920:1: ( ( ( rule__ComponentDefinition__UnorderedGroup_3 ) ) ) + // InternalCftLanguage.g:921:1: ( ( rule__ComponentDefinition__UnorderedGroup_3 ) ) + { + // InternalCftLanguage.g:921:1: ( ( rule__ComponentDefinition__UnorderedGroup_3 ) ) + // InternalCftLanguage.g:922:2: ( rule__ComponentDefinition__UnorderedGroup_3 ) + { + before(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + // InternalCftLanguage.g:923:2: ( rule__ComponentDefinition__UnorderedGroup_3 ) + // InternalCftLanguage.g:923:3: rule__ComponentDefinition__UnorderedGroup_3 + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__UnorderedGroup_3(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__3__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group__4" + // InternalCftLanguage.g:931:1: rule__ComponentDefinition__Group__4 : rule__ComponentDefinition__Group__4__Impl rule__ComponentDefinition__Group__5 ; + public final void rule__ComponentDefinition__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:935:1: ( rule__ComponentDefinition__Group__4__Impl rule__ComponentDefinition__Group__5 ) + // InternalCftLanguage.g:936:2: rule__ComponentDefinition__Group__4__Impl rule__ComponentDefinition__Group__5 + { + pushFollow(FOLLOW_10); + rule__ComponentDefinition__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__4" + + + // $ANTLR start "rule__ComponentDefinition__Group__4__Impl" + // InternalCftLanguage.g:943:1: rule__ComponentDefinition__Group__4__Impl : ( ( rule__ComponentDefinition__Group_4__0 )* ) ; + public final void rule__ComponentDefinition__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:947:1: ( ( ( rule__ComponentDefinition__Group_4__0 )* ) ) + // InternalCftLanguage.g:948:1: ( ( rule__ComponentDefinition__Group_4__0 )* ) + { + // InternalCftLanguage.g:948:1: ( ( rule__ComponentDefinition__Group_4__0 )* ) + // InternalCftLanguage.g:949:2: ( rule__ComponentDefinition__Group_4__0 )* + { + before(grammarAccess.getComponentDefinitionAccess().getGroup_4()); + // InternalCftLanguage.g:950:2: ( rule__ComponentDefinition__Group_4__0 )* + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==RULE_ID) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // InternalCftLanguage.g:950:3: rule__ComponentDefinition__Group_4__0 + { + pushFollow(FOLLOW_11); + rule__ComponentDefinition__Group_4__0(); + + state._fsp--; + + + } + break; + + default : + break loop10; + } + } while (true); + + after(grammarAccess.getComponentDefinitionAccess().getGroup_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__4__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group__5" + // InternalCftLanguage.g:958:1: rule__ComponentDefinition__Group__5 : rule__ComponentDefinition__Group__5__Impl ; + public final void rule__ComponentDefinition__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:962:1: ( rule__ComponentDefinition__Group__5__Impl ) + // InternalCftLanguage.g:963:2: rule__ComponentDefinition__Group__5__Impl + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group__5__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__5" + + + // $ANTLR start "rule__ComponentDefinition__Group__5__Impl" + // InternalCftLanguage.g:969:1: rule__ComponentDefinition__Group__5__Impl : ( '}' ) ; + public final void rule__ComponentDefinition__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:973:1: ( ( '}' ) ) + // InternalCftLanguage.g:974:1: ( '}' ) + { + // InternalCftLanguage.g:974:1: ( '}' ) + // InternalCftLanguage.g:975:2: '}' + { + before(grammarAccess.getComponentDefinitionAccess().getRightCurlyBracketKeyword_5()); + match(input,18,FOLLOW_2); + after(grammarAccess.getComponentDefinitionAccess().getRightCurlyBracketKeyword_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group__5__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_0__0" + // InternalCftLanguage.g:985:1: rule__ComponentDefinition__Group_3_0__0 : rule__ComponentDefinition__Group_3_0__0__Impl rule__ComponentDefinition__Group_3_0__1 ; + public final void rule__ComponentDefinition__Group_3_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:989:1: ( rule__ComponentDefinition__Group_3_0__0__Impl rule__ComponentDefinition__Group_3_0__1 ) + // InternalCftLanguage.g:990:2: rule__ComponentDefinition__Group_3_0__0__Impl rule__ComponentDefinition__Group_3_0__1 + { + pushFollow(FOLLOW_12); + rule__ComponentDefinition__Group_3_0__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group_3_0__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_0__0" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_0__0__Impl" + // InternalCftLanguage.g:997:1: rule__ComponentDefinition__Group_3_0__0__Impl : ( 'in' ) ; + public final void rule__ComponentDefinition__Group_3_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1001:1: ( ( 'in' ) ) + // InternalCftLanguage.g:1002:1: ( 'in' ) + { + // InternalCftLanguage.g:1002:1: ( 'in' ) + // InternalCftLanguage.g:1003:2: 'in' + { + before(grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()); + match(input,19,FOLLOW_2); + after(grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_0__0__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_0__1" + // InternalCftLanguage.g:1012:1: rule__ComponentDefinition__Group_3_0__1 : rule__ComponentDefinition__Group_3_0__1__Impl rule__ComponentDefinition__Group_3_0__2 ; + public final void rule__ComponentDefinition__Group_3_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1016:1: ( rule__ComponentDefinition__Group_3_0__1__Impl rule__ComponentDefinition__Group_3_0__2 ) + // InternalCftLanguage.g:1017:2: rule__ComponentDefinition__Group_3_0__1__Impl rule__ComponentDefinition__Group_3_0__2 + { + pushFollow(FOLLOW_12); + rule__ComponentDefinition__Group_3_0__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group_3_0__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_0__1" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_0__1__Impl" + // InternalCftLanguage.g:1024:1: rule__ComponentDefinition__Group_3_0__1__Impl : ( ( rule__ComponentDefinition__InputEventsAssignment_3_0_1 )* ) ; + public final void rule__ComponentDefinition__Group_3_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1028:1: ( ( ( rule__ComponentDefinition__InputEventsAssignment_3_0_1 )* ) ) + // InternalCftLanguage.g:1029:1: ( ( rule__ComponentDefinition__InputEventsAssignment_3_0_1 )* ) + { + // InternalCftLanguage.g:1029:1: ( ( rule__ComponentDefinition__InputEventsAssignment_3_0_1 )* ) + // InternalCftLanguage.g:1030:2: ( rule__ComponentDefinition__InputEventsAssignment_3_0_1 )* + { + before(grammarAccess.getComponentDefinitionAccess().getInputEventsAssignment_3_0_1()); + // InternalCftLanguage.g:1031:2: ( rule__ComponentDefinition__InputEventsAssignment_3_0_1 )* + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0==RULE_ID) ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // InternalCftLanguage.g:1031:3: rule__ComponentDefinition__InputEventsAssignment_3_0_1 + { + pushFollow(FOLLOW_11); + rule__ComponentDefinition__InputEventsAssignment_3_0_1(); + + state._fsp--; + + + } + break; + + default : + break loop11; + } + } while (true); + + after(grammarAccess.getComponentDefinitionAccess().getInputEventsAssignment_3_0_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_0__1__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_0__2" + // InternalCftLanguage.g:1039:1: rule__ComponentDefinition__Group_3_0__2 : rule__ComponentDefinition__Group_3_0__2__Impl ; + public final void rule__ComponentDefinition__Group_3_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1043:1: ( rule__ComponentDefinition__Group_3_0__2__Impl ) + // InternalCftLanguage.g:1044:2: rule__ComponentDefinition__Group_3_0__2__Impl + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group_3_0__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_0__2" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_0__2__Impl" + // InternalCftLanguage.g:1050:1: rule__ComponentDefinition__Group_3_0__2__Impl : ( ';' ) ; + public final void rule__ComponentDefinition__Group_3_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1054:1: ( ( ';' ) ) + // InternalCftLanguage.g:1055:1: ( ';' ) + { + // InternalCftLanguage.g:1055:1: ( ';' ) + // InternalCftLanguage.g:1056:2: ';' + { + before(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()); + match(input,14,FOLLOW_2); + after(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_0__2__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_1__0" + // InternalCftLanguage.g:1066:1: rule__ComponentDefinition__Group_3_1__0 : rule__ComponentDefinition__Group_3_1__0__Impl rule__ComponentDefinition__Group_3_1__1 ; + public final void rule__ComponentDefinition__Group_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1070:1: ( rule__ComponentDefinition__Group_3_1__0__Impl rule__ComponentDefinition__Group_3_1__1 ) + // InternalCftLanguage.g:1071:2: rule__ComponentDefinition__Group_3_1__0__Impl rule__ComponentDefinition__Group_3_1__1 + { + pushFollow(FOLLOW_12); + rule__ComponentDefinition__Group_3_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group_3_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_1__0" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_1__0__Impl" + // InternalCftLanguage.g:1078:1: rule__ComponentDefinition__Group_3_1__0__Impl : ( 'out' ) ; + public final void rule__ComponentDefinition__Group_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1082:1: ( ( 'out' ) ) + // InternalCftLanguage.g:1083:1: ( 'out' ) + { + // InternalCftLanguage.g:1083:1: ( 'out' ) + // InternalCftLanguage.g:1084:2: 'out' + { + before(grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()); + match(input,20,FOLLOW_2); + after(grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_1__0__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_1__1" + // InternalCftLanguage.g:1093:1: rule__ComponentDefinition__Group_3_1__1 : rule__ComponentDefinition__Group_3_1__1__Impl rule__ComponentDefinition__Group_3_1__2 ; + public final void rule__ComponentDefinition__Group_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1097:1: ( rule__ComponentDefinition__Group_3_1__1__Impl rule__ComponentDefinition__Group_3_1__2 ) + // InternalCftLanguage.g:1098:2: rule__ComponentDefinition__Group_3_1__1__Impl rule__ComponentDefinition__Group_3_1__2 + { + pushFollow(FOLLOW_12); + rule__ComponentDefinition__Group_3_1__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group_3_1__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_1__1" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_1__1__Impl" + // InternalCftLanguage.g:1105:1: rule__ComponentDefinition__Group_3_1__1__Impl : ( ( rule__ComponentDefinition__OutputEventsAssignment_3_1_1 )* ) ; + public final void rule__ComponentDefinition__Group_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1109:1: ( ( ( rule__ComponentDefinition__OutputEventsAssignment_3_1_1 )* ) ) + // InternalCftLanguage.g:1110:1: ( ( rule__ComponentDefinition__OutputEventsAssignment_3_1_1 )* ) + { + // InternalCftLanguage.g:1110:1: ( ( rule__ComponentDefinition__OutputEventsAssignment_3_1_1 )* ) + // InternalCftLanguage.g:1111:2: ( rule__ComponentDefinition__OutputEventsAssignment_3_1_1 )* + { + before(grammarAccess.getComponentDefinitionAccess().getOutputEventsAssignment_3_1_1()); + // InternalCftLanguage.g:1112:2: ( rule__ComponentDefinition__OutputEventsAssignment_3_1_1 )* + loop12: + do { + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0==RULE_ID) ) { + alt12=1; + } + + + switch (alt12) { + case 1 : + // InternalCftLanguage.g:1112:3: rule__ComponentDefinition__OutputEventsAssignment_3_1_1 + { + pushFollow(FOLLOW_11); + rule__ComponentDefinition__OutputEventsAssignment_3_1_1(); + + state._fsp--; + + + } + break; + + default : + break loop12; + } + } while (true); + + after(grammarAccess.getComponentDefinitionAccess().getOutputEventsAssignment_3_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_1__1__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_1__2" + // InternalCftLanguage.g:1120:1: rule__ComponentDefinition__Group_3_1__2 : rule__ComponentDefinition__Group_3_1__2__Impl ; + public final void rule__ComponentDefinition__Group_3_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1124:1: ( rule__ComponentDefinition__Group_3_1__2__Impl ) + // InternalCftLanguage.g:1125:2: rule__ComponentDefinition__Group_3_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group_3_1__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_1__2" + + + // $ANTLR start "rule__ComponentDefinition__Group_3_1__2__Impl" + // InternalCftLanguage.g:1131:1: rule__ComponentDefinition__Group_3_1__2__Impl : ( ';' ) ; + public final void rule__ComponentDefinition__Group_3_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1135:1: ( ( ';' ) ) + // InternalCftLanguage.g:1136:1: ( ';' ) + { + // InternalCftLanguage.g:1136:1: ( ';' ) + // InternalCftLanguage.g:1137:2: ';' + { + before(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()); + match(input,14,FOLLOW_2); + after(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_3_1__2__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group_4__0" + // InternalCftLanguage.g:1147:1: rule__ComponentDefinition__Group_4__0 : rule__ComponentDefinition__Group_4__0__Impl rule__ComponentDefinition__Group_4__1 ; + public final void rule__ComponentDefinition__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1151:1: ( rule__ComponentDefinition__Group_4__0__Impl rule__ComponentDefinition__Group_4__1 ) + // InternalCftLanguage.g:1152:2: rule__ComponentDefinition__Group_4__0__Impl rule__ComponentDefinition__Group_4__1 + { + pushFollow(FOLLOW_7); + rule__ComponentDefinition__Group_4__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group_4__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_4__0" + + + // $ANTLR start "rule__ComponentDefinition__Group_4__0__Impl" + // InternalCftLanguage.g:1159:1: rule__ComponentDefinition__Group_4__0__Impl : ( ( rule__ComponentDefinition__EventDefinitionsAssignment_4_0 ) ) ; + public final void rule__ComponentDefinition__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1163:1: ( ( ( rule__ComponentDefinition__EventDefinitionsAssignment_4_0 ) ) ) + // InternalCftLanguage.g:1164:1: ( ( rule__ComponentDefinition__EventDefinitionsAssignment_4_0 ) ) + { + // InternalCftLanguage.g:1164:1: ( ( rule__ComponentDefinition__EventDefinitionsAssignment_4_0 ) ) + // InternalCftLanguage.g:1165:2: ( rule__ComponentDefinition__EventDefinitionsAssignment_4_0 ) + { + before(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsAssignment_4_0()); + // InternalCftLanguage.g:1166:2: ( rule__ComponentDefinition__EventDefinitionsAssignment_4_0 ) + // InternalCftLanguage.g:1166:3: rule__ComponentDefinition__EventDefinitionsAssignment_4_0 + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__EventDefinitionsAssignment_4_0(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsAssignment_4_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_4__0__Impl" + + + // $ANTLR start "rule__ComponentDefinition__Group_4__1" + // InternalCftLanguage.g:1174:1: rule__ComponentDefinition__Group_4__1 : rule__ComponentDefinition__Group_4__1__Impl ; + public final void rule__ComponentDefinition__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1178:1: ( rule__ComponentDefinition__Group_4__1__Impl ) + // InternalCftLanguage.g:1179:2: rule__ComponentDefinition__Group_4__1__Impl + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group_4__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_4__1" + + + // $ANTLR start "rule__ComponentDefinition__Group_4__1__Impl" + // InternalCftLanguage.g:1185:1: rule__ComponentDefinition__Group_4__1__Impl : ( ';' ) ; + public final void rule__ComponentDefinition__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1189:1: ( ( ';' ) ) + // InternalCftLanguage.g:1190:1: ( ';' ) + { + // InternalCftLanguage.g:1190:1: ( ';' ) + // InternalCftLanguage.g:1191:2: ';' + { + before(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_4_1()); + match(input,14,FOLLOW_2); + after(grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_4_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__Group_4__1__Impl" + + + // $ANTLR start "rule__InputEvent__Group__0" + // InternalCftLanguage.g:1201:1: rule__InputEvent__Group__0 : rule__InputEvent__Group__0__Impl rule__InputEvent__Group__1 ; + public final void rule__InputEvent__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1205:1: ( rule__InputEvent__Group__0__Impl rule__InputEvent__Group__1 ) + // InternalCftLanguage.g:1206:2: rule__InputEvent__Group__0__Impl rule__InputEvent__Group__1 + { + pushFollow(FOLLOW_13); + rule__InputEvent__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__InputEvent__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InputEvent__Group__0" + + + // $ANTLR start "rule__InputEvent__Group__0__Impl" + // InternalCftLanguage.g:1213:1: rule__InputEvent__Group__0__Impl : ( ( rule__InputEvent__NameAssignment_0 ) ) ; + public final void rule__InputEvent__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1217:1: ( ( ( rule__InputEvent__NameAssignment_0 ) ) ) + // InternalCftLanguage.g:1218:1: ( ( rule__InputEvent__NameAssignment_0 ) ) + { + // InternalCftLanguage.g:1218:1: ( ( rule__InputEvent__NameAssignment_0 ) ) + // InternalCftLanguage.g:1219:2: ( rule__InputEvent__NameAssignment_0 ) + { + before(grammarAccess.getInputEventAccess().getNameAssignment_0()); + // InternalCftLanguage.g:1220:2: ( rule__InputEvent__NameAssignment_0 ) + // InternalCftLanguage.g:1220:3: rule__InputEvent__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__InputEvent__NameAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getInputEventAccess().getNameAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InputEvent__Group__0__Impl" + + + // $ANTLR start "rule__InputEvent__Group__1" + // InternalCftLanguage.g:1228:1: rule__InputEvent__Group__1 : rule__InputEvent__Group__1__Impl ; + public final void rule__InputEvent__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1232:1: ( rule__InputEvent__Group__1__Impl ) + // InternalCftLanguage.g:1233:2: rule__InputEvent__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__InputEvent__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InputEvent__Group__1" + + + // $ANTLR start "rule__InputEvent__Group__1__Impl" + // InternalCftLanguage.g:1239:1: rule__InputEvent__Group__1__Impl : ( ( rule__InputEvent__MultipleAssignment_1 )? ) ; + public final void rule__InputEvent__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1243:1: ( ( ( rule__InputEvent__MultipleAssignment_1 )? ) ) + // InternalCftLanguage.g:1244:1: ( ( rule__InputEvent__MultipleAssignment_1 )? ) + { + // InternalCftLanguage.g:1244:1: ( ( rule__InputEvent__MultipleAssignment_1 )? ) + // InternalCftLanguage.g:1245:2: ( rule__InputEvent__MultipleAssignment_1 )? + { + before(grammarAccess.getInputEventAccess().getMultipleAssignment_1()); + // InternalCftLanguage.g:1246:2: ( rule__InputEvent__MultipleAssignment_1 )? + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0==35) ) { + alt13=1; + } + switch (alt13) { + case 1 : + // InternalCftLanguage.g:1246:3: rule__InputEvent__MultipleAssignment_1 + { + pushFollow(FOLLOW_2); + rule__InputEvent__MultipleAssignment_1(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getInputEventAccess().getMultipleAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InputEvent__Group__1__Impl" + + + // $ANTLR start "rule__BasicEventDefinition__Group__0" + // InternalCftLanguage.g:1255:1: rule__BasicEventDefinition__Group__0 : rule__BasicEventDefinition__Group__0__Impl rule__BasicEventDefinition__Group__1 ; + public final void rule__BasicEventDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1259:1: ( rule__BasicEventDefinition__Group__0__Impl rule__BasicEventDefinition__Group__1 ) + // InternalCftLanguage.g:1260:2: rule__BasicEventDefinition__Group__0__Impl rule__BasicEventDefinition__Group__1 + { + pushFollow(FOLLOW_14); + rule__BasicEventDefinition__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__BasicEventDefinition__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicEventDefinition__Group__0" + + + // $ANTLR start "rule__BasicEventDefinition__Group__0__Impl" + // InternalCftLanguage.g:1267:1: rule__BasicEventDefinition__Group__0__Impl : ( ( rule__BasicEventDefinition__NameAssignment_0 ) ) ; + public final void rule__BasicEventDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1271:1: ( ( ( rule__BasicEventDefinition__NameAssignment_0 ) ) ) + // InternalCftLanguage.g:1272:1: ( ( rule__BasicEventDefinition__NameAssignment_0 ) ) + { + // InternalCftLanguage.g:1272:1: ( ( rule__BasicEventDefinition__NameAssignment_0 ) ) + // InternalCftLanguage.g:1273:2: ( rule__BasicEventDefinition__NameAssignment_0 ) + { + before(grammarAccess.getBasicEventDefinitionAccess().getNameAssignment_0()); + // InternalCftLanguage.g:1274:2: ( rule__BasicEventDefinition__NameAssignment_0 ) + // InternalCftLanguage.g:1274:3: rule__BasicEventDefinition__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__BasicEventDefinition__NameAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getBasicEventDefinitionAccess().getNameAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicEventDefinition__Group__0__Impl" + + + // $ANTLR start "rule__BasicEventDefinition__Group__1" + // InternalCftLanguage.g:1282:1: rule__BasicEventDefinition__Group__1 : rule__BasicEventDefinition__Group__1__Impl rule__BasicEventDefinition__Group__2 ; + public final void rule__BasicEventDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1286:1: ( rule__BasicEventDefinition__Group__1__Impl rule__BasicEventDefinition__Group__2 ) + // InternalCftLanguage.g:1287:2: rule__BasicEventDefinition__Group__1__Impl rule__BasicEventDefinition__Group__2 + { + pushFollow(FOLLOW_15); + rule__BasicEventDefinition__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__BasicEventDefinition__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicEventDefinition__Group__1" + + + // $ANTLR start "rule__BasicEventDefinition__Group__1__Impl" + // InternalCftLanguage.g:1294:1: rule__BasicEventDefinition__Group__1__Impl : ( 'lambda' ) ; + public final void rule__BasicEventDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1298:1: ( ( 'lambda' ) ) + // InternalCftLanguage.g:1299:1: ( 'lambda' ) + { + // InternalCftLanguage.g:1299:1: ( 'lambda' ) + // InternalCftLanguage.g:1300:2: 'lambda' + { + before(grammarAccess.getBasicEventDefinitionAccess().getLambdaKeyword_1()); + match(input,21,FOLLOW_2); + after(grammarAccess.getBasicEventDefinitionAccess().getLambdaKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicEventDefinition__Group__1__Impl" + + + // $ANTLR start "rule__BasicEventDefinition__Group__2" + // InternalCftLanguage.g:1309:1: rule__BasicEventDefinition__Group__2 : rule__BasicEventDefinition__Group__2__Impl rule__BasicEventDefinition__Group__3 ; + public final void rule__BasicEventDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1313:1: ( rule__BasicEventDefinition__Group__2__Impl rule__BasicEventDefinition__Group__3 ) + // InternalCftLanguage.g:1314:2: rule__BasicEventDefinition__Group__2__Impl rule__BasicEventDefinition__Group__3 + { + pushFollow(FOLLOW_16); + rule__BasicEventDefinition__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__BasicEventDefinition__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicEventDefinition__Group__2" + + + // $ANTLR start "rule__BasicEventDefinition__Group__2__Impl" + // InternalCftLanguage.g:1321:1: rule__BasicEventDefinition__Group__2__Impl : ( '=' ) ; + public final void rule__BasicEventDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1325:1: ( ( '=' ) ) + // InternalCftLanguage.g:1326:1: ( '=' ) + { + // InternalCftLanguage.g:1326:1: ( '=' ) + // InternalCftLanguage.g:1327:2: '=' + { + before(grammarAccess.getBasicEventDefinitionAccess().getEqualsSignKeyword_2()); + match(input,22,FOLLOW_2); + after(grammarAccess.getBasicEventDefinitionAccess().getEqualsSignKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicEventDefinition__Group__2__Impl" + + + // $ANTLR start "rule__BasicEventDefinition__Group__3" + // InternalCftLanguage.g:1336:1: rule__BasicEventDefinition__Group__3 : rule__BasicEventDefinition__Group__3__Impl ; + public final void rule__BasicEventDefinition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1340:1: ( rule__BasicEventDefinition__Group__3__Impl ) + // InternalCftLanguage.g:1341:2: rule__BasicEventDefinition__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__BasicEventDefinition__Group__3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicEventDefinition__Group__3" + + + // $ANTLR start "rule__BasicEventDefinition__Group__3__Impl" + // InternalCftLanguage.g:1347:1: rule__BasicEventDefinition__Group__3__Impl : ( ( rule__BasicEventDefinition__RateAssignment_3 ) ) ; + public final void rule__BasicEventDefinition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1351:1: ( ( ( rule__BasicEventDefinition__RateAssignment_3 ) ) ) + // InternalCftLanguage.g:1352:1: ( ( rule__BasicEventDefinition__RateAssignment_3 ) ) + { + // InternalCftLanguage.g:1352:1: ( ( rule__BasicEventDefinition__RateAssignment_3 ) ) + // InternalCftLanguage.g:1353:2: ( rule__BasicEventDefinition__RateAssignment_3 ) + { + before(grammarAccess.getBasicEventDefinitionAccess().getRateAssignment_3()); + // InternalCftLanguage.g:1354:2: ( rule__BasicEventDefinition__RateAssignment_3 ) + // InternalCftLanguage.g:1354:3: rule__BasicEventDefinition__RateAssignment_3 + { + pushFollow(FOLLOW_2); + rule__BasicEventDefinition__RateAssignment_3(); + + state._fsp--; + + + } + + after(grammarAccess.getBasicEventDefinitionAccess().getRateAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicEventDefinition__Group__3__Impl" + + + // $ANTLR start "rule__AndGate__Group__0" + // InternalCftLanguage.g:1363:1: rule__AndGate__Group__0 : rule__AndGate__Group__0__Impl rule__AndGate__Group__1 ; + public final void rule__AndGate__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1367:1: ( rule__AndGate__Group__0__Impl rule__AndGate__Group__1 ) + // InternalCftLanguage.g:1368:2: rule__AndGate__Group__0__Impl rule__AndGate__Group__1 + { + pushFollow(FOLLOW_17); + rule__AndGate__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AndGate__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndGate__Group__0" + + + // $ANTLR start "rule__AndGate__Group__0__Impl" + // InternalCftLanguage.g:1375:1: rule__AndGate__Group__0__Impl : ( ( rule__AndGate__NameAssignment_0 ) ) ; + public final void rule__AndGate__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1379:1: ( ( ( rule__AndGate__NameAssignment_0 ) ) ) + // InternalCftLanguage.g:1380:1: ( ( rule__AndGate__NameAssignment_0 ) ) + { + // InternalCftLanguage.g:1380:1: ( ( rule__AndGate__NameAssignment_0 ) ) + // InternalCftLanguage.g:1381:2: ( rule__AndGate__NameAssignment_0 ) + { + before(grammarAccess.getAndGateAccess().getNameAssignment_0()); + // InternalCftLanguage.g:1382:2: ( rule__AndGate__NameAssignment_0 ) + // InternalCftLanguage.g:1382:3: rule__AndGate__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__AndGate__NameAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getAndGateAccess().getNameAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndGate__Group__0__Impl" + + + // $ANTLR start "rule__AndGate__Group__1" + // InternalCftLanguage.g:1390:1: rule__AndGate__Group__1 : rule__AndGate__Group__1__Impl rule__AndGate__Group__2 ; + public final void rule__AndGate__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1394:1: ( rule__AndGate__Group__1__Impl rule__AndGate__Group__2 ) + // InternalCftLanguage.g:1395:2: rule__AndGate__Group__1__Impl rule__AndGate__Group__2 + { + pushFollow(FOLLOW_3); + rule__AndGate__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AndGate__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndGate__Group__1" + + + // $ANTLR start "rule__AndGate__Group__1__Impl" + // InternalCftLanguage.g:1402:1: rule__AndGate__Group__1__Impl : ( 'and' ) ; + public final void rule__AndGate__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1406:1: ( ( 'and' ) ) + // InternalCftLanguage.g:1407:1: ( 'and' ) + { + // InternalCftLanguage.g:1407:1: ( 'and' ) + // InternalCftLanguage.g:1408:2: 'and' + { + before(grammarAccess.getAndGateAccess().getAndKeyword_1()); + match(input,23,FOLLOW_2); + after(grammarAccess.getAndGateAccess().getAndKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndGate__Group__1__Impl" + + + // $ANTLR start "rule__AndGate__Group__2" + // InternalCftLanguage.g:1417:1: rule__AndGate__Group__2 : rule__AndGate__Group__2__Impl ; + public final void rule__AndGate__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1421:1: ( rule__AndGate__Group__2__Impl ) + // InternalCftLanguage.g:1422:2: rule__AndGate__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__AndGate__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndGate__Group__2" + + + // $ANTLR start "rule__AndGate__Group__2__Impl" + // InternalCftLanguage.g:1428:1: rule__AndGate__Group__2__Impl : ( ( rule__AndGate__InputEventsAssignment_2 )* ) ; + public final void rule__AndGate__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1432:1: ( ( ( rule__AndGate__InputEventsAssignment_2 )* ) ) + // InternalCftLanguage.g:1433:1: ( ( rule__AndGate__InputEventsAssignment_2 )* ) + { + // InternalCftLanguage.g:1433:1: ( ( rule__AndGate__InputEventsAssignment_2 )* ) + // InternalCftLanguage.g:1434:2: ( rule__AndGate__InputEventsAssignment_2 )* + { + before(grammarAccess.getAndGateAccess().getInputEventsAssignment_2()); + // InternalCftLanguage.g:1435:2: ( rule__AndGate__InputEventsAssignment_2 )* + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0==RULE_ID) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // InternalCftLanguage.g:1435:3: rule__AndGate__InputEventsAssignment_2 + { + pushFollow(FOLLOW_11); + rule__AndGate__InputEventsAssignment_2(); + + state._fsp--; + + + } + break; + + default : + break loop14; + } + } while (true); + + after(grammarAccess.getAndGateAccess().getInputEventsAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndGate__Group__2__Impl" + + + // $ANTLR start "rule__OrGate__Group__0" + // InternalCftLanguage.g:1444:1: rule__OrGate__Group__0 : rule__OrGate__Group__0__Impl rule__OrGate__Group__1 ; + public final void rule__OrGate__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1448:1: ( rule__OrGate__Group__0__Impl rule__OrGate__Group__1 ) + // InternalCftLanguage.g:1449:2: rule__OrGate__Group__0__Impl rule__OrGate__Group__1 + { + pushFollow(FOLLOW_18); + rule__OrGate__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__OrGate__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrGate__Group__0" + + + // $ANTLR start "rule__OrGate__Group__0__Impl" + // InternalCftLanguage.g:1456:1: rule__OrGate__Group__0__Impl : ( ( rule__OrGate__NameAssignment_0 ) ) ; + public final void rule__OrGate__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1460:1: ( ( ( rule__OrGate__NameAssignment_0 ) ) ) + // InternalCftLanguage.g:1461:1: ( ( rule__OrGate__NameAssignment_0 ) ) + { + // InternalCftLanguage.g:1461:1: ( ( rule__OrGate__NameAssignment_0 ) ) + // InternalCftLanguage.g:1462:2: ( rule__OrGate__NameAssignment_0 ) + { + before(grammarAccess.getOrGateAccess().getNameAssignment_0()); + // InternalCftLanguage.g:1463:2: ( rule__OrGate__NameAssignment_0 ) + // InternalCftLanguage.g:1463:3: rule__OrGate__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__OrGate__NameAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getOrGateAccess().getNameAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrGate__Group__0__Impl" + + + // $ANTLR start "rule__OrGate__Group__1" + // InternalCftLanguage.g:1471:1: rule__OrGate__Group__1 : rule__OrGate__Group__1__Impl rule__OrGate__Group__2 ; + public final void rule__OrGate__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1475:1: ( rule__OrGate__Group__1__Impl rule__OrGate__Group__2 ) + // InternalCftLanguage.g:1476:2: rule__OrGate__Group__1__Impl rule__OrGate__Group__2 + { + pushFollow(FOLLOW_3); + rule__OrGate__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__OrGate__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrGate__Group__1" + + + // $ANTLR start "rule__OrGate__Group__1__Impl" + // InternalCftLanguage.g:1483:1: rule__OrGate__Group__1__Impl : ( 'or' ) ; + public final void rule__OrGate__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1487:1: ( ( 'or' ) ) + // InternalCftLanguage.g:1488:1: ( 'or' ) + { + // InternalCftLanguage.g:1488:1: ( 'or' ) + // InternalCftLanguage.g:1489:2: 'or' + { + before(grammarAccess.getOrGateAccess().getOrKeyword_1()); + match(input,24,FOLLOW_2); + after(grammarAccess.getOrGateAccess().getOrKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrGate__Group__1__Impl" + + + // $ANTLR start "rule__OrGate__Group__2" + // InternalCftLanguage.g:1498:1: rule__OrGate__Group__2 : rule__OrGate__Group__2__Impl ; + public final void rule__OrGate__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1502:1: ( rule__OrGate__Group__2__Impl ) + // InternalCftLanguage.g:1503:2: rule__OrGate__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__OrGate__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrGate__Group__2" + + + // $ANTLR start "rule__OrGate__Group__2__Impl" + // InternalCftLanguage.g:1509:1: rule__OrGate__Group__2__Impl : ( ( rule__OrGate__InputEventsAssignment_2 )* ) ; + public final void rule__OrGate__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1513:1: ( ( ( rule__OrGate__InputEventsAssignment_2 )* ) ) + // InternalCftLanguage.g:1514:1: ( ( rule__OrGate__InputEventsAssignment_2 )* ) + { + // InternalCftLanguage.g:1514:1: ( ( rule__OrGate__InputEventsAssignment_2 )* ) + // InternalCftLanguage.g:1515:2: ( rule__OrGate__InputEventsAssignment_2 )* + { + before(grammarAccess.getOrGateAccess().getInputEventsAssignment_2()); + // InternalCftLanguage.g:1516:2: ( rule__OrGate__InputEventsAssignment_2 )* + loop15: + do { + int alt15=2; + int LA15_0 = input.LA(1); + + if ( (LA15_0==RULE_ID) ) { + alt15=1; + } + + + switch (alt15) { + case 1 : + // InternalCftLanguage.g:1516:3: rule__OrGate__InputEventsAssignment_2 + { + pushFollow(FOLLOW_11); + rule__OrGate__InputEventsAssignment_2(); + + state._fsp--; + + + } + break; + + default : + break loop15; + } + } while (true); + + after(grammarAccess.getOrGateAccess().getInputEventsAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrGate__Group__2__Impl" + + + // $ANTLR start "rule__TransformationDefinition__Group__0" + // InternalCftLanguage.g:1525:1: rule__TransformationDefinition__Group__0 : rule__TransformationDefinition__Group__0__Impl rule__TransformationDefinition__Group__1 ; + public final void rule__TransformationDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1529:1: ( rule__TransformationDefinition__Group__0__Impl rule__TransformationDefinition__Group__1 ) + // InternalCftLanguage.g:1530:2: rule__TransformationDefinition__Group__0__Impl rule__TransformationDefinition__Group__1 + { + pushFollow(FOLLOW_3); + rule__TransformationDefinition__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TransformationDefinition__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__Group__0" + + + // $ANTLR start "rule__TransformationDefinition__Group__0__Impl" + // InternalCftLanguage.g:1537:1: rule__TransformationDefinition__Group__0__Impl : ( 'transformation' ) ; + public final void rule__TransformationDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1541:1: ( ( 'transformation' ) ) + // InternalCftLanguage.g:1542:1: ( 'transformation' ) + { + // InternalCftLanguage.g:1542:1: ( 'transformation' ) + // InternalCftLanguage.g:1543:2: 'transformation' + { + before(grammarAccess.getTransformationDefinitionAccess().getTransformationKeyword_0()); + match(input,25,FOLLOW_2); + after(grammarAccess.getTransformationDefinitionAccess().getTransformationKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__Group__0__Impl" + + + // $ANTLR start "rule__TransformationDefinition__Group__1" + // InternalCftLanguage.g:1552:1: rule__TransformationDefinition__Group__1 : rule__TransformationDefinition__Group__1__Impl rule__TransformationDefinition__Group__2 ; + public final void rule__TransformationDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1556:1: ( rule__TransformationDefinition__Group__1__Impl rule__TransformationDefinition__Group__2 ) + // InternalCftLanguage.g:1557:2: rule__TransformationDefinition__Group__1__Impl rule__TransformationDefinition__Group__2 + { + pushFollow(FOLLOW_8); + rule__TransformationDefinition__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TransformationDefinition__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__Group__1" + + + // $ANTLR start "rule__TransformationDefinition__Group__1__Impl" + // InternalCftLanguage.g:1564:1: rule__TransformationDefinition__Group__1__Impl : ( ( rule__TransformationDefinition__NameAssignment_1 ) ) ; + public final void rule__TransformationDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1568:1: ( ( ( rule__TransformationDefinition__NameAssignment_1 ) ) ) + // InternalCftLanguage.g:1569:1: ( ( rule__TransformationDefinition__NameAssignment_1 ) ) + { + // InternalCftLanguage.g:1569:1: ( ( rule__TransformationDefinition__NameAssignment_1 ) ) + // InternalCftLanguage.g:1570:2: ( rule__TransformationDefinition__NameAssignment_1 ) + { + before(grammarAccess.getTransformationDefinitionAccess().getNameAssignment_1()); + // InternalCftLanguage.g:1571:2: ( rule__TransformationDefinition__NameAssignment_1 ) + // InternalCftLanguage.g:1571:3: rule__TransformationDefinition__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__TransformationDefinition__NameAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getTransformationDefinitionAccess().getNameAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__Group__1__Impl" + + + // $ANTLR start "rule__TransformationDefinition__Group__2" + // InternalCftLanguage.g:1579:1: rule__TransformationDefinition__Group__2 : rule__TransformationDefinition__Group__2__Impl rule__TransformationDefinition__Group__3 ; + public final void rule__TransformationDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1583:1: ( rule__TransformationDefinition__Group__2__Impl rule__TransformationDefinition__Group__3 ) + // InternalCftLanguage.g:1584:2: rule__TransformationDefinition__Group__2__Impl rule__TransformationDefinition__Group__3 + { + pushFollow(FOLLOW_19); + rule__TransformationDefinition__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TransformationDefinition__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__Group__2" + + + // $ANTLR start "rule__TransformationDefinition__Group__2__Impl" + // InternalCftLanguage.g:1591:1: rule__TransformationDefinition__Group__2__Impl : ( '{' ) ; + public final void rule__TransformationDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1595:1: ( ( '{' ) ) + // InternalCftLanguage.g:1596:1: ( '{' ) + { + // InternalCftLanguage.g:1596:1: ( '{' ) + // InternalCftLanguage.g:1597:2: '{' + { + before(grammarAccess.getTransformationDefinitionAccess().getLeftCurlyBracketKeyword_2()); + match(input,17,FOLLOW_2); + after(grammarAccess.getTransformationDefinitionAccess().getLeftCurlyBracketKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__Group__2__Impl" + + + // $ANTLR start "rule__TransformationDefinition__Group__3" + // InternalCftLanguage.g:1606:1: rule__TransformationDefinition__Group__3 : rule__TransformationDefinition__Group__3__Impl rule__TransformationDefinition__Group__4 ; + public final void rule__TransformationDefinition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1610:1: ( rule__TransformationDefinition__Group__3__Impl rule__TransformationDefinition__Group__4 ) + // InternalCftLanguage.g:1611:2: rule__TransformationDefinition__Group__3__Impl rule__TransformationDefinition__Group__4 + { + pushFollow(FOLLOW_19); + rule__TransformationDefinition__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__TransformationDefinition__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__Group__3" + + + // $ANTLR start "rule__TransformationDefinition__Group__3__Impl" + // InternalCftLanguage.g:1618:1: rule__TransformationDefinition__Group__3__Impl : ( ( rule__TransformationDefinition__MappingDefinitionsAssignment_3 )* ) ; + public final void rule__TransformationDefinition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1622:1: ( ( ( rule__TransformationDefinition__MappingDefinitionsAssignment_3 )* ) ) + // InternalCftLanguage.g:1623:1: ( ( rule__TransformationDefinition__MappingDefinitionsAssignment_3 )* ) + { + // InternalCftLanguage.g:1623:1: ( ( rule__TransformationDefinition__MappingDefinitionsAssignment_3 )* ) + // InternalCftLanguage.g:1624:2: ( rule__TransformationDefinition__MappingDefinitionsAssignment_3 )* + { + before(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsAssignment_3()); + // InternalCftLanguage.g:1625:2: ( rule__TransformationDefinition__MappingDefinitionsAssignment_3 )* + loop16: + do { + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0==26||LA16_0==36) ) { + alt16=1; + } + + + switch (alt16) { + case 1 : + // InternalCftLanguage.g:1625:3: rule__TransformationDefinition__MappingDefinitionsAssignment_3 + { + pushFollow(FOLLOW_20); + rule__TransformationDefinition__MappingDefinitionsAssignment_3(); + + state._fsp--; + + + } + break; + + default : + break loop16; + } + } while (true); + + after(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__Group__3__Impl" + + + // $ANTLR start "rule__TransformationDefinition__Group__4" + // InternalCftLanguage.g:1633:1: rule__TransformationDefinition__Group__4 : rule__TransformationDefinition__Group__4__Impl ; + public final void rule__TransformationDefinition__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1637:1: ( rule__TransformationDefinition__Group__4__Impl ) + // InternalCftLanguage.g:1638:2: rule__TransformationDefinition__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__TransformationDefinition__Group__4__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__Group__4" + + + // $ANTLR start "rule__TransformationDefinition__Group__4__Impl" + // InternalCftLanguage.g:1644:1: rule__TransformationDefinition__Group__4__Impl : ( '}' ) ; + public final void rule__TransformationDefinition__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1648:1: ( ( '}' ) ) + // InternalCftLanguage.g:1649:1: ( '}' ) + { + // InternalCftLanguage.g:1649:1: ( '}' ) + // InternalCftLanguage.g:1650:2: '}' + { + before(grammarAccess.getTransformationDefinitionAccess().getRightCurlyBracketKeyword_4()); + match(input,18,FOLLOW_2); + after(grammarAccess.getTransformationDefinitionAccess().getRightCurlyBracketKeyword_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__Group__4__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group__0" + // InternalCftLanguage.g:1660:1: rule__MappingDefinition__Group__0 : rule__MappingDefinition__Group__0__Impl rule__MappingDefinition__Group__1 ; + public final void rule__MappingDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1664:1: ( rule__MappingDefinition__Group__0__Impl rule__MappingDefinition__Group__1 ) + // InternalCftLanguage.g:1665:2: rule__MappingDefinition__Group__0__Impl rule__MappingDefinition__Group__1 + { + pushFollow(FOLLOW_21); + rule__MappingDefinition__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__0" + + + // $ANTLR start "rule__MappingDefinition__Group__0__Impl" + // InternalCftLanguage.g:1672:1: rule__MappingDefinition__Group__0__Impl : ( ( rule__MappingDefinition__TopLevelAssignment_0 )? ) ; + public final void rule__MappingDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1676:1: ( ( ( rule__MappingDefinition__TopLevelAssignment_0 )? ) ) + // InternalCftLanguage.g:1677:1: ( ( rule__MappingDefinition__TopLevelAssignment_0 )? ) + { + // InternalCftLanguage.g:1677:1: ( ( rule__MappingDefinition__TopLevelAssignment_0 )? ) + // InternalCftLanguage.g:1678:2: ( rule__MappingDefinition__TopLevelAssignment_0 )? + { + before(grammarAccess.getMappingDefinitionAccess().getTopLevelAssignment_0()); + // InternalCftLanguage.g:1679:2: ( rule__MappingDefinition__TopLevelAssignment_0 )? + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==36) ) { + alt17=1; + } + switch (alt17) { + case 1 : + // InternalCftLanguage.g:1679:3: rule__MappingDefinition__TopLevelAssignment_0 + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__TopLevelAssignment_0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getMappingDefinitionAccess().getTopLevelAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__0__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group__1" + // InternalCftLanguage.g:1687:1: rule__MappingDefinition__Group__1 : rule__MappingDefinition__Group__1__Impl rule__MappingDefinition__Group__2 ; + public final void rule__MappingDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1691:1: ( rule__MappingDefinition__Group__1__Impl rule__MappingDefinition__Group__2 ) + // InternalCftLanguage.g:1692:2: rule__MappingDefinition__Group__1__Impl rule__MappingDefinition__Group__2 + { + pushFollow(FOLLOW_3); + rule__MappingDefinition__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__1" + + + // $ANTLR start "rule__MappingDefinition__Group__1__Impl" + // InternalCftLanguage.g:1699:1: rule__MappingDefinition__Group__1__Impl : ( 'mapping' ) ; + public final void rule__MappingDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1703:1: ( ( 'mapping' ) ) + // InternalCftLanguage.g:1704:1: ( 'mapping' ) + { + // InternalCftLanguage.g:1704:1: ( 'mapping' ) + // InternalCftLanguage.g:1705:2: 'mapping' + { + before(grammarAccess.getMappingDefinitionAccess().getMappingKeyword_1()); + match(input,26,FOLLOW_2); + after(grammarAccess.getMappingDefinitionAccess().getMappingKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__1__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group__2" + // InternalCftLanguage.g:1714:1: rule__MappingDefinition__Group__2 : rule__MappingDefinition__Group__2__Impl rule__MappingDefinition__Group__3 ; + public final void rule__MappingDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1718:1: ( rule__MappingDefinition__Group__2__Impl rule__MappingDefinition__Group__3 ) + // InternalCftLanguage.g:1719:2: rule__MappingDefinition__Group__2__Impl rule__MappingDefinition__Group__3 + { + pushFollow(FOLLOW_22); + rule__MappingDefinition__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__2" + + + // $ANTLR start "rule__MappingDefinition__Group__2__Impl" + // InternalCftLanguage.g:1726:1: rule__MappingDefinition__Group__2__Impl : ( ( rule__MappingDefinition__PatternAssignment_2 ) ) ; + public final void rule__MappingDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1730:1: ( ( ( rule__MappingDefinition__PatternAssignment_2 ) ) ) + // InternalCftLanguage.g:1731:1: ( ( rule__MappingDefinition__PatternAssignment_2 ) ) + { + // InternalCftLanguage.g:1731:1: ( ( rule__MappingDefinition__PatternAssignment_2 ) ) + // InternalCftLanguage.g:1732:2: ( rule__MappingDefinition__PatternAssignment_2 ) + { + before(grammarAccess.getMappingDefinitionAccess().getPatternAssignment_2()); + // InternalCftLanguage.g:1733:2: ( rule__MappingDefinition__PatternAssignment_2 ) + // InternalCftLanguage.g:1733:3: rule__MappingDefinition__PatternAssignment_2 + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__PatternAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getMappingDefinitionAccess().getPatternAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__2__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group__3" + // InternalCftLanguage.g:1741:1: rule__MappingDefinition__Group__3 : rule__MappingDefinition__Group__3__Impl rule__MappingDefinition__Group__4 ; + public final void rule__MappingDefinition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1745:1: ( rule__MappingDefinition__Group__3__Impl rule__MappingDefinition__Group__4 ) + // InternalCftLanguage.g:1746:2: rule__MappingDefinition__Group__3__Impl rule__MappingDefinition__Group__4 + { + pushFollow(FOLLOW_3); + rule__MappingDefinition__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__3" + + + // $ANTLR start "rule__MappingDefinition__Group__3__Impl" + // InternalCftLanguage.g:1753:1: rule__MappingDefinition__Group__3__Impl : ( '(' ) ; + public final void rule__MappingDefinition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1757:1: ( ( '(' ) ) + // InternalCftLanguage.g:1758:1: ( '(' ) + { + // InternalCftLanguage.g:1758:1: ( '(' ) + // InternalCftLanguage.g:1759:2: '(' + { + before(grammarAccess.getMappingDefinitionAccess().getLeftParenthesisKeyword_3()); + match(input,27,FOLLOW_2); + after(grammarAccess.getMappingDefinitionAccess().getLeftParenthesisKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__3__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group__4" + // InternalCftLanguage.g:1768:1: rule__MappingDefinition__Group__4 : rule__MappingDefinition__Group__4__Impl rule__MappingDefinition__Group__5 ; + public final void rule__MappingDefinition__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1772:1: ( rule__MappingDefinition__Group__4__Impl rule__MappingDefinition__Group__5 ) + // InternalCftLanguage.g:1773:2: rule__MappingDefinition__Group__4__Impl rule__MappingDefinition__Group__5 + { + pushFollow(FOLLOW_23); + rule__MappingDefinition__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__4" + + + // $ANTLR start "rule__MappingDefinition__Group__4__Impl" + // InternalCftLanguage.g:1780:1: rule__MappingDefinition__Group__4__Impl : ( ( rule__MappingDefinition__ParametersAssignment_4 ) ) ; + public final void rule__MappingDefinition__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1784:1: ( ( ( rule__MappingDefinition__ParametersAssignment_4 ) ) ) + // InternalCftLanguage.g:1785:1: ( ( rule__MappingDefinition__ParametersAssignment_4 ) ) + { + // InternalCftLanguage.g:1785:1: ( ( rule__MappingDefinition__ParametersAssignment_4 ) ) + // InternalCftLanguage.g:1786:2: ( rule__MappingDefinition__ParametersAssignment_4 ) + { + before(grammarAccess.getMappingDefinitionAccess().getParametersAssignment_4()); + // InternalCftLanguage.g:1787:2: ( rule__MappingDefinition__ParametersAssignment_4 ) + // InternalCftLanguage.g:1787:3: rule__MappingDefinition__ParametersAssignment_4 + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__ParametersAssignment_4(); + + state._fsp--; + + + } + + after(grammarAccess.getMappingDefinitionAccess().getParametersAssignment_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__4__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group__5" + // InternalCftLanguage.g:1795:1: rule__MappingDefinition__Group__5 : rule__MappingDefinition__Group__5__Impl rule__MappingDefinition__Group__6 ; + public final void rule__MappingDefinition__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1799:1: ( rule__MappingDefinition__Group__5__Impl rule__MappingDefinition__Group__6 ) + // InternalCftLanguage.g:1800:2: rule__MappingDefinition__Group__5__Impl rule__MappingDefinition__Group__6 + { + pushFollow(FOLLOW_23); + rule__MappingDefinition__Group__5__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group__6(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__5" + + + // $ANTLR start "rule__MappingDefinition__Group__5__Impl" + // InternalCftLanguage.g:1807:1: rule__MappingDefinition__Group__5__Impl : ( ( rule__MappingDefinition__Group_5__0 )* ) ; + public final void rule__MappingDefinition__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1811:1: ( ( ( rule__MappingDefinition__Group_5__0 )* ) ) + // InternalCftLanguage.g:1812:1: ( ( rule__MappingDefinition__Group_5__0 )* ) + { + // InternalCftLanguage.g:1812:1: ( ( rule__MappingDefinition__Group_5__0 )* ) + // InternalCftLanguage.g:1813:2: ( rule__MappingDefinition__Group_5__0 )* + { + before(grammarAccess.getMappingDefinitionAccess().getGroup_5()); + // InternalCftLanguage.g:1814:2: ( rule__MappingDefinition__Group_5__0 )* + loop18: + do { + int alt18=2; + int LA18_0 = input.LA(1); + + if ( (LA18_0==29) ) { + alt18=1; + } + + + switch (alt18) { + case 1 : + // InternalCftLanguage.g:1814:3: rule__MappingDefinition__Group_5__0 + { + pushFollow(FOLLOW_24); + rule__MappingDefinition__Group_5__0(); + + state._fsp--; + + + } + break; + + default : + break loop18; + } + } while (true); + + after(grammarAccess.getMappingDefinitionAccess().getGroup_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__5__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group__6" + // InternalCftLanguage.g:1822:1: rule__MappingDefinition__Group__6 : rule__MappingDefinition__Group__6__Impl rule__MappingDefinition__Group__7 ; + public final void rule__MappingDefinition__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1826:1: ( rule__MappingDefinition__Group__6__Impl rule__MappingDefinition__Group__7 ) + // InternalCftLanguage.g:1827:2: rule__MappingDefinition__Group__6__Impl rule__MappingDefinition__Group__7 + { + pushFollow(FOLLOW_25); + rule__MappingDefinition__Group__6__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group__7(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__6" + + + // $ANTLR start "rule__MappingDefinition__Group__6__Impl" + // InternalCftLanguage.g:1834:1: rule__MappingDefinition__Group__6__Impl : ( ')' ) ; + public final void rule__MappingDefinition__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1838:1: ( ( ')' ) ) + // InternalCftLanguage.g:1839:1: ( ')' ) + { + // InternalCftLanguage.g:1839:1: ( ')' ) + // InternalCftLanguage.g:1840:2: ')' + { + before(grammarAccess.getMappingDefinitionAccess().getRightParenthesisKeyword_6()); + match(input,28,FOLLOW_2); + after(grammarAccess.getMappingDefinitionAccess().getRightParenthesisKeyword_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__6__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group__7" + // InternalCftLanguage.g:1849:1: rule__MappingDefinition__Group__7 : rule__MappingDefinition__Group__7__Impl rule__MappingDefinition__Group__8 ; + public final void rule__MappingDefinition__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1853:1: ( rule__MappingDefinition__Group__7__Impl rule__MappingDefinition__Group__8 ) + // InternalCftLanguage.g:1854:2: rule__MappingDefinition__Group__7__Impl rule__MappingDefinition__Group__8 + { + pushFollow(FOLLOW_25); + rule__MappingDefinition__Group__7__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group__8(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__7" + + + // $ANTLR start "rule__MappingDefinition__Group__7__Impl" + // InternalCftLanguage.g:1861:1: rule__MappingDefinition__Group__7__Impl : ( ( rule__MappingDefinition__ComponentInstanceAssignment_7 )? ) ; + public final void rule__MappingDefinition__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1865:1: ( ( ( rule__MappingDefinition__ComponentInstanceAssignment_7 )? ) ) + // InternalCftLanguage.g:1866:1: ( ( rule__MappingDefinition__ComponentInstanceAssignment_7 )? ) + { + // InternalCftLanguage.g:1866:1: ( ( rule__MappingDefinition__ComponentInstanceAssignment_7 )? ) + // InternalCftLanguage.g:1867:2: ( rule__MappingDefinition__ComponentInstanceAssignment_7 )? + { + before(grammarAccess.getMappingDefinitionAccess().getComponentInstanceAssignment_7()); + // InternalCftLanguage.g:1868:2: ( rule__MappingDefinition__ComponentInstanceAssignment_7 )? + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==33) ) { + alt19=1; + } + switch (alt19) { + case 1 : + // InternalCftLanguage.g:1868:3: rule__MappingDefinition__ComponentInstanceAssignment_7 + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__ComponentInstanceAssignment_7(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getMappingDefinitionAccess().getComponentInstanceAssignment_7()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__7__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group__8" + // InternalCftLanguage.g:1876:1: rule__MappingDefinition__Group__8 : rule__MappingDefinition__Group__8__Impl ; + public final void rule__MappingDefinition__Group__8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1880:1: ( rule__MappingDefinition__Group__8__Impl ) + // InternalCftLanguage.g:1881:2: rule__MappingDefinition__Group__8__Impl + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group__8__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__8" + + + // $ANTLR start "rule__MappingDefinition__Group__8__Impl" + // InternalCftLanguage.g:1887:1: rule__MappingDefinition__Group__8__Impl : ( ( rule__MappingDefinition__Group_8__0 )? ) ; + public final void rule__MappingDefinition__Group__8__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1891:1: ( ( ( rule__MappingDefinition__Group_8__0 )? ) ) + // InternalCftLanguage.g:1892:1: ( ( rule__MappingDefinition__Group_8__0 )? ) + { + // InternalCftLanguage.g:1892:1: ( ( rule__MappingDefinition__Group_8__0 )? ) + // InternalCftLanguage.g:1893:2: ( rule__MappingDefinition__Group_8__0 )? + { + before(grammarAccess.getMappingDefinitionAccess().getGroup_8()); + // InternalCftLanguage.g:1894:2: ( rule__MappingDefinition__Group_8__0 )? + int alt20=2; + int LA20_0 = input.LA(1); + + if ( (LA20_0==17) ) { + alt20=1; + } + switch (alt20) { + case 1 : + // InternalCftLanguage.g:1894:3: rule__MappingDefinition__Group_8__0 + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group_8__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getMappingDefinitionAccess().getGroup_8()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group__8__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group_5__0" + // InternalCftLanguage.g:1903:1: rule__MappingDefinition__Group_5__0 : rule__MappingDefinition__Group_5__0__Impl rule__MappingDefinition__Group_5__1 ; + public final void rule__MappingDefinition__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1907:1: ( rule__MappingDefinition__Group_5__0__Impl rule__MappingDefinition__Group_5__1 ) + // InternalCftLanguage.g:1908:2: rule__MappingDefinition__Group_5__0__Impl rule__MappingDefinition__Group_5__1 + { + pushFollow(FOLLOW_3); + rule__MappingDefinition__Group_5__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group_5__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_5__0" + + + // $ANTLR start "rule__MappingDefinition__Group_5__0__Impl" + // InternalCftLanguage.g:1915:1: rule__MappingDefinition__Group_5__0__Impl : ( ',' ) ; + public final void rule__MappingDefinition__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1919:1: ( ( ',' ) ) + // InternalCftLanguage.g:1920:1: ( ',' ) + { + // InternalCftLanguage.g:1920:1: ( ',' ) + // InternalCftLanguage.g:1921:2: ',' + { + before(grammarAccess.getMappingDefinitionAccess().getCommaKeyword_5_0()); + match(input,29,FOLLOW_2); + after(grammarAccess.getMappingDefinitionAccess().getCommaKeyword_5_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_5__0__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group_5__1" + // InternalCftLanguage.g:1930:1: rule__MappingDefinition__Group_5__1 : rule__MappingDefinition__Group_5__1__Impl ; + public final void rule__MappingDefinition__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1934:1: ( rule__MappingDefinition__Group_5__1__Impl ) + // InternalCftLanguage.g:1935:2: rule__MappingDefinition__Group_5__1__Impl + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group_5__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_5__1" + + + // $ANTLR start "rule__MappingDefinition__Group_5__1__Impl" + // InternalCftLanguage.g:1941:1: rule__MappingDefinition__Group_5__1__Impl : ( ( rule__MappingDefinition__ParametersAssignment_5_1 ) ) ; + public final void rule__MappingDefinition__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1945:1: ( ( ( rule__MappingDefinition__ParametersAssignment_5_1 ) ) ) + // InternalCftLanguage.g:1946:1: ( ( rule__MappingDefinition__ParametersAssignment_5_1 ) ) + { + // InternalCftLanguage.g:1946:1: ( ( rule__MappingDefinition__ParametersAssignment_5_1 ) ) + // InternalCftLanguage.g:1947:2: ( rule__MappingDefinition__ParametersAssignment_5_1 ) + { + before(grammarAccess.getMappingDefinitionAccess().getParametersAssignment_5_1()); + // InternalCftLanguage.g:1948:2: ( rule__MappingDefinition__ParametersAssignment_5_1 ) + // InternalCftLanguage.g:1948:3: rule__MappingDefinition__ParametersAssignment_5_1 + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__ParametersAssignment_5_1(); + + state._fsp--; + + + } + + after(grammarAccess.getMappingDefinitionAccess().getParametersAssignment_5_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_5__1__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group_8__0" + // InternalCftLanguage.g:1957:1: rule__MappingDefinition__Group_8__0 : rule__MappingDefinition__Group_8__0__Impl rule__MappingDefinition__Group_8__1 ; + public final void rule__MappingDefinition__Group_8__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1961:1: ( rule__MappingDefinition__Group_8__0__Impl rule__MappingDefinition__Group_8__1 ) + // InternalCftLanguage.g:1962:2: rule__MappingDefinition__Group_8__0__Impl rule__MappingDefinition__Group_8__1 + { + pushFollow(FOLLOW_26); + rule__MappingDefinition__Group_8__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group_8__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_8__0" + + + // $ANTLR start "rule__MappingDefinition__Group_8__0__Impl" + // InternalCftLanguage.g:1969:1: rule__MappingDefinition__Group_8__0__Impl : ( '{' ) ; + public final void rule__MappingDefinition__Group_8__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1973:1: ( ( '{' ) ) + // InternalCftLanguage.g:1974:1: ( '{' ) + { + // InternalCftLanguage.g:1974:1: ( '{' ) + // InternalCftLanguage.g:1975:2: '{' + { + before(grammarAccess.getMappingDefinitionAccess().getLeftCurlyBracketKeyword_8_0()); + match(input,17,FOLLOW_2); + after(grammarAccess.getMappingDefinitionAccess().getLeftCurlyBracketKeyword_8_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_8__0__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group_8__1" + // InternalCftLanguage.g:1984:1: rule__MappingDefinition__Group_8__1 : rule__MappingDefinition__Group_8__1__Impl rule__MappingDefinition__Group_8__2 ; + public final void rule__MappingDefinition__Group_8__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:1988:1: ( rule__MappingDefinition__Group_8__1__Impl rule__MappingDefinition__Group_8__2 ) + // InternalCftLanguage.g:1989:2: rule__MappingDefinition__Group_8__1__Impl rule__MappingDefinition__Group_8__2 + { + pushFollow(FOLLOW_26); + rule__MappingDefinition__Group_8__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group_8__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_8__1" + + + // $ANTLR start "rule__MappingDefinition__Group_8__1__Impl" + // InternalCftLanguage.g:1996:1: rule__MappingDefinition__Group_8__1__Impl : ( ( rule__MappingDefinition__Group_8_1__0 )* ) ; + public final void rule__MappingDefinition__Group_8__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2000:1: ( ( ( rule__MappingDefinition__Group_8_1__0 )* ) ) + // InternalCftLanguage.g:2001:1: ( ( rule__MappingDefinition__Group_8_1__0 )* ) + { + // InternalCftLanguage.g:2001:1: ( ( rule__MappingDefinition__Group_8_1__0 )* ) + // InternalCftLanguage.g:2002:2: ( rule__MappingDefinition__Group_8_1__0 )* + { + before(grammarAccess.getMappingDefinitionAccess().getGroup_8_1()); + // InternalCftLanguage.g:2003:2: ( rule__MappingDefinition__Group_8_1__0 )* + loop21: + do { + int alt21=2; + int LA21_0 = input.LA(1); + + if ( (LA21_0==RULE_ID||LA21_0==30) ) { + alt21=1; + } + + + switch (alt21) { + case 1 : + // InternalCftLanguage.g:2003:3: rule__MappingDefinition__Group_8_1__0 + { + pushFollow(FOLLOW_27); + rule__MappingDefinition__Group_8_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop21; + } + } while (true); + + after(grammarAccess.getMappingDefinitionAccess().getGroup_8_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_8__1__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group_8__2" + // InternalCftLanguage.g:2011:1: rule__MappingDefinition__Group_8__2 : rule__MappingDefinition__Group_8__2__Impl ; + public final void rule__MappingDefinition__Group_8__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2015:1: ( rule__MappingDefinition__Group_8__2__Impl ) + // InternalCftLanguage.g:2016:2: rule__MappingDefinition__Group_8__2__Impl + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group_8__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_8__2" + + + // $ANTLR start "rule__MappingDefinition__Group_8__2__Impl" + // InternalCftLanguage.g:2022:1: rule__MappingDefinition__Group_8__2__Impl : ( '}' ) ; + public final void rule__MappingDefinition__Group_8__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2026:1: ( ( '}' ) ) + // InternalCftLanguage.g:2027:1: ( '}' ) + { + // InternalCftLanguage.g:2027:1: ( '}' ) + // InternalCftLanguage.g:2028:2: '}' + { + before(grammarAccess.getMappingDefinitionAccess().getRightCurlyBracketKeyword_8_2()); + match(input,18,FOLLOW_2); + after(grammarAccess.getMappingDefinitionAccess().getRightCurlyBracketKeyword_8_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_8__2__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group_8_1__0" + // InternalCftLanguage.g:2038:1: rule__MappingDefinition__Group_8_1__0 : rule__MappingDefinition__Group_8_1__0__Impl rule__MappingDefinition__Group_8_1__1 ; + public final void rule__MappingDefinition__Group_8_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2042:1: ( rule__MappingDefinition__Group_8_1__0__Impl rule__MappingDefinition__Group_8_1__1 ) + // InternalCftLanguage.g:2043:2: rule__MappingDefinition__Group_8_1__0__Impl rule__MappingDefinition__Group_8_1__1 + { + pushFollow(FOLLOW_7); + rule__MappingDefinition__Group_8_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group_8_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_8_1__0" + + + // $ANTLR start "rule__MappingDefinition__Group_8_1__0__Impl" + // InternalCftLanguage.g:2050:1: rule__MappingDefinition__Group_8_1__0__Impl : ( ( rule__MappingDefinition__Alternatives_8_1_0 ) ) ; + public final void rule__MappingDefinition__Group_8_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2054:1: ( ( ( rule__MappingDefinition__Alternatives_8_1_0 ) ) ) + // InternalCftLanguage.g:2055:1: ( ( rule__MappingDefinition__Alternatives_8_1_0 ) ) + { + // InternalCftLanguage.g:2055:1: ( ( rule__MappingDefinition__Alternatives_8_1_0 ) ) + // InternalCftLanguage.g:2056:2: ( rule__MappingDefinition__Alternatives_8_1_0 ) + { + before(grammarAccess.getMappingDefinitionAccess().getAlternatives_8_1_0()); + // InternalCftLanguage.g:2057:2: ( rule__MappingDefinition__Alternatives_8_1_0 ) + // InternalCftLanguage.g:2057:3: rule__MappingDefinition__Alternatives_8_1_0 + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__Alternatives_8_1_0(); + + state._fsp--; + + + } + + after(grammarAccess.getMappingDefinitionAccess().getAlternatives_8_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_8_1__0__Impl" + + + // $ANTLR start "rule__MappingDefinition__Group_8_1__1" + // InternalCftLanguage.g:2065:1: rule__MappingDefinition__Group_8_1__1 : rule__MappingDefinition__Group_8_1__1__Impl ; + public final void rule__MappingDefinition__Group_8_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2069:1: ( rule__MappingDefinition__Group_8_1__1__Impl ) + // InternalCftLanguage.g:2070:2: rule__MappingDefinition__Group_8_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__MappingDefinition__Group_8_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_8_1__1" + + + // $ANTLR start "rule__MappingDefinition__Group_8_1__1__Impl" + // InternalCftLanguage.g:2076:1: rule__MappingDefinition__Group_8_1__1__Impl : ( ';' ) ; + public final void rule__MappingDefinition__Group_8_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2080:1: ( ( ';' ) ) + // InternalCftLanguage.g:2081:1: ( ';' ) + { + // InternalCftLanguage.g:2081:1: ( ';' ) + // InternalCftLanguage.g:2082:2: ';' + { + before(grammarAccess.getMappingDefinitionAccess().getSemicolonKeyword_8_1_1()); + match(input,14,FOLLOW_2); + after(grammarAccess.getMappingDefinitionAccess().getSemicolonKeyword_8_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__Group_8_1__1__Impl" + + + // $ANTLR start "rule__LookupDefinition__Group__0" + // InternalCftLanguage.g:2092:1: rule__LookupDefinition__Group__0 : rule__LookupDefinition__Group__0__Impl rule__LookupDefinition__Group__1 ; + public final void rule__LookupDefinition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2096:1: ( rule__LookupDefinition__Group__0__Impl rule__LookupDefinition__Group__1 ) + // InternalCftLanguage.g:2097:2: rule__LookupDefinition__Group__0__Impl rule__LookupDefinition__Group__1 + { + pushFollow(FOLLOW_3); + rule__LookupDefinition__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__0" + + + // $ANTLR start "rule__LookupDefinition__Group__0__Impl" + // InternalCftLanguage.g:2104:1: rule__LookupDefinition__Group__0__Impl : ( 'lookup' ) ; + public final void rule__LookupDefinition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2108:1: ( ( 'lookup' ) ) + // InternalCftLanguage.g:2109:1: ( 'lookup' ) + { + // InternalCftLanguage.g:2109:1: ( 'lookup' ) + // InternalCftLanguage.g:2110:2: 'lookup' + { + before(grammarAccess.getLookupDefinitionAccess().getLookupKeyword_0()); + match(input,30,FOLLOW_2); + after(grammarAccess.getLookupDefinitionAccess().getLookupKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__0__Impl" + + + // $ANTLR start "rule__LookupDefinition__Group__1" + // InternalCftLanguage.g:2119:1: rule__LookupDefinition__Group__1 : rule__LookupDefinition__Group__1__Impl rule__LookupDefinition__Group__2 ; + public final void rule__LookupDefinition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2123:1: ( rule__LookupDefinition__Group__1__Impl rule__LookupDefinition__Group__2 ) + // InternalCftLanguage.g:2124:2: rule__LookupDefinition__Group__1__Impl rule__LookupDefinition__Group__2 + { + pushFollow(FOLLOW_22); + rule__LookupDefinition__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__1" + + + // $ANTLR start "rule__LookupDefinition__Group__1__Impl" + // InternalCftLanguage.g:2131:1: rule__LookupDefinition__Group__1__Impl : ( ( rule__LookupDefinition__MappingAssignment_1 ) ) ; + public final void rule__LookupDefinition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2135:1: ( ( ( rule__LookupDefinition__MappingAssignment_1 ) ) ) + // InternalCftLanguage.g:2136:1: ( ( rule__LookupDefinition__MappingAssignment_1 ) ) + { + // InternalCftLanguage.g:2136:1: ( ( rule__LookupDefinition__MappingAssignment_1 ) ) + // InternalCftLanguage.g:2137:2: ( rule__LookupDefinition__MappingAssignment_1 ) + { + before(grammarAccess.getLookupDefinitionAccess().getMappingAssignment_1()); + // InternalCftLanguage.g:2138:2: ( rule__LookupDefinition__MappingAssignment_1 ) + // InternalCftLanguage.g:2138:3: rule__LookupDefinition__MappingAssignment_1 + { + pushFollow(FOLLOW_2); + rule__LookupDefinition__MappingAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getLookupDefinitionAccess().getMappingAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__1__Impl" + + + // $ANTLR start "rule__LookupDefinition__Group__2" + // InternalCftLanguage.g:2146:1: rule__LookupDefinition__Group__2 : rule__LookupDefinition__Group__2__Impl rule__LookupDefinition__Group__3 ; + public final void rule__LookupDefinition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2150:1: ( rule__LookupDefinition__Group__2__Impl rule__LookupDefinition__Group__3 ) + // InternalCftLanguage.g:2151:2: rule__LookupDefinition__Group__2__Impl rule__LookupDefinition__Group__3 + { + pushFollow(FOLLOW_3); + rule__LookupDefinition__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__2" + + + // $ANTLR start "rule__LookupDefinition__Group__2__Impl" + // InternalCftLanguage.g:2158:1: rule__LookupDefinition__Group__2__Impl : ( '(' ) ; + public final void rule__LookupDefinition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2162:1: ( ( '(' ) ) + // InternalCftLanguage.g:2163:1: ( '(' ) + { + // InternalCftLanguage.g:2163:1: ( '(' ) + // InternalCftLanguage.g:2164:2: '(' + { + before(grammarAccess.getLookupDefinitionAccess().getLeftParenthesisKeyword_2()); + match(input,27,FOLLOW_2); + after(grammarAccess.getLookupDefinitionAccess().getLeftParenthesisKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__2__Impl" + + + // $ANTLR start "rule__LookupDefinition__Group__3" + // InternalCftLanguage.g:2173:1: rule__LookupDefinition__Group__3 : rule__LookupDefinition__Group__3__Impl rule__LookupDefinition__Group__4 ; + public final void rule__LookupDefinition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2177:1: ( rule__LookupDefinition__Group__3__Impl rule__LookupDefinition__Group__4 ) + // InternalCftLanguage.g:2178:2: rule__LookupDefinition__Group__3__Impl rule__LookupDefinition__Group__4 + { + pushFollow(FOLLOW_23); + rule__LookupDefinition__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__3" + + + // $ANTLR start "rule__LookupDefinition__Group__3__Impl" + // InternalCftLanguage.g:2185:1: rule__LookupDefinition__Group__3__Impl : ( ( rule__LookupDefinition__ArgumentsAssignment_3 ) ) ; + public final void rule__LookupDefinition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2189:1: ( ( ( rule__LookupDefinition__ArgumentsAssignment_3 ) ) ) + // InternalCftLanguage.g:2190:1: ( ( rule__LookupDefinition__ArgumentsAssignment_3 ) ) + { + // InternalCftLanguage.g:2190:1: ( ( rule__LookupDefinition__ArgumentsAssignment_3 ) ) + // InternalCftLanguage.g:2191:2: ( rule__LookupDefinition__ArgumentsAssignment_3 ) + { + before(grammarAccess.getLookupDefinitionAccess().getArgumentsAssignment_3()); + // InternalCftLanguage.g:2192:2: ( rule__LookupDefinition__ArgumentsAssignment_3 ) + // InternalCftLanguage.g:2192:3: rule__LookupDefinition__ArgumentsAssignment_3 + { + pushFollow(FOLLOW_2); + rule__LookupDefinition__ArgumentsAssignment_3(); + + state._fsp--; + + + } + + after(grammarAccess.getLookupDefinitionAccess().getArgumentsAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__3__Impl" + + + // $ANTLR start "rule__LookupDefinition__Group__4" + // InternalCftLanguage.g:2200:1: rule__LookupDefinition__Group__4 : rule__LookupDefinition__Group__4__Impl rule__LookupDefinition__Group__5 ; + public final void rule__LookupDefinition__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2204:1: ( rule__LookupDefinition__Group__4__Impl rule__LookupDefinition__Group__5 ) + // InternalCftLanguage.g:2205:2: rule__LookupDefinition__Group__4__Impl rule__LookupDefinition__Group__5 + { + pushFollow(FOLLOW_23); + rule__LookupDefinition__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__4" + + + // $ANTLR start "rule__LookupDefinition__Group__4__Impl" + // InternalCftLanguage.g:2212:1: rule__LookupDefinition__Group__4__Impl : ( ( rule__LookupDefinition__Group_4__0 )* ) ; + public final void rule__LookupDefinition__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2216:1: ( ( ( rule__LookupDefinition__Group_4__0 )* ) ) + // InternalCftLanguage.g:2217:1: ( ( rule__LookupDefinition__Group_4__0 )* ) + { + // InternalCftLanguage.g:2217:1: ( ( rule__LookupDefinition__Group_4__0 )* ) + // InternalCftLanguage.g:2218:2: ( rule__LookupDefinition__Group_4__0 )* + { + before(grammarAccess.getLookupDefinitionAccess().getGroup_4()); + // InternalCftLanguage.g:2219:2: ( rule__LookupDefinition__Group_4__0 )* + loop22: + do { + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==29) ) { + alt22=1; + } + + + switch (alt22) { + case 1 : + // InternalCftLanguage.g:2219:3: rule__LookupDefinition__Group_4__0 + { + pushFollow(FOLLOW_24); + rule__LookupDefinition__Group_4__0(); + + state._fsp--; + + + } + break; + + default : + break loop22; + } + } while (true); + + after(grammarAccess.getLookupDefinitionAccess().getGroup_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__4__Impl" + + + // $ANTLR start "rule__LookupDefinition__Group__5" + // InternalCftLanguage.g:2227:1: rule__LookupDefinition__Group__5 : rule__LookupDefinition__Group__5__Impl rule__LookupDefinition__Group__6 ; + public final void rule__LookupDefinition__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2231:1: ( rule__LookupDefinition__Group__5__Impl rule__LookupDefinition__Group__6 ) + // InternalCftLanguage.g:2232:2: rule__LookupDefinition__Group__5__Impl rule__LookupDefinition__Group__6 + { + pushFollow(FOLLOW_28); + rule__LookupDefinition__Group__5__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group__6(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__5" + + + // $ANTLR start "rule__LookupDefinition__Group__5__Impl" + // InternalCftLanguage.g:2239:1: rule__LookupDefinition__Group__5__Impl : ( ')' ) ; + public final void rule__LookupDefinition__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2243:1: ( ( ')' ) ) + // InternalCftLanguage.g:2244:1: ( ')' ) + { + // InternalCftLanguage.g:2244:1: ( ')' ) + // InternalCftLanguage.g:2245:2: ')' + { + before(grammarAccess.getLookupDefinitionAccess().getRightParenthesisKeyword_5()); + match(input,28,FOLLOW_2); + after(grammarAccess.getLookupDefinitionAccess().getRightParenthesisKeyword_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__5__Impl" + + + // $ANTLR start "rule__LookupDefinition__Group__6" + // InternalCftLanguage.g:2254:1: rule__LookupDefinition__Group__6 : rule__LookupDefinition__Group__6__Impl rule__LookupDefinition__Group__7 ; + public final void rule__LookupDefinition__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2258:1: ( rule__LookupDefinition__Group__6__Impl rule__LookupDefinition__Group__7 ) + // InternalCftLanguage.g:2259:2: rule__LookupDefinition__Group__6__Impl rule__LookupDefinition__Group__7 + { + pushFollow(FOLLOW_3); + rule__LookupDefinition__Group__6__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group__7(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__6" + + + // $ANTLR start "rule__LookupDefinition__Group__6__Impl" + // InternalCftLanguage.g:2266:1: rule__LookupDefinition__Group__6__Impl : ( 'as' ) ; + public final void rule__LookupDefinition__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2270:1: ( ( 'as' ) ) + // InternalCftLanguage.g:2271:1: ( 'as' ) + { + // InternalCftLanguage.g:2271:1: ( 'as' ) + // InternalCftLanguage.g:2272:2: 'as' + { + before(grammarAccess.getLookupDefinitionAccess().getAsKeyword_6()); + match(input,31,FOLLOW_2); + after(grammarAccess.getLookupDefinitionAccess().getAsKeyword_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__6__Impl" + + + // $ANTLR start "rule__LookupDefinition__Group__7" + // InternalCftLanguage.g:2281:1: rule__LookupDefinition__Group__7 : rule__LookupDefinition__Group__7__Impl ; + public final void rule__LookupDefinition__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2285:1: ( rule__LookupDefinition__Group__7__Impl ) + // InternalCftLanguage.g:2286:2: rule__LookupDefinition__Group__7__Impl + { + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group__7__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__7" + + + // $ANTLR start "rule__LookupDefinition__Group__7__Impl" + // InternalCftLanguage.g:2292:1: rule__LookupDefinition__Group__7__Impl : ( ( rule__LookupDefinition__NameAssignment_7 ) ) ; + public final void rule__LookupDefinition__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2296:1: ( ( ( rule__LookupDefinition__NameAssignment_7 ) ) ) + // InternalCftLanguage.g:2297:1: ( ( rule__LookupDefinition__NameAssignment_7 ) ) + { + // InternalCftLanguage.g:2297:1: ( ( rule__LookupDefinition__NameAssignment_7 ) ) + // InternalCftLanguage.g:2298:2: ( rule__LookupDefinition__NameAssignment_7 ) + { + before(grammarAccess.getLookupDefinitionAccess().getNameAssignment_7()); + // InternalCftLanguage.g:2299:2: ( rule__LookupDefinition__NameAssignment_7 ) + // InternalCftLanguage.g:2299:3: rule__LookupDefinition__NameAssignment_7 + { + pushFollow(FOLLOW_2); + rule__LookupDefinition__NameAssignment_7(); + + state._fsp--; + + + } + + after(grammarAccess.getLookupDefinitionAccess().getNameAssignment_7()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group__7__Impl" + + + // $ANTLR start "rule__LookupDefinition__Group_4__0" + // InternalCftLanguage.g:2308:1: rule__LookupDefinition__Group_4__0 : rule__LookupDefinition__Group_4__0__Impl rule__LookupDefinition__Group_4__1 ; + public final void rule__LookupDefinition__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2312:1: ( rule__LookupDefinition__Group_4__0__Impl rule__LookupDefinition__Group_4__1 ) + // InternalCftLanguage.g:2313:2: rule__LookupDefinition__Group_4__0__Impl rule__LookupDefinition__Group_4__1 + { + pushFollow(FOLLOW_3); + rule__LookupDefinition__Group_4__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group_4__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group_4__0" + + + // $ANTLR start "rule__LookupDefinition__Group_4__0__Impl" + // InternalCftLanguage.g:2320:1: rule__LookupDefinition__Group_4__0__Impl : ( ',' ) ; + public final void rule__LookupDefinition__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2324:1: ( ( ',' ) ) + // InternalCftLanguage.g:2325:1: ( ',' ) + { + // InternalCftLanguage.g:2325:1: ( ',' ) + // InternalCftLanguage.g:2326:2: ',' + { + before(grammarAccess.getLookupDefinitionAccess().getCommaKeyword_4_0()); + match(input,29,FOLLOW_2); + after(grammarAccess.getLookupDefinitionAccess().getCommaKeyword_4_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group_4__0__Impl" + + + // $ANTLR start "rule__LookupDefinition__Group_4__1" + // InternalCftLanguage.g:2335:1: rule__LookupDefinition__Group_4__1 : rule__LookupDefinition__Group_4__1__Impl ; + public final void rule__LookupDefinition__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2339:1: ( rule__LookupDefinition__Group_4__1__Impl ) + // InternalCftLanguage.g:2340:2: rule__LookupDefinition__Group_4__1__Impl + { + pushFollow(FOLLOW_2); + rule__LookupDefinition__Group_4__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group_4__1" + + + // $ANTLR start "rule__LookupDefinition__Group_4__1__Impl" + // InternalCftLanguage.g:2346:1: rule__LookupDefinition__Group_4__1__Impl : ( ( rule__LookupDefinition__ArgumentsAssignment_4_1 ) ) ; + public final void rule__LookupDefinition__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2350:1: ( ( ( rule__LookupDefinition__ArgumentsAssignment_4_1 ) ) ) + // InternalCftLanguage.g:2351:1: ( ( rule__LookupDefinition__ArgumentsAssignment_4_1 ) ) + { + // InternalCftLanguage.g:2351:1: ( ( rule__LookupDefinition__ArgumentsAssignment_4_1 ) ) + // InternalCftLanguage.g:2352:2: ( rule__LookupDefinition__ArgumentsAssignment_4_1 ) + { + before(grammarAccess.getLookupDefinitionAccess().getArgumentsAssignment_4_1()); + // InternalCftLanguage.g:2353:2: ( rule__LookupDefinition__ArgumentsAssignment_4_1 ) + // InternalCftLanguage.g:2353:3: rule__LookupDefinition__ArgumentsAssignment_4_1 + { + pushFollow(FOLLOW_2); + rule__LookupDefinition__ArgumentsAssignment_4_1(); + + state._fsp--; + + + } + + after(grammarAccess.getLookupDefinitionAccess().getArgumentsAssignment_4_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__Group_4__1__Impl" + + + // $ANTLR start "rule__Assignment__Group__0" + // InternalCftLanguage.g:2362:1: rule__Assignment__Group__0 : rule__Assignment__Group__0__Impl rule__Assignment__Group__1 ; + public final void rule__Assignment__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2366:1: ( rule__Assignment__Group__0__Impl rule__Assignment__Group__1 ) + // InternalCftLanguage.g:2367:2: rule__Assignment__Group__0__Impl rule__Assignment__Group__1 + { + pushFollow(FOLLOW_29); + rule__Assignment__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Assignment__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Assignment__Group__0" + + + // $ANTLR start "rule__Assignment__Group__0__Impl" + // InternalCftLanguage.g:2374:1: rule__Assignment__Group__0__Impl : ( ( rule__Assignment__InputAssignment_0 ) ) ; + public final void rule__Assignment__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2378:1: ( ( ( rule__Assignment__InputAssignment_0 ) ) ) + // InternalCftLanguage.g:2379:1: ( ( rule__Assignment__InputAssignment_0 ) ) + { + // InternalCftLanguage.g:2379:1: ( ( rule__Assignment__InputAssignment_0 ) ) + // InternalCftLanguage.g:2380:2: ( rule__Assignment__InputAssignment_0 ) + { + before(grammarAccess.getAssignmentAccess().getInputAssignment_0()); + // InternalCftLanguage.g:2381:2: ( rule__Assignment__InputAssignment_0 ) + // InternalCftLanguage.g:2381:3: rule__Assignment__InputAssignment_0 + { + pushFollow(FOLLOW_2); + rule__Assignment__InputAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getAssignmentAccess().getInputAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Assignment__Group__0__Impl" + + + // $ANTLR start "rule__Assignment__Group__1" + // InternalCftLanguage.g:2389:1: rule__Assignment__Group__1 : rule__Assignment__Group__1__Impl rule__Assignment__Group__2 ; + public final void rule__Assignment__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2393:1: ( rule__Assignment__Group__1__Impl rule__Assignment__Group__2 ) + // InternalCftLanguage.g:2394:2: rule__Assignment__Group__1__Impl rule__Assignment__Group__2 + { + pushFollow(FOLLOW_30); + rule__Assignment__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__Assignment__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Assignment__Group__1" + + + // $ANTLR start "rule__Assignment__Group__1__Impl" + // InternalCftLanguage.g:2401:1: rule__Assignment__Group__1__Impl : ( ( rule__Assignment__Alternatives_1 ) ) ; + public final void rule__Assignment__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2405:1: ( ( ( rule__Assignment__Alternatives_1 ) ) ) + // InternalCftLanguage.g:2406:1: ( ( rule__Assignment__Alternatives_1 ) ) + { + // InternalCftLanguage.g:2406:1: ( ( rule__Assignment__Alternatives_1 ) ) + // InternalCftLanguage.g:2407:2: ( rule__Assignment__Alternatives_1 ) + { + before(grammarAccess.getAssignmentAccess().getAlternatives_1()); + // InternalCftLanguage.g:2408:2: ( rule__Assignment__Alternatives_1 ) + // InternalCftLanguage.g:2408:3: rule__Assignment__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__Assignment__Alternatives_1(); + + state._fsp--; + + + } + + after(grammarAccess.getAssignmentAccess().getAlternatives_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Assignment__Group__1__Impl" + + + // $ANTLR start "rule__Assignment__Group__2" + // InternalCftLanguage.g:2416:1: rule__Assignment__Group__2 : rule__Assignment__Group__2__Impl ; + public final void rule__Assignment__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2420:1: ( rule__Assignment__Group__2__Impl ) + // InternalCftLanguage.g:2421:2: rule__Assignment__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__Assignment__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Assignment__Group__2" + + + // $ANTLR start "rule__Assignment__Group__2__Impl" + // InternalCftLanguage.g:2427:1: rule__Assignment__Group__2__Impl : ( ( rule__Assignment__OutputAssignment_2 ) ) ; + public final void rule__Assignment__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2431:1: ( ( ( rule__Assignment__OutputAssignment_2 ) ) ) + // InternalCftLanguage.g:2432:1: ( ( rule__Assignment__OutputAssignment_2 ) ) + { + // InternalCftLanguage.g:2432:1: ( ( rule__Assignment__OutputAssignment_2 ) ) + // InternalCftLanguage.g:2433:2: ( rule__Assignment__OutputAssignment_2 ) + { + before(grammarAccess.getAssignmentAccess().getOutputAssignment_2()); + // InternalCftLanguage.g:2434:2: ( rule__Assignment__OutputAssignment_2 ) + // InternalCftLanguage.g:2434:3: rule__Assignment__OutputAssignment_2 + { + pushFollow(FOLLOW_2); + rule__Assignment__OutputAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getAssignmentAccess().getOutputAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Assignment__Group__2__Impl" + + + // $ANTLR start "rule__EventReference__Group__0" + // InternalCftLanguage.g:2443:1: rule__EventReference__Group__0 : rule__EventReference__Group__0__Impl rule__EventReference__Group__1 ; + public final void rule__EventReference__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2447:1: ( rule__EventReference__Group__0__Impl rule__EventReference__Group__1 ) + // InternalCftLanguage.g:2448:2: rule__EventReference__Group__0__Impl rule__EventReference__Group__1 + { + pushFollow(FOLLOW_31); + rule__EventReference__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__EventReference__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventReference__Group__0" + + + // $ANTLR start "rule__EventReference__Group__0__Impl" + // InternalCftLanguage.g:2455:1: rule__EventReference__Group__0__Impl : ( ( rule__EventReference__ComponentAssignment_0 ) ) ; + public final void rule__EventReference__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2459:1: ( ( ( rule__EventReference__ComponentAssignment_0 ) ) ) + // InternalCftLanguage.g:2460:1: ( ( rule__EventReference__ComponentAssignment_0 ) ) + { + // InternalCftLanguage.g:2460:1: ( ( rule__EventReference__ComponentAssignment_0 ) ) + // InternalCftLanguage.g:2461:2: ( rule__EventReference__ComponentAssignment_0 ) + { + before(grammarAccess.getEventReferenceAccess().getComponentAssignment_0()); + // InternalCftLanguage.g:2462:2: ( rule__EventReference__ComponentAssignment_0 ) + // InternalCftLanguage.g:2462:3: rule__EventReference__ComponentAssignment_0 + { + pushFollow(FOLLOW_2); + rule__EventReference__ComponentAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getEventReferenceAccess().getComponentAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventReference__Group__0__Impl" + + + // $ANTLR start "rule__EventReference__Group__1" + // InternalCftLanguage.g:2470:1: rule__EventReference__Group__1 : rule__EventReference__Group__1__Impl rule__EventReference__Group__2 ; + public final void rule__EventReference__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2474:1: ( rule__EventReference__Group__1__Impl rule__EventReference__Group__2 ) + // InternalCftLanguage.g:2475:2: rule__EventReference__Group__1__Impl rule__EventReference__Group__2 + { + pushFollow(FOLLOW_3); + rule__EventReference__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__EventReference__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventReference__Group__1" + + + // $ANTLR start "rule__EventReference__Group__1__Impl" + // InternalCftLanguage.g:2482:1: rule__EventReference__Group__1__Impl : ( '.' ) ; + public final void rule__EventReference__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2486:1: ( ( '.' ) ) + // InternalCftLanguage.g:2487:1: ( '.' ) + { + // InternalCftLanguage.g:2487:1: ( '.' ) + // InternalCftLanguage.g:2488:2: '.' + { + before(grammarAccess.getEventReferenceAccess().getFullStopKeyword_1()); + match(input,32,FOLLOW_2); + after(grammarAccess.getEventReferenceAccess().getFullStopKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventReference__Group__1__Impl" + + + // $ANTLR start "rule__EventReference__Group__2" + // InternalCftLanguage.g:2497:1: rule__EventReference__Group__2 : rule__EventReference__Group__2__Impl ; + public final void rule__EventReference__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2501:1: ( rule__EventReference__Group__2__Impl ) + // InternalCftLanguage.g:2502:2: rule__EventReference__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__EventReference__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventReference__Group__2" + + + // $ANTLR start "rule__EventReference__Group__2__Impl" + // InternalCftLanguage.g:2508:1: rule__EventReference__Group__2__Impl : ( ( rule__EventReference__EventAssignment_2 ) ) ; + public final void rule__EventReference__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2512:1: ( ( ( rule__EventReference__EventAssignment_2 ) ) ) + // InternalCftLanguage.g:2513:1: ( ( rule__EventReference__EventAssignment_2 ) ) + { + // InternalCftLanguage.g:2513:1: ( ( rule__EventReference__EventAssignment_2 ) ) + // InternalCftLanguage.g:2514:2: ( rule__EventReference__EventAssignment_2 ) + { + before(grammarAccess.getEventReferenceAccess().getEventAssignment_2()); + // InternalCftLanguage.g:2515:2: ( rule__EventReference__EventAssignment_2 ) + // InternalCftLanguage.g:2515:3: rule__EventReference__EventAssignment_2 + { + pushFollow(FOLLOW_2); + rule__EventReference__EventAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getEventReferenceAccess().getEventAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventReference__Group__2__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group__0" + // InternalCftLanguage.g:2524:1: rule__ComponentInstance__Group__0 : rule__ComponentInstance__Group__0__Impl rule__ComponentInstance__Group__1 ; + public final void rule__ComponentInstance__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2528:1: ( rule__ComponentInstance__Group__0__Impl rule__ComponentInstance__Group__1 ) + // InternalCftLanguage.g:2529:2: rule__ComponentInstance__Group__0__Impl rule__ComponentInstance__Group__1 + { + pushFollow(FOLLOW_3); + rule__ComponentInstance__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentInstance__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__0" + + + // $ANTLR start "rule__ComponentInstance__Group__0__Impl" + // InternalCftLanguage.g:2536:1: rule__ComponentInstance__Group__0__Impl : ( '=>' ) ; + public final void rule__ComponentInstance__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2540:1: ( ( '=>' ) ) + // InternalCftLanguage.g:2541:1: ( '=>' ) + { + // InternalCftLanguage.g:2541:1: ( '=>' ) + // InternalCftLanguage.g:2542:2: '=>' + { + before(grammarAccess.getComponentInstanceAccess().getEqualsSignGreaterThanSignKeyword_0()); + match(input,33,FOLLOW_2); + after(grammarAccess.getComponentInstanceAccess().getEqualsSignGreaterThanSignKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__0__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group__1" + // InternalCftLanguage.g:2551:1: rule__ComponentInstance__Group__1 : rule__ComponentInstance__Group__1__Impl rule__ComponentInstance__Group__2 ; + public final void rule__ComponentInstance__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2555:1: ( rule__ComponentInstance__Group__1__Impl rule__ComponentInstance__Group__2 ) + // InternalCftLanguage.g:2556:2: rule__ComponentInstance__Group__1__Impl rule__ComponentInstance__Group__2 + { + pushFollow(FOLLOW_3); + rule__ComponentInstance__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComponentInstance__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__1" + + + // $ANTLR start "rule__ComponentInstance__Group__1__Impl" + // InternalCftLanguage.g:2563:1: rule__ComponentInstance__Group__1__Impl : ( ( rule__ComponentInstance__ComponentTypeAssignment_1 ) ) ; + public final void rule__ComponentInstance__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2567:1: ( ( ( rule__ComponentInstance__ComponentTypeAssignment_1 ) ) ) + // InternalCftLanguage.g:2568:1: ( ( rule__ComponentInstance__ComponentTypeAssignment_1 ) ) + { + // InternalCftLanguage.g:2568:1: ( ( rule__ComponentInstance__ComponentTypeAssignment_1 ) ) + // InternalCftLanguage.g:2569:2: ( rule__ComponentInstance__ComponentTypeAssignment_1 ) + { + before(grammarAccess.getComponentInstanceAccess().getComponentTypeAssignment_1()); + // InternalCftLanguage.g:2570:2: ( rule__ComponentInstance__ComponentTypeAssignment_1 ) + // InternalCftLanguage.g:2570:3: rule__ComponentInstance__ComponentTypeAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ComponentInstance__ComponentTypeAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentInstanceAccess().getComponentTypeAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__1__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group__2" + // InternalCftLanguage.g:2578:1: rule__ComponentInstance__Group__2 : rule__ComponentInstance__Group__2__Impl ; + public final void rule__ComponentInstance__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2582:1: ( rule__ComponentInstance__Group__2__Impl ) + // InternalCftLanguage.g:2583:2: rule__ComponentInstance__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__ComponentInstance__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__2" + + + // $ANTLR start "rule__ComponentInstance__Group__2__Impl" + // InternalCftLanguage.g:2589:1: rule__ComponentInstance__Group__2__Impl : ( ( rule__ComponentInstance__NameAssignment_2 )? ) ; + public final void rule__ComponentInstance__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2593:1: ( ( ( rule__ComponentInstance__NameAssignment_2 )? ) ) + // InternalCftLanguage.g:2594:1: ( ( rule__ComponentInstance__NameAssignment_2 )? ) + { + // InternalCftLanguage.g:2594:1: ( ( rule__ComponentInstance__NameAssignment_2 )? ) + // InternalCftLanguage.g:2595:2: ( rule__ComponentInstance__NameAssignment_2 )? + { + before(grammarAccess.getComponentInstanceAccess().getNameAssignment_2()); + // InternalCftLanguage.g:2596:2: ( rule__ComponentInstance__NameAssignment_2 )? + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==RULE_ID) ) { + alt23=1; + } + switch (alt23) { + case 1 : + // InternalCftLanguage.g:2596:3: rule__ComponentInstance__NameAssignment_2 + { + pushFollow(FOLLOW_2); + rule__ComponentInstance__NameAssignment_2(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getComponentInstanceAccess().getNameAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__2__Impl" + + + // $ANTLR start "rule__QualifiedName__Group__0" + // InternalCftLanguage.g:2605:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ; + public final void rule__QualifiedName__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2609:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ) + // InternalCftLanguage.g:2610:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 + { + pushFollow(FOLLOW_31); + rule__QualifiedName__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__0" + + + // $ANTLR start "rule__QualifiedName__Group__0__Impl" + // InternalCftLanguage.g:2617:1: rule__QualifiedName__Group__0__Impl : ( RULE_ID ) ; + public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2621:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:2622:1: ( RULE_ID ) + { + // InternalCftLanguage.g:2622:1: ( RULE_ID ) + // InternalCftLanguage.g:2623:2: RULE_ID + { + before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedName__Group__1" + // InternalCftLanguage.g:2632:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ; + public final void rule__QualifiedName__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2636:1: ( rule__QualifiedName__Group__1__Impl ) + // InternalCftLanguage.g:2637:2: rule__QualifiedName__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__1" + + + // $ANTLR start "rule__QualifiedName__Group__1__Impl" + // InternalCftLanguage.g:2643:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ; + public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2647:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) ) + // InternalCftLanguage.g:2648:1: ( ( rule__QualifiedName__Group_1__0 )* ) + { + // InternalCftLanguage.g:2648:1: ( ( rule__QualifiedName__Group_1__0 )* ) + // InternalCftLanguage.g:2649:2: ( rule__QualifiedName__Group_1__0 )* + { + before(grammarAccess.getQualifiedNameAccess().getGroup_1()); + // InternalCftLanguage.g:2650:2: ( rule__QualifiedName__Group_1__0 )* + loop24: + do { + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==32) ) { + int LA24_2 = input.LA(2); + + if ( (LA24_2==RULE_ID) ) { + alt24=1; + } + + + } + + + switch (alt24) { + case 1 : + // InternalCftLanguage.g:2650:3: rule__QualifiedName__Group_1__0 + { + pushFollow(FOLLOW_32); + rule__QualifiedName__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop24; + } + } while (true); + + after(grammarAccess.getQualifiedNameAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedName__Group_1__0" + // InternalCftLanguage.g:2659:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ; + public final void rule__QualifiedName__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2663:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ) + // InternalCftLanguage.g:2664:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 + { + pushFollow(FOLLOW_3); + rule__QualifiedName__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__0" + + + // $ANTLR start "rule__QualifiedName__Group_1__0__Impl" + // InternalCftLanguage.g:2671:1: rule__QualifiedName__Group_1__0__Impl : ( '.' ) ; + public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2675:1: ( ( '.' ) ) + // InternalCftLanguage.g:2676:1: ( '.' ) + { + // InternalCftLanguage.g:2676:1: ( '.' ) + // InternalCftLanguage.g:2677:2: '.' + { + before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + match(input,32,FOLLOW_2); + after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__0__Impl" + + + // $ANTLR start "rule__QualifiedName__Group_1__1" + // InternalCftLanguage.g:2686:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ; + public final void rule__QualifiedName__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2690:1: ( rule__QualifiedName__Group_1__1__Impl ) + // InternalCftLanguage.g:2691:2: rule__QualifiedName__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedName__Group_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__1" + + + // $ANTLR start "rule__QualifiedName__Group_1__1__Impl" + // InternalCftLanguage.g:2697:1: rule__QualifiedName__Group_1__1__Impl : ( RULE_ID ) ; + public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2701:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:2702:1: ( RULE_ID ) + { + // InternalCftLanguage.g:2702:1: ( RULE_ID ) + // InternalCftLanguage.g:2703:2: RULE_ID + { + before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedName__Group_1__1__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0" + // InternalCftLanguage.g:2713:1: rule__QualifiedNameWithWildcard__Group__0 : rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ; + public final void rule__QualifiedNameWithWildcard__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2717:1: ( rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 ) + // InternalCftLanguage.g:2718:2: rule__QualifiedNameWithWildcard__Group__0__Impl rule__QualifiedNameWithWildcard__Group__1 + { + pushFollow(FOLLOW_31); + rule__QualifiedNameWithWildcard__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__0__Impl" + // InternalCftLanguage.g:2725:1: rule__QualifiedNameWithWildcard__Group__0__Impl : ( ruleQualifiedName ) ; + public final void rule__QualifiedNameWithWildcard__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2729:1: ( ( ruleQualifiedName ) ) + // InternalCftLanguage.g:2730:1: ( ruleQualifiedName ) + { + // InternalCftLanguage.g:2730:1: ( ruleQualifiedName ) + // InternalCftLanguage.g:2731:2: ruleQualifiedName + { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + + after(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__0__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1" + // InternalCftLanguage.g:2740:1: rule__QualifiedNameWithWildcard__Group__1 : rule__QualifiedNameWithWildcard__Group__1__Impl ; + public final void rule__QualifiedNameWithWildcard__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2744:1: ( rule__QualifiedNameWithWildcard__Group__1__Impl ) + // InternalCftLanguage.g:2745:2: rule__QualifiedNameWithWildcard__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group__1__Impl" + // InternalCftLanguage.g:2751:1: rule__QualifiedNameWithWildcard__Group__1__Impl : ( ( rule__QualifiedNameWithWildcard__Group_1__0 )? ) ; + public final void rule__QualifiedNameWithWildcard__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2755:1: ( ( ( rule__QualifiedNameWithWildcard__Group_1__0 )? ) ) + // InternalCftLanguage.g:2756:1: ( ( rule__QualifiedNameWithWildcard__Group_1__0 )? ) + { + // InternalCftLanguage.g:2756:1: ( ( rule__QualifiedNameWithWildcard__Group_1__0 )? ) + // InternalCftLanguage.g:2757:2: ( rule__QualifiedNameWithWildcard__Group_1__0 )? + { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup_1()); + // InternalCftLanguage.g:2758:2: ( rule__QualifiedNameWithWildcard__Group_1__0 )? + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==32) ) { + alt25=1; + } + switch (alt25) { + case 1 : + // InternalCftLanguage.g:2758:3: rule__QualifiedNameWithWildcard__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group_1__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group__1__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group_1__0" + // InternalCftLanguage.g:2767:1: rule__QualifiedNameWithWildcard__Group_1__0 : rule__QualifiedNameWithWildcard__Group_1__0__Impl rule__QualifiedNameWithWildcard__Group_1__1 ; + public final void rule__QualifiedNameWithWildcard__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2771:1: ( rule__QualifiedNameWithWildcard__Group_1__0__Impl rule__QualifiedNameWithWildcard__Group_1__1 ) + // InternalCftLanguage.g:2772:2: rule__QualifiedNameWithWildcard__Group_1__0__Impl rule__QualifiedNameWithWildcard__Group_1__1 + { + pushFollow(FOLLOW_33); + rule__QualifiedNameWithWildcard__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group_1__0" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group_1__0__Impl" + // InternalCftLanguage.g:2779:1: rule__QualifiedNameWithWildcard__Group_1__0__Impl : ( '.' ) ; + public final void rule__QualifiedNameWithWildcard__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2783:1: ( ( '.' ) ) + // InternalCftLanguage.g:2784:1: ( '.' ) + { + // InternalCftLanguage.g:2784:1: ( '.' ) + // InternalCftLanguage.g:2785:2: '.' + { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); + match(input,32,FOLLOW_2); + after(grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group_1__0__Impl" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group_1__1" + // InternalCftLanguage.g:2794:1: rule__QualifiedNameWithWildcard__Group_1__1 : rule__QualifiedNameWithWildcard__Group_1__1__Impl ; + public final void rule__QualifiedNameWithWildcard__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2798:1: ( rule__QualifiedNameWithWildcard__Group_1__1__Impl ) + // InternalCftLanguage.g:2799:2: rule__QualifiedNameWithWildcard__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__QualifiedNameWithWildcard__Group_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group_1__1" + + + // $ANTLR start "rule__QualifiedNameWithWildcard__Group_1__1__Impl" + // InternalCftLanguage.g:2805:1: rule__QualifiedNameWithWildcard__Group_1__1__Impl : ( '*' ) ; + public final void rule__QualifiedNameWithWildcard__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2809:1: ( ( '*' ) ) + // InternalCftLanguage.g:2810:1: ( '*' ) + { + // InternalCftLanguage.g:2810:1: ( '*' ) + // InternalCftLanguage.g:2811:2: '*' + { + before(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_1_1()); + match(input,34,FOLLOW_2); + after(grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QualifiedNameWithWildcard__Group_1__1__Impl" + + + // $ANTLR start "rule__ComponentDefinition__UnorderedGroup_3" + // InternalCftLanguage.g:2821:1: rule__ComponentDefinition__UnorderedGroup_3 : ( rule__ComponentDefinition__UnorderedGroup_3__0 )? ; + public final void rule__ComponentDefinition__UnorderedGroup_3() throws RecognitionException { + + int stackSize = keepStackSize(); + getUnorderedGroupHelper().enter(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + + try { + // InternalCftLanguage.g:2826:1: ( ( rule__ComponentDefinition__UnorderedGroup_3__0 )? ) + // InternalCftLanguage.g:2827:2: ( rule__ComponentDefinition__UnorderedGroup_3__0 )? + { + // InternalCftLanguage.g:2827:2: ( rule__ComponentDefinition__UnorderedGroup_3__0 )? + int alt26=2; + int LA26_0 = input.LA(1); + + if ( LA26_0 == 19 && getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0) ) { + alt26=1; + } + else if ( LA26_0 == 20 && getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1) ) { + alt26=1; + } + switch (alt26) { + case 1 : + // InternalCftLanguage.g:2827:2: rule__ComponentDefinition__UnorderedGroup_3__0 + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__UnorderedGroup_3__0(); + + state._fsp--; + + + } + break; + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + getUnorderedGroupHelper().leave(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__UnorderedGroup_3" + + + // $ANTLR start "rule__ComponentDefinition__UnorderedGroup_3__Impl" + // InternalCftLanguage.g:2835:1: rule__ComponentDefinition__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__ComponentDefinition__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ComponentDefinition__Group_3_1__0 ) ) ) ) ) ; + public final void rule__ComponentDefinition__UnorderedGroup_3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + boolean selected = false; + + try { + // InternalCftLanguage.g:2840:1: ( ( ({...}? => ( ( ( rule__ComponentDefinition__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ComponentDefinition__Group_3_1__0 ) ) ) ) ) ) + // InternalCftLanguage.g:2841:3: ( ({...}? => ( ( ( rule__ComponentDefinition__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ComponentDefinition__Group_3_1__0 ) ) ) ) ) + { + // InternalCftLanguage.g:2841:3: ( ({...}? => ( ( ( rule__ComponentDefinition__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ComponentDefinition__Group_3_1__0 ) ) ) ) ) + int alt27=2; + int LA27_0 = input.LA(1); + + if ( LA27_0 == 19 && getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0) ) { + alt27=1; + } + else if ( LA27_0 == 20 && getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1) ) { + alt27=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 27, 0, input); + + throw nvae; + } + switch (alt27) { + case 1 : + // InternalCftLanguage.g:2842:3: ({...}? => ( ( ( rule__ComponentDefinition__Group_3_0__0 ) ) ) ) + { + // InternalCftLanguage.g:2842:3: ({...}? => ( ( ( rule__ComponentDefinition__Group_3_0__0 ) ) ) ) + // InternalCftLanguage.g:2843:4: {...}? => ( ( ( rule__ComponentDefinition__Group_3_0__0 ) ) ) + { + if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0) ) { + throw new FailedPredicateException(input, "rule__ComponentDefinition__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0)"); + } + // InternalCftLanguage.g:2843:115: ( ( ( rule__ComponentDefinition__Group_3_0__0 ) ) ) + // InternalCftLanguage.g:2844:5: ( ( rule__ComponentDefinition__Group_3_0__0 ) ) + { + + getUnorderedGroupHelper().select(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0); + + + selected = true; + + // InternalCftLanguage.g:2850:5: ( ( rule__ComponentDefinition__Group_3_0__0 ) ) + // InternalCftLanguage.g:2851:6: ( rule__ComponentDefinition__Group_3_0__0 ) + { + before(grammarAccess.getComponentDefinitionAccess().getGroup_3_0()); + // InternalCftLanguage.g:2852:6: ( rule__ComponentDefinition__Group_3_0__0 ) + // InternalCftLanguage.g:2852:7: rule__ComponentDefinition__Group_3_0__0 + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group_3_0__0(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentDefinitionAccess().getGroup_3_0()); + + } + + + } + + + } + + + } + break; + case 2 : + // InternalCftLanguage.g:2857:3: ({...}? => ( ( ( rule__ComponentDefinition__Group_3_1__0 ) ) ) ) + { + // InternalCftLanguage.g:2857:3: ({...}? => ( ( ( rule__ComponentDefinition__Group_3_1__0 ) ) ) ) + // InternalCftLanguage.g:2858:4: {...}? => ( ( ( rule__ComponentDefinition__Group_3_1__0 ) ) ) + { + if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1) ) { + throw new FailedPredicateException(input, "rule__ComponentDefinition__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1)"); + } + // InternalCftLanguage.g:2858:115: ( ( ( rule__ComponentDefinition__Group_3_1__0 ) ) ) + // InternalCftLanguage.g:2859:5: ( ( rule__ComponentDefinition__Group_3_1__0 ) ) + { + + getUnorderedGroupHelper().select(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1); + + + selected = true; + + // InternalCftLanguage.g:2865:5: ( ( rule__ComponentDefinition__Group_3_1__0 ) ) + // InternalCftLanguage.g:2866:6: ( rule__ComponentDefinition__Group_3_1__0 ) + { + before(grammarAccess.getComponentDefinitionAccess().getGroup_3_1()); + // InternalCftLanguage.g:2867:6: ( rule__ComponentDefinition__Group_3_1__0 ) + // InternalCftLanguage.g:2867:7: rule__ComponentDefinition__Group_3_1__0 + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__Group_3_1__0(); + + state._fsp--; + + + } + + after(grammarAccess.getComponentDefinitionAccess().getGroup_3_1()); + + } + + + } + + + } + + + } + break; + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + if (selected) + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__UnorderedGroup_3__Impl" + + + // $ANTLR start "rule__ComponentDefinition__UnorderedGroup_3__0" + // InternalCftLanguage.g:2880:1: rule__ComponentDefinition__UnorderedGroup_3__0 : rule__ComponentDefinition__UnorderedGroup_3__Impl ( rule__ComponentDefinition__UnorderedGroup_3__1 )? ; + public final void rule__ComponentDefinition__UnorderedGroup_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2884:1: ( rule__ComponentDefinition__UnorderedGroup_3__Impl ( rule__ComponentDefinition__UnorderedGroup_3__1 )? ) + // InternalCftLanguage.g:2885:2: rule__ComponentDefinition__UnorderedGroup_3__Impl ( rule__ComponentDefinition__UnorderedGroup_3__1 )? + { + pushFollow(FOLLOW_34); + rule__ComponentDefinition__UnorderedGroup_3__Impl(); + + state._fsp--; + + // InternalCftLanguage.g:2886:2: ( rule__ComponentDefinition__UnorderedGroup_3__1 )? + int alt28=2; + int LA28_0 = input.LA(1); + + if ( LA28_0 == 19 && getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0) ) { + alt28=1; + } + else if ( LA28_0 == 20 && getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1) ) { + alt28=1; + } + switch (alt28) { + case 1 : + // InternalCftLanguage.g:2886:2: rule__ComponentDefinition__UnorderedGroup_3__1 + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__UnorderedGroup_3__1(); + + state._fsp--; + + + } + break; + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__UnorderedGroup_3__0" + + + // $ANTLR start "rule__ComponentDefinition__UnorderedGroup_3__1" + // InternalCftLanguage.g:2892:1: rule__ComponentDefinition__UnorderedGroup_3__1 : rule__ComponentDefinition__UnorderedGroup_3__Impl ; + public final void rule__ComponentDefinition__UnorderedGroup_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2896:1: ( rule__ComponentDefinition__UnorderedGroup_3__Impl ) + // InternalCftLanguage.g:2897:2: rule__ComponentDefinition__UnorderedGroup_3__Impl + { + pushFollow(FOLLOW_2); + rule__ComponentDefinition__UnorderedGroup_3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__UnorderedGroup_3__1" + + + // $ANTLR start "rule__CftModel__PackageNameAssignment_1" + // InternalCftLanguage.g:2904:1: rule__CftModel__PackageNameAssignment_1 : ( ruleQualifiedName ) ; + public final void rule__CftModel__PackageNameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2908:1: ( ( ruleQualifiedName ) ) + // InternalCftLanguage.g:2909:2: ( ruleQualifiedName ) + { + // InternalCftLanguage.g:2909:2: ( ruleQualifiedName ) + // InternalCftLanguage.g:2910:3: ruleQualifiedName + { + before(grammarAccess.getCftModelAccess().getPackageNameQualifiedNameParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + + after(grammarAccess.getCftModelAccess().getPackageNameQualifiedNameParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__PackageNameAssignment_1" + + + // $ANTLR start "rule__CftModel__ImportsAssignment_3" + // InternalCftLanguage.g:2919:1: rule__CftModel__ImportsAssignment_3 : ( ruleImportDeclaration ) ; + public final void rule__CftModel__ImportsAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2923:1: ( ( ruleImportDeclaration ) ) + // InternalCftLanguage.g:2924:2: ( ruleImportDeclaration ) + { + // InternalCftLanguage.g:2924:2: ( ruleImportDeclaration ) + // InternalCftLanguage.g:2925:3: ruleImportDeclaration + { + before(grammarAccess.getCftModelAccess().getImportsImportDeclarationParserRuleCall_3_0()); + pushFollow(FOLLOW_2); + ruleImportDeclaration(); + + state._fsp--; + + after(grammarAccess.getCftModelAccess().getImportsImportDeclarationParserRuleCall_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__ImportsAssignment_3" + + + // $ANTLR start "rule__CftModel__ComponentDefinitionsAssignment_4_0" + // InternalCftLanguage.g:2934:1: rule__CftModel__ComponentDefinitionsAssignment_4_0 : ( ruleComponentDefinition ) ; + public final void rule__CftModel__ComponentDefinitionsAssignment_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2938:1: ( ( ruleComponentDefinition ) ) + // InternalCftLanguage.g:2939:2: ( ruleComponentDefinition ) + { + // InternalCftLanguage.g:2939:2: ( ruleComponentDefinition ) + // InternalCftLanguage.g:2940:3: ruleComponentDefinition + { + before(grammarAccess.getCftModelAccess().getComponentDefinitionsComponentDefinitionParserRuleCall_4_0_0()); + pushFollow(FOLLOW_2); + ruleComponentDefinition(); + + state._fsp--; + + after(grammarAccess.getCftModelAccess().getComponentDefinitionsComponentDefinitionParserRuleCall_4_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__ComponentDefinitionsAssignment_4_0" + + + // $ANTLR start "rule__CftModel__TransformationDefinitionsAssignment_4_1" + // InternalCftLanguage.g:2949:1: rule__CftModel__TransformationDefinitionsAssignment_4_1 : ( ruleTransformationDefinition ) ; + public final void rule__CftModel__TransformationDefinitionsAssignment_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2953:1: ( ( ruleTransformationDefinition ) ) + // InternalCftLanguage.g:2954:2: ( ruleTransformationDefinition ) + { + // InternalCftLanguage.g:2954:2: ( ruleTransformationDefinition ) + // InternalCftLanguage.g:2955:3: ruleTransformationDefinition + { + before(grammarAccess.getCftModelAccess().getTransformationDefinitionsTransformationDefinitionParserRuleCall_4_1_0()); + pushFollow(FOLLOW_2); + ruleTransformationDefinition(); + + state._fsp--; + + after(grammarAccess.getCftModelAccess().getTransformationDefinitionsTransformationDefinitionParserRuleCall_4_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CftModel__TransformationDefinitionsAssignment_4_1" + + + // $ANTLR start "rule__ImportDeclaration__ImportedNamespaceAssignment_1" + // InternalCftLanguage.g:2964:1: rule__ImportDeclaration__ImportedNamespaceAssignment_1 : ( ruleQualifiedNameWithWildcard ) ; + public final void rule__ImportDeclaration__ImportedNamespaceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2968:1: ( ( ruleQualifiedNameWithWildcard ) ) + // InternalCftLanguage.g:2969:2: ( ruleQualifiedNameWithWildcard ) + { + // InternalCftLanguage.g:2969:2: ( ruleQualifiedNameWithWildcard ) + // InternalCftLanguage.g:2970:3: ruleQualifiedNameWithWildcard + { + before(grammarAccess.getImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleQualifiedNameWithWildcard(); + + state._fsp--; + + after(grammarAccess.getImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__ImportedNamespaceAssignment_1" + + + // $ANTLR start "rule__ComponentDefinition__NameAssignment_1" + // InternalCftLanguage.g:2979:1: rule__ComponentDefinition__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__ComponentDefinition__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2983:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:2984:2: ( RULE_ID ) + { + // InternalCftLanguage.g:2984:2: ( RULE_ID ) + // InternalCftLanguage.g:2985:3: RULE_ID + { + before(grammarAccess.getComponentDefinitionAccess().getNameIDTerminalRuleCall_1_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getComponentDefinitionAccess().getNameIDTerminalRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__NameAssignment_1" + + + // $ANTLR start "rule__ComponentDefinition__InputEventsAssignment_3_0_1" + // InternalCftLanguage.g:2994:1: rule__ComponentDefinition__InputEventsAssignment_3_0_1 : ( ruleInputEvent ) ; + public final void rule__ComponentDefinition__InputEventsAssignment_3_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:2998:1: ( ( ruleInputEvent ) ) + // InternalCftLanguage.g:2999:2: ( ruleInputEvent ) + { + // InternalCftLanguage.g:2999:2: ( ruleInputEvent ) + // InternalCftLanguage.g:3000:3: ruleInputEvent + { + before(grammarAccess.getComponentDefinitionAccess().getInputEventsInputEventParserRuleCall_3_0_1_0()); + pushFollow(FOLLOW_2); + ruleInputEvent(); + + state._fsp--; + + after(grammarAccess.getComponentDefinitionAccess().getInputEventsInputEventParserRuleCall_3_0_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__InputEventsAssignment_3_0_1" + + + // $ANTLR start "rule__ComponentDefinition__OutputEventsAssignment_3_1_1" + // InternalCftLanguage.g:3009:1: rule__ComponentDefinition__OutputEventsAssignment_3_1_1 : ( ( RULE_ID ) ) ; + public final void rule__ComponentDefinition__OutputEventsAssignment_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3013:1: ( ( ( RULE_ID ) ) ) + // InternalCftLanguage.g:3014:2: ( ( RULE_ID ) ) + { + // InternalCftLanguage.g:3014:2: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3015:3: ( RULE_ID ) + { + before(grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationCrossReference_3_1_1_0()); + // InternalCftLanguage.g:3016:3: ( RULE_ID ) + // InternalCftLanguage.g:3017:4: RULE_ID + { + before(grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationIDTerminalRuleCall_3_1_1_0_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationIDTerminalRuleCall_3_1_1_0_1()); + + } + + after(grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationCrossReference_3_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__OutputEventsAssignment_3_1_1" + + + // $ANTLR start "rule__ComponentDefinition__EventDefinitionsAssignment_4_0" + // InternalCftLanguage.g:3028:1: rule__ComponentDefinition__EventDefinitionsAssignment_4_0 : ( ruleEventDefinition ) ; + public final void rule__ComponentDefinition__EventDefinitionsAssignment_4_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3032:1: ( ( ruleEventDefinition ) ) + // InternalCftLanguage.g:3033:2: ( ruleEventDefinition ) + { + // InternalCftLanguage.g:3033:2: ( ruleEventDefinition ) + // InternalCftLanguage.g:3034:3: ruleEventDefinition + { + before(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsEventDefinitionParserRuleCall_4_0_0()); + pushFollow(FOLLOW_2); + ruleEventDefinition(); + + state._fsp--; + + after(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsEventDefinitionParserRuleCall_4_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDefinition__EventDefinitionsAssignment_4_0" + + + // $ANTLR start "rule__InputEvent__NameAssignment_0" + // InternalCftLanguage.g:3043:1: rule__InputEvent__NameAssignment_0 : ( RULE_ID ) ; + public final void rule__InputEvent__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3047:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3048:2: ( RULE_ID ) + { + // InternalCftLanguage.g:3048:2: ( RULE_ID ) + // InternalCftLanguage.g:3049:3: RULE_ID + { + before(grammarAccess.getInputEventAccess().getNameIDTerminalRuleCall_0_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getInputEventAccess().getNameIDTerminalRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InputEvent__NameAssignment_0" + + + // $ANTLR start "rule__InputEvent__MultipleAssignment_1" + // InternalCftLanguage.g:3058:1: rule__InputEvent__MultipleAssignment_1 : ( ( '[]' ) ) ; + public final void rule__InputEvent__MultipleAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3062:1: ( ( ( '[]' ) ) ) + // InternalCftLanguage.g:3063:2: ( ( '[]' ) ) + { + // InternalCftLanguage.g:3063:2: ( ( '[]' ) ) + // InternalCftLanguage.g:3064:3: ( '[]' ) + { + before(grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); + // InternalCftLanguage.g:3065:3: ( '[]' ) + // InternalCftLanguage.g:3066:4: '[]' + { + before(grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); + match(input,35,FOLLOW_2); + after(grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); + + } + + after(grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InputEvent__MultipleAssignment_1" + + + // $ANTLR start "rule__BasicEventDefinition__NameAssignment_0" + // InternalCftLanguage.g:3077:1: rule__BasicEventDefinition__NameAssignment_0 : ( RULE_ID ) ; + public final void rule__BasicEventDefinition__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3081:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3082:2: ( RULE_ID ) + { + // InternalCftLanguage.g:3082:2: ( RULE_ID ) + // InternalCftLanguage.g:3083:3: RULE_ID + { + before(grammarAccess.getBasicEventDefinitionAccess().getNameIDTerminalRuleCall_0_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getBasicEventDefinitionAccess().getNameIDTerminalRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicEventDefinition__NameAssignment_0" + + + // $ANTLR start "rule__BasicEventDefinition__RateAssignment_3" + // InternalCftLanguage.g:3092:1: rule__BasicEventDefinition__RateAssignment_3 : ( RULE_DOULBE ) ; + public final void rule__BasicEventDefinition__RateAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3096:1: ( ( RULE_DOULBE ) ) + // InternalCftLanguage.g:3097:2: ( RULE_DOULBE ) + { + // InternalCftLanguage.g:3097:2: ( RULE_DOULBE ) + // InternalCftLanguage.g:3098:3: RULE_DOULBE + { + before(grammarAccess.getBasicEventDefinitionAccess().getRateDOULBETerminalRuleCall_3_0()); + match(input,RULE_DOULBE,FOLLOW_2); + after(grammarAccess.getBasicEventDefinitionAccess().getRateDOULBETerminalRuleCall_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicEventDefinition__RateAssignment_3" + + + // $ANTLR start "rule__AndGate__NameAssignment_0" + // InternalCftLanguage.g:3107:1: rule__AndGate__NameAssignment_0 : ( RULE_ID ) ; + public final void rule__AndGate__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3111:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3112:2: ( RULE_ID ) + { + // InternalCftLanguage.g:3112:2: ( RULE_ID ) + // InternalCftLanguage.g:3113:3: RULE_ID + { + before(grammarAccess.getAndGateAccess().getNameIDTerminalRuleCall_0_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getAndGateAccess().getNameIDTerminalRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndGate__NameAssignment_0" + + + // $ANTLR start "rule__AndGate__InputEventsAssignment_2" + // InternalCftLanguage.g:3122:1: rule__AndGate__InputEventsAssignment_2 : ( ( RULE_ID ) ) ; + public final void rule__AndGate__InputEventsAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3126:1: ( ( ( RULE_ID ) ) ) + // InternalCftLanguage.g:3127:2: ( ( RULE_ID ) ) + { + // InternalCftLanguage.g:3127:2: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3128:3: ( RULE_ID ) + { + before(grammarAccess.getAndGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); + // InternalCftLanguage.g:3129:3: ( RULE_ID ) + // InternalCftLanguage.g:3130:4: RULE_ID + { + before(grammarAccess.getAndGateAccess().getInputEventsEventDeclarationIDTerminalRuleCall_2_0_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getAndGateAccess().getInputEventsEventDeclarationIDTerminalRuleCall_2_0_1()); + + } + + after(grammarAccess.getAndGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndGate__InputEventsAssignment_2" + + + // $ANTLR start "rule__OrGate__NameAssignment_0" + // InternalCftLanguage.g:3141:1: rule__OrGate__NameAssignment_0 : ( RULE_ID ) ; + public final void rule__OrGate__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3145:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3146:2: ( RULE_ID ) + { + // InternalCftLanguage.g:3146:2: ( RULE_ID ) + // InternalCftLanguage.g:3147:3: RULE_ID + { + before(grammarAccess.getOrGateAccess().getNameIDTerminalRuleCall_0_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getOrGateAccess().getNameIDTerminalRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrGate__NameAssignment_0" + + + // $ANTLR start "rule__OrGate__InputEventsAssignment_2" + // InternalCftLanguage.g:3156:1: rule__OrGate__InputEventsAssignment_2 : ( ( RULE_ID ) ) ; + public final void rule__OrGate__InputEventsAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3160:1: ( ( ( RULE_ID ) ) ) + // InternalCftLanguage.g:3161:2: ( ( RULE_ID ) ) + { + // InternalCftLanguage.g:3161:2: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3162:3: ( RULE_ID ) + { + before(grammarAccess.getOrGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); + // InternalCftLanguage.g:3163:3: ( RULE_ID ) + // InternalCftLanguage.g:3164:4: RULE_ID + { + before(grammarAccess.getOrGateAccess().getInputEventsEventDeclarationIDTerminalRuleCall_2_0_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getOrGateAccess().getInputEventsEventDeclarationIDTerminalRuleCall_2_0_1()); + + } + + after(grammarAccess.getOrGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrGate__InputEventsAssignment_2" + + + // $ANTLR start "rule__TransformationDefinition__NameAssignment_1" + // InternalCftLanguage.g:3175:1: rule__TransformationDefinition__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__TransformationDefinition__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3179:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3180:2: ( RULE_ID ) + { + // InternalCftLanguage.g:3180:2: ( RULE_ID ) + // InternalCftLanguage.g:3181:3: RULE_ID + { + before(grammarAccess.getTransformationDefinitionAccess().getNameIDTerminalRuleCall_1_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getTransformationDefinitionAccess().getNameIDTerminalRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__NameAssignment_1" + + + // $ANTLR start "rule__TransformationDefinition__MappingDefinitionsAssignment_3" + // InternalCftLanguage.g:3190:1: rule__TransformationDefinition__MappingDefinitionsAssignment_3 : ( ruleMappingDefinition ) ; + public final void rule__TransformationDefinition__MappingDefinitionsAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3194:1: ( ( ruleMappingDefinition ) ) + // InternalCftLanguage.g:3195:2: ( ruleMappingDefinition ) + { + // InternalCftLanguage.g:3195:2: ( ruleMappingDefinition ) + // InternalCftLanguage.g:3196:3: ruleMappingDefinition + { + before(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsMappingDefinitionParserRuleCall_3_0()); + pushFollow(FOLLOW_2); + ruleMappingDefinition(); + + state._fsp--; + + after(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsMappingDefinitionParserRuleCall_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransformationDefinition__MappingDefinitionsAssignment_3" + + + // $ANTLR start "rule__MappingDefinition__TopLevelAssignment_0" + // InternalCftLanguage.g:3205:1: rule__MappingDefinition__TopLevelAssignment_0 : ( ( 'toplevel' ) ) ; + public final void rule__MappingDefinition__TopLevelAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3209:1: ( ( ( 'toplevel' ) ) ) + // InternalCftLanguage.g:3210:2: ( ( 'toplevel' ) ) + { + // InternalCftLanguage.g:3210:2: ( ( 'toplevel' ) ) + // InternalCftLanguage.g:3211:3: ( 'toplevel' ) + { + before(grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); + // InternalCftLanguage.g:3212:3: ( 'toplevel' ) + // InternalCftLanguage.g:3213:4: 'toplevel' + { + before(grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); + match(input,36,FOLLOW_2); + after(grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); + + } + + after(grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__TopLevelAssignment_0" + + + // $ANTLR start "rule__MappingDefinition__PatternAssignment_2" + // InternalCftLanguage.g:3224:1: rule__MappingDefinition__PatternAssignment_2 : ( ( ruleQualifiedName ) ) ; + public final void rule__MappingDefinition__PatternAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3228:1: ( ( ( ruleQualifiedName ) ) ) + // InternalCftLanguage.g:3229:2: ( ( ruleQualifiedName ) ) + { + // InternalCftLanguage.g:3229:2: ( ( ruleQualifiedName ) ) + // InternalCftLanguage.g:3230:3: ( ruleQualifiedName ) + { + before(grammarAccess.getMappingDefinitionAccess().getPatternPatternCrossReference_2_0()); + // InternalCftLanguage.g:3231:3: ( ruleQualifiedName ) + // InternalCftLanguage.g:3232:4: ruleQualifiedName + { + before(grammarAccess.getMappingDefinitionAccess().getPatternPatternQualifiedNameParserRuleCall_2_0_1()); + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + + after(grammarAccess.getMappingDefinitionAccess().getPatternPatternQualifiedNameParserRuleCall_2_0_1()); + + } + + after(grammarAccess.getMappingDefinitionAccess().getPatternPatternCrossReference_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__PatternAssignment_2" + + + // $ANTLR start "rule__MappingDefinition__ParametersAssignment_4" + // InternalCftLanguage.g:3243:1: rule__MappingDefinition__ParametersAssignment_4 : ( ruleMappingParameter ) ; + public final void rule__MappingDefinition__ParametersAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3247:1: ( ( ruleMappingParameter ) ) + // InternalCftLanguage.g:3248:2: ( ruleMappingParameter ) + { + // InternalCftLanguage.g:3248:2: ( ruleMappingParameter ) + // InternalCftLanguage.g:3249:3: ruleMappingParameter + { + before(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_4_0()); + pushFollow(FOLLOW_2); + ruleMappingParameter(); + + state._fsp--; + + after(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_4_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__ParametersAssignment_4" + + + // $ANTLR start "rule__MappingDefinition__ParametersAssignment_5_1" + // InternalCftLanguage.g:3258:1: rule__MappingDefinition__ParametersAssignment_5_1 : ( ruleMappingParameter ) ; + public final void rule__MappingDefinition__ParametersAssignment_5_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3262:1: ( ( ruleMappingParameter ) ) + // InternalCftLanguage.g:3263:2: ( ruleMappingParameter ) + { + // InternalCftLanguage.g:3263:2: ( ruleMappingParameter ) + // InternalCftLanguage.g:3264:3: ruleMappingParameter + { + before(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_5_1_0()); + pushFollow(FOLLOW_2); + ruleMappingParameter(); + + state._fsp--; + + after(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_5_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__ParametersAssignment_5_1" + + + // $ANTLR start "rule__MappingDefinition__ComponentInstanceAssignment_7" + // InternalCftLanguage.g:3273:1: rule__MappingDefinition__ComponentInstanceAssignment_7 : ( ruleComponentInstance ) ; + public final void rule__MappingDefinition__ComponentInstanceAssignment_7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3277:1: ( ( ruleComponentInstance ) ) + // InternalCftLanguage.g:3278:2: ( ruleComponentInstance ) + { + // InternalCftLanguage.g:3278:2: ( ruleComponentInstance ) + // InternalCftLanguage.g:3279:3: ruleComponentInstance + { + before(grammarAccess.getMappingDefinitionAccess().getComponentInstanceComponentInstanceParserRuleCall_7_0()); + pushFollow(FOLLOW_2); + ruleComponentInstance(); + + state._fsp--; + + after(grammarAccess.getMappingDefinitionAccess().getComponentInstanceComponentInstanceParserRuleCall_7_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__ComponentInstanceAssignment_7" + + + // $ANTLR start "rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0" + // InternalCftLanguage.g:3288:1: rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0 : ( ruleLookupDefinition ) ; + public final void rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3292:1: ( ( ruleLookupDefinition ) ) + // InternalCftLanguage.g:3293:2: ( ruleLookupDefinition ) + { + // InternalCftLanguage.g:3293:2: ( ruleLookupDefinition ) + // InternalCftLanguage.g:3294:3: ruleLookupDefinition + { + before(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsLookupDefinitionParserRuleCall_8_1_0_0_0()); + pushFollow(FOLLOW_2); + ruleLookupDefinition(); + + state._fsp--; + + after(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsLookupDefinitionParserRuleCall_8_1_0_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__LookupDefinitionsAssignment_8_1_0_0" + + + // $ANTLR start "rule__MappingDefinition__AssignmentsAssignment_8_1_0_1" + // InternalCftLanguage.g:3303:1: rule__MappingDefinition__AssignmentsAssignment_8_1_0_1 : ( ruleAssignment ) ; + public final void rule__MappingDefinition__AssignmentsAssignment_8_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3307:1: ( ( ruleAssignment ) ) + // InternalCftLanguage.g:3308:2: ( ruleAssignment ) + { + // InternalCftLanguage.g:3308:2: ( ruleAssignment ) + // InternalCftLanguage.g:3309:3: ruleAssignment + { + before(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignmentParserRuleCall_8_1_0_1_0()); + pushFollow(FOLLOW_2); + ruleAssignment(); + + state._fsp--; + + after(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignmentParserRuleCall_8_1_0_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingDefinition__AssignmentsAssignment_8_1_0_1" + + + // $ANTLR start "rule__MappingParameter__NameAssignment" + // InternalCftLanguage.g:3318:1: rule__MappingParameter__NameAssignment : ( RULE_ID ) ; + public final void rule__MappingParameter__NameAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3322:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3323:2: ( RULE_ID ) + { + // InternalCftLanguage.g:3323:2: ( RULE_ID ) + // InternalCftLanguage.g:3324:3: RULE_ID + { + before(grammarAccess.getMappingParameterAccess().getNameIDTerminalRuleCall_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getMappingParameterAccess().getNameIDTerminalRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MappingParameter__NameAssignment" + + + // $ANTLR start "rule__LookupDefinition__MappingAssignment_1" + // InternalCftLanguage.g:3333:1: rule__LookupDefinition__MappingAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__LookupDefinition__MappingAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3337:1: ( ( ( RULE_ID ) ) ) + // InternalCftLanguage.g:3338:2: ( ( RULE_ID ) ) + { + // InternalCftLanguage.g:3338:2: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3339:3: ( RULE_ID ) + { + before(grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionCrossReference_1_0()); + // InternalCftLanguage.g:3340:3: ( RULE_ID ) + // InternalCftLanguage.g:3341:4: RULE_ID + { + before(grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionIDTerminalRuleCall_1_0_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionIDTerminalRuleCall_1_0_1()); + + } + + after(grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionCrossReference_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__MappingAssignment_1" + + + // $ANTLR start "rule__LookupDefinition__ArgumentsAssignment_3" + // InternalCftLanguage.g:3352:1: rule__LookupDefinition__ArgumentsAssignment_3 : ( ( RULE_ID ) ) ; + public final void rule__LookupDefinition__ArgumentsAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3356:1: ( ( ( RULE_ID ) ) ) + // InternalCftLanguage.g:3357:2: ( ( RULE_ID ) ) + { + // InternalCftLanguage.g:3357:2: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3358:3: ( RULE_ID ) + { + before(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_3_0()); + // InternalCftLanguage.g:3359:3: ( RULE_ID ) + // InternalCftLanguage.g:3360:4: RULE_ID + { + before(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterIDTerminalRuleCall_3_0_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterIDTerminalRuleCall_3_0_1()); + + } + + after(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__ArgumentsAssignment_3" + + + // $ANTLR start "rule__LookupDefinition__ArgumentsAssignment_4_1" + // InternalCftLanguage.g:3371:1: rule__LookupDefinition__ArgumentsAssignment_4_1 : ( ( RULE_ID ) ) ; + public final void rule__LookupDefinition__ArgumentsAssignment_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3375:1: ( ( ( RULE_ID ) ) ) + // InternalCftLanguage.g:3376:2: ( ( RULE_ID ) ) + { + // InternalCftLanguage.g:3376:2: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3377:3: ( RULE_ID ) + { + before(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_4_1_0()); + // InternalCftLanguage.g:3378:3: ( RULE_ID ) + // InternalCftLanguage.g:3379:4: RULE_ID + { + before(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterIDTerminalRuleCall_4_1_0_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterIDTerminalRuleCall_4_1_0_1()); + + } + + after(grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_4_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__ArgumentsAssignment_4_1" + + + // $ANTLR start "rule__LookupDefinition__NameAssignment_7" + // InternalCftLanguage.g:3390:1: rule__LookupDefinition__NameAssignment_7 : ( RULE_ID ) ; + public final void rule__LookupDefinition__NameAssignment_7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3394:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3395:2: ( RULE_ID ) + { + // InternalCftLanguage.g:3395:2: ( RULE_ID ) + // InternalCftLanguage.g:3396:3: RULE_ID + { + before(grammarAccess.getLookupDefinitionAccess().getNameIDTerminalRuleCall_7_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getLookupDefinitionAccess().getNameIDTerminalRuleCall_7_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LookupDefinition__NameAssignment_7" + + + // $ANTLR start "rule__Assignment__InputAssignment_0" + // InternalCftLanguage.g:3405:1: rule__Assignment__InputAssignment_0 : ( ruleEventReference ) ; + public final void rule__Assignment__InputAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3409:1: ( ( ruleEventReference ) ) + // InternalCftLanguage.g:3410:2: ( ruleEventReference ) + { + // InternalCftLanguage.g:3410:2: ( ruleEventReference ) + // InternalCftLanguage.g:3411:3: ruleEventReference + { + before(grammarAccess.getAssignmentAccess().getInputEventReferenceParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleEventReference(); + + state._fsp--; + + after(grammarAccess.getAssignmentAccess().getInputEventReferenceParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Assignment__InputAssignment_0" + + + // $ANTLR start "rule__Assignment__MultipleAssignment_1_0" + // InternalCftLanguage.g:3420:1: rule__Assignment__MultipleAssignment_1_0 : ( ( '+=' ) ) ; + public final void rule__Assignment__MultipleAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3424:1: ( ( ( '+=' ) ) ) + // InternalCftLanguage.g:3425:2: ( ( '+=' ) ) + { + // InternalCftLanguage.g:3425:2: ( ( '+=' ) ) + // InternalCftLanguage.g:3426:3: ( '+=' ) + { + before(grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); + // InternalCftLanguage.g:3427:3: ( '+=' ) + // InternalCftLanguage.g:3428:4: '+=' + { + before(grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); + match(input,37,FOLLOW_2); + after(grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); + + } + + after(grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Assignment__MultipleAssignment_1_0" + + + // $ANTLR start "rule__Assignment__OutputAssignment_2" + // InternalCftLanguage.g:3439:1: rule__Assignment__OutputAssignment_2 : ( ruleEventReference ) ; + public final void rule__Assignment__OutputAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3443:1: ( ( ruleEventReference ) ) + // InternalCftLanguage.g:3444:2: ( ruleEventReference ) + { + // InternalCftLanguage.g:3444:2: ( ruleEventReference ) + // InternalCftLanguage.g:3445:3: ruleEventReference + { + before(grammarAccess.getAssignmentAccess().getOutputEventReferenceParserRuleCall_2_0()); + pushFollow(FOLLOW_2); + ruleEventReference(); + + state._fsp--; + + after(grammarAccess.getAssignmentAccess().getOutputEventReferenceParserRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Assignment__OutputAssignment_2" + + + // $ANTLR start "rule__EventReference__ComponentAssignment_0" + // InternalCftLanguage.g:3454:1: rule__EventReference__ComponentAssignment_0 : ( ( RULE_ID ) ) ; + public final void rule__EventReference__ComponentAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3458:1: ( ( ( RULE_ID ) ) ) + // InternalCftLanguage.g:3459:2: ( ( RULE_ID ) ) + { + // InternalCftLanguage.g:3459:2: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3460:3: ( RULE_ID ) + { + before(grammarAccess.getEventReferenceAccess().getComponentVariableCrossReference_0_0()); + // InternalCftLanguage.g:3461:3: ( RULE_ID ) + // InternalCftLanguage.g:3462:4: RULE_ID + { + before(grammarAccess.getEventReferenceAccess().getComponentVariableIDTerminalRuleCall_0_0_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getEventReferenceAccess().getComponentVariableIDTerminalRuleCall_0_0_1()); + + } + + after(grammarAccess.getEventReferenceAccess().getComponentVariableCrossReference_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventReference__ComponentAssignment_0" + + + // $ANTLR start "rule__EventReference__EventAssignment_2" + // InternalCftLanguage.g:3473:1: rule__EventReference__EventAssignment_2 : ( ( RULE_ID ) ) ; + public final void rule__EventReference__EventAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3477:1: ( ( ( RULE_ID ) ) ) + // InternalCftLanguage.g:3478:2: ( ( RULE_ID ) ) + { + // InternalCftLanguage.g:3478:2: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3479:3: ( RULE_ID ) + { + before(grammarAccess.getEventReferenceAccess().getEventEventDeclarationCrossReference_2_0()); + // InternalCftLanguage.g:3480:3: ( RULE_ID ) + // InternalCftLanguage.g:3481:4: RULE_ID + { + before(grammarAccess.getEventReferenceAccess().getEventEventDeclarationIDTerminalRuleCall_2_0_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getEventReferenceAccess().getEventEventDeclarationIDTerminalRuleCall_2_0_1()); + + } + + after(grammarAccess.getEventReferenceAccess().getEventEventDeclarationCrossReference_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventReference__EventAssignment_2" + + + // $ANTLR start "rule__ComponentInstance__ComponentTypeAssignment_1" + // InternalCftLanguage.g:3492:1: rule__ComponentInstance__ComponentTypeAssignment_1 : ( ( ruleQualifiedName ) ) ; + public final void rule__ComponentInstance__ComponentTypeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3496:1: ( ( ( ruleQualifiedName ) ) ) + // InternalCftLanguage.g:3497:2: ( ( ruleQualifiedName ) ) + { + // InternalCftLanguage.g:3497:2: ( ( ruleQualifiedName ) ) + // InternalCftLanguage.g:3498:3: ( ruleQualifiedName ) + { + before(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionCrossReference_1_0()); + // InternalCftLanguage.g:3499:3: ( ruleQualifiedName ) + // InternalCftLanguage.g:3500:4: ruleQualifiedName + { + before(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1()); + pushFollow(FOLLOW_2); + ruleQualifiedName(); + + state._fsp--; + + after(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1()); + + } + + after(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionCrossReference_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__ComponentTypeAssignment_1" + + + // $ANTLR start "rule__ComponentInstance__NameAssignment_2" + // InternalCftLanguage.g:3511:1: rule__ComponentInstance__NameAssignment_2 : ( RULE_ID ) ; + public final void rule__ComponentInstance__NameAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalCftLanguage.g:3515:1: ( ( RULE_ID ) ) + // InternalCftLanguage.g:3516:2: ( RULE_ID ) + { + // InternalCftLanguage.g:3516:2: ( RULE_ID ) + // InternalCftLanguage.g:3517:3: RULE_ID + { + before(grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__NameAssignment_2" + + // Delegated rules + + + + + public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x000000000201C000L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000008002L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000002010002L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000020000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000180000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000040010L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000012L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000004010L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000001004040000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000001004000002L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000001004000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000030000000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000020000002L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000200020000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000040040010L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000040000012L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000002000001000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000040000010L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000100000002L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000180002L}); + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeModule.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeModule.xtend new file mode 100644 index 00000000..1717a3c0 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeModule.xtend @@ -0,0 +1,11 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide + + +/** + * Use this class to register ide components. + */ +class CftLanguageIdeModule extends AbstractCftLanguageIdeModule { +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeSetup.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeSetup.xtend new file mode 100644 index 00000000..af8d87a5 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeSetup.xtend @@ -0,0 +1,20 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide + +import com.google.inject.Guice +import hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguageRuntimeModule +import hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguageStandaloneSetup +import org.eclipse.xtext.util.Modules2 + +/** + * Initialization support for running Xtext languages as language servers. + */ +class CftLanguageIdeSetup extends CftLanguageStandaloneSetup { + + override createInjector() { + Guice.createInjector(Modules2.mixin(new CftLanguageRuntimeModule, new CftLanguageIdeModule)) + } + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin new file mode 100644 index 00000000..728a6549 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin new file mode 100644 index 00000000..9bb35edd Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.gitignore new file mode 100644 index 00000000..2fad95ba --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.gitignore @@ -0,0 +1,2 @@ +/.CftLanguageIdeModule.java._trace +/.CftLanguageIdeSetup.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeModule.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeModule.java new file mode 100644 index 00000000..cdedc92a --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeModule.java @@ -0,0 +1,13 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.ide.AbstractCftLanguageIdeModule; + +/** + * Use this class to register ide components. + */ +@SuppressWarnings("all") +public class CftLanguageIdeModule extends AbstractCftLanguageIdeModule { +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeSetup.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeSetup.java new file mode 100644 index 00000000..f07010fc --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/CftLanguageIdeSetup.java @@ -0,0 +1,24 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ide; + +import com.google.inject.Guice; +import com.google.inject.Injector; +import hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguageRuntimeModule; +import hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguageStandaloneSetup; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ide.CftLanguageIdeModule; +import org.eclipse.xtext.util.Modules2; + +/** + * Initialization support for running Xtext languages as language servers. + */ +@SuppressWarnings("all") +public class CftLanguageIdeSetup extends CftLanguageStandaloneSetup { + @Override + public Injector createInjector() { + CftLanguageRuntimeModule _cftLanguageRuntimeModule = new CftLanguageRuntimeModule(); + CftLanguageIdeModule _cftLanguageIdeModule = new CftLanguageIdeModule(); + return Guice.createInjector(Modules2.mixin(_cftLanguageRuntimeModule, _cftLanguageIdeModule)); + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.classpath b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.classpath new file mode 100644 index 00000000..9081d4f7 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.gitignore new file mode 100644 index 00000000..ae3c1726 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.project b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.project new file mode 100644 index 00000000..ff20123a --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.project @@ -0,0 +1,34 @@ + + + hu.bme.mit.inf.dslreasoner.faulttree.components.ui + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.settings/org.eclipse.core.resources.prefs b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..99f26c02 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.settings/org.eclipse.jdt.core.prefs b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..0c68a61d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/META-INF/MANIFEST.MF b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/META-INF/MANIFEST.MF new file mode 100644 index 00000000..0b82fe96 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/META-INF/MANIFEST.MF @@ -0,0 +1,26 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.faulttree.components.ui +Bundle-ManifestVersion: 2 +Bundle-Name: hu.bme.mit.inf.dslreasoner.faulttree.components.ui +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.faulttree.components.ui; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: hu.bme.mit.inf.dslreasoner.faulttree.components, + hu.bme.mit.inf.dslreasoner.faulttree.components.ide, + org.eclipse.xtext.ui, + org.eclipse.xtext.ui.shared, + org.eclipse.xtext.ui.codetemplates.ui, + org.eclipse.ui.editors;bundle-version="3.5.0", + org.eclipse.ui.ide;bundle-version="3.5.0", + org.eclipse.ui, + org.eclipse.compare, + org.eclipse.xtext.builder, + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0", + org.eclipse.xtend.lib;bundle-version="2.14.0";resolution:=optional +Import-Package: org.apache.log4j +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: hu.bme.mit.inf.dslreasoner.faulttree.components.ui.internal, + hu.bme.mit.inf.dslreasoner.faulttree.components.ui.quickfix, + hu.bme.mit.inf.dslreasoner.faulttree.components.ui.contentassist +Bundle-Activator: hu.bme.mit.inf.dslreasoner.faulttree.components.ui.internal.ComponentsActivator diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/build.properties b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/build.properties new file mode 100644 index 00000000..323f56c5 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/build.properties @@ -0,0 +1,7 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/,\ + plugin.xml +bin.excludes = **/*.xtend diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/plugin.xml b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/plugin.xml new file mode 100644 index 00000000..afad4516 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/plugin.xml @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/AbstractCftLanguageUiModule.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/AbstractCftLanguageUiModule.java new file mode 100644 index 00000000..ba2f3d51 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/AbstractCftLanguageUiModule.java @@ -0,0 +1,293 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui; + +import com.google.inject.Binder; +import com.google.inject.Provider; +import com.google.inject.name.Names; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.CftLanguageParser; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.PartialCftLanguageContentAssistParser; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ide.contentassist.antlr.internal.InternalCftLanguageLexer; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ui.contentassist.CftLanguageProposalProvider; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ui.labeling.CftLanguageDescriptionLabelProvider; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ui.labeling.CftLanguageLabelProvider; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ui.outline.CftLanguageOutlineTreeProvider; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ui.quickfix.CftLanguageQuickfixProvider; +import hu.bme.mit.inf.dslreasoner.faulttree.components.validation.CftLanguageValidatorConfigurationBlock; +import org.eclipse.compare.IViewerCreator; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.jface.viewers.ILabelProvider; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.xtext.builder.BuilderParticipant; +import org.eclipse.xtext.builder.EclipseOutputConfigurationProvider; +import org.eclipse.xtext.builder.IXtextBuilderParticipant; +import org.eclipse.xtext.builder.builderState.IBuilderState; +import org.eclipse.xtext.builder.clustering.CurrentDescriptions; +import org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource; +import org.eclipse.xtext.builder.nature.NatureAddingEditorCallback; +import org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess; +import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider; +import org.eclipse.xtext.ide.LexerIdeBindings; +import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser; +import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider; +import org.eclipse.xtext.parser.antlr.ITokenDefProvider; +import org.eclipse.xtext.parser.antlr.LexerProvider; +import org.eclipse.xtext.resource.IResourceDescriptions; +import org.eclipse.xtext.resource.containers.IAllContainersState; +import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider; +import org.eclipse.xtext.service.SingletonBinding; +import org.eclipse.xtext.ui.DefaultUiModule; +import org.eclipse.xtext.ui.UIBindings; +import org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator; +import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialEditingContentAssistContextFactory; +import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.PartialEditingContentAssistContextFactory; +import org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage; +import org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration; +import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar; +import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry; +import org.eclipse.xtext.ui.compare.DefaultViewerCreator; +import org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource; +import org.eclipse.xtext.ui.editor.IXtextEditorCallback; +import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; +import org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher; +import org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider; +import org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper; +import org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher; +import org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper; +import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory; +import org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider; +import org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider; +import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer; +import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider; +import org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage; +import org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator; +import org.eclipse.xtext.ui.refactoring.IReferenceUpdater; +import org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider; +import org.eclipse.xtext.ui.refactoring.IRenameStrategy; +import org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator; +import org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater; +import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider; +import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy; +import org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport; +import org.eclipse.xtext.ui.refactoring.ui.IRenameSupport; +import org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences; +import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider; +import org.eclipse.xtext.ui.shared.Access; +import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock; + +/** + * Manual modifications go to {@link CftLanguageUiModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractCftLanguageUiModule extends DefaultUiModule { + + public AbstractCftLanguageUiModule(AbstractUIPlugin plugin) { + super(plugin); + } + + // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment + public Provider provideIAllContainersState() { + return Access.getJavaProjectsState(); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIProposalConflictHelper() { + return AntlrProposalConflictHelper.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureContentAssistLexer(Binder binder) { + binder.bind(Lexer.class) + .annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST)) + .to(InternalCftLanguageLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureHighlightingLexer(Binder binder) { + binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class) + .annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING)) + .to(hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.internal.InternalCftLanguageLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureHighlightingTokenDefProvider(Binder binder) { + binder.bind(ITokenDefProvider.class) + .annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING)) + .to(AntlrTokenDefProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindContentAssistContext$Factory() { + return DelegatingContentAssistContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIContentAssistParser() { + return CftLanguageParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureContentAssistLexerProvider(Binder binder) { + binder.bind(InternalCftLanguageLexer.class).toProvider(LexerProvider.create(InternalCftLanguageLexer.class)); + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + public Class bindAbstractValidatorConfigurationBlock() { + return CftLanguageValidatorConfigurationBlock.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class bindPrefixMatcher() { + return FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class bindIDependentElementsCalculator() { + return DefaultDependentElementsCalculator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptionsBuilderScope(Binder binder) { + binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class bindIXtextEditorCallback() { + return NatureAddingEditorCallback.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class bindIContextualOutputConfigurationProvider() { + return EclipseOutputConfigurationProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptionsPersisted(Binder binder) { + binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(IBuilderState.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class bindDocumentBasedDirtyResource() { + return PersistentDataAwareDirtyResource.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public Class bindIXtextBuilderParticipant() { + return BuilderParticipant.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public IWorkspaceRoot bindIWorkspaceRootToInstance() { + return ResourcesPlugin.getWorkspace().getRoot(); + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public void configureBuilderPreferenceStoreInitializer(Binder binder) { + binder.bind(IPreferenceStoreInitializer.class) + .annotatedWith(Names.named("builderPreferenceInitializer")) + .to(BuilderPreferenceAccess.Initializer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2 + public Class bindILabelProvider() { + return CftLanguageLabelProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2 + public void configureResourceUIServiceLabelProvider(Binder binder) { + binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(CftLanguageDescriptionLabelProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2 + public Class bindIOutlineTreeProvider() { + return CftLanguageOutlineTreeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2 + public Class bindIOutlineTreeStructureProvider() { + return CftLanguageOutlineTreeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2 + public Class bindIssueResolutionProvider() { + return CftLanguageQuickfixProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2 + public Class bindIContentProposalProvider() { + return CftLanguageProposalProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public void configureIPreferenceStoreInitializer(Binder binder) { + binder.bind(IPreferenceStoreInitializer.class) + .annotatedWith(Names.named("RefactoringPreferences")) + .to(RefactoringPreferences.Initializer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class bindIRenameStrategy() { + return DefaultRenameStrategy.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class bindIReferenceUpdater() { + return DefaultReferenceUpdater.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class bindIRenameRefactoringProvider() { + return DefaultRenameRefactoringProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class bindIRenameSupport$Factory() { + return DefaultRenameSupport.Factory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Provider provideTemplatesLanguageConfiguration() { + return AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider(); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Provider provideLanguageRegistry() { + return AccessibleCodetemplatesActivator.getLanguageRegistry(); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + @SingletonBinding(eager=true) + public Class bindLanguageRegistrar() { + return LanguageRegistrar.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class bindXtextTemplatePreferencePage() { + return AdvancedTemplatesPreferencePage.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class bindIPartialEditingContentAssistParser() { + return PartialCftLanguageContentAssistParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class bindIPartialEditingContentAssistContextFactory() { + return PartialEditingContentAssistContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2 + public Class bindIViewerCreator() { + return DefaultViewerCreator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2 + public void configureCompareViewerTitle(Binder binder) { + binder.bind(String.class).annotatedWith(Names.named(UIBindings.COMPARE_VIEWER_TITLE)).toInstance("CftLanguage Compare"); + } + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageExecutableExtensionFactory.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageExecutableExtensionFactory.java new file mode 100644 index 00000000..cf453a4f --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageExecutableExtensionFactory.java @@ -0,0 +1,29 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui; + +import com.google.inject.Injector; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ui.internal.ComponentsActivator; +import org.eclipse.core.runtime.Platform; +import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory; +import org.osgi.framework.Bundle; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class CftLanguageExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory { + + @Override + protected Bundle getBundle() { + return Platform.getBundle(ComponentsActivator.PLUGIN_ID); + } + + @Override + protected Injector getInjector() { + ComponentsActivator activator = ComponentsActivator.getInstance(); + return activator != null ? activator.getInjector(ComponentsActivator.HU_BME_MIT_INF_DSLREASONER_FAULTTREE_COMPONENTS_CFTLANGUAGE) : null; + } + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/AbstractCftLanguageProposalProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/AbstractCftLanguageProposalProvider.java new file mode 100644 index 00000000..89cd0833 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/AbstractCftLanguageProposalProvider.java @@ -0,0 +1,193 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.contentassist; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.Assignment; +import org.eclipse.xtext.CrossReference; +import org.eclipse.xtext.RuleCall; +import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider; +import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; +import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor; + +/** + * Represents a generated, default implementation of superclass {@link TerminalsProposalProvider}. + * Methods are dynamically dispatched on the first parameter, i.e., you can override them + * with a more concrete subtype. + */ +public abstract class AbstractCftLanguageProposalProvider extends TerminalsProposalProvider { + + public void completeCftModel_PackageName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeCftModel_Imports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeCftModel_ComponentDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeCftModel_TransformationDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeImportDeclaration_ImportedNamespace(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDefinition_InputEvents(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDefinition_OutputEvents(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDefinition_EventDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeInputEvent_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeInputEvent_Multiple(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeBasicEventDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeBasicEventDefinition_Rate(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAndGate_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAndGate_InputEvents(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeOrGate_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeOrGate_InputEvents(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeTransformationDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTransformationDefinition_MappingDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeMappingDefinition_TopLevel(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeMappingDefinition_Pattern(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeMappingDefinition_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeMappingDefinition_ComponentInstance(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeMappingDefinition_LookupDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeMappingDefinition_Assignments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeMappingParameter_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLookupDefinition_Mapping(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeLookupDefinition_Arguments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeLookupDefinition_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAssignment_Input(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAssignment_Multiple(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeAssignment_Output(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeEventReference_Component(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeEventReference_Event(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeComponentInstance_ComponentType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeComponentInstance_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + + public void complete_CftModel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ImportDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ComponentDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_EventDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_InputEvent(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_EventDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_BasicEventDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_GateDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_AndGate(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_OrGate(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TransformationDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_MappingDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_MappingParameter(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LookupDefinition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Variable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Assignment(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_EventReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ComponentInstance(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_QualifiedNameWithWildcard(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_DOULBE(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/internal/ComponentsActivator.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/internal/ComponentsActivator.java new file mode 100644 index 00000000..3b4702dd --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/internal/ComponentsActivator.java @@ -0,0 +1,94 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.internal; + +import com.google.common.collect.Maps; +import com.google.inject.Guice; +import com.google.inject.Injector; +import hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguageRuntimeModule; +import hu.bme.mit.inf.dslreasoner.faulttree.components.ui.CftLanguageUiModule; +import java.util.Collections; +import java.util.Map; +import org.apache.log4j.Logger; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.xtext.ui.shared.SharedStateModule; +import org.eclipse.xtext.util.Modules2; +import org.osgi.framework.BundleContext; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class ComponentsActivator extends AbstractUIPlugin { + + public static final String PLUGIN_ID = "hu.bme.mit.inf.dslreasoner.faulttree.components.ui"; + public static final String HU_BME_MIT_INF_DSLREASONER_FAULTTREE_COMPONENTS_CFTLANGUAGE = "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage"; + + private static final Logger logger = Logger.getLogger(ComponentsActivator.class); + + private static ComponentsActivator INSTANCE; + + private Map injectors = Collections.synchronizedMap(Maps. newHashMapWithExpectedSize(1)); + + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + INSTANCE = this; + } + + @Override + public void stop(BundleContext context) throws Exception { + injectors.clear(); + INSTANCE = null; + super.stop(context); + } + + public static ComponentsActivator getInstance() { + return INSTANCE; + } + + public Injector getInjector(String language) { + synchronized (injectors) { + Injector injector = injectors.get(language); + if (injector == null) { + injectors.put(language, injector = createInjector(language)); + } + return injector; + } + } + + protected Injector createInjector(String language) { + try { + com.google.inject.Module runtimeModule = getRuntimeModule(language); + com.google.inject.Module sharedStateModule = getSharedStateModule(); + com.google.inject.Module uiModule = getUiModule(language); + com.google.inject.Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule); + return Guice.createInjector(mergedModule); + } catch (Exception e) { + logger.error("Failed to create injector for " + language); + logger.error(e.getMessage(), e); + throw new RuntimeException("Failed to create injector for " + language, e); + } + } + + protected com.google.inject.Module getRuntimeModule(String grammar) { + if (HU_BME_MIT_INF_DSLREASONER_FAULTTREE_COMPONENTS_CFTLANGUAGE.equals(grammar)) { + return new CftLanguageRuntimeModule(); + } + throw new IllegalArgumentException(grammar); + } + + protected com.google.inject.Module getUiModule(String grammar) { + if (HU_BME_MIT_INF_DSLREASONER_FAULTTREE_COMPONENTS_CFTLANGUAGE.equals(grammar)) { + return new CftLanguageUiModule(this); + } + throw new IllegalArgumentException(grammar); + } + + protected com.google.inject.Module getSharedStateModule() { + return new SharedStateModule(); + } + + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidatorConfigurationBlock.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidatorConfigurationBlock.java new file mode 100644 index 00000000..151699a2 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidatorConfigurationBlock.java @@ -0,0 +1,35 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.validation; + +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock; + +@SuppressWarnings("restriction") +public class CftLanguageValidatorConfigurationBlock extends AbstractValidatorConfigurationBlock { + + protected static final String SETTINGS_SECTION_NAME = "CftLanguage"; + + @Override + protected void fillSettingsPage(Composite composite, int nColumns, int defaultIndent) { + addComboBox(CftLanguageConfigurableIssueCodesProvider.DEPRECATED_MODEL_PART, "Deprecated Model Part", composite, defaultIndent); + } + + @Override + public void dispose() { + storeSectionExpansionStates(getDialogSettings()); + super.dispose(); + } + + @Override + protected IDialogSettings getDialogSettings() { + IDialogSettings dialogSettings = super.getDialogSettings(); + IDialogSettings section = dialogSettings.getSection(SETTINGS_SECTION_NAME); + if (section == null) { + return dialogSettings.addNewSection(SETTINGS_SECTION_NAME); + } + return section; + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageUiModule.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageUiModule.xtend new file mode 100644 index 00000000..9aa9ba9c --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageUiModule.xtend @@ -0,0 +1,13 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui + +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor + +/** + * Use this class to register components to be used within the Eclipse IDE. + */ +@FinalFieldsConstructor +class CftLanguageUiModule extends AbstractCftLanguageUiModule { +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/CftLanguageProposalProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/CftLanguageProposalProvider.xtend new file mode 100644 index 00000000..2d173d73 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/CftLanguageProposalProvider.xtend @@ -0,0 +1,12 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.contentassist + + +/** + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist + * on how to customize the content assistant. + */ +class CftLanguageProposalProvider extends AbstractCftLanguageProposalProvider { +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageDescriptionLabelProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageDescriptionLabelProvider.xtend new file mode 100644 index 00000000..17a734e1 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageDescriptionLabelProvider.xtend @@ -0,0 +1,24 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.labeling + +import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider + +/** + * Provides labels for IEObjectDescriptions and IResourceDescriptions. + * + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider + */ +class CftLanguageDescriptionLabelProvider extends DefaultDescriptionLabelProvider { + + // Labels and icons can be computed like this: + +// override text(IEObjectDescription ele) { +// ele.name.toString +// } +// +// override image(IEObjectDescription ele) { +// ele.EClass.name + '.gif' +// } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageLabelProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageLabelProvider.xtend new file mode 100644 index 00000000..a6ea8f90 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageLabelProvider.xtend @@ -0,0 +1,31 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.labeling + +import com.google.inject.Inject +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider +import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider + +/** + * Provides labels for EObjects. + * + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider + */ +class CftLanguageLabelProvider extends DefaultEObjectLabelProvider { + + @Inject + new(AdapterFactoryLabelProvider delegate) { + super(delegate); + } + + // Labels and icons can be computed like this: + +// def text(Greeting ele) { +// 'A greeting to ' + ele.name +// } +// +// def image(Greeting ele) { +// 'Greeting.gif' +// } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/CftLanguageOutlineTreeProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/CftLanguageOutlineTreeProvider.xtend new file mode 100644 index 00000000..5ffa82ad --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/CftLanguageOutlineTreeProvider.xtend @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.outline + +import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider + +/** + * Customization of the default outline structure. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline + */ +class CftLanguageOutlineTreeProvider extends DefaultOutlineTreeProvider { + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/CftLanguageQuickfixProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/CftLanguageQuickfixProvider.xtend new file mode 100644 index 00000000..4ca09e2b --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/src/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/CftLanguageQuickfixProvider.xtend @@ -0,0 +1,24 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.quickfix + +import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider + +/** + * Custom quickfixes. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes + */ +class CftLanguageQuickfixProvider extends DefaultQuickfixProvider { + +// @Fix(CftLanguageValidator.INVALID_NAME) +// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) { +// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [ +// context | +// val xtextDocument = context.xtextDocument +// val firstLetter = xtextDocument.get(issue.offset, 1) +// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase) +// ] +// } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin new file mode 100644 index 00000000..7eb6190d Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.gitignore new file mode 100644 index 00000000..bee88ba2 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.gitignore @@ -0,0 +1 @@ +/.CftLanguageUiModule.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageUiModule.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageUiModule.java new file mode 100644 index 00000000..4f1409d9 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/CftLanguageUiModule.java @@ -0,0 +1,19 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.ui.AbstractCftLanguageUiModule; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor; + +/** + * Use this class to register components to be used within the Eclipse IDE. + */ +@FinalFieldsConstructor +@SuppressWarnings("all") +public class CftLanguageUiModule extends AbstractCftLanguageUiModule { + public CftLanguageUiModule(final AbstractUIPlugin plugin) { + super(plugin); + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin new file mode 100644 index 00000000..a6a68b91 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.gitignore new file mode 100644 index 00000000..31aac8dc --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.gitignore @@ -0,0 +1 @@ +/.CftLanguageProposalProvider.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/CftLanguageProposalProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/CftLanguageProposalProvider.java new file mode 100644 index 00000000..0d61f5be --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/CftLanguageProposalProvider.java @@ -0,0 +1,14 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.contentassist; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.ui.contentassist.AbstractCftLanguageProposalProvider; + +/** + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist + * on how to customize the content assistant. + */ +@SuppressWarnings("all") +public class CftLanguageProposalProvider extends AbstractCftLanguageProposalProvider { +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin new file mode 100644 index 00000000..e2a540db Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin new file mode 100644 index 00000000..58dd1f71 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.gitignore new file mode 100644 index 00000000..20d80a0b --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.gitignore @@ -0,0 +1,2 @@ +/.CftLanguageDescriptionLabelProvider.java._trace +/.CftLanguageLabelProvider.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageDescriptionLabelProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageDescriptionLabelProvider.java new file mode 100644 index 00000000..f38d3fb5 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageDescriptionLabelProvider.java @@ -0,0 +1,15 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.labeling; + +import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider; + +/** + * Provides labels for IEObjectDescriptions and IResourceDescriptions. + * + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider + */ +@SuppressWarnings("all") +public class CftLanguageDescriptionLabelProvider extends DefaultDescriptionLabelProvider { +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageLabelProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageLabelProvider.java new file mode 100644 index 00000000..3a03868d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/CftLanguageLabelProvider.java @@ -0,0 +1,21 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.labeling; + +import com.google.inject.Inject; +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; +import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; + +/** + * Provides labels for EObjects. + * + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider + */ +@SuppressWarnings("all") +public class CftLanguageLabelProvider extends DefaultEObjectLabelProvider { + @Inject + public CftLanguageLabelProvider(final AdapterFactoryLabelProvider delegate) { + super(delegate); + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin new file mode 100644 index 00000000..b785c6e2 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.gitignore new file mode 100644 index 00000000..a0d017e3 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.gitignore @@ -0,0 +1 @@ +/.CftLanguageOutlineTreeProvider.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/CftLanguageOutlineTreeProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/CftLanguageOutlineTreeProvider.java new file mode 100644 index 00000000..76ea64c4 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/CftLanguageOutlineTreeProvider.java @@ -0,0 +1,15 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.outline; + +import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider; + +/** + * Customization of the default outline structure. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline + */ +@SuppressWarnings("all") +public class CftLanguageOutlineTreeProvider extends DefaultOutlineTreeProvider { +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin new file mode 100644 index 00000000..d199f277 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.gitignore new file mode 100644 index 00000000..1f83fa55 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.gitignore @@ -0,0 +1 @@ +/.CftLanguageQuickfixProvider.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/CftLanguageQuickfixProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/CftLanguageQuickfixProvider.java new file mode 100644 index 00000000..361a00ca --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/CftLanguageQuickfixProvider.java @@ -0,0 +1,15 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.ui.quickfix; + +import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider; + +/** + * Custom quickfixes. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes + */ +@SuppressWarnings("all") +public class CftLanguageQuickfixProvider extends DefaultQuickfixProvider { +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.classpath b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.classpath new file mode 100644 index 00000000..9081d4f7 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.gitignore new file mode 100644 index 00000000..ae3c1726 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.launch/Generate CftLanguage (cft) Language Infrastructure.launch b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.launch/Generate CftLanguage (cft) Language Infrastructure.launch new file mode 100644 index 00000000..25217aa6 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.launch/Generate CftLanguage (cft) Language Infrastructure.launch @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.project b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.project new file mode 100644 index 00000000..eb054def --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.project @@ -0,0 +1,34 @@ + + + hu.bme.mit.inf.dslreasoner.faulttree.components + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.settings/org.eclipse.core.resources.prefs b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..99f26c02 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.settings/org.eclipse.jdt.core.prefs b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..0c68a61d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/META-INF/MANIFEST.MF b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/META-INF/MANIFEST.MF new file mode 100644 index 00000000..66be4b49 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/META-INF/MANIFEST.MF @@ -0,0 +1,31 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.faulttree.components +Bundle-ManifestVersion: 2 +Bundle-Name: hu.bme.mit.inf.dslreasoner.faulttree.components +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.faulttree.components; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: org.eclipse.xtext, + org.eclipse.xtext.xbase, + org.eclipse.equinox.common;bundle-version="3.5.0", + org.eclipse.viatra.query.patternlanguage.emf, + org.eclipse.emf.ecore, + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0", + org.eclipse.xtext.util, + org.eclipse.emf.common, + org.eclipse.xtend.lib;bundle-version="2.14.0", + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: hu.bme.mit.inf.dslreasoner.faulttree.components, + hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage, + hu.bme.mit.inf.dslreasoner.faulttree.components.serializer, + hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.util, + hu.bme.mit.inf.dslreasoner.faulttree.components.scoping, + hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.internal, + hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl, + hu.bme.mit.inf.dslreasoner.faulttree.components.generator, + hu.bme.mit.inf.dslreasoner.faulttree.components.validation, + hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr, + hu.bme.mit.inf.dslreasoner.faulttree.components.services +Import-Package: org.apache.log4j diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/build.properties b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/build.properties new file mode 100644 index 00000000..18d540bf --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/build.properties @@ -0,0 +1,20 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = model/generated/,\ + .,\ + META-INF/,\ + plugin.xml +bin.excludes = **/*.mwe2,\ + **/*.xtend +additional.bundles = org.eclipse.xtext.xbase,\ + org.eclipse.xtext.common.types,\ + org.eclipse.xtext.xtext.generator,\ + org.eclipse.emf.codegen.ecore,\ + org.eclipse.emf.mwe.utils,\ + org.eclipse.emf.mwe2.launch,\ + org.eclipse.emf.mwe2.lib,\ + org.objectweb.asm,\ + org.apache.commons.logging,\ + org.apache.log4j,\ + com.ibm.icu diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/model/generated/CftLanguage.ecore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/model/generated/CftLanguage.ecore new file mode 100644 index 00000000..a86e503e --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/model/generated/CftLanguage.ecore @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/model/generated/CftLanguage.genmodel b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/model/generated/CftLanguage.genmodel new file mode 100644 index 00000000..c2208adc --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/model/generated/CftLanguage.genmodel @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/plugin.xml b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/plugin.xml new file mode 100644 index 00000000..698af7de --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/plugin.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/AbstractCftLanguageRuntimeModule.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/AbstractCftLanguageRuntimeModule.java new file mode 100644 index 00000000..bdec0d5b --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/AbstractCftLanguageRuntimeModule.java @@ -0,0 +1,208 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components; + +import com.google.inject.Binder; +import com.google.inject.Provider; +import com.google.inject.name.Names; +import hu.bme.mit.inf.dslreasoner.faulttree.components.generator.CftLanguageGenerator; +import hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.CftLanguageAntlrTokenFileProvider; +import hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.CftLanguageParser; +import hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.internal.InternalCftLanguageLexer; +import hu.bme.mit.inf.dslreasoner.faulttree.components.scoping.CftLanguageScopeProvider; +import hu.bme.mit.inf.dslreasoner.faulttree.components.serializer.CftLanguageSemanticSequencer; +import hu.bme.mit.inf.dslreasoner.faulttree.components.serializer.CftLanguageSyntacticSequencer; +import hu.bme.mit.inf.dslreasoner.faulttree.components.services.CftLanguageGrammarAccess; +import hu.bme.mit.inf.dslreasoner.faulttree.components.validation.CftLanguageConfigurableIssueCodesProvider; +import hu.bme.mit.inf.dslreasoner.faulttree.components.validation.CftLanguageValidator; +import java.util.Properties; +import org.eclipse.xtext.Constants; +import org.eclipse.xtext.IGrammarAccess; +import org.eclipse.xtext.generator.IGenerator2; +import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider; +import org.eclipse.xtext.naming.IQualifiedNameProvider; +import org.eclipse.xtext.parser.IParser; +import org.eclipse.xtext.parser.ITokenToStringConverter; +import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider; +import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter; +import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; +import org.eclipse.xtext.parser.antlr.ITokenDefProvider; +import org.eclipse.xtext.parser.antlr.IUnorderedGroupHelper; +import org.eclipse.xtext.parser.antlr.Lexer; +import org.eclipse.xtext.parser.antlr.LexerBindings; +import org.eclipse.xtext.parser.antlr.LexerProvider; +import org.eclipse.xtext.parser.antlr.UnorderedGroupHelper; +import org.eclipse.xtext.resource.IContainer; +import org.eclipse.xtext.resource.IResourceDescriptions; +import org.eclipse.xtext.resource.containers.IAllContainersState; +import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider; +import org.eclipse.xtext.resource.containers.StateBasedContainerManager; +import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider; +import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions; +import org.eclipse.xtext.scoping.IGlobalScopeProvider; +import org.eclipse.xtext.scoping.IScopeProvider; +import org.eclipse.xtext.scoping.IgnoreCaseLinking; +import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; +import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; +import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider; +import org.eclipse.xtext.serializer.ISerializer; +import org.eclipse.xtext.serializer.impl.Serializer; +import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; +import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer; +import org.eclipse.xtext.service.DefaultRuntimeModule; +import org.eclipse.xtext.service.SingletonBinding; +import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider; + +/** + * Manual modifications go to {@link CftLanguageRuntimeModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractCftLanguageRuntimeModule extends DefaultRuntimeModule { + + protected Properties properties = null; + + @Override + public void configure(Binder binder) { + properties = tryBindProperties(binder, "hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.properties"); + super.configure(binder); + } + + public void configureLanguageName(Binder binder) { + binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage"); + } + + public void configureFileExtensions(Binder binder) { + if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null) + binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("cft"); + } + + // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 + public ClassLoader bindClassLoaderToInstance() { + return getClass().getClassLoader(); + } + + // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 + public Class bindIGrammarAccess() { + return CftLanguageGrammarAccess.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class bindISemanticSequencer() { + return CftLanguageSemanticSequencer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class bindISyntacticSequencer() { + return CftLanguageSyntacticSequencer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class bindISerializer() { + return Serializer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIParser() { + return CftLanguageParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindITokenToStringConverter() { + return AntlrTokenToStringConverter.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIAntlrTokenFileProvider() { + return CftLanguageAntlrTokenFileProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindLexer() { + return InternalCftLanguageLexer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindITokenDefProvider() { + return AntlrTokenDefProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Provider provideInternalCftLanguageLexer() { + return LexerProvider.create(InternalCftLanguageLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureRuntimeLexer(Binder binder) { + binder.bind(Lexer.class) + .annotatedWith(Names.named(LexerBindings.RUNTIME)) + .to(InternalCftLanguageLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIUnorderedGroupHelper() { + return UnorderedGroupHelper.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + @SingletonBinding(eager=true) + public Class bindCftLanguageValidator() { + return CftLanguageValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + public Class bindConfigurableIssueCodesProvider() { + return CftLanguageConfigurableIssueCodesProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public Class bindIScopeProvider() { + return CftLanguageScopeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public void configureIScopeProviderDelegate(Binder binder) { + binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public Class bindIGlobalScopeProvider() { + return DefaultGlobalScopeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public void configureIgnoreCaseLinking(Binder binder) { + binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false); + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class bindIQualifiedNameProvider() { + return DefaultDeclarativeQualifiedNameProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class bindIContainer$Manager() { + return StateBasedContainerManager.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class bindIAllContainersState$Provider() { + return ResourceSetBasedAllContainersStateProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptions(Binder binder) { + binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptionsPersisted(Binder binder) { + binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public Class bindIGenerator2() { + return CftLanguageGenerator.class; + } + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtextbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtextbin new file mode 100644 index 00000000..b39c9074 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtextbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetupGenerated.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetupGenerated.java new file mode 100644 index 00000000..75f38b14 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetupGenerated.java @@ -0,0 +1,42 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components; + +import com.google.inject.Guice; +import com.google.inject.Injector; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.xtext.ISetup; +import org.eclipse.xtext.common.TerminalsStandaloneSetup; +import org.eclipse.xtext.resource.IResourceFactory; +import org.eclipse.xtext.resource.IResourceServiceProvider; + +@SuppressWarnings("all") +public class CftLanguageStandaloneSetupGenerated implements ISetup { + + @Override + public Injector createInjectorAndDoEMFRegistration() { + TerminalsStandaloneSetup.doSetup(); + + Injector injector = createInjector(); + register(injector); + return injector; + } + + public Injector createInjector() { + return Guice.createInjector(new CftLanguageRuntimeModule()); + } + + public void register(Injector injector) { + if (!EPackage.Registry.INSTANCE.containsKey("http://www.bme.hu/mit/inf/dslreasoner/faulttree/components/CftLanguage")) { + EPackage.Registry.INSTANCE.put("http://www.bme.hu/mit/inf/dslreasoner/faulttree/components/CftLanguage", CftLanguagePackage.eINSTANCE); + } + IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class); + IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class); + + Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("cft", resourceFactory); + IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("cft", serviceProvider); + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/AndGate.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/AndGate.java new file mode 100644 index 00000000..6d197233 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/AndGate.java @@ -0,0 +1,19 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + + +/** + * + * A representation of the model object 'And Gate'. + * + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getAndGate() + * @model + * @generated + */ +public interface AndGate extends GateDefinition +{ +} // AndGate diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/Assignment.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/Assignment.java new file mode 100644 index 00000000..13c9d6c2 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/Assignment.java @@ -0,0 +1,106 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Assignment'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#getInput Input}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#isMultiple Multiple}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#getOutput Output}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getAssignment() + * @model + * @generated + */ +public interface Assignment extends EObject +{ + /** + * Returns the value of the 'Input' containment reference. + * + *

+ * If the meaning of the 'Input' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Input' containment reference. + * @see #setInput(EventReference) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getAssignment_Input() + * @model containment="true" + * @generated + */ + EventReference getInput(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#getInput Input}' containment reference. + * + * + * @param value the new value of the 'Input' containment reference. + * @see #getInput() + * @generated + */ + void setInput(EventReference value); + + /** + * Returns the value of the 'Multiple' attribute. + * + *

+ * If the meaning of the 'Multiple' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Multiple' attribute. + * @see #setMultiple(boolean) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getAssignment_Multiple() + * @model + * @generated + */ + boolean isMultiple(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#isMultiple Multiple}' attribute. + * + * + * @param value the new value of the 'Multiple' attribute. + * @see #isMultiple() + * @generated + */ + void setMultiple(boolean value); + + /** + * Returns the value of the 'Output' containment reference. + * + *

+ * If the meaning of the 'Output' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Output' containment reference. + * @see #setOutput(EventReference) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getAssignment_Output() + * @model containment="true" + * @generated + */ + EventReference getOutput(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#getOutput Output}' containment reference. + * + * + * @param value the new value of the 'Output' containment reference. + * @see #getOutput() + * @generated + */ + void setOutput(EventReference value); + +} // Assignment diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/BasicEventDefinition.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/BasicEventDefinition.java new file mode 100644 index 00000000..9a564a57 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/BasicEventDefinition.java @@ -0,0 +1,51 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + + +/** + * + * A representation of the model object 'Basic Event Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition#getRate Rate}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getBasicEventDefinition() + * @model + * @generated + */ +public interface BasicEventDefinition extends EventDefinition +{ + /** + * Returns the value of the 'Rate' attribute. + * + *

+ * If the meaning of the 'Rate' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Rate' attribute. + * @see #setRate(double) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getBasicEventDefinition_Rate() + * @model + * @generated + */ + double getRate(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition#getRate Rate}' attribute. + * + * + * @param value the new value of the 'Rate' attribute. + * @see #getRate() + * @generated + */ + void setRate(double value); + +} // BasicEventDefinition diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftLanguageFactory.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftLanguageFactory.java new file mode 100644 index 00000000..07c5786f --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftLanguageFactory.java @@ -0,0 +1,197 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage + * @generated + */ +public interface CftLanguageFactory extends EFactory +{ + /** + * The singleton instance of the factory. + * + * + * @generated + */ + CftLanguageFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguageFactoryImpl.init(); + + /** + * Returns a new object of class 'Cft Model'. + * + * + * @return a new object of class 'Cft Model'. + * @generated + */ + CftModel createCftModel(); + + /** + * Returns a new object of class 'Import Declaration'. + * + * + * @return a new object of class 'Import Declaration'. + * @generated + */ + ImportDeclaration createImportDeclaration(); + + /** + * Returns a new object of class 'Component Definition'. + * + * + * @return a new object of class 'Component Definition'. + * @generated + */ + ComponentDefinition createComponentDefinition(); + + /** + * Returns a new object of class 'Event Declaration'. + * + * + * @return a new object of class 'Event Declaration'. + * @generated + */ + EventDeclaration createEventDeclaration(); + + /** + * Returns a new object of class 'Input Event'. + * + * + * @return a new object of class 'Input Event'. + * @generated + */ + InputEvent createInputEvent(); + + /** + * Returns a new object of class 'Event Definition'. + * + * + * @return a new object of class 'Event Definition'. + * @generated + */ + EventDefinition createEventDefinition(); + + /** + * Returns a new object of class 'Basic Event Definition'. + * + * + * @return a new object of class 'Basic Event Definition'. + * @generated + */ + BasicEventDefinition createBasicEventDefinition(); + + /** + * Returns a new object of class 'Gate Definition'. + * + * + * @return a new object of class 'Gate Definition'. + * @generated + */ + GateDefinition createGateDefinition(); + + /** + * Returns a new object of class 'And Gate'. + * + * + * @return a new object of class 'And Gate'. + * @generated + */ + AndGate createAndGate(); + + /** + * Returns a new object of class 'Or Gate'. + * + * + * @return a new object of class 'Or Gate'. + * @generated + */ + OrGate createOrGate(); + + /** + * Returns a new object of class 'Transformation Definition'. + * + * + * @return a new object of class 'Transformation Definition'. + * @generated + */ + TransformationDefinition createTransformationDefinition(); + + /** + * Returns a new object of class 'Mapping Definition'. + * + * + * @return a new object of class 'Mapping Definition'. + * @generated + */ + MappingDefinition createMappingDefinition(); + + /** + * Returns a new object of class 'Mapping Parameter'. + * + * + * @return a new object of class 'Mapping Parameter'. + * @generated + */ + MappingParameter createMappingParameter(); + + /** + * Returns a new object of class 'Lookup Definition'. + * + * + * @return a new object of class 'Lookup Definition'. + * @generated + */ + LookupDefinition createLookupDefinition(); + + /** + * Returns a new object of class 'Variable'. + * + * + * @return a new object of class 'Variable'. + * @generated + */ + Variable createVariable(); + + /** + * Returns a new object of class 'Assignment'. + * + * + * @return a new object of class 'Assignment'. + * @generated + */ + Assignment createAssignment(); + + /** + * Returns a new object of class 'Event Reference'. + * + * + * @return a new object of class 'Event Reference'. + * @generated + */ + EventReference createEventReference(); + + /** + * Returns a new object of class 'Component Instance'. + * + * + * @return a new object of class 'Component Instance'. + * @generated + */ + ComponentInstance createComponentInstance(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + CftLanguagePackage getCftLanguagePackage(); + +} //CftLanguageFactory diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftLanguagePackage.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftLanguagePackage.java new file mode 100644 index 00000000..405a8691 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftLanguagePackage.java @@ -0,0 +1,1746 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguageFactory + * @model kind="package" + * @generated + */ +public interface CftLanguagePackage extends EPackage +{ + /** + * The package name. + * + * + * @generated + */ + String eNAME = "cftLanguage"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/faulttree/components/CftLanguage"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "cftLanguage"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + CftLanguagePackage eINSTANCE = hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl.init(); + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftModelImpl Cft Model}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftModelImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getCftModel() + * @generated + */ + int CFT_MODEL = 0; + + /** + * The feature id for the 'Package Name' attribute. + * + * + * @generated + * @ordered + */ + int CFT_MODEL__PACKAGE_NAME = 0; + + /** + * The feature id for the 'Imports' containment reference list. + * + * + * @generated + * @ordered + */ + int CFT_MODEL__IMPORTS = 1; + + /** + * The feature id for the 'Component Definitions' containment reference list. + * + * + * @generated + * @ordered + */ + int CFT_MODEL__COMPONENT_DEFINITIONS = 2; + + /** + * The feature id for the 'Transformation Definitions' containment reference list. + * + * + * @generated + * @ordered + */ + int CFT_MODEL__TRANSFORMATION_DEFINITIONS = 3; + + /** + * The number of structural features of the 'Cft Model' class. + * + * + * @generated + * @ordered + */ + int CFT_MODEL_FEATURE_COUNT = 4; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ImportDeclarationImpl Import Declaration}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ImportDeclarationImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getImportDeclaration() + * @generated + */ + int IMPORT_DECLARATION = 1; + + /** + * The feature id for the 'Imported Namespace' attribute. + * + * + * @generated + * @ordered + */ + int IMPORT_DECLARATION__IMPORTED_NAMESPACE = 0; + + /** + * The number of structural features of the 'Import Declaration' class. + * + * + * @generated + * @ordered + */ + int IMPORT_DECLARATION_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentDefinitionImpl Component Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getComponentDefinition() + * @generated + */ + int COMPONENT_DEFINITION = 2; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int COMPONENT_DEFINITION__NAME = 0; + + /** + * The feature id for the 'Input Events' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_DEFINITION__INPUT_EVENTS = 1; + + /** + * The feature id for the 'Output Events' reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_DEFINITION__OUTPUT_EVENTS = 2; + + /** + * The feature id for the 'Event Definitions' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_DEFINITION__EVENT_DEFINITIONS = 3; + + /** + * The number of structural features of the 'Component Definition' class. + * + * + * @generated + * @ordered + */ + int COMPONENT_DEFINITION_FEATURE_COUNT = 4; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventDeclarationImpl Event Declaration}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventDeclarationImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getEventDeclaration() + * @generated + */ + int EVENT_DECLARATION = 3; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EVENT_DECLARATION__NAME = 0; + + /** + * The number of structural features of the 'Event Declaration' class. + * + * + * @generated + * @ordered + */ + int EVENT_DECLARATION_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.InputEventImpl Input Event}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.InputEventImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getInputEvent() + * @generated + */ + int INPUT_EVENT = 4; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int INPUT_EVENT__NAME = EVENT_DECLARATION__NAME; + + /** + * The feature id for the 'Multiple' attribute. + * + * + * @generated + * @ordered + */ + int INPUT_EVENT__MULTIPLE = EVENT_DECLARATION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Input Event' class. + * + * + * @generated + * @ordered + */ + int INPUT_EVENT_FEATURE_COUNT = EVENT_DECLARATION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventDefinitionImpl Event Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getEventDefinition() + * @generated + */ + int EVENT_DEFINITION = 5; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EVENT_DEFINITION__NAME = EVENT_DECLARATION__NAME; + + /** + * The number of structural features of the 'Event Definition' class. + * + * + * @generated + * @ordered + */ + int EVENT_DEFINITION_FEATURE_COUNT = EVENT_DECLARATION_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.BasicEventDefinitionImpl Basic Event Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.BasicEventDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getBasicEventDefinition() + * @generated + */ + int BASIC_EVENT_DEFINITION = 6; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int BASIC_EVENT_DEFINITION__NAME = EVENT_DEFINITION__NAME; + + /** + * The feature id for the 'Rate' attribute. + * + * + * @generated + * @ordered + */ + int BASIC_EVENT_DEFINITION__RATE = EVENT_DEFINITION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Basic Event Definition' class. + * + * + * @generated + * @ordered + */ + int BASIC_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.GateDefinitionImpl Gate Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.GateDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getGateDefinition() + * @generated + */ + int GATE_DEFINITION = 7; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int GATE_DEFINITION__NAME = EVENT_DEFINITION__NAME; + + /** + * The feature id for the 'Input Events' reference list. + * + * + * @generated + * @ordered + */ + int GATE_DEFINITION__INPUT_EVENTS = EVENT_DEFINITION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Gate Definition' class. + * + * + * @generated + * @ordered + */ + int GATE_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AndGateImpl And Gate}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AndGateImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getAndGate() + * @generated + */ + int AND_GATE = 8; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int AND_GATE__NAME = GATE_DEFINITION__NAME; + + /** + * The feature id for the 'Input Events' reference list. + * + * + * @generated + * @ordered + */ + int AND_GATE__INPUT_EVENTS = GATE_DEFINITION__INPUT_EVENTS; + + /** + * The number of structural features of the 'And Gate' class. + * + * + * @generated + * @ordered + */ + int AND_GATE_FEATURE_COUNT = GATE_DEFINITION_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.OrGateImpl Or Gate}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.OrGateImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getOrGate() + * @generated + */ + int OR_GATE = 9; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int OR_GATE__NAME = GATE_DEFINITION__NAME; + + /** + * The feature id for the 'Input Events' reference list. + * + * + * @generated + * @ordered + */ + int OR_GATE__INPUT_EVENTS = GATE_DEFINITION__INPUT_EVENTS; + + /** + * The number of structural features of the 'Or Gate' class. + * + * + * @generated + * @ordered + */ + int OR_GATE_FEATURE_COUNT = GATE_DEFINITION_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.TransformationDefinitionImpl Transformation Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.TransformationDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getTransformationDefinition() + * @generated + */ + int TRANSFORMATION_DEFINITION = 10; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int TRANSFORMATION_DEFINITION__NAME = 0; + + /** + * The feature id for the 'Mapping Definitions' containment reference list. + * + * + * @generated + * @ordered + */ + int TRANSFORMATION_DEFINITION__MAPPING_DEFINITIONS = 1; + + /** + * The number of structural features of the 'Transformation Definition' class. + * + * + * @generated + * @ordered + */ + int TRANSFORMATION_DEFINITION_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl Mapping Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getMappingDefinition() + * @generated + */ + int MAPPING_DEFINITION = 11; + + /** + * The feature id for the 'Top Level' attribute. + * + * + * @generated + * @ordered + */ + int MAPPING_DEFINITION__TOP_LEVEL = 0; + + /** + * The feature id for the 'Pattern' reference. + * + * + * @generated + * @ordered + */ + int MAPPING_DEFINITION__PATTERN = 1; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int MAPPING_DEFINITION__PARAMETERS = 2; + + /** + * The feature id for the 'Component Instance' containment reference. + * + * + * @generated + * @ordered + */ + int MAPPING_DEFINITION__COMPONENT_INSTANCE = 3; + + /** + * The feature id for the 'Lookup Definitions' containment reference list. + * + * + * @generated + * @ordered + */ + int MAPPING_DEFINITION__LOOKUP_DEFINITIONS = 4; + + /** + * The feature id for the 'Assignments' containment reference list. + * + * + * @generated + * @ordered + */ + int MAPPING_DEFINITION__ASSIGNMENTS = 5; + + /** + * The number of structural features of the 'Mapping Definition' class. + * + * + * @generated + * @ordered + */ + int MAPPING_DEFINITION_FEATURE_COUNT = 6; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingParameterImpl Mapping Parameter}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingParameterImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getMappingParameter() + * @generated + */ + int MAPPING_PARAMETER = 12; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int MAPPING_PARAMETER__NAME = 0; + + /** + * The number of structural features of the 'Mapping Parameter' class. + * + * + * @generated + * @ordered + */ + int MAPPING_PARAMETER_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.VariableImpl Variable}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.VariableImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getVariable() + * @generated + */ + int VARIABLE = 14; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int VARIABLE__NAME = 0; + + /** + * The number of structural features of the 'Variable' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.LookupDefinitionImpl Lookup Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.LookupDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getLookupDefinition() + * @generated + */ + int LOOKUP_DEFINITION = 13; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int LOOKUP_DEFINITION__NAME = VARIABLE__NAME; + + /** + * The feature id for the 'Mapping' reference. + * + * + * @generated + * @ordered + */ + int LOOKUP_DEFINITION__MAPPING = VARIABLE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Arguments' reference list. + * + * + * @generated + * @ordered + */ + int LOOKUP_DEFINITION__ARGUMENTS = VARIABLE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Lookup Definition' class. + * + * + * @generated + * @ordered + */ + int LOOKUP_DEFINITION_FEATURE_COUNT = VARIABLE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AssignmentImpl Assignment}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AssignmentImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getAssignment() + * @generated + */ + int ASSIGNMENT = 15; + + /** + * The feature id for the 'Input' containment reference. + * + * + * @generated + * @ordered + */ + int ASSIGNMENT__INPUT = 0; + + /** + * The feature id for the 'Multiple' attribute. + * + * + * @generated + * @ordered + */ + int ASSIGNMENT__MULTIPLE = 1; + + /** + * The feature id for the 'Output' containment reference. + * + * + * @generated + * @ordered + */ + int ASSIGNMENT__OUTPUT = 2; + + /** + * The number of structural features of the 'Assignment' class. + * + * + * @generated + * @ordered + */ + int ASSIGNMENT_FEATURE_COUNT = 3; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventReferenceImpl Event Reference}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventReferenceImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getEventReference() + * @generated + */ + int EVENT_REFERENCE = 16; + + /** + * The feature id for the 'Component' reference. + * + * + * @generated + * @ordered + */ + int EVENT_REFERENCE__COMPONENT = 0; + + /** + * The feature id for the 'Event' reference. + * + * + * @generated + * @ordered + */ + int EVENT_REFERENCE__EVENT = 1; + + /** + * The number of structural features of the 'Event Reference' class. + * + * + * @generated + * @ordered + */ + int EVENT_REFERENCE_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentInstanceImpl Component Instance}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentInstanceImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getComponentInstance() + * @generated + */ + int COMPONENT_INSTANCE = 17; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int COMPONENT_INSTANCE__NAME = VARIABLE__NAME; + + /** + * The feature id for the 'Component Type' reference. + * + * + * @generated + * @ordered + */ + int COMPONENT_INSTANCE__COMPONENT_TYPE = VARIABLE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Component Instance' class. + * + * + * @generated + * @ordered + */ + int COMPONENT_INSTANCE_FEATURE_COUNT = VARIABLE_FEATURE_COUNT + 1; + + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel Cft Model}'. + * + * + * @return the meta object for class 'Cft Model'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel + * @generated + */ + EClass getCftModel(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getPackageName Package Name}'. + * + * + * @return the meta object for the attribute 'Package Name'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getPackageName() + * @see #getCftModel() + * @generated + */ + EAttribute getCftModel_PackageName(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getImports Imports}'. + * + * + * @return the meta object for the containment reference list 'Imports'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getImports() + * @see #getCftModel() + * @generated + */ + EReference getCftModel_Imports(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getComponentDefinitions Component Definitions}'. + * + * + * @return the meta object for the containment reference list 'Component Definitions'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getComponentDefinitions() + * @see #getCftModel() + * @generated + */ + EReference getCftModel_ComponentDefinitions(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getTransformationDefinitions Transformation Definitions}'. + * + * + * @return the meta object for the containment reference list 'Transformation Definitions'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getTransformationDefinitions() + * @see #getCftModel() + * @generated + */ + EReference getCftModel_TransformationDefinitions(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration Import Declaration}'. + * + * + * @return the meta object for class 'Import Declaration'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration + * @generated + */ + EClass getImportDeclaration(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration#getImportedNamespace Imported Namespace}'. + * + * + * @return the meta object for the attribute 'Imported Namespace'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration#getImportedNamespace() + * @see #getImportDeclaration() + * @generated + */ + EAttribute getImportDeclaration_ImportedNamespace(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition Component Definition}'. + * + * + * @return the meta object for class 'Component Definition'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition + * @generated + */ + EClass getComponentDefinition(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getName() + * @see #getComponentDefinition() + * @generated + */ + EAttribute getComponentDefinition_Name(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getInputEvents Input Events}'. + * + * + * @return the meta object for the containment reference list 'Input Events'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getInputEvents() + * @see #getComponentDefinition() + * @generated + */ + EReference getComponentDefinition_InputEvents(); + + /** + * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getOutputEvents Output Events}'. + * + * + * @return the meta object for the reference list 'Output Events'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getOutputEvents() + * @see #getComponentDefinition() + * @generated + */ + EReference getComponentDefinition_OutputEvents(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getEventDefinitions Event Definitions}'. + * + * + * @return the meta object for the containment reference list 'Event Definitions'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getEventDefinitions() + * @see #getComponentDefinition() + * @generated + */ + EReference getComponentDefinition_EventDefinitions(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration Event Declaration}'. + * + * + * @return the meta object for class 'Event Declaration'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration + * @generated + */ + EClass getEventDeclaration(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration#getName() + * @see #getEventDeclaration() + * @generated + */ + EAttribute getEventDeclaration_Name(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent Input Event}'. + * + * + * @return the meta object for class 'Input Event'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent + * @generated + */ + EClass getInputEvent(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent#isMultiple Multiple}'. + * + * + * @return the meta object for the attribute 'Multiple'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent#isMultiple() + * @see #getInputEvent() + * @generated + */ + EAttribute getInputEvent_Multiple(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDefinition Event Definition}'. + * + * + * @return the meta object for class 'Event Definition'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDefinition + * @generated + */ + EClass getEventDefinition(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition Basic Event Definition}'. + * + * + * @return the meta object for class 'Basic Event Definition'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition + * @generated + */ + EClass getBasicEventDefinition(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition#getRate Rate}'. + * + * + * @return the meta object for the attribute 'Rate'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition#getRate() + * @see #getBasicEventDefinition() + * @generated + */ + EAttribute getBasicEventDefinition_Rate(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.GateDefinition Gate Definition}'. + * + * + * @return the meta object for class 'Gate Definition'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.GateDefinition + * @generated + */ + EClass getGateDefinition(); + + /** + * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.GateDefinition#getInputEvents Input Events}'. + * + * + * @return the meta object for the reference list 'Input Events'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.GateDefinition#getInputEvents() + * @see #getGateDefinition() + * @generated + */ + EReference getGateDefinition_InputEvents(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.AndGate And Gate}'. + * + * + * @return the meta object for class 'And Gate'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.AndGate + * @generated + */ + EClass getAndGate(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.OrGate Or Gate}'. + * + * + * @return the meta object for class 'Or Gate'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.OrGate + * @generated + */ + EClass getOrGate(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition Transformation Definition}'. + * + * + * @return the meta object for class 'Transformation Definition'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition + * @generated + */ + EClass getTransformationDefinition(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition#getName() + * @see #getTransformationDefinition() + * @generated + */ + EAttribute getTransformationDefinition_Name(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition#getMappingDefinitions Mapping Definitions}'. + * + * + * @return the meta object for the containment reference list 'Mapping Definitions'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition#getMappingDefinitions() + * @see #getTransformationDefinition() + * @generated + */ + EReference getTransformationDefinition_MappingDefinitions(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition Mapping Definition}'. + * + * + * @return the meta object for class 'Mapping Definition'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition + * @generated + */ + EClass getMappingDefinition(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#isTopLevel Top Level}'. + * + * + * @return the meta object for the attribute 'Top Level'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#isTopLevel() + * @see #getMappingDefinition() + * @generated + */ + EAttribute getMappingDefinition_TopLevel(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getPattern Pattern}'. + * + * + * @return the meta object for the reference 'Pattern'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getPattern() + * @see #getMappingDefinition() + * @generated + */ + EReference getMappingDefinition_Pattern(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getParameters Parameters}'. + * + * + * @return the meta object for the containment reference list 'Parameters'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getParameters() + * @see #getMappingDefinition() + * @generated + */ + EReference getMappingDefinition_Parameters(); + + /** + * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getComponentInstance Component Instance}'. + * + * + * @return the meta object for the containment reference 'Component Instance'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getComponentInstance() + * @see #getMappingDefinition() + * @generated + */ + EReference getMappingDefinition_ComponentInstance(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getLookupDefinitions Lookup Definitions}'. + * + * + * @return the meta object for the containment reference list 'Lookup Definitions'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getLookupDefinitions() + * @see #getMappingDefinition() + * @generated + */ + EReference getMappingDefinition_LookupDefinitions(); + + /** + * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getAssignments Assignments}'. + * + * + * @return the meta object for the containment reference list 'Assignments'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getAssignments() + * @see #getMappingDefinition() + * @generated + */ + EReference getMappingDefinition_Assignments(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter Mapping Parameter}'. + * + * + * @return the meta object for class 'Mapping Parameter'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter + * @generated + */ + EClass getMappingParameter(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter#getName() + * @see #getMappingParameter() + * @generated + */ + EAttribute getMappingParameter_Name(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition Lookup Definition}'. + * + * + * @return the meta object for class 'Lookup Definition'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition + * @generated + */ + EClass getLookupDefinition(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition#getMapping Mapping}'. + * + * + * @return the meta object for the reference 'Mapping'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition#getMapping() + * @see #getLookupDefinition() + * @generated + */ + EReference getLookupDefinition_Mapping(); + + /** + * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition#getArguments Arguments}'. + * + * + * @return the meta object for the reference list 'Arguments'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition#getArguments() + * @see #getLookupDefinition() + * @generated + */ + EReference getLookupDefinition_Arguments(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable Variable}'. + * + * + * @return the meta object for class 'Variable'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable + * @generated + */ + EClass getVariable(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable#getName() + * @see #getVariable() + * @generated + */ + EAttribute getVariable_Name(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment Assignment}'. + * + * + * @return the meta object for class 'Assignment'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment + * @generated + */ + EClass getAssignment(); + + /** + * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#getInput Input}'. + * + * + * @return the meta object for the containment reference 'Input'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#getInput() + * @see #getAssignment() + * @generated + */ + EReference getAssignment_Input(); + + /** + * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#isMultiple Multiple}'. + * + * + * @return the meta object for the attribute 'Multiple'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#isMultiple() + * @see #getAssignment() + * @generated + */ + EAttribute getAssignment_Multiple(); + + /** + * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#getOutput Output}'. + * + * + * @return the meta object for the containment reference 'Output'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment#getOutput() + * @see #getAssignment() + * @generated + */ + EReference getAssignment_Output(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference Event Reference}'. + * + * + * @return the meta object for class 'Event Reference'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference + * @generated + */ + EClass getEventReference(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference#getComponent Component}'. + * + * + * @return the meta object for the reference 'Component'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference#getComponent() + * @see #getEventReference() + * @generated + */ + EReference getEventReference_Component(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference#getEvent Event}'. + * + * + * @return the meta object for the reference 'Event'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference#getEvent() + * @see #getEventReference() + * @generated + */ + EReference getEventReference_Event(); + + /** + * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance Component Instance}'. + * + * + * @return the meta object for class 'Component Instance'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance + * @generated + */ + EClass getComponentInstance(); + + /** + * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance#getComponentType Component Type}'. + * + * + * @return the meta object for the reference 'Component Type'. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance#getComponentType() + * @see #getComponentInstance() + * @generated + */ + EReference getComponentInstance_ComponentType(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + CftLanguageFactory getCftLanguageFactory(); + + /** + * + * Defines literals for the meta objects that represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @generated + */ + interface Literals + { + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftModelImpl Cft Model}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftModelImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getCftModel() + * @generated + */ + EClass CFT_MODEL = eINSTANCE.getCftModel(); + + /** + * The meta object literal for the 'Package Name' attribute feature. + * + * + * @generated + */ + EAttribute CFT_MODEL__PACKAGE_NAME = eINSTANCE.getCftModel_PackageName(); + + /** + * The meta object literal for the 'Imports' containment reference list feature. + * + * + * @generated + */ + EReference CFT_MODEL__IMPORTS = eINSTANCE.getCftModel_Imports(); + + /** + * The meta object literal for the 'Component Definitions' containment reference list feature. + * + * + * @generated + */ + EReference CFT_MODEL__COMPONENT_DEFINITIONS = eINSTANCE.getCftModel_ComponentDefinitions(); + + /** + * The meta object literal for the 'Transformation Definitions' containment reference list feature. + * + * + * @generated + */ + EReference CFT_MODEL__TRANSFORMATION_DEFINITIONS = eINSTANCE.getCftModel_TransformationDefinitions(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ImportDeclarationImpl Import Declaration}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ImportDeclarationImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getImportDeclaration() + * @generated + */ + EClass IMPORT_DECLARATION = eINSTANCE.getImportDeclaration(); + + /** + * The meta object literal for the 'Imported Namespace' attribute feature. + * + * + * @generated + */ + EAttribute IMPORT_DECLARATION__IMPORTED_NAMESPACE = eINSTANCE.getImportDeclaration_ImportedNamespace(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentDefinitionImpl Component Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getComponentDefinition() + * @generated + */ + EClass COMPONENT_DEFINITION = eINSTANCE.getComponentDefinition(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute COMPONENT_DEFINITION__NAME = eINSTANCE.getComponentDefinition_Name(); + + /** + * The meta object literal for the 'Input Events' containment reference list feature. + * + * + * @generated + */ + EReference COMPONENT_DEFINITION__INPUT_EVENTS = eINSTANCE.getComponentDefinition_InputEvents(); + + /** + * The meta object literal for the 'Output Events' reference list feature. + * + * + * @generated + */ + EReference COMPONENT_DEFINITION__OUTPUT_EVENTS = eINSTANCE.getComponentDefinition_OutputEvents(); + + /** + * The meta object literal for the 'Event Definitions' containment reference list feature. + * + * + * @generated + */ + EReference COMPONENT_DEFINITION__EVENT_DEFINITIONS = eINSTANCE.getComponentDefinition_EventDefinitions(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventDeclarationImpl Event Declaration}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventDeclarationImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getEventDeclaration() + * @generated + */ + EClass EVENT_DECLARATION = eINSTANCE.getEventDeclaration(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute EVENT_DECLARATION__NAME = eINSTANCE.getEventDeclaration_Name(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.InputEventImpl Input Event}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.InputEventImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getInputEvent() + * @generated + */ + EClass INPUT_EVENT = eINSTANCE.getInputEvent(); + + /** + * The meta object literal for the 'Multiple' attribute feature. + * + * + * @generated + */ + EAttribute INPUT_EVENT__MULTIPLE = eINSTANCE.getInputEvent_Multiple(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventDefinitionImpl Event Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getEventDefinition() + * @generated + */ + EClass EVENT_DEFINITION = eINSTANCE.getEventDefinition(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.BasicEventDefinitionImpl Basic Event Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.BasicEventDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getBasicEventDefinition() + * @generated + */ + EClass BASIC_EVENT_DEFINITION = eINSTANCE.getBasicEventDefinition(); + + /** + * The meta object literal for the 'Rate' attribute feature. + * + * + * @generated + */ + EAttribute BASIC_EVENT_DEFINITION__RATE = eINSTANCE.getBasicEventDefinition_Rate(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.GateDefinitionImpl Gate Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.GateDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getGateDefinition() + * @generated + */ + EClass GATE_DEFINITION = eINSTANCE.getGateDefinition(); + + /** + * The meta object literal for the 'Input Events' reference list feature. + * + * + * @generated + */ + EReference GATE_DEFINITION__INPUT_EVENTS = eINSTANCE.getGateDefinition_InputEvents(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AndGateImpl And Gate}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AndGateImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getAndGate() + * @generated + */ + EClass AND_GATE = eINSTANCE.getAndGate(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.OrGateImpl Or Gate}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.OrGateImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getOrGate() + * @generated + */ + EClass OR_GATE = eINSTANCE.getOrGate(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.TransformationDefinitionImpl Transformation Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.TransformationDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getTransformationDefinition() + * @generated + */ + EClass TRANSFORMATION_DEFINITION = eINSTANCE.getTransformationDefinition(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute TRANSFORMATION_DEFINITION__NAME = eINSTANCE.getTransformationDefinition_Name(); + + /** + * The meta object literal for the 'Mapping Definitions' containment reference list feature. + * + * + * @generated + */ + EReference TRANSFORMATION_DEFINITION__MAPPING_DEFINITIONS = eINSTANCE.getTransformationDefinition_MappingDefinitions(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl Mapping Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getMappingDefinition() + * @generated + */ + EClass MAPPING_DEFINITION = eINSTANCE.getMappingDefinition(); + + /** + * The meta object literal for the 'Top Level' attribute feature. + * + * + * @generated + */ + EAttribute MAPPING_DEFINITION__TOP_LEVEL = eINSTANCE.getMappingDefinition_TopLevel(); + + /** + * The meta object literal for the 'Pattern' reference feature. + * + * + * @generated + */ + EReference MAPPING_DEFINITION__PATTERN = eINSTANCE.getMappingDefinition_Pattern(); + + /** + * The meta object literal for the 'Parameters' containment reference list feature. + * + * + * @generated + */ + EReference MAPPING_DEFINITION__PARAMETERS = eINSTANCE.getMappingDefinition_Parameters(); + + /** + * The meta object literal for the 'Component Instance' containment reference feature. + * + * + * @generated + */ + EReference MAPPING_DEFINITION__COMPONENT_INSTANCE = eINSTANCE.getMappingDefinition_ComponentInstance(); + + /** + * The meta object literal for the 'Lookup Definitions' containment reference list feature. + * + * + * @generated + */ + EReference MAPPING_DEFINITION__LOOKUP_DEFINITIONS = eINSTANCE.getMappingDefinition_LookupDefinitions(); + + /** + * The meta object literal for the 'Assignments' containment reference list feature. + * + * + * @generated + */ + EReference MAPPING_DEFINITION__ASSIGNMENTS = eINSTANCE.getMappingDefinition_Assignments(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingParameterImpl Mapping Parameter}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingParameterImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getMappingParameter() + * @generated + */ + EClass MAPPING_PARAMETER = eINSTANCE.getMappingParameter(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute MAPPING_PARAMETER__NAME = eINSTANCE.getMappingParameter_Name(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.LookupDefinitionImpl Lookup Definition}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.LookupDefinitionImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getLookupDefinition() + * @generated + */ + EClass LOOKUP_DEFINITION = eINSTANCE.getLookupDefinition(); + + /** + * The meta object literal for the 'Mapping' reference feature. + * + * + * @generated + */ + EReference LOOKUP_DEFINITION__MAPPING = eINSTANCE.getLookupDefinition_Mapping(); + + /** + * The meta object literal for the 'Arguments' reference list feature. + * + * + * @generated + */ + EReference LOOKUP_DEFINITION__ARGUMENTS = eINSTANCE.getLookupDefinition_Arguments(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.VariableImpl Variable}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.VariableImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getVariable() + * @generated + */ + EClass VARIABLE = eINSTANCE.getVariable(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute VARIABLE__NAME = eINSTANCE.getVariable_Name(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AssignmentImpl Assignment}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AssignmentImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getAssignment() + * @generated + */ + EClass ASSIGNMENT = eINSTANCE.getAssignment(); + + /** + * The meta object literal for the 'Input' containment reference feature. + * + * + * @generated + */ + EReference ASSIGNMENT__INPUT = eINSTANCE.getAssignment_Input(); + + /** + * The meta object literal for the 'Multiple' attribute feature. + * + * + * @generated + */ + EAttribute ASSIGNMENT__MULTIPLE = eINSTANCE.getAssignment_Multiple(); + + /** + * The meta object literal for the 'Output' containment reference feature. + * + * + * @generated + */ + EReference ASSIGNMENT__OUTPUT = eINSTANCE.getAssignment_Output(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventReferenceImpl Event Reference}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventReferenceImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getEventReference() + * @generated + */ + EClass EVENT_REFERENCE = eINSTANCE.getEventReference(); + + /** + * The meta object literal for the 'Component' reference feature. + * + * + * @generated + */ + EReference EVENT_REFERENCE__COMPONENT = eINSTANCE.getEventReference_Component(); + + /** + * The meta object literal for the 'Event' reference feature. + * + * + * @generated + */ + EReference EVENT_REFERENCE__EVENT = eINSTANCE.getEventReference_Event(); + + /** + * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentInstanceImpl Component Instance}' class. + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentInstanceImpl + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftLanguagePackageImpl#getComponentInstance() + * @generated + */ + EClass COMPONENT_INSTANCE = eINSTANCE.getComponentInstance(); + + /** + * The meta object literal for the 'Component Type' reference feature. + * + * + * @generated + */ + EReference COMPONENT_INSTANCE__COMPONENT_TYPE = eINSTANCE.getComponentInstance_ComponentType(); + + } + +} //CftLanguagePackage diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftModel.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftModel.java new file mode 100644 index 00000000..5291e747 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/CftModel.java @@ -0,0 +1,105 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Cft Model'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getPackageName Package Name}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getImports Imports}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getComponentDefinitions Component Definitions}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getTransformationDefinitions Transformation Definitions}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getCftModel() + * @model + * @generated + */ +public interface CftModel extends EObject +{ + /** + * Returns the value of the 'Package Name' attribute. + * + *

+ * If the meaning of the 'Package Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Package Name' attribute. + * @see #setPackageName(String) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getCftModel_PackageName() + * @model + * @generated + */ + String getPackageName(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel#getPackageName Package Name}' attribute. + * + * + * @param value the new value of the 'Package Name' attribute. + * @see #getPackageName() + * @generated + */ + void setPackageName(String value); + + /** + * Returns the value of the 'Imports' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration}. + * + *

+ * If the meaning of the 'Imports' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Imports' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getCftModel_Imports() + * @model containment="true" + * @generated + */ + EList getImports(); + + /** + * Returns the value of the 'Component Definitions' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition}. + * + *

+ * If the meaning of the 'Component Definitions' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Component Definitions' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getCftModel_ComponentDefinitions() + * @model containment="true" + * @generated + */ + EList getComponentDefinitions(); + + /** + * Returns the value of the 'Transformation Definitions' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition}. + * + *

+ * If the meaning of the 'Transformation Definitions' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Transformation Definitions' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getCftModel_TransformationDefinitions() + * @model containment="true" + * @generated + */ + EList getTransformationDefinitions(); + +} // CftModel diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ComponentDefinition.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ComponentDefinition.java new file mode 100644 index 00000000..dae78e7e --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ComponentDefinition.java @@ -0,0 +1,105 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Component Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getName Name}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getInputEvents Input Events}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getOutputEvents Output Events}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getEventDefinitions Event Definitions}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getComponentDefinition() + * @model + * @generated + */ +public interface ComponentDefinition extends EObject +{ + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getComponentDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Input Events' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent}. + * + *

+ * If the meaning of the 'Input Events' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Input Events' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getComponentDefinition_InputEvents() + * @model containment="true" + * @generated + */ + EList getInputEvents(); + + /** + * Returns the value of the 'Output Events' reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration}. + * + *

+ * If the meaning of the 'Output Events' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Output Events' reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getComponentDefinition_OutputEvents() + * @model + * @generated + */ + EList getOutputEvents(); + + /** + * Returns the value of the 'Event Definitions' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDefinition}. + * + *

+ * If the meaning of the 'Event Definitions' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Event Definitions' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getComponentDefinition_EventDefinitions() + * @model containment="true" + * @generated + */ + EList getEventDefinitions(); + +} // ComponentDefinition diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ComponentInstance.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ComponentInstance.java new file mode 100644 index 00000000..f9f0f57b --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ComponentInstance.java @@ -0,0 +1,51 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + + +/** + * + * A representation of the model object 'Component Instance'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance#getComponentType Component Type}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getComponentInstance() + * @model + * @generated + */ +public interface ComponentInstance extends Variable +{ + /** + * Returns the value of the 'Component Type' reference. + * + *

+ * If the meaning of the 'Component Type' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Component Type' reference. + * @see #setComponentType(ComponentDefinition) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getComponentInstance_ComponentType() + * @model + * @generated + */ + ComponentDefinition getComponentType(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance#getComponentType Component Type}' reference. + * + * + * @param value the new value of the 'Component Type' reference. + * @see #getComponentType() + * @generated + */ + void setComponentType(ComponentDefinition value); + +} // ComponentInstance diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventDeclaration.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventDeclaration.java new file mode 100644 index 00000000..c03c117e --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventDeclaration.java @@ -0,0 +1,52 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Event Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration#getName Name}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getEventDeclaration() + * @model + * @generated + */ +public interface EventDeclaration extends EObject +{ + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getEventDeclaration_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // EventDeclaration diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventDefinition.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventDefinition.java new file mode 100644 index 00000000..0d4f7f95 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventDefinition.java @@ -0,0 +1,19 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + + +/** + * + * A representation of the model object 'Event Definition'. + * + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getEventDefinition() + * @model + * @generated + */ +public interface EventDefinition extends EventDeclaration +{ +} // EventDefinition diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventReference.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventReference.java new file mode 100644 index 00000000..b351b185 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/EventReference.java @@ -0,0 +1,79 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Event Reference'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference#getComponent Component}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference#getEvent Event}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getEventReference() + * @model + * @generated + */ +public interface EventReference extends EObject +{ + /** + * Returns the value of the 'Component' reference. + * + *

+ * If the meaning of the 'Component' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Component' reference. + * @see #setComponent(Variable) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getEventReference_Component() + * @model + * @generated + */ + Variable getComponent(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference#getComponent Component}' reference. + * + * + * @param value the new value of the 'Component' reference. + * @see #getComponent() + * @generated + */ + void setComponent(Variable value); + + /** + * Returns the value of the 'Event' reference. + * + *

+ * If the meaning of the 'Event' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Event' reference. + * @see #setEvent(EventDeclaration) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getEventReference_Event() + * @model + * @generated + */ + EventDeclaration getEvent(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference#getEvent Event}' reference. + * + * + * @param value the new value of the 'Event' reference. + * @see #getEvent() + * @generated + */ + void setEvent(EventDeclaration value); + +} // EventReference diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/GateDefinition.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/GateDefinition.java new file mode 100644 index 00000000..3020f2ca --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/GateDefinition.java @@ -0,0 +1,42 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Gate Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.GateDefinition#getInputEvents Input Events}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getGateDefinition() + * @model + * @generated + */ +public interface GateDefinition extends EventDefinition +{ + /** + * Returns the value of the 'Input Events' reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration}. + * + *

+ * If the meaning of the 'Input Events' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Input Events' reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getGateDefinition_InputEvents() + * @model + * @generated + */ + EList getInputEvents(); + +} // GateDefinition diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ImportDeclaration.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ImportDeclaration.java new file mode 100644 index 00000000..bcb36395 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/ImportDeclaration.java @@ -0,0 +1,52 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Import Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration#getImportedNamespace Imported Namespace}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getImportDeclaration() + * @model + * @generated + */ +public interface ImportDeclaration extends EObject +{ + /** + * Returns the value of the 'Imported Namespace' attribute. + * + *

+ * If the meaning of the 'Imported Namespace' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Imported Namespace' attribute. + * @see #setImportedNamespace(String) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getImportDeclaration_ImportedNamespace() + * @model + * @generated + */ + String getImportedNamespace(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration#getImportedNamespace Imported Namespace}' attribute. + * + * + * @param value the new value of the 'Imported Namespace' attribute. + * @see #getImportedNamespace() + * @generated + */ + void setImportedNamespace(String value); + +} // ImportDeclaration diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/InputEvent.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/InputEvent.java new file mode 100644 index 00000000..4269fa10 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/InputEvent.java @@ -0,0 +1,51 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + + +/** + * + * A representation of the model object 'Input Event'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent#isMultiple Multiple}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getInputEvent() + * @model + * @generated + */ +public interface InputEvent extends EventDeclaration +{ + /** + * Returns the value of the 'Multiple' attribute. + * + *

+ * If the meaning of the 'Multiple' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Multiple' attribute. + * @see #setMultiple(boolean) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getInputEvent_Multiple() + * @model + * @generated + */ + boolean isMultiple(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent#isMultiple Multiple}' attribute. + * + * + * @param value the new value of the 'Multiple' attribute. + * @see #isMultiple() + * @generated + */ + void setMultiple(boolean value); + +} // InputEvent diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/LookupDefinition.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/LookupDefinition.java new file mode 100644 index 00000000..f0ad3519 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/LookupDefinition.java @@ -0,0 +1,69 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Lookup Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition#getMapping Mapping}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition#getArguments Arguments}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getLookupDefinition() + * @model + * @generated + */ +public interface LookupDefinition extends Variable +{ + /** + * Returns the value of the 'Mapping' reference. + * + *

+ * If the meaning of the 'Mapping' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Mapping' reference. + * @see #setMapping(MappingDefinition) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getLookupDefinition_Mapping() + * @model + * @generated + */ + MappingDefinition getMapping(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition#getMapping Mapping}' reference. + * + * + * @param value the new value of the 'Mapping' reference. + * @see #getMapping() + * @generated + */ + void setMapping(MappingDefinition value); + + /** + * Returns the value of the 'Arguments' reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter}. + * + *

+ * If the meaning of the 'Arguments' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Arguments' reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getLookupDefinition_Arguments() + * @model + * @generated + */ + EList getArguments(); + +} // LookupDefinition diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/MappingDefinition.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/MappingDefinition.java new file mode 100644 index 00000000..14c539b4 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/MappingDefinition.java @@ -0,0 +1,161 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.viatra.query.patternlanguage.emf.vql.Pattern; + +/** + * + * A representation of the model object 'Mapping Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#isTopLevel Top Level}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getPattern Pattern}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getParameters Parameters}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getComponentInstance Component Instance}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getLookupDefinitions Lookup Definitions}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getAssignments Assignments}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getMappingDefinition() + * @model + * @generated + */ +public interface MappingDefinition extends EObject +{ + /** + * Returns the value of the 'Top Level' attribute. + * + *

+ * If the meaning of the 'Top Level' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Top Level' attribute. + * @see #setTopLevel(boolean) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getMappingDefinition_TopLevel() + * @model + * @generated + */ + boolean isTopLevel(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#isTopLevel Top Level}' attribute. + * + * + * @param value the new value of the 'Top Level' attribute. + * @see #isTopLevel() + * @generated + */ + void setTopLevel(boolean value); + + /** + * Returns the value of the 'Pattern' reference. + * + *

+ * If the meaning of the 'Pattern' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Pattern' reference. + * @see #setPattern(Pattern) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getMappingDefinition_Pattern() + * @model + * @generated + */ + Pattern getPattern(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getPattern Pattern}' reference. + * + * + * @param value the new value of the 'Pattern' reference. + * @see #getPattern() + * @generated + */ + void setPattern(Pattern value); + + /** + * Returns the value of the 'Parameters' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter}. + * + *

+ * If the meaning of the 'Parameters' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Parameters' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getMappingDefinition_Parameters() + * @model containment="true" + * @generated + */ + EList getParameters(); + + /** + * Returns the value of the 'Component Instance' containment reference. + * + *

+ * If the meaning of the 'Component Instance' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Component Instance' containment reference. + * @see #setComponentInstance(ComponentInstance) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getMappingDefinition_ComponentInstance() + * @model containment="true" + * @generated + */ + ComponentInstance getComponentInstance(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition#getComponentInstance Component Instance}' containment reference. + * + * + * @param value the new value of the 'Component Instance' containment reference. + * @see #getComponentInstance() + * @generated + */ + void setComponentInstance(ComponentInstance value); + + /** + * Returns the value of the 'Lookup Definitions' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition}. + * + *

+ * If the meaning of the 'Lookup Definitions' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Lookup Definitions' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getMappingDefinition_LookupDefinitions() + * @model containment="true" + * @generated + */ + EList getLookupDefinitions(); + + /** + * Returns the value of the 'Assignments' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment}. + * + *

+ * If the meaning of the 'Assignments' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Assignments' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getMappingDefinition_Assignments() + * @model containment="true" + * @generated + */ + EList getAssignments(); + +} // MappingDefinition diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/MappingParameter.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/MappingParameter.java new file mode 100644 index 00000000..5fc3c006 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/MappingParameter.java @@ -0,0 +1,52 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Mapping Parameter'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter#getName Name}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getMappingParameter() + * @model + * @generated + */ +public interface MappingParameter extends EObject +{ + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getMappingParameter_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // MappingParameter diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/OrGate.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/OrGate.java new file mode 100644 index 00000000..44a2bc07 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/OrGate.java @@ -0,0 +1,19 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + + +/** + * + * A representation of the model object 'Or Gate'. + * + * + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getOrGate() + * @model + * @generated + */ +public interface OrGate extends GateDefinition +{ +} // OrGate diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/TransformationDefinition.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/TransformationDefinition.java new file mode 100644 index 00000000..1412e725 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/TransformationDefinition.java @@ -0,0 +1,71 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Transformation Definition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition#getName Name}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition#getMappingDefinitions Mapping Definitions}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getTransformationDefinition() + * @model + * @generated + */ +public interface TransformationDefinition extends EObject +{ + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getTransformationDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Mapping Definitions' containment reference list. + * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition}. + * + *

+ * If the meaning of the 'Mapping Definitions' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Mapping Definitions' containment reference list. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getTransformationDefinition_MappingDefinitions() + * @model containment="true" + * @generated + */ + EList getMappingDefinitions(); + +} // TransformationDefinition diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/Variable.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/Variable.java new file mode 100644 index 00000000..d49749da --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/Variable.java @@ -0,0 +1,52 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Variable'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable#getName Name}
  • + *
+ * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getVariable() + * @model + * @generated + */ +public interface Variable extends EObject +{ + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#getVariable_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // Variable diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/AndGateImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/AndGateImpl.java new file mode 100644 index 00000000..d38a9fcd --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/AndGateImpl.java @@ -0,0 +1,41 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.AndGate; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'And Gate'. + * + * + * @generated + */ +public class AndGateImpl extends GateDefinitionImpl implements AndGate +{ + /** + * + * + * @generated + */ + protected AndGateImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.AND_GATE; + } + +} //AndGateImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/AssignmentImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/AssignmentImpl.java new file mode 100644 index 00000000..0b37cdbb --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/AssignmentImpl.java @@ -0,0 +1,343 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Assignment'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AssignmentImpl#getInput Input}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AssignmentImpl#isMultiple Multiple}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.AssignmentImpl#getOutput Output}
  • + *
+ * + * @generated + */ +public class AssignmentImpl extends MinimalEObjectImpl.Container implements Assignment +{ + /** + * The cached value of the '{@link #getInput() Input}' containment reference. + * + * + * @see #getInput() + * @generated + * @ordered + */ + protected EventReference input; + + /** + * The default value of the '{@link #isMultiple() Multiple}' attribute. + * + * + * @see #isMultiple() + * @generated + * @ordered + */ + protected static final boolean MULTIPLE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isMultiple() Multiple}' attribute. + * + * + * @see #isMultiple() + * @generated + * @ordered + */ + protected boolean multiple = MULTIPLE_EDEFAULT; + + /** + * The cached value of the '{@link #getOutput() Output}' containment reference. + * + * + * @see #getOutput() + * @generated + * @ordered + */ + protected EventReference output; + + /** + * + * + * @generated + */ + protected AssignmentImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.ASSIGNMENT; + } + + /** + * + * + * @generated + */ + @Override + public EventReference getInput() + { + return input; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetInput(EventReference newInput, NotificationChain msgs) + { + EventReference oldInput = input; + input = newInput; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CftLanguagePackage.ASSIGNMENT__INPUT, oldInput, newInput); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setInput(EventReference newInput) + { + if (newInput != input) + { + NotificationChain msgs = null; + if (input != null) + msgs = ((InternalEObject)input).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CftLanguagePackage.ASSIGNMENT__INPUT, null, msgs); + if (newInput != null) + msgs = ((InternalEObject)newInput).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CftLanguagePackage.ASSIGNMENT__INPUT, null, msgs); + msgs = basicSetInput(newInput, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.ASSIGNMENT__INPUT, newInput, newInput)); + } + + /** + * + * + * @generated + */ + @Override + public boolean isMultiple() + { + return multiple; + } + + /** + * + * + * @generated + */ + @Override + public void setMultiple(boolean newMultiple) + { + boolean oldMultiple = multiple; + multiple = newMultiple; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.ASSIGNMENT__MULTIPLE, oldMultiple, multiple)); + } + + /** + * + * + * @generated + */ + @Override + public EventReference getOutput() + { + return output; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetOutput(EventReference newOutput, NotificationChain msgs) + { + EventReference oldOutput = output; + output = newOutput; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CftLanguagePackage.ASSIGNMENT__OUTPUT, oldOutput, newOutput); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setOutput(EventReference newOutput) + { + if (newOutput != output) + { + NotificationChain msgs = null; + if (output != null) + msgs = ((InternalEObject)output).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CftLanguagePackage.ASSIGNMENT__OUTPUT, null, msgs); + if (newOutput != null) + msgs = ((InternalEObject)newOutput).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CftLanguagePackage.ASSIGNMENT__OUTPUT, null, msgs); + msgs = basicSetOutput(newOutput, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.ASSIGNMENT__OUTPUT, newOutput, newOutput)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case CftLanguagePackage.ASSIGNMENT__INPUT: + return basicSetInput(null, msgs); + case CftLanguagePackage.ASSIGNMENT__OUTPUT: + return basicSetOutput(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.ASSIGNMENT__INPUT: + return getInput(); + case CftLanguagePackage.ASSIGNMENT__MULTIPLE: + return isMultiple(); + case CftLanguagePackage.ASSIGNMENT__OUTPUT: + return getOutput(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.ASSIGNMENT__INPUT: + setInput((EventReference)newValue); + return; + case CftLanguagePackage.ASSIGNMENT__MULTIPLE: + setMultiple((Boolean)newValue); + return; + case CftLanguagePackage.ASSIGNMENT__OUTPUT: + setOutput((EventReference)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.ASSIGNMENT__INPUT: + setInput((EventReference)null); + return; + case CftLanguagePackage.ASSIGNMENT__MULTIPLE: + setMultiple(MULTIPLE_EDEFAULT); + return; + case CftLanguagePackage.ASSIGNMENT__OUTPUT: + setOutput((EventReference)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.ASSIGNMENT__INPUT: + return input != null; + case CftLanguagePackage.ASSIGNMENT__MULTIPLE: + return multiple != MULTIPLE_EDEFAULT; + case CftLanguagePackage.ASSIGNMENT__OUTPUT: + return output != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (multiple: "); + result.append(multiple); + result.append(')'); + return result.toString(); + } + +} //AssignmentImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/BasicEventDefinitionImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/BasicEventDefinitionImpl.java new file mode 100644 index 00000000..34c865c3 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/BasicEventDefinitionImpl.java @@ -0,0 +1,179 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Basic Event Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.BasicEventDefinitionImpl#getRate Rate}
  • + *
+ * + * @generated + */ +public class BasicEventDefinitionImpl extends EventDefinitionImpl implements BasicEventDefinition +{ + /** + * The default value of the '{@link #getRate() Rate}' attribute. + * + * + * @see #getRate() + * @generated + * @ordered + */ + protected static final double RATE_EDEFAULT = 0.0; + + /** + * The cached value of the '{@link #getRate() Rate}' attribute. + * + * + * @see #getRate() + * @generated + * @ordered + */ + protected double rate = RATE_EDEFAULT; + + /** + * + * + * @generated + */ + protected BasicEventDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.BASIC_EVENT_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public double getRate() + { + return rate; + } + + /** + * + * + * @generated + */ + @Override + public void setRate(double newRate) + { + double oldRate = rate; + rate = newRate; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.BASIC_EVENT_DEFINITION__RATE, oldRate, rate)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.BASIC_EVENT_DEFINITION__RATE: + return getRate(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.BASIC_EVENT_DEFINITION__RATE: + setRate((Double)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.BASIC_EVENT_DEFINITION__RATE: + setRate(RATE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.BASIC_EVENT_DEFINITION__RATE: + return rate != RATE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (rate: "); + result.append(rate); + result.append(')'); + return result.toString(); + } + +} //BasicEventDefinitionImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftLanguageFactoryImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftLanguageFactoryImpl.java new file mode 100644 index 00000000..04b066b2 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftLanguageFactoryImpl.java @@ -0,0 +1,330 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.*; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class CftLanguageFactoryImpl extends EFactoryImpl implements CftLanguageFactory +{ + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static CftLanguageFactory init() + { + try + { + CftLanguageFactory theCftLanguageFactory = (CftLanguageFactory)EPackage.Registry.INSTANCE.getEFactory(CftLanguagePackage.eNS_URI); + if (theCftLanguageFactory != null) + { + return theCftLanguageFactory; + } + } + catch (Exception exception) + { + EcorePlugin.INSTANCE.log(exception); + } + return new CftLanguageFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public CftLanguageFactoryImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) + { + switch (eClass.getClassifierID()) + { + case CftLanguagePackage.CFT_MODEL: return createCftModel(); + case CftLanguagePackage.IMPORT_DECLARATION: return createImportDeclaration(); + case CftLanguagePackage.COMPONENT_DEFINITION: return createComponentDefinition(); + case CftLanguagePackage.EVENT_DECLARATION: return createEventDeclaration(); + case CftLanguagePackage.INPUT_EVENT: return createInputEvent(); + case CftLanguagePackage.EVENT_DEFINITION: return createEventDefinition(); + case CftLanguagePackage.BASIC_EVENT_DEFINITION: return createBasicEventDefinition(); + case CftLanguagePackage.GATE_DEFINITION: return createGateDefinition(); + case CftLanguagePackage.AND_GATE: return createAndGate(); + case CftLanguagePackage.OR_GATE: return createOrGate(); + case CftLanguagePackage.TRANSFORMATION_DEFINITION: return createTransformationDefinition(); + case CftLanguagePackage.MAPPING_DEFINITION: return createMappingDefinition(); + case CftLanguagePackage.MAPPING_PARAMETER: return createMappingParameter(); + case CftLanguagePackage.LOOKUP_DEFINITION: return createLookupDefinition(); + case CftLanguagePackage.VARIABLE: return createVariable(); + case CftLanguagePackage.ASSIGNMENT: return createAssignment(); + case CftLanguagePackage.EVENT_REFERENCE: return createEventReference(); + case CftLanguagePackage.COMPONENT_INSTANCE: return createComponentInstance(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + @Override + public CftModel createCftModel() + { + CftModelImpl cftModel = new CftModelImpl(); + return cftModel; + } + + /** + * + * + * @generated + */ + @Override + public ImportDeclaration createImportDeclaration() + { + ImportDeclarationImpl importDeclaration = new ImportDeclarationImpl(); + return importDeclaration; + } + + /** + * + * + * @generated + */ + @Override + public ComponentDefinition createComponentDefinition() + { + ComponentDefinitionImpl componentDefinition = new ComponentDefinitionImpl(); + return componentDefinition; + } + + /** + * + * + * @generated + */ + @Override + public EventDeclaration createEventDeclaration() + { + EventDeclarationImpl eventDeclaration = new EventDeclarationImpl(); + return eventDeclaration; + } + + /** + * + * + * @generated + */ + @Override + public InputEvent createInputEvent() + { + InputEventImpl inputEvent = new InputEventImpl(); + return inputEvent; + } + + /** + * + * + * @generated + */ + @Override + public EventDefinition createEventDefinition() + { + EventDefinitionImpl eventDefinition = new EventDefinitionImpl(); + return eventDefinition; + } + + /** + * + * + * @generated + */ + @Override + public BasicEventDefinition createBasicEventDefinition() + { + BasicEventDefinitionImpl basicEventDefinition = new BasicEventDefinitionImpl(); + return basicEventDefinition; + } + + /** + * + * + * @generated + */ + @Override + public GateDefinition createGateDefinition() + { + GateDefinitionImpl gateDefinition = new GateDefinitionImpl(); + return gateDefinition; + } + + /** + * + * + * @generated + */ + @Override + public AndGate createAndGate() + { + AndGateImpl andGate = new AndGateImpl(); + return andGate; + } + + /** + * + * + * @generated + */ + @Override + public OrGate createOrGate() + { + OrGateImpl orGate = new OrGateImpl(); + return orGate; + } + + /** + * + * + * @generated + */ + @Override + public TransformationDefinition createTransformationDefinition() + { + TransformationDefinitionImpl transformationDefinition = new TransformationDefinitionImpl(); + return transformationDefinition; + } + + /** + * + * + * @generated + */ + @Override + public MappingDefinition createMappingDefinition() + { + MappingDefinitionImpl mappingDefinition = new MappingDefinitionImpl(); + return mappingDefinition; + } + + /** + * + * + * @generated + */ + @Override + public MappingParameter createMappingParameter() + { + MappingParameterImpl mappingParameter = new MappingParameterImpl(); + return mappingParameter; + } + + /** + * + * + * @generated + */ + @Override + public LookupDefinition createLookupDefinition() + { + LookupDefinitionImpl lookupDefinition = new LookupDefinitionImpl(); + return lookupDefinition; + } + + /** + * + * + * @generated + */ + @Override + public Variable createVariable() + { + VariableImpl variable = new VariableImpl(); + return variable; + } + + /** + * + * + * @generated + */ + @Override + public Assignment createAssignment() + { + AssignmentImpl assignment = new AssignmentImpl(); + return assignment; + } + + /** + * + * + * @generated + */ + @Override + public EventReference createEventReference() + { + EventReferenceImpl eventReference = new EventReferenceImpl(); + return eventReference; + } + + /** + * + * + * @generated + */ + @Override + public ComponentInstance createComponentInstance() + { + ComponentInstanceImpl componentInstance = new ComponentInstanceImpl(); + return componentInstance; + } + + /** + * + * + * @generated + */ + @Override + public CftLanguagePackage getCftLanguagePackage() + { + return (CftLanguagePackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static CftLanguagePackage getPackage() + { + return CftLanguagePackage.eINSTANCE; + } + +} //CftLanguageFactoryImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftLanguagePackageImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftLanguagePackageImpl.java new file mode 100644 index 00000000..95520ab8 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftLanguagePackageImpl.java @@ -0,0 +1,999 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.AndGate; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguageFactory; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.GateDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.OrGate; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EcorePackage; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternLanguagePackage; + +import org.eclipse.xtext.common.types.TypesPackage; + +import org.eclipse.xtext.xbase.XbasePackage; + +import org.eclipse.xtext.xtype.XtypePackage; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class CftLanguagePackageImpl extends EPackageImpl implements CftLanguagePackage +{ + /** + * + * + * @generated + */ + private EClass cftModelEClass = null; + + /** + * + * + * @generated + */ + private EClass importDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass componentDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass eventDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass inputEventEClass = null; + + /** + * + * + * @generated + */ + private EClass eventDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass basicEventDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass gateDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass andGateEClass = null; + + /** + * + * + * @generated + */ + private EClass orGateEClass = null; + + /** + * + * + * @generated + */ + private EClass transformationDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass mappingDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass mappingParameterEClass = null; + + /** + * + * + * @generated + */ + private EClass lookupDefinitionEClass = null; + + /** + * + * + * @generated + */ + private EClass variableEClass = null; + + /** + * + * + * @generated + */ + private EClass assignmentEClass = null; + + /** + * + * + * @generated + */ + private EClass eventReferenceEClass = null; + + /** + * + * + * @generated + */ + private EClass componentInstanceEClass = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage#eNS_URI + * @see #init() + * @generated + */ + private CftLanguagePackageImpl() + { + super(eNS_URI, CftLanguageFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link CftLanguagePackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static CftLanguagePackage init() + { + if (isInited) return (CftLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(CftLanguagePackage.eNS_URI); + + // Obtain or create and register package + Object registeredCftLanguagePackage = EPackage.Registry.INSTANCE.get(eNS_URI); + CftLanguagePackageImpl theCftLanguagePackage = registeredCftLanguagePackage instanceof CftLanguagePackageImpl ? (CftLanguagePackageImpl)registeredCftLanguagePackage : new CftLanguagePackageImpl(); + + isInited = true; + + // Initialize simple dependencies + EcorePackage.eINSTANCE.eClass(); + PatternLanguagePackage.eINSTANCE.eClass(); + XtypePackage.eINSTANCE.eClass(); + TypesPackage.eINSTANCE.eClass(); + XbasePackage.eINSTANCE.eClass(); + + // Create package meta-data objects + theCftLanguagePackage.createPackageContents(); + + // Initialize created meta-data + theCftLanguagePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theCftLanguagePackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(CftLanguagePackage.eNS_URI, theCftLanguagePackage); + return theCftLanguagePackage; + } + + /** + * + * + * @generated + */ + @Override + public EClass getCftModel() + { + return cftModelEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getCftModel_PackageName() + { + return (EAttribute)cftModelEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getCftModel_Imports() + { + return (EReference)cftModelEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getCftModel_ComponentDefinitions() + { + return (EReference)cftModelEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getCftModel_TransformationDefinitions() + { + return (EReference)cftModelEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getImportDeclaration() + { + return importDeclarationEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getImportDeclaration_ImportedNamespace() + { + return (EAttribute)importDeclarationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getComponentDefinition() + { + return componentDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getComponentDefinition_Name() + { + return (EAttribute)componentDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getComponentDefinition_InputEvents() + { + return (EReference)componentDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getComponentDefinition_OutputEvents() + { + return (EReference)componentDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getComponentDefinition_EventDefinitions() + { + return (EReference)componentDefinitionEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EClass getEventDeclaration() + { + return eventDeclarationEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getEventDeclaration_Name() + { + return (EAttribute)eventDeclarationEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getInputEvent() + { + return inputEventEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getInputEvent_Multiple() + { + return (EAttribute)inputEventEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getEventDefinition() + { + return eventDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getBasicEventDefinition() + { + return basicEventDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getBasicEventDefinition_Rate() + { + return (EAttribute)basicEventDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getGateDefinition() + { + return gateDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getGateDefinition_InputEvents() + { + return (EReference)gateDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getAndGate() + { + return andGateEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getOrGate() + { + return orGateEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getTransformationDefinition() + { + return transformationDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getTransformationDefinition_Name() + { + return (EAttribute)transformationDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getTransformationDefinition_MappingDefinitions() + { + return (EReference)transformationDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getMappingDefinition() + { + return mappingDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getMappingDefinition_TopLevel() + { + return (EAttribute)mappingDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMappingDefinition_Pattern() + { + return (EReference)mappingDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMappingDefinition_Parameters() + { + return (EReference)mappingDefinitionEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMappingDefinition_ComponentInstance() + { + return (EReference)mappingDefinitionEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMappingDefinition_LookupDefinitions() + { + return (EReference)mappingDefinitionEClass.getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + @Override + public EReference getMappingDefinition_Assignments() + { + return (EReference)mappingDefinitionEClass.getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + @Override + public EClass getMappingParameter() + { + return mappingParameterEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getMappingParameter_Name() + { + return (EAttribute)mappingParameterEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getLookupDefinition() + { + return lookupDefinitionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getLookupDefinition_Mapping() + { + return (EReference)lookupDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getLookupDefinition_Arguments() + { + return (EReference)lookupDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getVariable() + { + return variableEClass; + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getVariable_Name() + { + return (EAttribute)variableEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getAssignment() + { + return assignmentEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getAssignment_Input() + { + return (EReference)assignmentEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EAttribute getAssignment_Multiple() + { + return (EAttribute)assignmentEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EReference getAssignment_Output() + { + return (EReference)assignmentEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + @Override + public EClass getEventReference() + { + return eventReferenceEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getEventReference_Component() + { + return (EReference)eventReferenceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getEventReference_Event() + { + return (EReference)eventReferenceEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getComponentInstance() + { + return componentInstanceEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getComponentInstance_ComponentType() + { + return (EReference)componentInstanceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public CftLanguageFactory getCftLanguageFactory() + { + return (CftLanguageFactory)getEFactoryInstance(); + } + + /** + * + * + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void createPackageContents() + { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + cftModelEClass = createEClass(CFT_MODEL); + createEAttribute(cftModelEClass, CFT_MODEL__PACKAGE_NAME); + createEReference(cftModelEClass, CFT_MODEL__IMPORTS); + createEReference(cftModelEClass, CFT_MODEL__COMPONENT_DEFINITIONS); + createEReference(cftModelEClass, CFT_MODEL__TRANSFORMATION_DEFINITIONS); + + importDeclarationEClass = createEClass(IMPORT_DECLARATION); + createEAttribute(importDeclarationEClass, IMPORT_DECLARATION__IMPORTED_NAMESPACE); + + componentDefinitionEClass = createEClass(COMPONENT_DEFINITION); + createEAttribute(componentDefinitionEClass, COMPONENT_DEFINITION__NAME); + createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__INPUT_EVENTS); + createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__OUTPUT_EVENTS); + createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__EVENT_DEFINITIONS); + + eventDeclarationEClass = createEClass(EVENT_DECLARATION); + createEAttribute(eventDeclarationEClass, EVENT_DECLARATION__NAME); + + inputEventEClass = createEClass(INPUT_EVENT); + createEAttribute(inputEventEClass, INPUT_EVENT__MULTIPLE); + + eventDefinitionEClass = createEClass(EVENT_DEFINITION); + + basicEventDefinitionEClass = createEClass(BASIC_EVENT_DEFINITION); + createEAttribute(basicEventDefinitionEClass, BASIC_EVENT_DEFINITION__RATE); + + gateDefinitionEClass = createEClass(GATE_DEFINITION); + createEReference(gateDefinitionEClass, GATE_DEFINITION__INPUT_EVENTS); + + andGateEClass = createEClass(AND_GATE); + + orGateEClass = createEClass(OR_GATE); + + transformationDefinitionEClass = createEClass(TRANSFORMATION_DEFINITION); + createEAttribute(transformationDefinitionEClass, TRANSFORMATION_DEFINITION__NAME); + createEReference(transformationDefinitionEClass, TRANSFORMATION_DEFINITION__MAPPING_DEFINITIONS); + + mappingDefinitionEClass = createEClass(MAPPING_DEFINITION); + createEAttribute(mappingDefinitionEClass, MAPPING_DEFINITION__TOP_LEVEL); + createEReference(mappingDefinitionEClass, MAPPING_DEFINITION__PATTERN); + createEReference(mappingDefinitionEClass, MAPPING_DEFINITION__PARAMETERS); + createEReference(mappingDefinitionEClass, MAPPING_DEFINITION__COMPONENT_INSTANCE); + createEReference(mappingDefinitionEClass, MAPPING_DEFINITION__LOOKUP_DEFINITIONS); + createEReference(mappingDefinitionEClass, MAPPING_DEFINITION__ASSIGNMENTS); + + mappingParameterEClass = createEClass(MAPPING_PARAMETER); + createEAttribute(mappingParameterEClass, MAPPING_PARAMETER__NAME); + + lookupDefinitionEClass = createEClass(LOOKUP_DEFINITION); + createEReference(lookupDefinitionEClass, LOOKUP_DEFINITION__MAPPING); + createEReference(lookupDefinitionEClass, LOOKUP_DEFINITION__ARGUMENTS); + + variableEClass = createEClass(VARIABLE); + createEAttribute(variableEClass, VARIABLE__NAME); + + assignmentEClass = createEClass(ASSIGNMENT); + createEReference(assignmentEClass, ASSIGNMENT__INPUT); + createEAttribute(assignmentEClass, ASSIGNMENT__MULTIPLE); + createEReference(assignmentEClass, ASSIGNMENT__OUTPUT); + + eventReferenceEClass = createEClass(EVENT_REFERENCE); + createEReference(eventReferenceEClass, EVENT_REFERENCE__COMPONENT); + createEReference(eventReferenceEClass, EVENT_REFERENCE__EVENT); + + componentInstanceEClass = createEClass(COMPONENT_INSTANCE); + createEReference(componentInstanceEClass, COMPONENT_INSTANCE__COMPONENT_TYPE); + } + + /** + * + * + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void initializePackageContents() + { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI); + PatternLanguagePackage thePatternLanguagePackage = (PatternLanguagePackage)EPackage.Registry.INSTANCE.getEPackage(PatternLanguagePackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + inputEventEClass.getESuperTypes().add(this.getEventDeclaration()); + eventDefinitionEClass.getESuperTypes().add(this.getEventDeclaration()); + basicEventDefinitionEClass.getESuperTypes().add(this.getEventDefinition()); + gateDefinitionEClass.getESuperTypes().add(this.getEventDefinition()); + andGateEClass.getESuperTypes().add(this.getGateDefinition()); + orGateEClass.getESuperTypes().add(this.getGateDefinition()); + lookupDefinitionEClass.getESuperTypes().add(this.getVariable()); + componentInstanceEClass.getESuperTypes().add(this.getVariable()); + + // Initialize classes and features; add operations and parameters + initEClass(cftModelEClass, CftModel.class, "CftModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getCftModel_PackageName(), theEcorePackage.getEString(), "packageName", null, 0, 1, CftModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCftModel_Imports(), this.getImportDeclaration(), null, "imports", null, 0, -1, CftModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCftModel_ComponentDefinitions(), this.getComponentDefinition(), null, "componentDefinitions", null, 0, -1, CftModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCftModel_TransformationDefinitions(), this.getTransformationDefinition(), null, "transformationDefinitions", null, 0, -1, CftModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(importDeclarationEClass, ImportDeclaration.class, "ImportDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getImportDeclaration_ImportedNamespace(), theEcorePackage.getEString(), "importedNamespace", null, 0, 1, ImportDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(componentDefinitionEClass, ComponentDefinition.class, "ComponentDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getComponentDefinition_Name(), theEcorePackage.getEString(), "name", null, 0, 1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getComponentDefinition_InputEvents(), this.getInputEvent(), null, "inputEvents", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getComponentDefinition_OutputEvents(), this.getEventDeclaration(), null, "outputEvents", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getComponentDefinition_EventDefinitions(), this.getEventDefinition(), null, "eventDefinitions", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(eventDeclarationEClass, EventDeclaration.class, "EventDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getEventDeclaration_Name(), theEcorePackage.getEString(), "name", null, 0, 1, EventDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(inputEventEClass, InputEvent.class, "InputEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getInputEvent_Multiple(), theEcorePackage.getEBoolean(), "multiple", null, 0, 1, InputEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(eventDefinitionEClass, EventDefinition.class, "EventDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(basicEventDefinitionEClass, BasicEventDefinition.class, "BasicEventDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getBasicEventDefinition_Rate(), theEcorePackage.getEDouble(), "rate", null, 0, 1, BasicEventDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(gateDefinitionEClass, GateDefinition.class, "GateDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getGateDefinition_InputEvents(), this.getEventDeclaration(), null, "inputEvents", null, 0, -1, GateDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(andGateEClass, AndGate.class, "AndGate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(orGateEClass, OrGate.class, "OrGate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(transformationDefinitionEClass, TransformationDefinition.class, "TransformationDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getTransformationDefinition_Name(), theEcorePackage.getEString(), "name", null, 0, 1, TransformationDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getTransformationDefinition_MappingDefinitions(), this.getMappingDefinition(), null, "mappingDefinitions", null, 0, -1, TransformationDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(mappingDefinitionEClass, MappingDefinition.class, "MappingDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getMappingDefinition_TopLevel(), theEcorePackage.getEBoolean(), "topLevel", null, 0, 1, MappingDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getMappingDefinition_Pattern(), thePatternLanguagePackage.getPattern(), null, "pattern", null, 0, 1, MappingDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getMappingDefinition_Parameters(), this.getMappingParameter(), null, "parameters", null, 0, -1, MappingDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getMappingDefinition_ComponentInstance(), this.getComponentInstance(), null, "componentInstance", null, 0, 1, MappingDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getMappingDefinition_LookupDefinitions(), this.getLookupDefinition(), null, "lookupDefinitions", null, 0, -1, MappingDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getMappingDefinition_Assignments(), this.getAssignment(), null, "assignments", null, 0, -1, MappingDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(mappingParameterEClass, MappingParameter.class, "MappingParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getMappingParameter_Name(), theEcorePackage.getEString(), "name", null, 0, 1, MappingParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(lookupDefinitionEClass, LookupDefinition.class, "LookupDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getLookupDefinition_Mapping(), this.getMappingDefinition(), null, "mapping", null, 0, 1, LookupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getLookupDefinition_Arguments(), this.getMappingParameter(), null, "arguments", null, 0, -1, LookupDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getVariable_Name(), theEcorePackage.getEString(), "name", null, 0, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(assignmentEClass, Assignment.class, "Assignment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getAssignment_Input(), this.getEventReference(), null, "input", null, 0, 1, Assignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getAssignment_Multiple(), theEcorePackage.getEBoolean(), "multiple", null, 0, 1, Assignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getAssignment_Output(), this.getEventReference(), null, "output", null, 0, 1, Assignment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(eventReferenceEClass, EventReference.class, "EventReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getEventReference_Component(), this.getVariable(), null, "component", null, 0, 1, EventReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getEventReference_Event(), this.getEventDeclaration(), null, "event", null, 0, 1, EventReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(componentInstanceEClass, ComponentInstance.class, "ComponentInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getComponentInstance_ComponentType(), this.getComponentDefinition(), null, "componentType", null, 0, 1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + } + +} //CftLanguagePackageImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftModelImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftModelImpl.java new file mode 100644 index 00000000..b51f54ab --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/CftModelImpl.java @@ -0,0 +1,324 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Cft Model'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftModelImpl#getPackageName Package Name}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftModelImpl#getImports Imports}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftModelImpl#getComponentDefinitions Component Definitions}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.CftModelImpl#getTransformationDefinitions Transformation Definitions}
  • + *
+ * + * @generated + */ +public class CftModelImpl extends MinimalEObjectImpl.Container implements CftModel +{ + /** + * The default value of the '{@link #getPackageName() Package Name}' attribute. + * + * + * @see #getPackageName() + * @generated + * @ordered + */ + protected static final String PACKAGE_NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getPackageName() Package Name}' attribute. + * + * + * @see #getPackageName() + * @generated + * @ordered + */ + protected String packageName = PACKAGE_NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getImports() Imports}' containment reference list. + * + * + * @see #getImports() + * @generated + * @ordered + */ + protected EList imports; + + /** + * The cached value of the '{@link #getComponentDefinitions() Component Definitions}' containment reference list. + * + * + * @see #getComponentDefinitions() + * @generated + * @ordered + */ + protected EList componentDefinitions; + + /** + * The cached value of the '{@link #getTransformationDefinitions() Transformation Definitions}' containment reference list. + * + * + * @see #getTransformationDefinitions() + * @generated + * @ordered + */ + protected EList transformationDefinitions; + + /** + * + * + * @generated + */ + protected CftModelImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.CFT_MODEL; + } + + /** + * + * + * @generated + */ + @Override + public String getPackageName() + { + return packageName; + } + + /** + * + * + * @generated + */ + @Override + public void setPackageName(String newPackageName) + { + String oldPackageName = packageName; + packageName = newPackageName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.CFT_MODEL__PACKAGE_NAME, oldPackageName, packageName)); + } + + /** + * + * + * @generated + */ + @Override + public EList getImports() + { + if (imports == null) + { + imports = new EObjectContainmentEList(ImportDeclaration.class, this, CftLanguagePackage.CFT_MODEL__IMPORTS); + } + return imports; + } + + /** + * + * + * @generated + */ + @Override + public EList getComponentDefinitions() + { + if (componentDefinitions == null) + { + componentDefinitions = new EObjectContainmentEList(ComponentDefinition.class, this, CftLanguagePackage.CFT_MODEL__COMPONENT_DEFINITIONS); + } + return componentDefinitions; + } + + /** + * + * + * @generated + */ + @Override + public EList getTransformationDefinitions() + { + if (transformationDefinitions == null) + { + transformationDefinitions = new EObjectContainmentEList(TransformationDefinition.class, this, CftLanguagePackage.CFT_MODEL__TRANSFORMATION_DEFINITIONS); + } + return transformationDefinitions; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case CftLanguagePackage.CFT_MODEL__IMPORTS: + return ((InternalEList)getImports()).basicRemove(otherEnd, msgs); + case CftLanguagePackage.CFT_MODEL__COMPONENT_DEFINITIONS: + return ((InternalEList)getComponentDefinitions()).basicRemove(otherEnd, msgs); + case CftLanguagePackage.CFT_MODEL__TRANSFORMATION_DEFINITIONS: + return ((InternalEList)getTransformationDefinitions()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.CFT_MODEL__PACKAGE_NAME: + return getPackageName(); + case CftLanguagePackage.CFT_MODEL__IMPORTS: + return getImports(); + case CftLanguagePackage.CFT_MODEL__COMPONENT_DEFINITIONS: + return getComponentDefinitions(); + case CftLanguagePackage.CFT_MODEL__TRANSFORMATION_DEFINITIONS: + return getTransformationDefinitions(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.CFT_MODEL__PACKAGE_NAME: + setPackageName((String)newValue); + return; + case CftLanguagePackage.CFT_MODEL__IMPORTS: + getImports().clear(); + getImports().addAll((Collection)newValue); + return; + case CftLanguagePackage.CFT_MODEL__COMPONENT_DEFINITIONS: + getComponentDefinitions().clear(); + getComponentDefinitions().addAll((Collection)newValue); + return; + case CftLanguagePackage.CFT_MODEL__TRANSFORMATION_DEFINITIONS: + getTransformationDefinitions().clear(); + getTransformationDefinitions().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.CFT_MODEL__PACKAGE_NAME: + setPackageName(PACKAGE_NAME_EDEFAULT); + return; + case CftLanguagePackage.CFT_MODEL__IMPORTS: + getImports().clear(); + return; + case CftLanguagePackage.CFT_MODEL__COMPONENT_DEFINITIONS: + getComponentDefinitions().clear(); + return; + case CftLanguagePackage.CFT_MODEL__TRANSFORMATION_DEFINITIONS: + getTransformationDefinitions().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.CFT_MODEL__PACKAGE_NAME: + return PACKAGE_NAME_EDEFAULT == null ? packageName != null : !PACKAGE_NAME_EDEFAULT.equals(packageName); + case CftLanguagePackage.CFT_MODEL__IMPORTS: + return imports != null && !imports.isEmpty(); + case CftLanguagePackage.CFT_MODEL__COMPONENT_DEFINITIONS: + return componentDefinitions != null && !componentDefinitions.isEmpty(); + case CftLanguagePackage.CFT_MODEL__TRANSFORMATION_DEFINITIONS: + return transformationDefinitions != null && !transformationDefinitions.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (packageName: "); + result.append(packageName); + result.append(')'); + return result.toString(); + } + +} //CftModelImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ComponentDefinitionImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ComponentDefinitionImpl.java new file mode 100644 index 00000000..4633d839 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ComponentDefinitionImpl.java @@ -0,0 +1,323 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Component Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentDefinitionImpl#getName Name}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentDefinitionImpl#getInputEvents Input Events}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentDefinitionImpl#getOutputEvents Output Events}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentDefinitionImpl#getEventDefinitions Event Definitions}
  • + *
+ * + * @generated + */ +public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implements ComponentDefinition +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getInputEvents() Input Events}' containment reference list. + * + * + * @see #getInputEvents() + * @generated + * @ordered + */ + protected EList inputEvents; + + /** + * The cached value of the '{@link #getOutputEvents() Output Events}' reference list. + * + * + * @see #getOutputEvents() + * @generated + * @ordered + */ + protected EList outputEvents; + + /** + * The cached value of the '{@link #getEventDefinitions() Event Definitions}' containment reference list. + * + * + * @see #getEventDefinitions() + * @generated + * @ordered + */ + protected EList eventDefinitions; + + /** + * + * + * @generated + */ + protected ComponentDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.COMPONENT_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.COMPONENT_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public EList getInputEvents() + { + if (inputEvents == null) + { + inputEvents = new EObjectContainmentEList(InputEvent.class, this, CftLanguagePackage.COMPONENT_DEFINITION__INPUT_EVENTS); + } + return inputEvents; + } + + /** + * + * + * @generated + */ + @Override + public EList getOutputEvents() + { + if (outputEvents == null) + { + outputEvents = new EObjectResolvingEList(EventDeclaration.class, this, CftLanguagePackage.COMPONENT_DEFINITION__OUTPUT_EVENTS); + } + return outputEvents; + } + + /** + * + * + * @generated + */ + @Override + public EList getEventDefinitions() + { + if (eventDefinitions == null) + { + eventDefinitions = new EObjectContainmentEList(EventDefinition.class, this, CftLanguagePackage.COMPONENT_DEFINITION__EVENT_DEFINITIONS); + } + return eventDefinitions; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case CftLanguagePackage.COMPONENT_DEFINITION__INPUT_EVENTS: + return ((InternalEList)getInputEvents()).basicRemove(otherEnd, msgs); + case CftLanguagePackage.COMPONENT_DEFINITION__EVENT_DEFINITIONS: + return ((InternalEList)getEventDefinitions()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.COMPONENT_DEFINITION__NAME: + return getName(); + case CftLanguagePackage.COMPONENT_DEFINITION__INPUT_EVENTS: + return getInputEvents(); + case CftLanguagePackage.COMPONENT_DEFINITION__OUTPUT_EVENTS: + return getOutputEvents(); + case CftLanguagePackage.COMPONENT_DEFINITION__EVENT_DEFINITIONS: + return getEventDefinitions(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.COMPONENT_DEFINITION__NAME: + setName((String)newValue); + return; + case CftLanguagePackage.COMPONENT_DEFINITION__INPUT_EVENTS: + getInputEvents().clear(); + getInputEvents().addAll((Collection)newValue); + return; + case CftLanguagePackage.COMPONENT_DEFINITION__OUTPUT_EVENTS: + getOutputEvents().clear(); + getOutputEvents().addAll((Collection)newValue); + return; + case CftLanguagePackage.COMPONENT_DEFINITION__EVENT_DEFINITIONS: + getEventDefinitions().clear(); + getEventDefinitions().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.COMPONENT_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case CftLanguagePackage.COMPONENT_DEFINITION__INPUT_EVENTS: + getInputEvents().clear(); + return; + case CftLanguagePackage.COMPONENT_DEFINITION__OUTPUT_EVENTS: + getOutputEvents().clear(); + return; + case CftLanguagePackage.COMPONENT_DEFINITION__EVENT_DEFINITIONS: + getEventDefinitions().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.COMPONENT_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case CftLanguagePackage.COMPONENT_DEFINITION__INPUT_EVENTS: + return inputEvents != null && !inputEvents.isEmpty(); + case CftLanguagePackage.COMPONENT_DEFINITION__OUTPUT_EVENTS: + return outputEvents != null && !outputEvents.isEmpty(); + case CftLanguagePackage.COMPONENT_DEFINITION__EVENT_DEFINITIONS: + return eventDefinitions != null && !eventDefinitions.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ComponentDefinitionImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ComponentInstanceImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ComponentInstanceImpl.java new file mode 100644 index 00000000..5966e55c --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ComponentInstanceImpl.java @@ -0,0 +1,175 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Component Instance'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ComponentInstanceImpl#getComponentType Component Type}
  • + *
+ * + * @generated + */ +public class ComponentInstanceImpl extends VariableImpl implements ComponentInstance +{ + /** + * The cached value of the '{@link #getComponentType() Component Type}' reference. + * + * + * @see #getComponentType() + * @generated + * @ordered + */ + protected ComponentDefinition componentType; + + /** + * + * + * @generated + */ + protected ComponentInstanceImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.COMPONENT_INSTANCE; + } + + /** + * + * + * @generated + */ + @Override + public ComponentDefinition getComponentType() + { + if (componentType != null && componentType.eIsProxy()) + { + InternalEObject oldComponentType = (InternalEObject)componentType; + componentType = (ComponentDefinition)eResolveProxy(oldComponentType); + if (componentType != oldComponentType) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, CftLanguagePackage.COMPONENT_INSTANCE__COMPONENT_TYPE, oldComponentType, componentType)); + } + } + return componentType; + } + + /** + * + * + * @generated + */ + public ComponentDefinition basicGetComponentType() + { + return componentType; + } + + /** + * + * + * @generated + */ + @Override + public void setComponentType(ComponentDefinition newComponentType) + { + ComponentDefinition oldComponentType = componentType; + componentType = newComponentType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.COMPONENT_INSTANCE__COMPONENT_TYPE, oldComponentType, componentType)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.COMPONENT_INSTANCE__COMPONENT_TYPE: + if (resolve) return getComponentType(); + return basicGetComponentType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.COMPONENT_INSTANCE__COMPONENT_TYPE: + setComponentType((ComponentDefinition)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.COMPONENT_INSTANCE__COMPONENT_TYPE: + setComponentType((ComponentDefinition)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.COMPONENT_INSTANCE__COMPONENT_TYPE: + return componentType != null; + } + return super.eIsSet(featureID); + } + +} //ComponentInstanceImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventDeclarationImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventDeclarationImpl.java new file mode 100644 index 00000000..c9964c20 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventDeclarationImpl.java @@ -0,0 +1,180 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Event Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventDeclarationImpl#getName Name}
  • + *
+ * + * @generated + */ +public class EventDeclarationImpl extends MinimalEObjectImpl.Container implements EventDeclaration +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * + * + * @generated + */ + protected EventDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.EVENT_DECLARATION; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.EVENT_DECLARATION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.EVENT_DECLARATION__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.EVENT_DECLARATION__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.EVENT_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.EVENT_DECLARATION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //EventDeclarationImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventDefinitionImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventDefinitionImpl.java new file mode 100644 index 00000000..0c03504b --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventDefinitionImpl.java @@ -0,0 +1,41 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDefinition; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Event Definition'. + * + * + * @generated + */ +public class EventDefinitionImpl extends EventDeclarationImpl implements EventDefinition +{ + /** + * + * + * @generated + */ + protected EventDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.EVENT_DEFINITION; + } + +} //EventDefinitionImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventReferenceImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventReferenceImpl.java new file mode 100644 index 00000000..f10ae8a2 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/EventReferenceImpl.java @@ -0,0 +1,244 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Event Reference'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventReferenceImpl#getComponent Component}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.EventReferenceImpl#getEvent Event}
  • + *
+ * + * @generated + */ +public class EventReferenceImpl extends MinimalEObjectImpl.Container implements EventReference +{ + /** + * The cached value of the '{@link #getComponent() Component}' reference. + * + * + * @see #getComponent() + * @generated + * @ordered + */ + protected Variable component; + + /** + * The cached value of the '{@link #getEvent() Event}' reference. + * + * + * @see #getEvent() + * @generated + * @ordered + */ + protected EventDeclaration event; + + /** + * + * + * @generated + */ + protected EventReferenceImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.EVENT_REFERENCE; + } + + /** + * + * + * @generated + */ + @Override + public Variable getComponent() + { + if (component != null && component.eIsProxy()) + { + InternalEObject oldComponent = (InternalEObject)component; + component = (Variable)eResolveProxy(oldComponent); + if (component != oldComponent) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, CftLanguagePackage.EVENT_REFERENCE__COMPONENT, oldComponent, component)); + } + } + return component; + } + + /** + * + * + * @generated + */ + public Variable basicGetComponent() + { + return component; + } + + /** + * + * + * @generated + */ + @Override + public void setComponent(Variable newComponent) + { + Variable oldComponent = component; + component = newComponent; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.EVENT_REFERENCE__COMPONENT, oldComponent, component)); + } + + /** + * + * + * @generated + */ + @Override + public EventDeclaration getEvent() + { + if (event != null && event.eIsProxy()) + { + InternalEObject oldEvent = (InternalEObject)event; + event = (EventDeclaration)eResolveProxy(oldEvent); + if (event != oldEvent) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, CftLanguagePackage.EVENT_REFERENCE__EVENT, oldEvent, event)); + } + } + return event; + } + + /** + * + * + * @generated + */ + public EventDeclaration basicGetEvent() + { + return event; + } + + /** + * + * + * @generated + */ + @Override + public void setEvent(EventDeclaration newEvent) + { + EventDeclaration oldEvent = event; + event = newEvent; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.EVENT_REFERENCE__EVENT, oldEvent, event)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.EVENT_REFERENCE__COMPONENT: + if (resolve) return getComponent(); + return basicGetComponent(); + case CftLanguagePackage.EVENT_REFERENCE__EVENT: + if (resolve) return getEvent(); + return basicGetEvent(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.EVENT_REFERENCE__COMPONENT: + setComponent((Variable)newValue); + return; + case CftLanguagePackage.EVENT_REFERENCE__EVENT: + setEvent((EventDeclaration)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.EVENT_REFERENCE__COMPONENT: + setComponent((Variable)null); + return; + case CftLanguagePackage.EVENT_REFERENCE__EVENT: + setEvent((EventDeclaration)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.EVENT_REFERENCE__COMPONENT: + return component != null; + case CftLanguagePackage.EVENT_REFERENCE__EVENT: + return event != null; + } + return super.eIsSet(featureID); + } + +} //EventReferenceImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/GateDefinitionImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/GateDefinitionImpl.java new file mode 100644 index 00000000..76b12fc2 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/GateDefinitionImpl.java @@ -0,0 +1,147 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.GateDefinition; + +import java.util.Collection; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +/** + * + * An implementation of the model object 'Gate Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.GateDefinitionImpl#getInputEvents Input Events}
  • + *
+ * + * @generated + */ +public class GateDefinitionImpl extends EventDefinitionImpl implements GateDefinition +{ + /** + * The cached value of the '{@link #getInputEvents() Input Events}' reference list. + * + * + * @see #getInputEvents() + * @generated + * @ordered + */ + protected EList inputEvents; + + /** + * + * + * @generated + */ + protected GateDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.GATE_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public EList getInputEvents() + { + if (inputEvents == null) + { + inputEvents = new EObjectResolvingEList(EventDeclaration.class, this, CftLanguagePackage.GATE_DEFINITION__INPUT_EVENTS); + } + return inputEvents; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.GATE_DEFINITION__INPUT_EVENTS: + return getInputEvents(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.GATE_DEFINITION__INPUT_EVENTS: + getInputEvents().clear(); + getInputEvents().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.GATE_DEFINITION__INPUT_EVENTS: + getInputEvents().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.GATE_DEFINITION__INPUT_EVENTS: + return inputEvents != null && !inputEvents.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //GateDefinitionImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ImportDeclarationImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ImportDeclarationImpl.java new file mode 100644 index 00000000..f4e45535 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/ImportDeclarationImpl.java @@ -0,0 +1,180 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Import Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.ImportDeclarationImpl#getImportedNamespace Imported Namespace}
  • + *
+ * + * @generated + */ +public class ImportDeclarationImpl extends MinimalEObjectImpl.Container implements ImportDeclaration +{ + /** + * The default value of the '{@link #getImportedNamespace() Imported Namespace}' attribute. + * + * + * @see #getImportedNamespace() + * @generated + * @ordered + */ + protected static final String IMPORTED_NAMESPACE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getImportedNamespace() Imported Namespace}' attribute. + * + * + * @see #getImportedNamespace() + * @generated + * @ordered + */ + protected String importedNamespace = IMPORTED_NAMESPACE_EDEFAULT; + + /** + * + * + * @generated + */ + protected ImportDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.IMPORT_DECLARATION; + } + + /** + * + * + * @generated + */ + @Override + public String getImportedNamespace() + { + return importedNamespace; + } + + /** + * + * + * @generated + */ + @Override + public void setImportedNamespace(String newImportedNamespace) + { + String oldImportedNamespace = importedNamespace; + importedNamespace = newImportedNamespace; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.IMPORT_DECLARATION__IMPORTED_NAMESPACE, oldImportedNamespace, importedNamespace)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.IMPORT_DECLARATION__IMPORTED_NAMESPACE: + return getImportedNamespace(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.IMPORT_DECLARATION__IMPORTED_NAMESPACE: + setImportedNamespace((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.IMPORT_DECLARATION__IMPORTED_NAMESPACE: + setImportedNamespace(IMPORTED_NAMESPACE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.IMPORT_DECLARATION__IMPORTED_NAMESPACE: + return IMPORTED_NAMESPACE_EDEFAULT == null ? importedNamespace != null : !IMPORTED_NAMESPACE_EDEFAULT.equals(importedNamespace); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (importedNamespace: "); + result.append(importedNamespace); + result.append(')'); + return result.toString(); + } + +} //ImportDeclarationImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/InputEventImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/InputEventImpl.java new file mode 100644 index 00000000..edb03bdc --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/InputEventImpl.java @@ -0,0 +1,179 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Input Event'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.InputEventImpl#isMultiple Multiple}
  • + *
+ * + * @generated + */ +public class InputEventImpl extends EventDeclarationImpl implements InputEvent +{ + /** + * The default value of the '{@link #isMultiple() Multiple}' attribute. + * + * + * @see #isMultiple() + * @generated + * @ordered + */ + protected static final boolean MULTIPLE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isMultiple() Multiple}' attribute. + * + * + * @see #isMultiple() + * @generated + * @ordered + */ + protected boolean multiple = MULTIPLE_EDEFAULT; + + /** + * + * + * @generated + */ + protected InputEventImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.INPUT_EVENT; + } + + /** + * + * + * @generated + */ + @Override + public boolean isMultiple() + { + return multiple; + } + + /** + * + * + * @generated + */ + @Override + public void setMultiple(boolean newMultiple) + { + boolean oldMultiple = multiple; + multiple = newMultiple; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.INPUT_EVENT__MULTIPLE, oldMultiple, multiple)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.INPUT_EVENT__MULTIPLE: + return isMultiple(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.INPUT_EVENT__MULTIPLE: + setMultiple((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.INPUT_EVENT__MULTIPLE: + setMultiple(MULTIPLE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.INPUT_EVENT__MULTIPLE: + return multiple != MULTIPLE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (multiple: "); + result.append(multiple); + result.append(')'); + return result.toString(); + } + +} //InputEventImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/LookupDefinitionImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/LookupDefinitionImpl.java new file mode 100644 index 00000000..f4877855 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/LookupDefinitionImpl.java @@ -0,0 +1,220 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +/** + * + * An implementation of the model object 'Lookup Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.LookupDefinitionImpl#getMapping Mapping}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.LookupDefinitionImpl#getArguments Arguments}
  • + *
+ * + * @generated + */ +public class LookupDefinitionImpl extends VariableImpl implements LookupDefinition +{ + /** + * The cached value of the '{@link #getMapping() Mapping}' reference. + * + * + * @see #getMapping() + * @generated + * @ordered + */ + protected MappingDefinition mapping; + + /** + * The cached value of the '{@link #getArguments() Arguments}' reference list. + * + * + * @see #getArguments() + * @generated + * @ordered + */ + protected EList arguments; + + /** + * + * + * @generated + */ + protected LookupDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.LOOKUP_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public MappingDefinition getMapping() + { + if (mapping != null && mapping.eIsProxy()) + { + InternalEObject oldMapping = (InternalEObject)mapping; + mapping = (MappingDefinition)eResolveProxy(oldMapping); + if (mapping != oldMapping) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, CftLanguagePackage.LOOKUP_DEFINITION__MAPPING, oldMapping, mapping)); + } + } + return mapping; + } + + /** + * + * + * @generated + */ + public MappingDefinition basicGetMapping() + { + return mapping; + } + + /** + * + * + * @generated + */ + @Override + public void setMapping(MappingDefinition newMapping) + { + MappingDefinition oldMapping = mapping; + mapping = newMapping; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.LOOKUP_DEFINITION__MAPPING, oldMapping, mapping)); + } + + /** + * + * + * @generated + */ + @Override + public EList getArguments() + { + if (arguments == null) + { + arguments = new EObjectResolvingEList(MappingParameter.class, this, CftLanguagePackage.LOOKUP_DEFINITION__ARGUMENTS); + } + return arguments; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.LOOKUP_DEFINITION__MAPPING: + if (resolve) return getMapping(); + return basicGetMapping(); + case CftLanguagePackage.LOOKUP_DEFINITION__ARGUMENTS: + return getArguments(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.LOOKUP_DEFINITION__MAPPING: + setMapping((MappingDefinition)newValue); + return; + case CftLanguagePackage.LOOKUP_DEFINITION__ARGUMENTS: + getArguments().clear(); + getArguments().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.LOOKUP_DEFINITION__MAPPING: + setMapping((MappingDefinition)null); + return; + case CftLanguagePackage.LOOKUP_DEFINITION__ARGUMENTS: + getArguments().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.LOOKUP_DEFINITION__MAPPING: + return mapping != null; + case CftLanguagePackage.LOOKUP_DEFINITION__ARGUMENTS: + return arguments != null && !arguments.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //LookupDefinitionImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/MappingDefinitionImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/MappingDefinitionImpl.java new file mode 100644 index 00000000..d92dd935 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/MappingDefinitionImpl.java @@ -0,0 +1,467 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import org.eclipse.viatra.query.patternlanguage.emf.vql.Pattern; + +/** + * + * An implementation of the model object 'Mapping Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl#isTopLevel Top Level}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl#getPattern Pattern}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl#getParameters Parameters}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl#getComponentInstance Component Instance}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl#getLookupDefinitions Lookup Definitions}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl#getAssignments Assignments}
  • + *
+ * + * @generated + */ +public class MappingDefinitionImpl extends MinimalEObjectImpl.Container implements MappingDefinition +{ + /** + * The default value of the '{@link #isTopLevel() Top Level}' attribute. + * + * + * @see #isTopLevel() + * @generated + * @ordered + */ + protected static final boolean TOP_LEVEL_EDEFAULT = false; + + /** + * The cached value of the '{@link #isTopLevel() Top Level}' attribute. + * + * + * @see #isTopLevel() + * @generated + * @ordered + */ + protected boolean topLevel = TOP_LEVEL_EDEFAULT; + + /** + * The cached value of the '{@link #getPattern() Pattern}' reference. + * + * + * @see #getPattern() + * @generated + * @ordered + */ + protected Pattern pattern; + + /** + * The cached value of the '{@link #getParameters() Parameters}' containment reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * The cached value of the '{@link #getComponentInstance() Component Instance}' containment reference. + * + * + * @see #getComponentInstance() + * @generated + * @ordered + */ + protected ComponentInstance componentInstance; + + /** + * The cached value of the '{@link #getLookupDefinitions() Lookup Definitions}' containment reference list. + * + * + * @see #getLookupDefinitions() + * @generated + * @ordered + */ + protected EList lookupDefinitions; + + /** + * The cached value of the '{@link #getAssignments() Assignments}' containment reference list. + * + * + * @see #getAssignments() + * @generated + * @ordered + */ + protected EList assignments; + + /** + * + * + * @generated + */ + protected MappingDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.MAPPING_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public boolean isTopLevel() + { + return topLevel; + } + + /** + * + * + * @generated + */ + @Override + public void setTopLevel(boolean newTopLevel) + { + boolean oldTopLevel = topLevel; + topLevel = newTopLevel; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.MAPPING_DEFINITION__TOP_LEVEL, oldTopLevel, topLevel)); + } + + /** + * + * + * @generated + */ + @Override + public Pattern getPattern() + { + if (pattern != null && pattern.eIsProxy()) + { + InternalEObject oldPattern = (InternalEObject)pattern; + pattern = (Pattern)eResolveProxy(oldPattern); + if (pattern != oldPattern) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, CftLanguagePackage.MAPPING_DEFINITION__PATTERN, oldPattern, pattern)); + } + } + return pattern; + } + + /** + * + * + * @generated + */ + public Pattern basicGetPattern() + { + return pattern; + } + + /** + * + * + * @generated + */ + @Override + public void setPattern(Pattern newPattern) + { + Pattern oldPattern = pattern; + pattern = newPattern; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.MAPPING_DEFINITION__PATTERN, oldPattern, pattern)); + } + + /** + * + * + * @generated + */ + @Override + public EList getParameters() + { + if (parameters == null) + { + parameters = new EObjectContainmentEList(MappingParameter.class, this, CftLanguagePackage.MAPPING_DEFINITION__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + @Override + public ComponentInstance getComponentInstance() + { + return componentInstance; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetComponentInstance(ComponentInstance newComponentInstance, NotificationChain msgs) + { + ComponentInstance oldComponentInstance = componentInstance; + componentInstance = newComponentInstance; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CftLanguagePackage.MAPPING_DEFINITION__COMPONENT_INSTANCE, oldComponentInstance, newComponentInstance); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setComponentInstance(ComponentInstance newComponentInstance) + { + if (newComponentInstance != componentInstance) + { + NotificationChain msgs = null; + if (componentInstance != null) + msgs = ((InternalEObject)componentInstance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CftLanguagePackage.MAPPING_DEFINITION__COMPONENT_INSTANCE, null, msgs); + if (newComponentInstance != null) + msgs = ((InternalEObject)newComponentInstance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CftLanguagePackage.MAPPING_DEFINITION__COMPONENT_INSTANCE, null, msgs); + msgs = basicSetComponentInstance(newComponentInstance, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.MAPPING_DEFINITION__COMPONENT_INSTANCE, newComponentInstance, newComponentInstance)); + } + + /** + * + * + * @generated + */ + @Override + public EList getLookupDefinitions() + { + if (lookupDefinitions == null) + { + lookupDefinitions = new EObjectContainmentEList(LookupDefinition.class, this, CftLanguagePackage.MAPPING_DEFINITION__LOOKUP_DEFINITIONS); + } + return lookupDefinitions; + } + + /** + * + * + * @generated + */ + @Override + public EList getAssignments() + { + if (assignments == null) + { + assignments = new EObjectContainmentEList(Assignment.class, this, CftLanguagePackage.MAPPING_DEFINITION__ASSIGNMENTS); + } + return assignments; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case CftLanguagePackage.MAPPING_DEFINITION__PARAMETERS: + return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); + case CftLanguagePackage.MAPPING_DEFINITION__COMPONENT_INSTANCE: + return basicSetComponentInstance(null, msgs); + case CftLanguagePackage.MAPPING_DEFINITION__LOOKUP_DEFINITIONS: + return ((InternalEList)getLookupDefinitions()).basicRemove(otherEnd, msgs); + case CftLanguagePackage.MAPPING_DEFINITION__ASSIGNMENTS: + return ((InternalEList)getAssignments()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.MAPPING_DEFINITION__TOP_LEVEL: + return isTopLevel(); + case CftLanguagePackage.MAPPING_DEFINITION__PATTERN: + if (resolve) return getPattern(); + return basicGetPattern(); + case CftLanguagePackage.MAPPING_DEFINITION__PARAMETERS: + return getParameters(); + case CftLanguagePackage.MAPPING_DEFINITION__COMPONENT_INSTANCE: + return getComponentInstance(); + case CftLanguagePackage.MAPPING_DEFINITION__LOOKUP_DEFINITIONS: + return getLookupDefinitions(); + case CftLanguagePackage.MAPPING_DEFINITION__ASSIGNMENTS: + return getAssignments(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.MAPPING_DEFINITION__TOP_LEVEL: + setTopLevel((Boolean)newValue); + return; + case CftLanguagePackage.MAPPING_DEFINITION__PATTERN: + setPattern((Pattern)newValue); + return; + case CftLanguagePackage.MAPPING_DEFINITION__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + case CftLanguagePackage.MAPPING_DEFINITION__COMPONENT_INSTANCE: + setComponentInstance((ComponentInstance)newValue); + return; + case CftLanguagePackage.MAPPING_DEFINITION__LOOKUP_DEFINITIONS: + getLookupDefinitions().clear(); + getLookupDefinitions().addAll((Collection)newValue); + return; + case CftLanguagePackage.MAPPING_DEFINITION__ASSIGNMENTS: + getAssignments().clear(); + getAssignments().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.MAPPING_DEFINITION__TOP_LEVEL: + setTopLevel(TOP_LEVEL_EDEFAULT); + return; + case CftLanguagePackage.MAPPING_DEFINITION__PATTERN: + setPattern((Pattern)null); + return; + case CftLanguagePackage.MAPPING_DEFINITION__PARAMETERS: + getParameters().clear(); + return; + case CftLanguagePackage.MAPPING_DEFINITION__COMPONENT_INSTANCE: + setComponentInstance((ComponentInstance)null); + return; + case CftLanguagePackage.MAPPING_DEFINITION__LOOKUP_DEFINITIONS: + getLookupDefinitions().clear(); + return; + case CftLanguagePackage.MAPPING_DEFINITION__ASSIGNMENTS: + getAssignments().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.MAPPING_DEFINITION__TOP_LEVEL: + return topLevel != TOP_LEVEL_EDEFAULT; + case CftLanguagePackage.MAPPING_DEFINITION__PATTERN: + return pattern != null; + case CftLanguagePackage.MAPPING_DEFINITION__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + case CftLanguagePackage.MAPPING_DEFINITION__COMPONENT_INSTANCE: + return componentInstance != null; + case CftLanguagePackage.MAPPING_DEFINITION__LOOKUP_DEFINITIONS: + return lookupDefinitions != null && !lookupDefinitions.isEmpty(); + case CftLanguagePackage.MAPPING_DEFINITION__ASSIGNMENTS: + return assignments != null && !assignments.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (topLevel: "); + result.append(topLevel); + result.append(')'); + return result.toString(); + } + +} //MappingDefinitionImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/MappingParameterImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/MappingParameterImpl.java new file mode 100644 index 00000000..9d0ee701 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/MappingParameterImpl.java @@ -0,0 +1,180 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Mapping Parameter'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingParameterImpl#getName Name}
  • + *
+ * + * @generated + */ +public class MappingParameterImpl extends MinimalEObjectImpl.Container implements MappingParameter +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * + * + * @generated + */ + protected MappingParameterImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.MAPPING_PARAMETER; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.MAPPING_PARAMETER__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.MAPPING_PARAMETER__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.MAPPING_PARAMETER__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.MAPPING_PARAMETER__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.MAPPING_PARAMETER__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //MappingParameterImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/OrGateImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/OrGateImpl.java new file mode 100644 index 00000000..eaaf1686 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/OrGateImpl.java @@ -0,0 +1,41 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.OrGate; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Or Gate'. + * + * + * @generated + */ +public class OrGateImpl extends GateDefinitionImpl implements OrGate +{ + /** + * + * + * @generated + */ + protected OrGateImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.OR_GATE; + } + +} //OrGateImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/TransformationDefinitionImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/TransformationDefinitionImpl.java new file mode 100644 index 00000000..89e89b0f --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/TransformationDefinitionImpl.java @@ -0,0 +1,244 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Transformation Definition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.TransformationDefinitionImpl#getName Name}
  • + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.TransformationDefinitionImpl#getMappingDefinitions Mapping Definitions}
  • + *
+ * + * @generated + */ +public class TransformationDefinitionImpl extends MinimalEObjectImpl.Container implements TransformationDefinition +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getMappingDefinitions() Mapping Definitions}' containment reference list. + * + * + * @see #getMappingDefinitions() + * @generated + * @ordered + */ + protected EList mappingDefinitions; + + /** + * + * + * @generated + */ + protected TransformationDefinitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.TRANSFORMATION_DEFINITION; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.TRANSFORMATION_DEFINITION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public EList getMappingDefinitions() + { + if (mappingDefinitions == null) + { + mappingDefinitions = new EObjectContainmentEList(MappingDefinition.class, this, CftLanguagePackage.TRANSFORMATION_DEFINITION__MAPPING_DEFINITIONS); + } + return mappingDefinitions; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case CftLanguagePackage.TRANSFORMATION_DEFINITION__MAPPING_DEFINITIONS: + return ((InternalEList)getMappingDefinitions()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.TRANSFORMATION_DEFINITION__NAME: + return getName(); + case CftLanguagePackage.TRANSFORMATION_DEFINITION__MAPPING_DEFINITIONS: + return getMappingDefinitions(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.TRANSFORMATION_DEFINITION__NAME: + setName((String)newValue); + return; + case CftLanguagePackage.TRANSFORMATION_DEFINITION__MAPPING_DEFINITIONS: + getMappingDefinitions().clear(); + getMappingDefinitions().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.TRANSFORMATION_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case CftLanguagePackage.TRANSFORMATION_DEFINITION__MAPPING_DEFINITIONS: + getMappingDefinitions().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.TRANSFORMATION_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case CftLanguagePackage.TRANSFORMATION_DEFINITION__MAPPING_DEFINITIONS: + return mappingDefinitions != null && !mappingDefinitions.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //TransformationDefinitionImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/VariableImpl.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/VariableImpl.java new file mode 100644 index 00000000..3c7d1ccb --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/impl/VariableImpl.java @@ -0,0 +1,180 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Variable'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.VariableImpl#getName Name}
  • + *
+ * + * @generated + */ +public class VariableImpl extends MinimalEObjectImpl.Container implements Variable +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * + * + * @generated + */ + protected VariableImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return CftLanguagePackage.Literals.VARIABLE; + } + + /** + * + * + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, CftLanguagePackage.VARIABLE__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case CftLanguagePackage.VARIABLE__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case CftLanguagePackage.VARIABLE__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.VARIABLE__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case CftLanguagePackage.VARIABLE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //VariableImpl diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/util/CftLanguageAdapterFactory.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/util/CftLanguageAdapterFactory.java new file mode 100644 index 00000000..035b1191 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/util/CftLanguageAdapterFactory.java @@ -0,0 +1,473 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.util; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.*; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage + * @generated + */ +public class CftLanguageAdapterFactory extends AdapterFactoryImpl +{ + /** + * The cached model package. + * + * + * @generated + */ + protected static CftLanguagePackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public CftLanguageAdapterFactory() + { + if (modelPackage == null) + { + modelPackage = CftLanguagePackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) + { + if (object == modelPackage) + { + return true; + } + if (object instanceof EObject) + { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the createXXX methods. + * + * + * @generated + */ + protected CftLanguageSwitch modelSwitch = + new CftLanguageSwitch() + { + @Override + public Adapter caseCftModel(CftModel object) + { + return createCftModelAdapter(); + } + @Override + public Adapter caseImportDeclaration(ImportDeclaration object) + { + return createImportDeclarationAdapter(); + } + @Override + public Adapter caseComponentDefinition(ComponentDefinition object) + { + return createComponentDefinitionAdapter(); + } + @Override + public Adapter caseEventDeclaration(EventDeclaration object) + { + return createEventDeclarationAdapter(); + } + @Override + public Adapter caseInputEvent(InputEvent object) + { + return createInputEventAdapter(); + } + @Override + public Adapter caseEventDefinition(EventDefinition object) + { + return createEventDefinitionAdapter(); + } + @Override + public Adapter caseBasicEventDefinition(BasicEventDefinition object) + { + return createBasicEventDefinitionAdapter(); + } + @Override + public Adapter caseGateDefinition(GateDefinition object) + { + return createGateDefinitionAdapter(); + } + @Override + public Adapter caseAndGate(AndGate object) + { + return createAndGateAdapter(); + } + @Override + public Adapter caseOrGate(OrGate object) + { + return createOrGateAdapter(); + } + @Override + public Adapter caseTransformationDefinition(TransformationDefinition object) + { + return createTransformationDefinitionAdapter(); + } + @Override + public Adapter caseMappingDefinition(MappingDefinition object) + { + return createMappingDefinitionAdapter(); + } + @Override + public Adapter caseMappingParameter(MappingParameter object) + { + return createMappingParameterAdapter(); + } + @Override + public Adapter caseLookupDefinition(LookupDefinition object) + { + return createLookupDefinitionAdapter(); + } + @Override + public Adapter caseVariable(Variable object) + { + return createVariableAdapter(); + } + @Override + public Adapter caseAssignment(Assignment object) + { + return createAssignmentAdapter(); + } + @Override + public Adapter caseEventReference(EventReference object) + { + return createEventReferenceAdapter(); + } + @Override + public Adapter caseComponentInstance(ComponentInstance object) + { + return createComponentInstanceAdapter(); + } + @Override + public Adapter defaultCase(EObject object) + { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) + { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel Cft Model}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel + * @generated + */ + public Adapter createCftModelAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration Import Declaration}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration + * @generated + */ + public Adapter createImportDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition Component Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition + * @generated + */ + public Adapter createComponentDefinitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration Event Declaration}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration + * @generated + */ + public Adapter createEventDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent Input Event}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent + * @generated + */ + public Adapter createInputEventAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDefinition Event Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDefinition + * @generated + */ + public Adapter createEventDefinitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition Basic Event Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition + * @generated + */ + public Adapter createBasicEventDefinitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.GateDefinition Gate Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.GateDefinition + * @generated + */ + public Adapter createGateDefinitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.AndGate And Gate}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.AndGate + * @generated + */ + public Adapter createAndGateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.OrGate Or Gate}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.OrGate + * @generated + */ + public Adapter createOrGateAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition Transformation Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition + * @generated + */ + public Adapter createTransformationDefinitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition Mapping Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition + * @generated + */ + public Adapter createMappingDefinitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter Mapping Parameter}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter + * @generated + */ + public Adapter createMappingParameterAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition Lookup Definition}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition + * @generated + */ + public Adapter createLookupDefinitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable Variable}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable + * @generated + */ + public Adapter createVariableAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment Assignment}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment + * @generated + */ + public Adapter createAssignmentAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference Event Reference}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference + * @generated + */ + public Adapter createEventReferenceAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance Component Instance}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance + * @generated + */ + public Adapter createComponentInstanceAdapter() + { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() + { + return null; + } + +} //CftLanguageAdapterFactory diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/util/CftLanguageSwitch.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/util/CftLanguageSwitch.java new file mode 100644 index 00000000..29266601 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/cftLanguage/util/CftLanguageSwitch.java @@ -0,0 +1,525 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.util; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.*; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * + * @see hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage + * @generated + */ +public class CftLanguageSwitch extends Switch +{ + /** + * The cached model package + * + * + * @generated + */ + protected static CftLanguagePackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public CftLanguageSwitch() + { + if (modelPackage == null) + { + modelPackage = CftLanguagePackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) + { + return ePackage == modelPackage; + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) + { + switch (classifierID) + { + case CftLanguagePackage.CFT_MODEL: + { + CftModel cftModel = (CftModel)theEObject; + T result = caseCftModel(cftModel); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.IMPORT_DECLARATION: + { + ImportDeclaration importDeclaration = (ImportDeclaration)theEObject; + T result = caseImportDeclaration(importDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.COMPONENT_DEFINITION: + { + ComponentDefinition componentDefinition = (ComponentDefinition)theEObject; + T result = caseComponentDefinition(componentDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.EVENT_DECLARATION: + { + EventDeclaration eventDeclaration = (EventDeclaration)theEObject; + T result = caseEventDeclaration(eventDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.INPUT_EVENT: + { + InputEvent inputEvent = (InputEvent)theEObject; + T result = caseInputEvent(inputEvent); + if (result == null) result = caseEventDeclaration(inputEvent); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.EVENT_DEFINITION: + { + EventDefinition eventDefinition = (EventDefinition)theEObject; + T result = caseEventDefinition(eventDefinition); + if (result == null) result = caseEventDeclaration(eventDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.BASIC_EVENT_DEFINITION: + { + BasicEventDefinition basicEventDefinition = (BasicEventDefinition)theEObject; + T result = caseBasicEventDefinition(basicEventDefinition); + if (result == null) result = caseEventDefinition(basicEventDefinition); + if (result == null) result = caseEventDeclaration(basicEventDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.GATE_DEFINITION: + { + GateDefinition gateDefinition = (GateDefinition)theEObject; + T result = caseGateDefinition(gateDefinition); + if (result == null) result = caseEventDefinition(gateDefinition); + if (result == null) result = caseEventDeclaration(gateDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.AND_GATE: + { + AndGate andGate = (AndGate)theEObject; + T result = caseAndGate(andGate); + if (result == null) result = caseGateDefinition(andGate); + if (result == null) result = caseEventDefinition(andGate); + if (result == null) result = caseEventDeclaration(andGate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.OR_GATE: + { + OrGate orGate = (OrGate)theEObject; + T result = caseOrGate(orGate); + if (result == null) result = caseGateDefinition(orGate); + if (result == null) result = caseEventDefinition(orGate); + if (result == null) result = caseEventDeclaration(orGate); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.TRANSFORMATION_DEFINITION: + { + TransformationDefinition transformationDefinition = (TransformationDefinition)theEObject; + T result = caseTransformationDefinition(transformationDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.MAPPING_DEFINITION: + { + MappingDefinition mappingDefinition = (MappingDefinition)theEObject; + T result = caseMappingDefinition(mappingDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.MAPPING_PARAMETER: + { + MappingParameter mappingParameter = (MappingParameter)theEObject; + T result = caseMappingParameter(mappingParameter); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.LOOKUP_DEFINITION: + { + LookupDefinition lookupDefinition = (LookupDefinition)theEObject; + T result = caseLookupDefinition(lookupDefinition); + if (result == null) result = caseVariable(lookupDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.VARIABLE: + { + Variable variable = (Variable)theEObject; + T result = caseVariable(variable); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.ASSIGNMENT: + { + Assignment assignment = (Assignment)theEObject; + T result = caseAssignment(assignment); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.EVENT_REFERENCE: + { + EventReference eventReference = (EventReference)theEObject; + T result = caseEventReference(eventReference); + if (result == null) result = defaultCase(theEObject); + return result; + } + case CftLanguagePackage.COMPONENT_INSTANCE: + { + ComponentInstance componentInstance = (ComponentInstance)theEObject; + T result = caseComponentInstance(componentInstance); + if (result == null) result = caseVariable(componentInstance); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'Cft Model'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Cft Model'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCftModel(CftModel object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Import Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Import Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseImportDeclaration(ImportDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Component Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Component Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComponentDefinition(ComponentDefinition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Event Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Event Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEventDeclaration(EventDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Input Event'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Input Event'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInputEvent(InputEvent object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Event Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Event Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEventDefinition(EventDefinition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Basic Event Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Basic Event Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBasicEventDefinition(BasicEventDefinition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Gate Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Gate Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGateDefinition(GateDefinition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'And Gate'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'And Gate'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAndGate(AndGate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Or Gate'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Or Gate'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseOrGate(OrGate object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Transformation Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Transformation Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTransformationDefinition(TransformationDefinition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Mapping Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Mapping Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMappingDefinition(MappingDefinition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Mapping Parameter'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Mapping Parameter'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMappingParameter(MappingParameter object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Lookup Definition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Lookup Definition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLookupDefinition(LookupDefinition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Variable'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Variable'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseVariable(Variable object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Assignment'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Assignment'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAssignment(Assignment object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Event Reference'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Event Reference'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEventReference(EventReference object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Component Instance'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Component Instance'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComponentInstance(ComponentInstance object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) + { + return null; + } + +} //CftLanguageSwitch diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/CftLanguageAntlrTokenFileProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/CftLanguageAntlrTokenFileProvider.java new file mode 100644 index 00000000..14a64042 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/CftLanguageAntlrTokenFileProvider.java @@ -0,0 +1,16 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr; + +import java.io.InputStream; +import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; + +public class CftLanguageAntlrTokenFileProvider implements IAntlrTokenFileProvider { + + @Override + public InputStream getAntlrTokenFile() { + ClassLoader classLoader = getClass().getClassLoader(); + return classLoader.getResourceAsStream("hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.tokens"); + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/CftLanguageParser.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/CftLanguageParser.java new file mode 100644 index 00000000..602ea50d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/CftLanguageParser.java @@ -0,0 +1,40 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr; + +import com.google.inject.Inject; +import hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.internal.InternalCftLanguageParser; +import hu.bme.mit.inf.dslreasoner.faulttree.components.services.CftLanguageGrammarAccess; +import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; + +public class CftLanguageParser extends AbstractAntlrParser { + + @Inject + private CftLanguageGrammarAccess grammarAccess; + + @Override + protected void setInitialHiddenTokens(XtextTokenStream tokenStream) { + tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT"); + } + + + @Override + protected InternalCftLanguageParser createParser(XtextTokenStream stream) { + return new InternalCftLanguageParser(stream, getGrammarAccess()); + } + + @Override + protected String getDefaultRuleName() { + return "CftModel"; + } + + public CftLanguageGrammarAccess getGrammarAccess() { + return this.grammarAccess; + } + + public void setGrammarAccess(CftLanguageGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.g b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.g new file mode 100644 index 00000000..ff509b0a --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.g @@ -0,0 +1,1332 @@ +/* + * generated by Xtext 2.16.0 + */ +grammar InternalCftLanguage; + +options { + superClass=AbstractInternalAntlrParser; +} + +@lexer::header { +package hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.internal; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.parser.antlr.Lexer; +} + +@parser::header { +package hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.internal; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; +import hu.bme.mit.inf.dslreasoner.faulttree.components.services.CftLanguageGrammarAccess; + +} + +@parser::members { + + private CftLanguageGrammarAccess grammarAccess; + + public InternalCftLanguageParser(TokenStream input, CftLanguageGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "CftModel"; + } + + @Override + protected CftLanguageGrammarAccess getGrammarAccess() { + return grammarAccess; + } + +} + +@rulecatch { + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } +} + +// Entry rule entryRuleCftModel +entryRuleCftModel returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCftModelRule()); } + iv_ruleCftModel=ruleCftModel + { $current=$iv_ruleCftModel.current; } + EOF; + +// Rule CftModel +ruleCftModel returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='package' + { + newLeafNode(otherlv_0, grammarAccess.getCftModelAccess().getPackageKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCftModelAccess().getPackageNameQualifiedNameParserRuleCall_1_0()); + } + lv_packageName_1_0=ruleQualifiedName + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCftModelRule()); + } + set( + $current, + "packageName", + lv_packageName_1_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=';' + { + newLeafNode(otherlv_2, grammarAccess.getCftModelAccess().getSemicolonKeyword_2()); + } + )? + ( + ( + { + newCompositeNode(grammarAccess.getCftModelAccess().getImportsImportDeclarationParserRuleCall_3_0()); + } + lv_imports_3_0=ruleImportDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCftModelRule()); + } + add( + $current, + "imports", + lv_imports_3_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ImportDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + ( + ( + { + newCompositeNode(grammarAccess.getCftModelAccess().getComponentDefinitionsComponentDefinitionParserRuleCall_4_0_0()); + } + lv_componentDefinitions_4_0=ruleComponentDefinition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCftModelRule()); + } + add( + $current, + "componentDefinitions", + lv_componentDefinitions_4_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ComponentDefinition"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getCftModelAccess().getTransformationDefinitionsTransformationDefinitionParserRuleCall_4_1_0()); + } + lv_transformationDefinitions_5_0=ruleTransformationDefinition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCftModelRule()); + } + add( + $current, + "transformationDefinitions", + lv_transformationDefinitions_5_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.TransformationDefinition"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleImportDeclaration +entryRuleImportDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getImportDeclarationRule()); } + iv_ruleImportDeclaration=ruleImportDeclaration + { $current=$iv_ruleImportDeclaration.current; } + EOF; + +// Rule ImportDeclaration +ruleImportDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='import' + { + newLeafNode(otherlv_0, grammarAccess.getImportDeclarationAccess().getImportKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); + } + lv_importedNamespace_1_0=ruleQualifiedNameWithWildcard + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getImportDeclarationRule()); + } + set( + $current, + "importedNamespace", + lv_importedNamespace_1_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.QualifiedNameWithWildcard"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=';' + { + newLeafNode(otherlv_2, grammarAccess.getImportDeclarationAccess().getSemicolonKeyword_2()); + } + )? + ) +; + +// Entry rule entryRuleComponentDefinition +entryRuleComponentDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getComponentDefinitionRule()); } + iv_ruleComponentDefinition=ruleComponentDefinition + { $current=$iv_ruleComponentDefinition.current; } + EOF; + +// Rule ComponentDefinition +ruleComponentDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='cft' + { + newLeafNode(otherlv_0, grammarAccess.getComponentDefinitionAccess().getCftKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getComponentDefinitionAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getComponentDefinitionRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getComponentDefinitionAccess().getLeftCurlyBracketKeyword_2()); + } + ( + ( + { + getUnorderedGroupHelper().enter(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + } + ( + ( + ( + {getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0)}?=>( + { + getUnorderedGroupHelper().select(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0); + } + ({true}?=>(otherlv_4='in' + { + newLeafNode(otherlv_4, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDefinitionAccess().getInputEventsInputEventParserRuleCall_3_0_1_0()); + } + lv_inputEvents_5_0=ruleInputEvent + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDefinitionRule()); + } + add( + $current, + "inputEvents", + lv_inputEvents_5_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.InputEvent"); + afterParserOrEnumRuleCall(); + } + ) + )* + otherlv_6=';' + { + newLeafNode(otherlv_6, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()); + } + )) + { + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + } + ) + )| + ( + {getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1)}?=>( + { + getUnorderedGroupHelper().select(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1); + } + ({true}?=>(otherlv_7='out' + { + newLeafNode(otherlv_7, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getComponentDefinitionRule()); + } + } + otherlv_8=RULE_ID + { + newLeafNode(otherlv_8, grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationCrossReference_3_1_1_0()); + } + ) + )* + otherlv_9=';' + { + newLeafNode(otherlv_9, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()); + } + )) + { + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + } + ) + ) + )* + ) + ) + { + getUnorderedGroupHelper().leave(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + } + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsEventDefinitionParserRuleCall_4_0_0()); + } + lv_eventDefinitions_10_0=ruleEventDefinition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDefinitionRule()); + } + add( + $current, + "eventDefinitions", + lv_eventDefinitions_10_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventDefinition"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_11=';' + { + newLeafNode(otherlv_11, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_4_1()); + } + )* + otherlv_12='}' + { + newLeafNode(otherlv_12, grammarAccess.getComponentDefinitionAccess().getRightCurlyBracketKeyword_5()); + } + ) +; + +// Entry rule entryRuleInputEvent +entryRuleInputEvent returns [EObject current=null]: + { newCompositeNode(grammarAccess.getInputEventRule()); } + iv_ruleInputEvent=ruleInputEvent + { $current=$iv_ruleInputEvent.current; } + EOF; + +// Rule InputEvent +ruleInputEvent returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getInputEventAccess().getNameIDTerminalRuleCall_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInputEventRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + ( + ( + lv_multiple_1_0='[]' + { + newLeafNode(lv_multiple_1_0, grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInputEventRule()); + } + setWithLastConsumed($current, "multiple", true, "[]"); + } + ) + )? + ) +; + +// Entry rule entryRuleEventDefinition +entryRuleEventDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getEventDefinitionRule()); } + iv_ruleEventDefinition=ruleEventDefinition + { $current=$iv_ruleEventDefinition.current; } + EOF; + +// Rule EventDefinition +ruleEventDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getEventDefinitionAccess().getBasicEventDefinitionParserRuleCall_0()); + } + this_BasicEventDefinition_0=ruleBasicEventDefinition + { + $current = $this_BasicEventDefinition_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getEventDefinitionAccess().getGateDefinitionParserRuleCall_1()); + } + this_GateDefinition_1=ruleGateDefinition + { + $current = $this_GateDefinition_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleBasicEventDefinition +entryRuleBasicEventDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBasicEventDefinitionRule()); } + iv_ruleBasicEventDefinition=ruleBasicEventDefinition + { $current=$iv_ruleBasicEventDefinition.current; } + EOF; + +// Rule BasicEventDefinition +ruleBasicEventDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getBasicEventDefinitionAccess().getNameIDTerminalRuleCall_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBasicEventDefinitionRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + otherlv_1='lambda' + { + newLeafNode(otherlv_1, grammarAccess.getBasicEventDefinitionAccess().getLambdaKeyword_1()); + } + otherlv_2='=' + { + newLeafNode(otherlv_2, grammarAccess.getBasicEventDefinitionAccess().getEqualsSignKeyword_2()); + } + ( + ( + lv_rate_3_0=RULE_DOULBE + { + newLeafNode(lv_rate_3_0, grammarAccess.getBasicEventDefinitionAccess().getRateDOULBETerminalRuleCall_3_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBasicEventDefinitionRule()); + } + setWithLastConsumed( + $current, + "rate", + lv_rate_3_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.DOULBE"); + } + ) + ) + ) +; + +// Entry rule entryRuleGateDefinition +entryRuleGateDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getGateDefinitionRule()); } + iv_ruleGateDefinition=ruleGateDefinition + { $current=$iv_ruleGateDefinition.current; } + EOF; + +// Rule GateDefinition +ruleGateDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getGateDefinitionAccess().getAndGateParserRuleCall_0()); + } + this_AndGate_0=ruleAndGate + { + $current = $this_AndGate_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getGateDefinitionAccess().getOrGateParserRuleCall_1()); + } + this_OrGate_1=ruleOrGate + { + $current = $this_OrGate_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleAndGate +entryRuleAndGate returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAndGateRule()); } + iv_ruleAndGate=ruleAndGate + { $current=$iv_ruleAndGate.current; } + EOF; + +// Rule AndGate +ruleAndGate returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getAndGateAccess().getNameIDTerminalRuleCall_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAndGateRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + otherlv_1='and' + { + newLeafNode(otherlv_1, grammarAccess.getAndGateAccess().getAndKeyword_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAndGateRule()); + } + } + otherlv_2=RULE_ID + { + newLeafNode(otherlv_2, grammarAccess.getAndGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); + } + ) + )* + ) +; + +// Entry rule entryRuleOrGate +entryRuleOrGate returns [EObject current=null]: + { newCompositeNode(grammarAccess.getOrGateRule()); } + iv_ruleOrGate=ruleOrGate + { $current=$iv_ruleOrGate.current; } + EOF; + +// Rule OrGate +ruleOrGate returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getOrGateAccess().getNameIDTerminalRuleCall_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getOrGateRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + otherlv_1='or' + { + newLeafNode(otherlv_1, grammarAccess.getOrGateAccess().getOrKeyword_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getOrGateRule()); + } + } + otherlv_2=RULE_ID + { + newLeafNode(otherlv_2, grammarAccess.getOrGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); + } + ) + )* + ) +; + +// Entry rule entryRuleTransformationDefinition +entryRuleTransformationDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTransformationDefinitionRule()); } + iv_ruleTransformationDefinition=ruleTransformationDefinition + { $current=$iv_ruleTransformationDefinition.current; } + EOF; + +// Rule TransformationDefinition +ruleTransformationDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='transformation' + { + newLeafNode(otherlv_0, grammarAccess.getTransformationDefinitionAccess().getTransformationKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getTransformationDefinitionAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTransformationDefinitionRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getTransformationDefinitionAccess().getLeftCurlyBracketKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsMappingDefinitionParserRuleCall_3_0()); + } + lv_mappingDefinitions_3_0=ruleMappingDefinition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTransformationDefinitionRule()); + } + add( + $current, + "mappingDefinitions", + lv_mappingDefinitions_3_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingDefinition"); + afterParserOrEnumRuleCall(); + } + ) + )* + otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getTransformationDefinitionAccess().getRightCurlyBracketKeyword_4()); + } + ) +; + +// Entry rule entryRuleMappingDefinition +entryRuleMappingDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMappingDefinitionRule()); } + iv_ruleMappingDefinition=ruleMappingDefinition + { $current=$iv_ruleMappingDefinition.current; } + EOF; + +// Rule MappingDefinition +ruleMappingDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_topLevel_0_0='toplevel' + { + newLeafNode(lv_topLevel_0_0, grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getMappingDefinitionRule()); + } + setWithLastConsumed($current, "topLevel", true, "toplevel"); + } + ) + )? + otherlv_1='mapping' + { + newLeafNode(otherlv_1, grammarAccess.getMappingDefinitionAccess().getMappingKeyword_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getMappingDefinitionRule()); + } + } + { + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getPatternPatternCrossReference_2_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3='(' + { + newLeafNode(otherlv_3, grammarAccess.getMappingDefinitionAccess().getLeftParenthesisKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_4_0()); + } + lv_parameters_4_0=ruleMappingParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); + } + add( + $current, + "parameters", + lv_parameters_4_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_5=',' + { + newLeafNode(otherlv_5, grammarAccess.getMappingDefinitionAccess().getCommaKeyword_5_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_5_1_0()); + } + lv_parameters_6_0=ruleMappingParameter + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); + } + add( + $current, + "parameters", + lv_parameters_6_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingParameter"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_7=')' + { + newLeafNode(otherlv_7, grammarAccess.getMappingDefinitionAccess().getRightParenthesisKeyword_6()); + } + ( + ( + { + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getComponentInstanceComponentInstanceParserRuleCall_7_0()); + } + lv_componentInstance_8_0=ruleComponentInstance + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); + } + set( + $current, + "componentInstance", + lv_componentInstance_8_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ComponentInstance"); + afterParserOrEnumRuleCall(); + } + ) + )? + ( + otherlv_9='{' + { + newLeafNode(otherlv_9, grammarAccess.getMappingDefinitionAccess().getLeftCurlyBracketKeyword_8_0()); + } + ( + ( + ( + ( + { + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsLookupDefinitionParserRuleCall_8_1_0_0_0()); + } + lv_lookupDefinitions_10_0=ruleLookupDefinition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); + } + add( + $current, + "lookupDefinitions", + lv_lookupDefinitions_10_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.LookupDefinition"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignmentParserRuleCall_8_1_0_1_0()); + } + lv_assignments_11_0=ruleAssignment + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); + } + add( + $current, + "assignments", + lv_assignments_11_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.Assignment"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + otherlv_12=';' + { + newLeafNode(otherlv_12, grammarAccess.getMappingDefinitionAccess().getSemicolonKeyword_8_1_1()); + } + )* + otherlv_13='}' + { + newLeafNode(otherlv_13, grammarAccess.getMappingDefinitionAccess().getRightCurlyBracketKeyword_8_2()); + } + )? + ) +; + +// Entry rule entryRuleMappingParameter +entryRuleMappingParameter returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMappingParameterRule()); } + iv_ruleMappingParameter=ruleMappingParameter + { $current=$iv_ruleMappingParameter.current; } + EOF; + +// Rule MappingParameter +ruleMappingParameter returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getMappingParameterAccess().getNameIDTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getMappingParameterRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) +; + +// Entry rule entryRuleLookupDefinition +entryRuleLookupDefinition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLookupDefinitionRule()); } + iv_ruleLookupDefinition=ruleLookupDefinition + { $current=$iv_ruleLookupDefinition.current; } + EOF; + +// Rule LookupDefinition +ruleLookupDefinition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='lookup' + { + newLeafNode(otherlv_0, grammarAccess.getLookupDefinitionAccess().getLookupKeyword_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLookupDefinitionRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionCrossReference_1_0()); + } + ) + ) + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getLookupDefinitionAccess().getLeftParenthesisKeyword_2()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLookupDefinitionRule()); + } + } + otherlv_3=RULE_ID + { + newLeafNode(otherlv_3, grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_3_0()); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getLookupDefinitionAccess().getCommaKeyword_4_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLookupDefinitionRule()); + } + } + otherlv_5=RULE_ID + { + newLeafNode(otherlv_5, grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_4_1_0()); + } + ) + ) + )* + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getLookupDefinitionAccess().getRightParenthesisKeyword_5()); + } + otherlv_7='as' + { + newLeafNode(otherlv_7, grammarAccess.getLookupDefinitionAccess().getAsKeyword_6()); + } + ( + ( + lv_name_8_0=RULE_ID + { + newLeafNode(lv_name_8_0, grammarAccess.getLookupDefinitionAccess().getNameIDTerminalRuleCall_7_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLookupDefinitionRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_8_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + ) +; + +// Entry rule entryRuleAssignment +entryRuleAssignment returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAssignmentRule()); } + iv_ruleAssignment=ruleAssignment + { $current=$iv_ruleAssignment.current; } + EOF; + +// Rule Assignment +ruleAssignment returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getAssignmentAccess().getInputEventReferenceParserRuleCall_0_0()); + } + lv_input_0_0=ruleEventReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssignmentRule()); + } + set( + $current, + "input", + lv_input_0_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + lv_multiple_1_0='+=' + { + newLeafNode(lv_multiple_1_0, grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAssignmentRule()); + } + setWithLastConsumed($current, "multiple", true, "+="); + } + ) + ) + | + otherlv_2=':=' + { + newLeafNode(otherlv_2, grammarAccess.getAssignmentAccess().getColonEqualsSignKeyword_1_1()); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getAssignmentAccess().getOutputEventReferenceParserRuleCall_2_0()); + } + lv_output_3_0=ruleEventReference + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssignmentRule()); + } + set( + $current, + "output", + lv_output_3_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventReference"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleEventReference +entryRuleEventReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getEventReferenceRule()); } + iv_ruleEventReference=ruleEventReference + { $current=$iv_ruleEventReference.current; } + EOF; + +// Rule EventReference +ruleEventReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getEventReferenceRule()); + } + } + otherlv_0=RULE_ID + { + newLeafNode(otherlv_0, grammarAccess.getEventReferenceAccess().getComponentVariableCrossReference_0_0()); + } + ) + ) + otherlv_1='.' + { + newLeafNode(otherlv_1, grammarAccess.getEventReferenceAccess().getFullStopKeyword_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getEventReferenceRule()); + } + } + otherlv_2=RULE_ID + { + newLeafNode(otherlv_2, grammarAccess.getEventReferenceAccess().getEventEventDeclarationCrossReference_2_0()); + } + ) + ) + ) +; + +// Entry rule entryRuleComponentInstance +entryRuleComponentInstance returns [EObject current=null]: + { newCompositeNode(grammarAccess.getComponentInstanceRule()); } + iv_ruleComponentInstance=ruleComponentInstance + { $current=$iv_ruleComponentInstance.current; } + EOF; + +// Rule ComponentInstance +ruleComponentInstance returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='=>' + { + newLeafNode(otherlv_0, grammarAccess.getComponentInstanceAccess().getEqualsSignGreaterThanSignKeyword_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getComponentInstanceRule()); + } + } + { + newCompositeNode(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionCrossReference_1_0()); + } + ruleQualifiedName + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + lv_name_2_0=RULE_ID + { + newLeafNode(lv_name_2_0, grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getComponentInstanceRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_2_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + )? + ) +; + +// Entry rule entryRuleQualifiedName +entryRuleQualifiedName returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameRule()); } + iv_ruleQualifiedName=ruleQualifiedName + { $current=$iv_ruleQualifiedName.current.getText(); } + EOF; + +// Rule QualifiedName +ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_ID_0=RULE_ID + { + $current.merge(this_ID_0); + } + { + newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); + } + ( + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + } + this_ID_2=RULE_ID + { + $current.merge(this_ID_2); + } + { + newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); + } + )* + ) +; + +// Entry rule entryRuleQualifiedNameWithWildcard +entryRuleQualifiedNameWithWildcard returns [String current=null]: + { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); } + iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard + { $current=$iv_ruleQualifiedNameWithWildcard.current.getText(); } + EOF; + +// Rule QualifiedNameWithWildcard +ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + } + this_QualifiedName_0=ruleQualifiedName + { + $current.merge(this_QualifiedName_0); + } + { + afterParserOrEnumRuleCall(); + } + ( + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); + } + kw='*' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_1_1()); + } + )? + ) +; + +RULE_DOULBE : ('0'..'9')+ ('.' ('0'..'9')+|('.' ('0'..'9')+)? ('e'|'E') ('+'|'-')? ('0'..'9')+); + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +RULE_INT : ('0'..'9')+; + +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.tokens b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.tokens new file mode 100644 index 00000000..1c8b296f --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguage.tokens @@ -0,0 +1,60 @@ +'('=28 +')'=30 +'*'=37 +'+='=33 +','=29 +'.'=35 +':='=34 +';'=13 +'='=22 +'=>'=36 +'[]'=20 +'and'=23 +'as'=32 +'cft'=15 +'import'=14 +'in'=17 +'lambda'=21 +'lookup'=31 +'mapping'=27 +'or'=24 +'out'=18 +'package'=12 +'toplevel'=26 +'transformation'=25 +'{'=16 +'}'=19 +RULE_ANY_OTHER=11 +RULE_DOULBE=5 +RULE_ID=4 +RULE_INT=6 +RULE_ML_COMMENT=8 +RULE_SL_COMMENT=9 +RULE_STRING=7 +RULE_WS=10 +T__12=12 +T__13=13 +T__14=14 +T__15=15 +T__16=16 +T__17=17 +T__18=18 +T__19=19 +T__20=20 +T__21=21 +T__22=22 +T__23=23 +T__24=24 +T__25=25 +T__26=26 +T__27=27 +T__28=28 +T__29=29 +T__30=30 +T__31=31 +T__32=32 +T__33=33 +T__34=34 +T__35=35 +T__36=36 +T__37=37 diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageLexer.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageLexer.java new file mode 100644 index 00000000..22a96234 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageLexer.java @@ -0,0 +1,1876 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.internal; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.parser.antlr.Lexer; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalCftLanguageLexer extends Lexer { + public static final int RULE_STRING=7; + public static final int RULE_SL_COMMENT=9; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__37=37; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__33=33; + public static final int T__12=12; + public static final int T__34=34; + public static final int T__13=13; + public static final int T__35=35; + public static final int T__14=14; + public static final int T__36=36; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_ID=4; + public static final int RULE_WS=10; + public static final int RULE_DOULBE=5; + public static final int RULE_ANY_OTHER=11; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int RULE_INT=6; + public static final int T__29=29; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=8; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + + // delegates + // delegators + + public InternalCftLanguageLexer() {;} + public InternalCftLanguageLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalCftLanguageLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "InternalCftLanguage.g"; } + + // $ANTLR start "T__12" + public final void mT__12() throws RecognitionException { + try { + int _type = T__12; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:11:7: ( 'package' ) + // InternalCftLanguage.g:11:9: 'package' + { + match("package"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__12" + + // $ANTLR start "T__13" + public final void mT__13() throws RecognitionException { + try { + int _type = T__13; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:12:7: ( ';' ) + // InternalCftLanguage.g:12:9: ';' + { + match(';'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__13" + + // $ANTLR start "T__14" + public final void mT__14() throws RecognitionException { + try { + int _type = T__14; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:13:7: ( 'import' ) + // InternalCftLanguage.g:13:9: 'import' + { + match("import"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__14" + + // $ANTLR start "T__15" + public final void mT__15() throws RecognitionException { + try { + int _type = T__15; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:14:7: ( 'cft' ) + // InternalCftLanguage.g:14:9: 'cft' + { + match("cft"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__15" + + // $ANTLR start "T__16" + public final void mT__16() throws RecognitionException { + try { + int _type = T__16; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:15:7: ( '{' ) + // InternalCftLanguage.g:15:9: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__16" + + // $ANTLR start "T__17" + public final void mT__17() throws RecognitionException { + try { + int _type = T__17; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:16:7: ( 'in' ) + // InternalCftLanguage.g:16:9: 'in' + { + match("in"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__17" + + // $ANTLR start "T__18" + public final void mT__18() throws RecognitionException { + try { + int _type = T__18; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:17:7: ( 'out' ) + // InternalCftLanguage.g:17:9: 'out' + { + match("out"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__18" + + // $ANTLR start "T__19" + public final void mT__19() throws RecognitionException { + try { + int _type = T__19; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:18:7: ( '}' ) + // InternalCftLanguage.g:18:9: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__19" + + // $ANTLR start "T__20" + public final void mT__20() throws RecognitionException { + try { + int _type = T__20; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:19:7: ( '[]' ) + // InternalCftLanguage.g:19:9: '[]' + { + match("[]"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__20" + + // $ANTLR start "T__21" + public final void mT__21() throws RecognitionException { + try { + int _type = T__21; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:20:7: ( 'lambda' ) + // InternalCftLanguage.g:20:9: 'lambda' + { + match("lambda"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__21" + + // $ANTLR start "T__22" + public final void mT__22() throws RecognitionException { + try { + int _type = T__22; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:21:7: ( '=' ) + // InternalCftLanguage.g:21:9: '=' + { + match('='); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__22" + + // $ANTLR start "T__23" + public final void mT__23() throws RecognitionException { + try { + int _type = T__23; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:22:7: ( 'and' ) + // InternalCftLanguage.g:22:9: 'and' + { + match("and"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__23" + + // $ANTLR start "T__24" + public final void mT__24() throws RecognitionException { + try { + int _type = T__24; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:23:7: ( 'or' ) + // InternalCftLanguage.g:23:9: 'or' + { + match("or"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__24" + + // $ANTLR start "T__25" + public final void mT__25() throws RecognitionException { + try { + int _type = T__25; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:24:7: ( 'transformation' ) + // InternalCftLanguage.g:24:9: 'transformation' + { + match("transformation"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__25" + + // $ANTLR start "T__26" + public final void mT__26() throws RecognitionException { + try { + int _type = T__26; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:25:7: ( 'toplevel' ) + // InternalCftLanguage.g:25:9: 'toplevel' + { + match("toplevel"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__26" + + // $ANTLR start "T__27" + public final void mT__27() throws RecognitionException { + try { + int _type = T__27; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:26:7: ( 'mapping' ) + // InternalCftLanguage.g:26:9: 'mapping' + { + match("mapping"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__27" + + // $ANTLR start "T__28" + public final void mT__28() throws RecognitionException { + try { + int _type = T__28; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:27:7: ( '(' ) + // InternalCftLanguage.g:27:9: '(' + { + match('('); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__28" + + // $ANTLR start "T__29" + public final void mT__29() throws RecognitionException { + try { + int _type = T__29; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:28:7: ( ',' ) + // InternalCftLanguage.g:28:9: ',' + { + match(','); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__29" + + // $ANTLR start "T__30" + public final void mT__30() throws RecognitionException { + try { + int _type = T__30; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:29:7: ( ')' ) + // InternalCftLanguage.g:29:9: ')' + { + match(')'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__30" + + // $ANTLR start "T__31" + public final void mT__31() throws RecognitionException { + try { + int _type = T__31; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:30:7: ( 'lookup' ) + // InternalCftLanguage.g:30:9: 'lookup' + { + match("lookup"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__31" + + // $ANTLR start "T__32" + public final void mT__32() throws RecognitionException { + try { + int _type = T__32; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:31:7: ( 'as' ) + // InternalCftLanguage.g:31:9: 'as' + { + match("as"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__32" + + // $ANTLR start "T__33" + public final void mT__33() throws RecognitionException { + try { + int _type = T__33; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:32:7: ( '+=' ) + // InternalCftLanguage.g:32:9: '+=' + { + match("+="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__33" + + // $ANTLR start "T__34" + public final void mT__34() throws RecognitionException { + try { + int _type = T__34; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:33:7: ( ':=' ) + // InternalCftLanguage.g:33:9: ':=' + { + match(":="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__34" + + // $ANTLR start "T__35" + public final void mT__35() throws RecognitionException { + try { + int _type = T__35; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:34:7: ( '.' ) + // InternalCftLanguage.g:34:9: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__35" + + // $ANTLR start "T__36" + public final void mT__36() throws RecognitionException { + try { + int _type = T__36; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:35:7: ( '=>' ) + // InternalCftLanguage.g:35:9: '=>' + { + match("=>"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__36" + + // $ANTLR start "T__37" + public final void mT__37() throws RecognitionException { + try { + int _type = T__37; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:36:7: ( '*' ) + // InternalCftLanguage.g:36:9: '*' + { + match('*'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__37" + + // $ANTLR start "RULE_DOULBE" + public final void mRULE_DOULBE() throws RecognitionException { + try { + int _type = RULE_DOULBE; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:1318:13: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) ) + // InternalCftLanguage.g:1318:15: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) + { + // InternalCftLanguage.g:1318:15: ( '0' .. '9' )+ + int cnt1=0; + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( ((LA1_0>='0' && LA1_0<='9')) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // InternalCftLanguage.g:1318:16: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt1 >= 1 ) break loop1; + EarlyExitException eee = + new EarlyExitException(1, input); + throw eee; + } + cnt1++; + } while (true); + + // InternalCftLanguage.g:1318:27: ( '.' ( '0' .. '9' )+ | ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ ) + int alt7=2; + alt7 = dfa7.predict(input); + switch (alt7) { + case 1 : + // InternalCftLanguage.g:1318:28: '.' ( '0' .. '9' )+ + { + match('.'); + // InternalCftLanguage.g:1318:32: ( '0' .. '9' )+ + int cnt2=0; + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // InternalCftLanguage.g:1318:33: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt2 >= 1 ) break loop2; + EarlyExitException eee = + new EarlyExitException(2, input); + throw eee; + } + cnt2++; + } while (true); + + + } + break; + case 2 : + // InternalCftLanguage.g:1318:44: ( '.' ( '0' .. '9' )+ )? ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ + { + // InternalCftLanguage.g:1318:44: ( '.' ( '0' .. '9' )+ )? + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='.') ) { + alt4=1; + } + switch (alt4) { + case 1 : + // InternalCftLanguage.g:1318:45: '.' ( '0' .. '9' )+ + { + match('.'); + // InternalCftLanguage.g:1318:49: ( '0' .. '9' )+ + int cnt3=0; + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( ((LA3_0>='0' && LA3_0<='9')) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // InternalCftLanguage.g:1318:50: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt3 >= 1 ) break loop3; + EarlyExitException eee = + new EarlyExitException(3, input); + throw eee; + } + cnt3++; + } while (true); + + + } + break; + + } + + if ( input.LA(1)=='E'||input.LA(1)=='e' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalCftLanguage.g:1318:73: ( '+' | '-' )? + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='+'||LA5_0=='-') ) { + alt5=1; + } + switch (alt5) { + case 1 : + // InternalCftLanguage.g: + { + if ( input.LA(1)=='+'||input.LA(1)=='-' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + } + + // InternalCftLanguage.g:1318:84: ( '0' .. '9' )+ + int cnt6=0; + loop6: + do { + int alt6=2; + int LA6_0 = input.LA(1); + + if ( ((LA6_0>='0' && LA6_0<='9')) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // InternalCftLanguage.g:1318:85: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt6 >= 1 ) break loop6; + EarlyExitException eee = + new EarlyExitException(6, input); + throw eee; + } + cnt6++; + } while (true); + + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_DOULBE" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:1320:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalCftLanguage.g:1320:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // InternalCftLanguage.g:1320:11: ( '^' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='^') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalCftLanguage.g:1320:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalCftLanguage.g:1320:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop9: + do { + int alt9=2; + int LA9_0 = input.LA(1); + + if ( ((LA9_0>='0' && LA9_0<='9')||(LA9_0>='A' && LA9_0<='Z')||LA9_0=='_'||(LA9_0>='a' && LA9_0<='z')) ) { + alt9=1; + } + + + switch (alt9) { + case 1 : + // InternalCftLanguage.g: + { + 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') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop9; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:1322:10: ( ( '0' .. '9' )+ ) + // InternalCftLanguage.g:1322:12: ( '0' .. '9' )+ + { + // InternalCftLanguage.g:1322:12: ( '0' .. '9' )+ + int cnt10=0; + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( ((LA10_0>='0' && LA10_0<='9')) ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // InternalCftLanguage.g:1322:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt10 >= 1 ) break loop10; + EarlyExitException eee = + new EarlyExitException(10, input); + throw eee; + } + cnt10++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:1324:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalCftLanguage.g:1324:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + { + // InternalCftLanguage.g:1324:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0=='\"') ) { + alt13=1; + } + else if ( (LA13_0=='\'') ) { + alt13=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 13, 0, input); + + throw nvae; + } + switch (alt13) { + case 1 : + // InternalCftLanguage.g:1324:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalCftLanguage.g:1324:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop11: + do { + int alt11=3; + int LA11_0 = input.LA(1); + + if ( (LA11_0=='\\') ) { + alt11=1; + } + else if ( ((LA11_0>='\u0000' && LA11_0<='!')||(LA11_0>='#' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) { + alt11=2; + } + + + switch (alt11) { + case 1 : + // InternalCftLanguage.g:1324:21: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalCftLanguage.g:1324:28: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop11; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // InternalCftLanguage.g:1324:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalCftLanguage.g:1324:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop12: + do { + int alt12=3; + int LA12_0 = input.LA(1); + + if ( (LA12_0=='\\') ) { + alt12=1; + } + else if ( ((LA12_0>='\u0000' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='[')||(LA12_0>=']' && LA12_0<='\uFFFF')) ) { + alt12=2; + } + + + switch (alt12) { + case 1 : + // InternalCftLanguage.g:1324:54: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalCftLanguage.g:1324:61: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop12; + } + } while (true); + + match('\''); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:1326:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalCftLanguage.g:1326:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // InternalCftLanguage.g:1326:24: ( options {greedy=false; } : . )* + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0=='*') ) { + int LA14_1 = input.LA(2); + + if ( (LA14_1=='/') ) { + alt14=2; + } + else if ( ((LA14_1>='\u0000' && LA14_1<='.')||(LA14_1>='0' && LA14_1<='\uFFFF')) ) { + alt14=1; + } + + + } + else if ( ((LA14_0>='\u0000' && LA14_0<=')')||(LA14_0>='+' && LA14_0<='\uFFFF')) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // InternalCftLanguage.g:1326:52: . + { + matchAny(); + + } + break; + + default : + break loop14; + } + } while (true); + + match("*/"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ML_COMMENT" + + // $ANTLR start "RULE_SL_COMMENT" + public final void mRULE_SL_COMMENT() throws RecognitionException { + try { + int _type = RULE_SL_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:1328:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalCftLanguage.g:1328:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // InternalCftLanguage.g:1328:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop15: + do { + int alt15=2; + int LA15_0 = input.LA(1); + + if ( ((LA15_0>='\u0000' && LA15_0<='\t')||(LA15_0>='\u000B' && LA15_0<='\f')||(LA15_0>='\u000E' && LA15_0<='\uFFFF')) ) { + alt15=1; + } + + + switch (alt15) { + case 1 : + // InternalCftLanguage.g:1328:24: ~ ( ( '\\n' | '\\r' ) ) + { + 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') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop15; + } + } while (true); + + // InternalCftLanguage.g:1328:40: ( ( '\\r' )? '\\n' )? + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0=='\n'||LA17_0=='\r') ) { + alt17=1; + } + switch (alt17) { + case 1 : + // InternalCftLanguage.g:1328:41: ( '\\r' )? '\\n' + { + // InternalCftLanguage.g:1328:41: ( '\\r' )? + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0=='\r') ) { + alt16=1; + } + switch (alt16) { + case 1 : + // InternalCftLanguage.g:1328:41: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_SL_COMMENT" + + // $ANTLR start "RULE_WS" + public final void mRULE_WS() throws RecognitionException { + try { + int _type = RULE_WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:1330:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalCftLanguage.g:1330:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalCftLanguage.g:1330:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt18=0; + loop18: + do { + int alt18=2; + int LA18_0 = input.LA(1); + + if ( ((LA18_0>='\t' && LA18_0<='\n')||LA18_0=='\r'||LA18_0==' ') ) { + alt18=1; + } + + + switch (alt18) { + case 1 : + // InternalCftLanguage.g: + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt18 >= 1 ) break loop18; + EarlyExitException eee = + new EarlyExitException(18, input); + throw eee; + } + cnt18++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalCftLanguage.g:1332:16: ( . ) + // InternalCftLanguage.g:1332:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalCftLanguage.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | RULE_DOULBE | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt19=34; + alt19 = dfa19.predict(input); + switch (alt19) { + case 1 : + // InternalCftLanguage.g:1:10: T__12 + { + mT__12(); + + } + break; + case 2 : + // InternalCftLanguage.g:1:16: T__13 + { + mT__13(); + + } + break; + case 3 : + // InternalCftLanguage.g:1:22: T__14 + { + mT__14(); + + } + break; + case 4 : + // InternalCftLanguage.g:1:28: T__15 + { + mT__15(); + + } + break; + case 5 : + // InternalCftLanguage.g:1:34: T__16 + { + mT__16(); + + } + break; + case 6 : + // InternalCftLanguage.g:1:40: T__17 + { + mT__17(); + + } + break; + case 7 : + // InternalCftLanguage.g:1:46: T__18 + { + mT__18(); + + } + break; + case 8 : + // InternalCftLanguage.g:1:52: T__19 + { + mT__19(); + + } + break; + case 9 : + // InternalCftLanguage.g:1:58: T__20 + { + mT__20(); + + } + break; + case 10 : + // InternalCftLanguage.g:1:64: T__21 + { + mT__21(); + + } + break; + case 11 : + // InternalCftLanguage.g:1:70: T__22 + { + mT__22(); + + } + break; + case 12 : + // InternalCftLanguage.g:1:76: T__23 + { + mT__23(); + + } + break; + case 13 : + // InternalCftLanguage.g:1:82: T__24 + { + mT__24(); + + } + break; + case 14 : + // InternalCftLanguage.g:1:88: T__25 + { + mT__25(); + + } + break; + case 15 : + // InternalCftLanguage.g:1:94: T__26 + { + mT__26(); + + } + break; + case 16 : + // InternalCftLanguage.g:1:100: T__27 + { + mT__27(); + + } + break; + case 17 : + // InternalCftLanguage.g:1:106: T__28 + { + mT__28(); + + } + break; + case 18 : + // InternalCftLanguage.g:1:112: T__29 + { + mT__29(); + + } + break; + case 19 : + // InternalCftLanguage.g:1:118: T__30 + { + mT__30(); + + } + break; + case 20 : + // InternalCftLanguage.g:1:124: T__31 + { + mT__31(); + + } + break; + case 21 : + // InternalCftLanguage.g:1:130: T__32 + { + mT__32(); + + } + break; + case 22 : + // InternalCftLanguage.g:1:136: T__33 + { + mT__33(); + + } + break; + case 23 : + // InternalCftLanguage.g:1:142: T__34 + { + mT__34(); + + } + break; + case 24 : + // InternalCftLanguage.g:1:148: T__35 + { + mT__35(); + + } + break; + case 25 : + // InternalCftLanguage.g:1:154: T__36 + { + mT__36(); + + } + break; + case 26 : + // InternalCftLanguage.g:1:160: T__37 + { + mT__37(); + + } + break; + case 27 : + // InternalCftLanguage.g:1:166: RULE_DOULBE + { + mRULE_DOULBE(); + + } + break; + case 28 : + // InternalCftLanguage.g:1:178: RULE_ID + { + mRULE_ID(); + + } + break; + case 29 : + // InternalCftLanguage.g:1:186: RULE_INT + { + mRULE_INT(); + + } + break; + case 30 : + // InternalCftLanguage.g:1:195: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 31 : + // InternalCftLanguage.g:1:207: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 32 : + // InternalCftLanguage.g:1:223: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 33 : + // InternalCftLanguage.g:1:239: RULE_WS + { + mRULE_WS(); + + } + break; + case 34 : + // InternalCftLanguage.g:1:247: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA7 dfa7 = new DFA7(this); + protected DFA19 dfa19 = new DFA19(this); + static final String DFA7_eotS = + "\3\uffff\1\4\1\uffff"; + static final String DFA7_eofS = + "\5\uffff"; + static final String DFA7_minS = + "\1\56\1\60\1\uffff\1\60\1\uffff"; + static final String DFA7_maxS = + "\1\145\1\71\1\uffff\1\145\1\uffff"; + static final String DFA7_acceptS = + "\2\uffff\1\2\1\uffff\1\1"; + static final String DFA7_specialS = + "\5\uffff}>"; + static final String[] DFA7_transitionS = { + "\1\1\26\uffff\1\2\37\uffff\1\2", + "\12\3", + "", + "\12\3\13\uffff\1\2\37\uffff\1\2", + "" + }; + + static final short[] DFA7_eot = DFA.unpackEncodedString(DFA7_eotS); + static final short[] DFA7_eof = DFA.unpackEncodedString(DFA7_eofS); + static final char[] DFA7_min = DFA.unpackEncodedStringToUnsignedChars(DFA7_minS); + static final char[] DFA7_max = DFA.unpackEncodedStringToUnsignedChars(DFA7_maxS); + static final short[] DFA7_accept = DFA.unpackEncodedString(DFA7_acceptS); + static final short[] DFA7_special = DFA.unpackEncodedString(DFA7_specialS); + static final short[][] DFA7_transition; + + static { + int numStates = DFA7_transitionS.length; + DFA7_transition = new short[numStates][]; + for (int i=0; i"; + static final String[] DFA19_transitionS = { + "\11\34\2\33\2\34\1\33\22\34\1\33\1\34\1\30\4\34\1\31\1\16\1\20\1\24\1\21\1\17\1\34\1\23\1\32\12\25\1\22\1\2\1\34\1\12\3\34\32\27\1\10\2\34\1\26\1\27\1\34\1\13\1\27\1\4\5\27\1\3\2\27\1\11\1\15\1\27\1\6\1\1\3\27\1\14\6\27\1\5\1\34\1\7\uff82\34", + "\1\35", + "", + "\1\40\1\41", + "\1\42", + "", + "\1\45\2\uffff\1\44", + "", + "\1\47", + "\1\50\15\uffff\1\51", + "\1\52", + "\1\54\4\uffff\1\55", + "\1\57\2\uffff\1\56", + "\1\60", + "", + "", + "", + "\1\64", + "\1\65", + "", + "", + "\1\70\1\uffff\12\71\13\uffff\1\70\37\uffff\1\70", + "\32\36\4\uffff\1\36\1\uffff\32\36", + "", + "\0\73", + "\0\73", + "\1\74\4\uffff\1\75", + "", + "", + "\1\77", + "", + "", + "\1\100", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "\1\102", + "", + "\1\103", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "", + "", + "\1\105", + "\1\106", + "", + "", + "\1\107", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "\1\111", + "\1\112", + "\1\113", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\70\1\uffff\12\71\13\uffff\1\70\37\uffff\1\70", + "", + "", + "", + "", + "", + "\1\114", + "\1\115", + "", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "", + "\1\120", + "\1\121", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "", + "\1\123", + "\1\124", + "\1\125", + "\1\126", + "\1\127", + "", + "", + "\1\130", + "\1\131", + "", + "\1\132", + "\1\133", + "\1\134", + "\1\135", + "\1\136", + "\1\137", + "\1\140", + "\1\141", + "\1\142", + "\1\143", + "\1\144", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "\1\150", + "\1\151", + "\1\152", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "", + "", + "", + "\1\154", + "\1\155", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "", + "\1\157", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "", + "\1\161", + "", + "\1\162", + "\1\163", + "\1\164", + "\1\165", + "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36", + "" + }; + + static final short[] DFA19_eot = DFA.unpackEncodedString(DFA19_eotS); + static final short[] DFA19_eof = DFA.unpackEncodedString(DFA19_eofS); + static final char[] DFA19_min = DFA.unpackEncodedStringToUnsignedChars(DFA19_minS); + static final char[] DFA19_max = DFA.unpackEncodedStringToUnsignedChars(DFA19_maxS); + static final short[] DFA19_accept = DFA.unpackEncodedString(DFA19_acceptS); + static final short[] DFA19_special = DFA.unpackEncodedString(DFA19_specialS); + static final short[][] DFA19_transition; + + static { + int numStates = DFA19_transitionS.length; + DFA19_transition = new short[numStates][]; + for (int i=0; i='0' && LA19_0<='9')) ) {s = 21;} + + else if ( (LA19_0=='^') ) {s = 22;} + + else if ( ((LA19_0>='A' && LA19_0<='Z')||LA19_0=='_'||LA19_0=='b'||(LA19_0>='d' && LA19_0<='h')||(LA19_0>='j' && LA19_0<='k')||LA19_0=='n'||(LA19_0>='q' && LA19_0<='s')||(LA19_0>='u' && LA19_0<='z')) ) {s = 23;} + + else if ( (LA19_0=='\"') ) {s = 24;} + + else if ( (LA19_0=='\'') ) {s = 25;} + + else if ( (LA19_0=='/') ) {s = 26;} + + else if ( ((LA19_0>='\t' && LA19_0<='\n')||LA19_0=='\r'||LA19_0==' ') ) {s = 27;} + + else if ( ((LA19_0>='\u0000' && LA19_0<='\b')||(LA19_0>='\u000B' && LA19_0<='\f')||(LA19_0>='\u000E' && LA19_0<='\u001F')||LA19_0=='!'||(LA19_0>='#' && LA19_0<='&')||LA19_0=='-'||LA19_0=='<'||(LA19_0>='>' && LA19_0<='@')||(LA19_0>='\\' && LA19_0<=']')||LA19_0=='`'||LA19_0=='|'||(LA19_0>='~' && LA19_0<='\uFFFF')) ) {s = 28;} + + if ( s>=0 ) return s; + break; + case 1 : + int LA19_25 = input.LA(1); + + s = -1; + if ( ((LA19_25>='\u0000' && LA19_25<='\uFFFF')) ) {s = 59;} + + else s = 28; + + if ( s>=0 ) return s; + break; + case 2 : + int LA19_24 = input.LA(1); + + s = -1; + if ( ((LA19_24>='\u0000' && LA19_24<='\uFFFF')) ) {s = 59;} + + else s = 28; + + if ( s>=0 ) return s; + break; + } + NoViableAltException nvae = + new NoViableAltException(getDescription(), 19, _s, input); + error(nvae); + throw nvae; + } + } + + +} \ No newline at end of file diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageParser.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageParser.java new file mode 100644 index 00000000..29c15563 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/parser/antlr/internal/InternalCftLanguageParser.java @@ -0,0 +1,3449 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.parser.antlr.internal; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; +import hu.bme.mit.inf.dslreasoner.faulttree.components.services.CftLanguageGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalCftLanguageParser extends AbstractInternalAntlrParser { + public static final String[] tokenNames = new String[] { + "", "", "", "", "RULE_ID", "RULE_DOULBE", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "';'", "'import'", "'cft'", "'{'", "'in'", "'out'", "'}'", "'[]'", "'lambda'", "'='", "'and'", "'or'", "'transformation'", "'toplevel'", "'mapping'", "'('", "','", "')'", "'lookup'", "'as'", "'+='", "':='", "'.'", "'=>'", "'*'" + }; + public static final int RULE_STRING=7; + public static final int RULE_SL_COMMENT=9; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__37=37; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__33=33; + public static final int T__12=12; + public static final int T__34=34; + public static final int T__13=13; + public static final int T__35=35; + public static final int T__14=14; + public static final int T__36=36; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_ID=4; + public static final int RULE_WS=10; + public static final int RULE_DOULBE=5; + public static final int RULE_ANY_OTHER=11; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int RULE_INT=6; + public static final int T__29=29; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=8; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + + // delegates + // delegators + + + public InternalCftLanguageParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalCftLanguageParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalCftLanguageParser.tokenNames; } + public String getGrammarFileName() { return "InternalCftLanguage.g"; } + + + + private CftLanguageGrammarAccess grammarAccess; + + public InternalCftLanguageParser(TokenStream input, CftLanguageGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "CftModel"; + } + + @Override + protected CftLanguageGrammarAccess getGrammarAccess() { + return grammarAccess; + } + + + + + // $ANTLR start "entryRuleCftModel" + // InternalCftLanguage.g:64:1: entryRuleCftModel returns [EObject current=null] : iv_ruleCftModel= ruleCftModel EOF ; + public final EObject entryRuleCftModel() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCftModel = null; + + + try { + // InternalCftLanguage.g:64:49: (iv_ruleCftModel= ruleCftModel EOF ) + // InternalCftLanguage.g:65:2: iv_ruleCftModel= ruleCftModel EOF + { + newCompositeNode(grammarAccess.getCftModelRule()); + pushFollow(FOLLOW_1); + iv_ruleCftModel=ruleCftModel(); + + state._fsp--; + + current =iv_ruleCftModel; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCftModel" + + + // $ANTLR start "ruleCftModel" + // InternalCftLanguage.g:71:1: ruleCftModel returns [EObject current=null] : (otherlv_0= 'package' ( (lv_packageName_1_0= ruleQualifiedName ) ) (otherlv_2= ';' )? ( (lv_imports_3_0= ruleImportDeclaration ) )* ( ( (lv_componentDefinitions_4_0= ruleComponentDefinition ) ) | ( (lv_transformationDefinitions_5_0= ruleTransformationDefinition ) ) )* ) ; + public final EObject ruleCftModel() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + AntlrDatatypeRuleToken lv_packageName_1_0 = null; + + EObject lv_imports_3_0 = null; + + EObject lv_componentDefinitions_4_0 = null; + + EObject lv_transformationDefinitions_5_0 = null; + + + + enterRule(); + + try { + // InternalCftLanguage.g:77:2: ( (otherlv_0= 'package' ( (lv_packageName_1_0= ruleQualifiedName ) ) (otherlv_2= ';' )? ( (lv_imports_3_0= ruleImportDeclaration ) )* ( ( (lv_componentDefinitions_4_0= ruleComponentDefinition ) ) | ( (lv_transformationDefinitions_5_0= ruleTransformationDefinition ) ) )* ) ) + // InternalCftLanguage.g:78:2: (otherlv_0= 'package' ( (lv_packageName_1_0= ruleQualifiedName ) ) (otherlv_2= ';' )? ( (lv_imports_3_0= ruleImportDeclaration ) )* ( ( (lv_componentDefinitions_4_0= ruleComponentDefinition ) ) | ( (lv_transformationDefinitions_5_0= ruleTransformationDefinition ) ) )* ) + { + // InternalCftLanguage.g:78:2: (otherlv_0= 'package' ( (lv_packageName_1_0= ruleQualifiedName ) ) (otherlv_2= ';' )? ( (lv_imports_3_0= ruleImportDeclaration ) )* ( ( (lv_componentDefinitions_4_0= ruleComponentDefinition ) ) | ( (lv_transformationDefinitions_5_0= ruleTransformationDefinition ) ) )* ) + // InternalCftLanguage.g:79:3: otherlv_0= 'package' ( (lv_packageName_1_0= ruleQualifiedName ) ) (otherlv_2= ';' )? ( (lv_imports_3_0= ruleImportDeclaration ) )* ( ( (lv_componentDefinitions_4_0= ruleComponentDefinition ) ) | ( (lv_transformationDefinitions_5_0= ruleTransformationDefinition ) ) )* + { + otherlv_0=(Token)match(input,12,FOLLOW_3); + + newLeafNode(otherlv_0, grammarAccess.getCftModelAccess().getPackageKeyword_0()); + + // InternalCftLanguage.g:83:3: ( (lv_packageName_1_0= ruleQualifiedName ) ) + // InternalCftLanguage.g:84:4: (lv_packageName_1_0= ruleQualifiedName ) + { + // InternalCftLanguage.g:84:4: (lv_packageName_1_0= ruleQualifiedName ) + // InternalCftLanguage.g:85:5: lv_packageName_1_0= ruleQualifiedName + { + + newCompositeNode(grammarAccess.getCftModelAccess().getPackageNameQualifiedNameParserRuleCall_1_0()); + + pushFollow(FOLLOW_4); + lv_packageName_1_0=ruleQualifiedName(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCftModelRule()); + } + set( + current, + "packageName", + lv_packageName_1_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.QualifiedName"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalCftLanguage.g:102:3: (otherlv_2= ';' )? + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==13) ) { + alt1=1; + } + switch (alt1) { + case 1 : + // InternalCftLanguage.g:103:4: otherlv_2= ';' + { + otherlv_2=(Token)match(input,13,FOLLOW_5); + + newLeafNode(otherlv_2, grammarAccess.getCftModelAccess().getSemicolonKeyword_2()); + + + } + break; + + } + + // InternalCftLanguage.g:108:3: ( (lv_imports_3_0= ruleImportDeclaration ) )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( (LA2_0==14) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // InternalCftLanguage.g:109:4: (lv_imports_3_0= ruleImportDeclaration ) + { + // InternalCftLanguage.g:109:4: (lv_imports_3_0= ruleImportDeclaration ) + // InternalCftLanguage.g:110:5: lv_imports_3_0= ruleImportDeclaration + { + + newCompositeNode(grammarAccess.getCftModelAccess().getImportsImportDeclarationParserRuleCall_3_0()); + + pushFollow(FOLLOW_5); + lv_imports_3_0=ruleImportDeclaration(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCftModelRule()); + } + add( + current, + "imports", + lv_imports_3_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ImportDeclaration"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop2; + } + } while (true); + + // InternalCftLanguage.g:127:3: ( ( (lv_componentDefinitions_4_0= ruleComponentDefinition ) ) | ( (lv_transformationDefinitions_5_0= ruleTransformationDefinition ) ) )* + loop3: + do { + int alt3=3; + int LA3_0 = input.LA(1); + + if ( (LA3_0==15) ) { + alt3=1; + } + else if ( (LA3_0==25) ) { + alt3=2; + } + + + switch (alt3) { + case 1 : + // InternalCftLanguage.g:128:4: ( (lv_componentDefinitions_4_0= ruleComponentDefinition ) ) + { + // InternalCftLanguage.g:128:4: ( (lv_componentDefinitions_4_0= ruleComponentDefinition ) ) + // InternalCftLanguage.g:129:5: (lv_componentDefinitions_4_0= ruleComponentDefinition ) + { + // InternalCftLanguage.g:129:5: (lv_componentDefinitions_4_0= ruleComponentDefinition ) + // InternalCftLanguage.g:130:6: lv_componentDefinitions_4_0= ruleComponentDefinition + { + + newCompositeNode(grammarAccess.getCftModelAccess().getComponentDefinitionsComponentDefinitionParserRuleCall_4_0_0()); + + pushFollow(FOLLOW_6); + lv_componentDefinitions_4_0=ruleComponentDefinition(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCftModelRule()); + } + add( + current, + "componentDefinitions", + lv_componentDefinitions_4_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ComponentDefinition"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + case 2 : + // InternalCftLanguage.g:148:4: ( (lv_transformationDefinitions_5_0= ruleTransformationDefinition ) ) + { + // InternalCftLanguage.g:148:4: ( (lv_transformationDefinitions_5_0= ruleTransformationDefinition ) ) + // InternalCftLanguage.g:149:5: (lv_transformationDefinitions_5_0= ruleTransformationDefinition ) + { + // InternalCftLanguage.g:149:5: (lv_transformationDefinitions_5_0= ruleTransformationDefinition ) + // InternalCftLanguage.g:150:6: lv_transformationDefinitions_5_0= ruleTransformationDefinition + { + + newCompositeNode(grammarAccess.getCftModelAccess().getTransformationDefinitionsTransformationDefinitionParserRuleCall_4_1_0()); + + pushFollow(FOLLOW_6); + lv_transformationDefinitions_5_0=ruleTransformationDefinition(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCftModelRule()); + } + add( + current, + "transformationDefinitions", + lv_transformationDefinitions_5_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.TransformationDefinition"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop3; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCftModel" + + + // $ANTLR start "entryRuleImportDeclaration" + // InternalCftLanguage.g:172:1: entryRuleImportDeclaration returns [EObject current=null] : iv_ruleImportDeclaration= ruleImportDeclaration EOF ; + public final EObject entryRuleImportDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleImportDeclaration = null; + + + try { + // InternalCftLanguage.g:172:58: (iv_ruleImportDeclaration= ruleImportDeclaration EOF ) + // InternalCftLanguage.g:173:2: iv_ruleImportDeclaration= ruleImportDeclaration EOF + { + newCompositeNode(grammarAccess.getImportDeclarationRule()); + pushFollow(FOLLOW_1); + iv_ruleImportDeclaration=ruleImportDeclaration(); + + state._fsp--; + + current =iv_ruleImportDeclaration; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleImportDeclaration" + + + // $ANTLR start "ruleImportDeclaration" + // InternalCftLanguage.g:179:1: ruleImportDeclaration returns [EObject current=null] : (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) (otherlv_2= ';' )? ) ; + public final EObject ruleImportDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + AntlrDatatypeRuleToken lv_importedNamespace_1_0 = null; + + + + enterRule(); + + try { + // InternalCftLanguage.g:185:2: ( (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) (otherlv_2= ';' )? ) ) + // InternalCftLanguage.g:186:2: (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) (otherlv_2= ';' )? ) + { + // InternalCftLanguage.g:186:2: (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) (otherlv_2= ';' )? ) + // InternalCftLanguage.g:187:3: otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) (otherlv_2= ';' )? + { + otherlv_0=(Token)match(input,14,FOLLOW_3); + + newLeafNode(otherlv_0, grammarAccess.getImportDeclarationAccess().getImportKeyword_0()); + + // InternalCftLanguage.g:191:3: ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) ) + // InternalCftLanguage.g:192:4: (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) + { + // InternalCftLanguage.g:192:4: (lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard ) + // InternalCftLanguage.g:193:5: lv_importedNamespace_1_0= ruleQualifiedNameWithWildcard + { + + newCompositeNode(grammarAccess.getImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0()); + + pushFollow(FOLLOW_7); + lv_importedNamespace_1_0=ruleQualifiedNameWithWildcard(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getImportDeclarationRule()); + } + set( + current, + "importedNamespace", + lv_importedNamespace_1_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.QualifiedNameWithWildcard"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalCftLanguage.g:210:3: (otherlv_2= ';' )? + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0==13) ) { + alt4=1; + } + switch (alt4) { + case 1 : + // InternalCftLanguage.g:211:4: otherlv_2= ';' + { + otherlv_2=(Token)match(input,13,FOLLOW_2); + + newLeafNode(otherlv_2, grammarAccess.getImportDeclarationAccess().getSemicolonKeyword_2()); + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleImportDeclaration" + + + // $ANTLR start "entryRuleComponentDefinition" + // InternalCftLanguage.g:220:1: entryRuleComponentDefinition returns [EObject current=null] : iv_ruleComponentDefinition= ruleComponentDefinition EOF ; + public final EObject entryRuleComponentDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComponentDefinition = null; + + + try { + // InternalCftLanguage.g:220:60: (iv_ruleComponentDefinition= ruleComponentDefinition EOF ) + // InternalCftLanguage.g:221:2: iv_ruleComponentDefinition= ruleComponentDefinition EOF + { + newCompositeNode(grammarAccess.getComponentDefinitionRule()); + pushFollow(FOLLOW_1); + iv_ruleComponentDefinition=ruleComponentDefinition(); + + state._fsp--; + + current =iv_ruleComponentDefinition; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComponentDefinition" + + + // $ANTLR start "ruleComponentDefinition" + // InternalCftLanguage.g:227:1: ruleComponentDefinition returns [EObject current=null] : (otherlv_0= 'cft' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* ) ) ) ( ( (lv_eventDefinitions_10_0= ruleEventDefinition ) ) otherlv_11= ';' )* otherlv_12= '}' ) ; + public final EObject ruleComponentDefinition() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_name_1_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token otherlv_8=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_12=null; + EObject lv_inputEvents_5_0 = null; + + EObject lv_eventDefinitions_10_0 = null; + + + + enterRule(); + + try { + // InternalCftLanguage.g:233:2: ( (otherlv_0= 'cft' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* ) ) ) ( ( (lv_eventDefinitions_10_0= ruleEventDefinition ) ) otherlv_11= ';' )* otherlv_12= '}' ) ) + // InternalCftLanguage.g:234:2: (otherlv_0= 'cft' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* ) ) ) ( ( (lv_eventDefinitions_10_0= ruleEventDefinition ) ) otherlv_11= ';' )* otherlv_12= '}' ) + { + // InternalCftLanguage.g:234:2: (otherlv_0= 'cft' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* ) ) ) ( ( (lv_eventDefinitions_10_0= ruleEventDefinition ) ) otherlv_11= ';' )* otherlv_12= '}' ) + // InternalCftLanguage.g:235:3: otherlv_0= 'cft' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* ) ) ) ( ( (lv_eventDefinitions_10_0= ruleEventDefinition ) ) otherlv_11= ';' )* otherlv_12= '}' + { + otherlv_0=(Token)match(input,15,FOLLOW_3); + + newLeafNode(otherlv_0, grammarAccess.getComponentDefinitionAccess().getCftKeyword_0()); + + // InternalCftLanguage.g:239:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalCftLanguage.g:240:4: (lv_name_1_0= RULE_ID ) + { + // InternalCftLanguage.g:240:4: (lv_name_1_0= RULE_ID ) + // InternalCftLanguage.g:241:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_8); + + newLeafNode(lv_name_1_0, grammarAccess.getComponentDefinitionAccess().getNameIDTerminalRuleCall_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getComponentDefinitionRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + + otherlv_2=(Token)match(input,16,FOLLOW_9); + + newLeafNode(otherlv_2, grammarAccess.getComponentDefinitionAccess().getLeftCurlyBracketKeyword_2()); + + // InternalCftLanguage.g:261:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* ) ) ) + // InternalCftLanguage.g:262:4: ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* ) ) + { + // InternalCftLanguage.g:262:4: ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* ) ) + // InternalCftLanguage.g:263:5: ( ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* ) + { + + getUnorderedGroupHelper().enter(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + + // InternalCftLanguage.g:266:5: ( ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* ) + // InternalCftLanguage.g:267:6: ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* + { + // InternalCftLanguage.g:267:6: ( ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) | ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) )* + loop7: + do { + int alt7=3; + int LA7_0 = input.LA(1); + + if ( LA7_0 == 17 && getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0) ) { + alt7=1; + } + else if ( LA7_0 == 18 && getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1) ) { + alt7=2; + } + + + switch (alt7) { + case 1 : + // InternalCftLanguage.g:268:4: ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) + { + // InternalCftLanguage.g:268:4: ({...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) ) + // InternalCftLanguage.g:269:5: {...}? => ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) + { + if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0) ) { + throw new FailedPredicateException(input, "ruleComponentDefinition", "getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0)"); + } + // InternalCftLanguage.g:269:116: ( ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) ) + // InternalCftLanguage.g:270:6: ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) + { + + getUnorderedGroupHelper().select(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 0); + + // InternalCftLanguage.g:273:9: ({...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) ) + // InternalCftLanguage.g:273:10: {...}? => (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) + { + if ( !((true)) ) { + throw new FailedPredicateException(input, "ruleComponentDefinition", "true"); + } + // InternalCftLanguage.g:273:19: (otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' ) + // InternalCftLanguage.g:273:20: otherlv_4= 'in' ( (lv_inputEvents_5_0= ruleInputEvent ) )* otherlv_6= ';' + { + otherlv_4=(Token)match(input,17,FOLLOW_10); + + newLeafNode(otherlv_4, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()); + + // InternalCftLanguage.g:277:9: ( (lv_inputEvents_5_0= ruleInputEvent ) )* + loop5: + do { + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0==RULE_ID) ) { + alt5=1; + } + + + switch (alt5) { + case 1 : + // InternalCftLanguage.g:278:10: (lv_inputEvents_5_0= ruleInputEvent ) + { + // InternalCftLanguage.g:278:10: (lv_inputEvents_5_0= ruleInputEvent ) + // InternalCftLanguage.g:279:11: lv_inputEvents_5_0= ruleInputEvent + { + + newCompositeNode(grammarAccess.getComponentDefinitionAccess().getInputEventsInputEventParserRuleCall_3_0_1_0()); + + pushFollow(FOLLOW_10); + lv_inputEvents_5_0=ruleInputEvent(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDefinitionRule()); + } + add( + current, + "inputEvents", + lv_inputEvents_5_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.InputEvent"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop5; + } + } while (true); + + otherlv_6=(Token)match(input,13,FOLLOW_9); + + newLeafNode(otherlv_6, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()); + + + } + + + } + + + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + + + } + + + } + + + } + break; + case 2 : + // InternalCftLanguage.g:306:4: ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) + { + // InternalCftLanguage.g:306:4: ({...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) ) + // InternalCftLanguage.g:307:5: {...}? => ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) + { + if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1) ) { + throw new FailedPredicateException(input, "ruleComponentDefinition", "getUnorderedGroupHelper().canSelect(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1)"); + } + // InternalCftLanguage.g:307:116: ( ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) ) + // InternalCftLanguage.g:308:6: ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) + { + + getUnorderedGroupHelper().select(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3(), 1); + + // InternalCftLanguage.g:311:9: ({...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) ) + // InternalCftLanguage.g:311:10: {...}? => (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) + { + if ( !((true)) ) { + throw new FailedPredicateException(input, "ruleComponentDefinition", "true"); + } + // InternalCftLanguage.g:311:19: (otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' ) + // InternalCftLanguage.g:311:20: otherlv_7= 'out' ( (otherlv_8= RULE_ID ) )* otherlv_9= ';' + { + otherlv_7=(Token)match(input,18,FOLLOW_10); + + newLeafNode(otherlv_7, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()); + + // InternalCftLanguage.g:315:9: ( (otherlv_8= RULE_ID ) )* + loop6: + do { + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==RULE_ID) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // InternalCftLanguage.g:316:10: (otherlv_8= RULE_ID ) + { + // InternalCftLanguage.g:316:10: (otherlv_8= RULE_ID ) + // InternalCftLanguage.g:317:11: otherlv_8= RULE_ID + { + + if (current==null) { + current = createModelElement(grammarAccess.getComponentDefinitionRule()); + } + + otherlv_8=(Token)match(input,RULE_ID,FOLLOW_10); + + newLeafNode(otherlv_8, grammarAccess.getComponentDefinitionAccess().getOutputEventsEventDeclarationCrossReference_3_1_1_0()); + + + } + + + } + break; + + default : + break loop6; + } + } while (true); + + otherlv_9=(Token)match(input,13,FOLLOW_9); + + newLeafNode(otherlv_9, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()); + + + } + + + } + + + getUnorderedGroupHelper().returnFromSelection(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + + + } + + + } + + + } + break; + + default : + break loop7; + } + } while (true); + + + } + + + } + + + getUnorderedGroupHelper().leave(grammarAccess.getComponentDefinitionAccess().getUnorderedGroup_3()); + + + } + + // InternalCftLanguage.g:345:3: ( ( (lv_eventDefinitions_10_0= ruleEventDefinition ) ) otherlv_11= ';' )* + loop8: + do { + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0==RULE_ID) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // InternalCftLanguage.g:346:4: ( (lv_eventDefinitions_10_0= ruleEventDefinition ) ) otherlv_11= ';' + { + // InternalCftLanguage.g:346:4: ( (lv_eventDefinitions_10_0= ruleEventDefinition ) ) + // InternalCftLanguage.g:347:5: (lv_eventDefinitions_10_0= ruleEventDefinition ) + { + // InternalCftLanguage.g:347:5: (lv_eventDefinitions_10_0= ruleEventDefinition ) + // InternalCftLanguage.g:348:6: lv_eventDefinitions_10_0= ruleEventDefinition + { + + newCompositeNode(grammarAccess.getComponentDefinitionAccess().getEventDefinitionsEventDefinitionParserRuleCall_4_0_0()); + + pushFollow(FOLLOW_11); + lv_eventDefinitions_10_0=ruleEventDefinition(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDefinitionRule()); + } + add( + current, + "eventDefinitions", + lv_eventDefinitions_10_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventDefinition"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_11=(Token)match(input,13,FOLLOW_12); + + newLeafNode(otherlv_11, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_4_1()); + + + } + break; + + default : + break loop8; + } + } while (true); + + otherlv_12=(Token)match(input,19,FOLLOW_2); + + newLeafNode(otherlv_12, grammarAccess.getComponentDefinitionAccess().getRightCurlyBracketKeyword_5()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComponentDefinition" + + + // $ANTLR start "entryRuleInputEvent" + // InternalCftLanguage.g:378:1: entryRuleInputEvent returns [EObject current=null] : iv_ruleInputEvent= ruleInputEvent EOF ; + public final EObject entryRuleInputEvent() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInputEvent = null; + + + try { + // InternalCftLanguage.g:378:51: (iv_ruleInputEvent= ruleInputEvent EOF ) + // InternalCftLanguage.g:379:2: iv_ruleInputEvent= ruleInputEvent EOF + { + newCompositeNode(grammarAccess.getInputEventRule()); + pushFollow(FOLLOW_1); + iv_ruleInputEvent=ruleInputEvent(); + + state._fsp--; + + current =iv_ruleInputEvent; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInputEvent" + + + // $ANTLR start "ruleInputEvent" + // InternalCftLanguage.g:385:1: ruleInputEvent returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_multiple_1_0= '[]' ) )? ) ; + public final EObject ruleInputEvent() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + Token lv_multiple_1_0=null; + + + enterRule(); + + try { + // InternalCftLanguage.g:391:2: ( ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_multiple_1_0= '[]' ) )? ) ) + // InternalCftLanguage.g:392:2: ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_multiple_1_0= '[]' ) )? ) + { + // InternalCftLanguage.g:392:2: ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_multiple_1_0= '[]' ) )? ) + // InternalCftLanguage.g:393:3: ( (lv_name_0_0= RULE_ID ) ) ( (lv_multiple_1_0= '[]' ) )? + { + // InternalCftLanguage.g:393:3: ( (lv_name_0_0= RULE_ID ) ) + // InternalCftLanguage.g:394:4: (lv_name_0_0= RULE_ID ) + { + // InternalCftLanguage.g:394:4: (lv_name_0_0= RULE_ID ) + // InternalCftLanguage.g:395:5: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_13); + + newLeafNode(lv_name_0_0, grammarAccess.getInputEventAccess().getNameIDTerminalRuleCall_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getInputEventRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + + // InternalCftLanguage.g:411:3: ( (lv_multiple_1_0= '[]' ) )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0==20) ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalCftLanguage.g:412:4: (lv_multiple_1_0= '[]' ) + { + // InternalCftLanguage.g:412:4: (lv_multiple_1_0= '[]' ) + // InternalCftLanguage.g:413:5: lv_multiple_1_0= '[]' + { + lv_multiple_1_0=(Token)match(input,20,FOLLOW_2); + + newLeafNode(lv_multiple_1_0, grammarAccess.getInputEventAccess().getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getInputEventRule()); + } + setWithLastConsumed(current, "multiple", true, "[]"); + + + } + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInputEvent" + + + // $ANTLR start "entryRuleEventDefinition" + // InternalCftLanguage.g:429:1: entryRuleEventDefinition returns [EObject current=null] : iv_ruleEventDefinition= ruleEventDefinition EOF ; + public final EObject entryRuleEventDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleEventDefinition = null; + + + try { + // InternalCftLanguage.g:429:56: (iv_ruleEventDefinition= ruleEventDefinition EOF ) + // InternalCftLanguage.g:430:2: iv_ruleEventDefinition= ruleEventDefinition EOF + { + newCompositeNode(grammarAccess.getEventDefinitionRule()); + pushFollow(FOLLOW_1); + iv_ruleEventDefinition=ruleEventDefinition(); + + state._fsp--; + + current =iv_ruleEventDefinition; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEventDefinition" + + + // $ANTLR start "ruleEventDefinition" + // InternalCftLanguage.g:436:1: ruleEventDefinition returns [EObject current=null] : (this_BasicEventDefinition_0= ruleBasicEventDefinition | this_GateDefinition_1= ruleGateDefinition ) ; + public final EObject ruleEventDefinition() throws RecognitionException { + EObject current = null; + + EObject this_BasicEventDefinition_0 = null; + + EObject this_GateDefinition_1 = null; + + + + enterRule(); + + try { + // InternalCftLanguage.g:442:2: ( (this_BasicEventDefinition_0= ruleBasicEventDefinition | this_GateDefinition_1= ruleGateDefinition ) ) + // InternalCftLanguage.g:443:2: (this_BasicEventDefinition_0= ruleBasicEventDefinition | this_GateDefinition_1= ruleGateDefinition ) + { + // InternalCftLanguage.g:443:2: (this_BasicEventDefinition_0= ruleBasicEventDefinition | this_GateDefinition_1= ruleGateDefinition ) + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==RULE_ID) ) { + int LA10_1 = input.LA(2); + + if ( ((LA10_1>=23 && LA10_1<=24)) ) { + alt10=2; + } + else if ( (LA10_1==21) ) { + alt10=1; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 10, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 10, 0, input); + + throw nvae; + } + switch (alt10) { + case 1 : + // InternalCftLanguage.g:444:3: this_BasicEventDefinition_0= ruleBasicEventDefinition + { + + newCompositeNode(grammarAccess.getEventDefinitionAccess().getBasicEventDefinitionParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_BasicEventDefinition_0=ruleBasicEventDefinition(); + + state._fsp--; + + + current = this_BasicEventDefinition_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalCftLanguage.g:453:3: this_GateDefinition_1= ruleGateDefinition + { + + newCompositeNode(grammarAccess.getEventDefinitionAccess().getGateDefinitionParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_GateDefinition_1=ruleGateDefinition(); + + state._fsp--; + + + current = this_GateDefinition_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEventDefinition" + + + // $ANTLR start "entryRuleBasicEventDefinition" + // InternalCftLanguage.g:465:1: entryRuleBasicEventDefinition returns [EObject current=null] : iv_ruleBasicEventDefinition= ruleBasicEventDefinition EOF ; + public final EObject entryRuleBasicEventDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBasicEventDefinition = null; + + + try { + // InternalCftLanguage.g:465:61: (iv_ruleBasicEventDefinition= ruleBasicEventDefinition EOF ) + // InternalCftLanguage.g:466:2: iv_ruleBasicEventDefinition= ruleBasicEventDefinition EOF + { + newCompositeNode(grammarAccess.getBasicEventDefinitionRule()); + pushFollow(FOLLOW_1); + iv_ruleBasicEventDefinition=ruleBasicEventDefinition(); + + state._fsp--; + + current =iv_ruleBasicEventDefinition; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBasicEventDefinition" + + + // $ANTLR start "ruleBasicEventDefinition" + // InternalCftLanguage.g:472:1: ruleBasicEventDefinition returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'lambda' otherlv_2= '=' ( (lv_rate_3_0= RULE_DOULBE ) ) ) ; + public final EObject ruleBasicEventDefinition() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token lv_rate_3_0=null; + + + enterRule(); + + try { + // InternalCftLanguage.g:478:2: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'lambda' otherlv_2= '=' ( (lv_rate_3_0= RULE_DOULBE ) ) ) ) + // InternalCftLanguage.g:479:2: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'lambda' otherlv_2= '=' ( (lv_rate_3_0= RULE_DOULBE ) ) ) + { + // InternalCftLanguage.g:479:2: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'lambda' otherlv_2= '=' ( (lv_rate_3_0= RULE_DOULBE ) ) ) + // InternalCftLanguage.g:480:3: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'lambda' otherlv_2= '=' ( (lv_rate_3_0= RULE_DOULBE ) ) + { + // InternalCftLanguage.g:480:3: ( (lv_name_0_0= RULE_ID ) ) + // InternalCftLanguage.g:481:4: (lv_name_0_0= RULE_ID ) + { + // InternalCftLanguage.g:481:4: (lv_name_0_0= RULE_ID ) + // InternalCftLanguage.g:482:5: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_14); + + newLeafNode(lv_name_0_0, grammarAccess.getBasicEventDefinitionAccess().getNameIDTerminalRuleCall_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getBasicEventDefinitionRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + + otherlv_1=(Token)match(input,21,FOLLOW_15); + + newLeafNode(otherlv_1, grammarAccess.getBasicEventDefinitionAccess().getLambdaKeyword_1()); + + otherlv_2=(Token)match(input,22,FOLLOW_16); + + newLeafNode(otherlv_2, grammarAccess.getBasicEventDefinitionAccess().getEqualsSignKeyword_2()); + + // InternalCftLanguage.g:506:3: ( (lv_rate_3_0= RULE_DOULBE ) ) + // InternalCftLanguage.g:507:4: (lv_rate_3_0= RULE_DOULBE ) + { + // InternalCftLanguage.g:507:4: (lv_rate_3_0= RULE_DOULBE ) + // InternalCftLanguage.g:508:5: lv_rate_3_0= RULE_DOULBE + { + lv_rate_3_0=(Token)match(input,RULE_DOULBE,FOLLOW_2); + + newLeafNode(lv_rate_3_0, grammarAccess.getBasicEventDefinitionAccess().getRateDOULBETerminalRuleCall_3_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getBasicEventDefinitionRule()); + } + setWithLastConsumed( + current, + "rate", + lv_rate_3_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.DOULBE"); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBasicEventDefinition" + + + // $ANTLR start "entryRuleGateDefinition" + // InternalCftLanguage.g:528:1: entryRuleGateDefinition returns [EObject current=null] : iv_ruleGateDefinition= ruleGateDefinition EOF ; + public final EObject entryRuleGateDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleGateDefinition = null; + + + try { + // InternalCftLanguage.g:528:55: (iv_ruleGateDefinition= ruleGateDefinition EOF ) + // InternalCftLanguage.g:529:2: iv_ruleGateDefinition= ruleGateDefinition EOF + { + newCompositeNode(grammarAccess.getGateDefinitionRule()); + pushFollow(FOLLOW_1); + iv_ruleGateDefinition=ruleGateDefinition(); + + state._fsp--; + + current =iv_ruleGateDefinition; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleGateDefinition" + + + // $ANTLR start "ruleGateDefinition" + // InternalCftLanguage.g:535:1: ruleGateDefinition returns [EObject current=null] : (this_AndGate_0= ruleAndGate | this_OrGate_1= ruleOrGate ) ; + public final EObject ruleGateDefinition() throws RecognitionException { + EObject current = null; + + EObject this_AndGate_0 = null; + + EObject this_OrGate_1 = null; + + + + enterRule(); + + try { + // InternalCftLanguage.g:541:2: ( (this_AndGate_0= ruleAndGate | this_OrGate_1= ruleOrGate ) ) + // InternalCftLanguage.g:542:2: (this_AndGate_0= ruleAndGate | this_OrGate_1= ruleOrGate ) + { + // InternalCftLanguage.g:542:2: (this_AndGate_0= ruleAndGate | this_OrGate_1= ruleOrGate ) + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0==RULE_ID) ) { + int LA11_1 = input.LA(2); + + if ( (LA11_1==24) ) { + alt11=2; + } + else if ( (LA11_1==23) ) { + alt11=1; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 11, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 11, 0, input); + + throw nvae; + } + switch (alt11) { + case 1 : + // InternalCftLanguage.g:543:3: this_AndGate_0= ruleAndGate + { + + newCompositeNode(grammarAccess.getGateDefinitionAccess().getAndGateParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_AndGate_0=ruleAndGate(); + + state._fsp--; + + + current = this_AndGate_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalCftLanguage.g:552:3: this_OrGate_1= ruleOrGate + { + + newCompositeNode(grammarAccess.getGateDefinitionAccess().getOrGateParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_OrGate_1=ruleOrGate(); + + state._fsp--; + + + current = this_OrGate_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleGateDefinition" + + + // $ANTLR start "entryRuleAndGate" + // InternalCftLanguage.g:564:1: entryRuleAndGate returns [EObject current=null] : iv_ruleAndGate= ruleAndGate EOF ; + public final EObject entryRuleAndGate() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAndGate = null; + + + try { + // InternalCftLanguage.g:564:48: (iv_ruleAndGate= ruleAndGate EOF ) + // InternalCftLanguage.g:565:2: iv_ruleAndGate= ruleAndGate EOF + { + newCompositeNode(grammarAccess.getAndGateRule()); + pushFollow(FOLLOW_1); + iv_ruleAndGate=ruleAndGate(); + + state._fsp--; + + current =iv_ruleAndGate; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAndGate" + + + // $ANTLR start "ruleAndGate" + // InternalCftLanguage.g:571:1: ruleAndGate returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'and' ( (otherlv_2= RULE_ID ) )* ) ; + public final EObject ruleAndGate() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + + + enterRule(); + + try { + // InternalCftLanguage.g:577:2: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'and' ( (otherlv_2= RULE_ID ) )* ) ) + // InternalCftLanguage.g:578:2: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'and' ( (otherlv_2= RULE_ID ) )* ) + { + // InternalCftLanguage.g:578:2: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'and' ( (otherlv_2= RULE_ID ) )* ) + // InternalCftLanguage.g:579:3: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'and' ( (otherlv_2= RULE_ID ) )* + { + // InternalCftLanguage.g:579:3: ( (lv_name_0_0= RULE_ID ) ) + // InternalCftLanguage.g:580:4: (lv_name_0_0= RULE_ID ) + { + // InternalCftLanguage.g:580:4: (lv_name_0_0= RULE_ID ) + // InternalCftLanguage.g:581:5: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_17); + + newLeafNode(lv_name_0_0, grammarAccess.getAndGateAccess().getNameIDTerminalRuleCall_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getAndGateRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + + otherlv_1=(Token)match(input,23,FOLLOW_18); + + newLeafNode(otherlv_1, grammarAccess.getAndGateAccess().getAndKeyword_1()); + + // InternalCftLanguage.g:601:3: ( (otherlv_2= RULE_ID ) )* + loop12: + do { + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0==RULE_ID) ) { + alt12=1; + } + + + switch (alt12) { + case 1 : + // InternalCftLanguage.g:602:4: (otherlv_2= RULE_ID ) + { + // InternalCftLanguage.g:602:4: (otherlv_2= RULE_ID ) + // InternalCftLanguage.g:603:5: otherlv_2= RULE_ID + { + + if (current==null) { + current = createModelElement(grammarAccess.getAndGateRule()); + } + + otherlv_2=(Token)match(input,RULE_ID,FOLLOW_18); + + newLeafNode(otherlv_2, grammarAccess.getAndGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); + + + } + + + } + break; + + default : + break loop12; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAndGate" + + + // $ANTLR start "entryRuleOrGate" + // InternalCftLanguage.g:618:1: entryRuleOrGate returns [EObject current=null] : iv_ruleOrGate= ruleOrGate EOF ; + public final EObject entryRuleOrGate() throws RecognitionException { + EObject current = null; + + EObject iv_ruleOrGate = null; + + + try { + // InternalCftLanguage.g:618:47: (iv_ruleOrGate= ruleOrGate EOF ) + // InternalCftLanguage.g:619:2: iv_ruleOrGate= ruleOrGate EOF + { + newCompositeNode(grammarAccess.getOrGateRule()); + pushFollow(FOLLOW_1); + iv_ruleOrGate=ruleOrGate(); + + state._fsp--; + + current =iv_ruleOrGate; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOrGate" + + + // $ANTLR start "ruleOrGate" + // InternalCftLanguage.g:625:1: ruleOrGate returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'or' ( (otherlv_2= RULE_ID ) )* ) ; + public final EObject ruleOrGate() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + + + enterRule(); + + try { + // InternalCftLanguage.g:631:2: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'or' ( (otherlv_2= RULE_ID ) )* ) ) + // InternalCftLanguage.g:632:2: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'or' ( (otherlv_2= RULE_ID ) )* ) + { + // InternalCftLanguage.g:632:2: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'or' ( (otherlv_2= RULE_ID ) )* ) + // InternalCftLanguage.g:633:3: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= 'or' ( (otherlv_2= RULE_ID ) )* + { + // InternalCftLanguage.g:633:3: ( (lv_name_0_0= RULE_ID ) ) + // InternalCftLanguage.g:634:4: (lv_name_0_0= RULE_ID ) + { + // InternalCftLanguage.g:634:4: (lv_name_0_0= RULE_ID ) + // InternalCftLanguage.g:635:5: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_19); + + newLeafNode(lv_name_0_0, grammarAccess.getOrGateAccess().getNameIDTerminalRuleCall_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getOrGateRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + + otherlv_1=(Token)match(input,24,FOLLOW_18); + + newLeafNode(otherlv_1, grammarAccess.getOrGateAccess().getOrKeyword_1()); + + // InternalCftLanguage.g:655:3: ( (otherlv_2= RULE_ID ) )* + loop13: + do { + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0==RULE_ID) ) { + alt13=1; + } + + + switch (alt13) { + case 1 : + // InternalCftLanguage.g:656:4: (otherlv_2= RULE_ID ) + { + // InternalCftLanguage.g:656:4: (otherlv_2= RULE_ID ) + // InternalCftLanguage.g:657:5: otherlv_2= RULE_ID + { + + if (current==null) { + current = createModelElement(grammarAccess.getOrGateRule()); + } + + otherlv_2=(Token)match(input,RULE_ID,FOLLOW_18); + + newLeafNode(otherlv_2, grammarAccess.getOrGateAccess().getInputEventsEventDeclarationCrossReference_2_0()); + + + } + + + } + break; + + default : + break loop13; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOrGate" + + + // $ANTLR start "entryRuleTransformationDefinition" + // InternalCftLanguage.g:672:1: entryRuleTransformationDefinition returns [EObject current=null] : iv_ruleTransformationDefinition= ruleTransformationDefinition EOF ; + public final EObject entryRuleTransformationDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTransformationDefinition = null; + + + try { + // InternalCftLanguage.g:672:65: (iv_ruleTransformationDefinition= ruleTransformationDefinition EOF ) + // InternalCftLanguage.g:673:2: iv_ruleTransformationDefinition= ruleTransformationDefinition EOF + { + newCompositeNode(grammarAccess.getTransformationDefinitionRule()); + pushFollow(FOLLOW_1); + iv_ruleTransformationDefinition=ruleTransformationDefinition(); + + state._fsp--; + + current =iv_ruleTransformationDefinition; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTransformationDefinition" + + + // $ANTLR start "ruleTransformationDefinition" + // InternalCftLanguage.g:679:1: ruleTransformationDefinition returns [EObject current=null] : (otherlv_0= 'transformation' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_mappingDefinitions_3_0= ruleMappingDefinition ) )* otherlv_4= '}' ) ; + public final EObject ruleTransformationDefinition() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_name_1_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_mappingDefinitions_3_0 = null; + + + + enterRule(); + + try { + // InternalCftLanguage.g:685:2: ( (otherlv_0= 'transformation' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_mappingDefinitions_3_0= ruleMappingDefinition ) )* otherlv_4= '}' ) ) + // InternalCftLanguage.g:686:2: (otherlv_0= 'transformation' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_mappingDefinitions_3_0= ruleMappingDefinition ) )* otherlv_4= '}' ) + { + // InternalCftLanguage.g:686:2: (otherlv_0= 'transformation' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_mappingDefinitions_3_0= ruleMappingDefinition ) )* otherlv_4= '}' ) + // InternalCftLanguage.g:687:3: otherlv_0= 'transformation' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_mappingDefinitions_3_0= ruleMappingDefinition ) )* otherlv_4= '}' + { + otherlv_0=(Token)match(input,25,FOLLOW_3); + + newLeafNode(otherlv_0, grammarAccess.getTransformationDefinitionAccess().getTransformationKeyword_0()); + + // InternalCftLanguage.g:691:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalCftLanguage.g:692:4: (lv_name_1_0= RULE_ID ) + { + // InternalCftLanguage.g:692:4: (lv_name_1_0= RULE_ID ) + // InternalCftLanguage.g:693:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_8); + + newLeafNode(lv_name_1_0, grammarAccess.getTransformationDefinitionAccess().getNameIDTerminalRuleCall_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getTransformationDefinitionRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + + otherlv_2=(Token)match(input,16,FOLLOW_20); + + newLeafNode(otherlv_2, grammarAccess.getTransformationDefinitionAccess().getLeftCurlyBracketKeyword_2()); + + // InternalCftLanguage.g:713:3: ( (lv_mappingDefinitions_3_0= ruleMappingDefinition ) )* + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( ((LA14_0>=26 && LA14_0<=27)) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // InternalCftLanguage.g:714:4: (lv_mappingDefinitions_3_0= ruleMappingDefinition ) + { + // InternalCftLanguage.g:714:4: (lv_mappingDefinitions_3_0= ruleMappingDefinition ) + // InternalCftLanguage.g:715:5: lv_mappingDefinitions_3_0= ruleMappingDefinition + { + + newCompositeNode(grammarAccess.getTransformationDefinitionAccess().getMappingDefinitionsMappingDefinitionParserRuleCall_3_0()); + + pushFollow(FOLLOW_20); + lv_mappingDefinitions_3_0=ruleMappingDefinition(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTransformationDefinitionRule()); + } + add( + current, + "mappingDefinitions", + lv_mappingDefinitions_3_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingDefinition"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop14; + } + } while (true); + + otherlv_4=(Token)match(input,19,FOLLOW_2); + + newLeafNode(otherlv_4, grammarAccess.getTransformationDefinitionAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTransformationDefinition" + + + // $ANTLR start "entryRuleMappingDefinition" + // InternalCftLanguage.g:740:1: entryRuleMappingDefinition returns [EObject current=null] : iv_ruleMappingDefinition= ruleMappingDefinition EOF ; + public final EObject entryRuleMappingDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleMappingDefinition = null; + + + try { + // InternalCftLanguage.g:740:58: (iv_ruleMappingDefinition= ruleMappingDefinition EOF ) + // InternalCftLanguage.g:741:2: iv_ruleMappingDefinition= ruleMappingDefinition EOF + { + newCompositeNode(grammarAccess.getMappingDefinitionRule()); + pushFollow(FOLLOW_1); + iv_ruleMappingDefinition=ruleMappingDefinition(); + + state._fsp--; + + current =iv_ruleMappingDefinition; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleMappingDefinition" + + + // $ANTLR start "ruleMappingDefinition" + // InternalCftLanguage.g:747:1: ruleMappingDefinition returns [EObject current=null] : ( ( (lv_topLevel_0_0= 'toplevel' ) )? otherlv_1= 'mapping' ( ( ruleQualifiedName ) ) otherlv_3= '(' ( (lv_parameters_4_0= ruleMappingParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleMappingParameter ) ) )* otherlv_7= ')' ( (lv_componentInstance_8_0= ruleComponentInstance ) )? (otherlv_9= '{' ( ( ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) | ( (lv_assignments_11_0= ruleAssignment ) ) ) otherlv_12= ';' )* otherlv_13= '}' )? ) ; + public final EObject ruleMappingDefinition() throws RecognitionException { + EObject current = null; + + Token lv_topLevel_0_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_12=null; + Token otherlv_13=null; + EObject lv_parameters_4_0 = null; + + EObject lv_parameters_6_0 = null; + + EObject lv_componentInstance_8_0 = null; + + EObject lv_lookupDefinitions_10_0 = null; + + EObject lv_assignments_11_0 = null; + + + + enterRule(); + + try { + // InternalCftLanguage.g:753:2: ( ( ( (lv_topLevel_0_0= 'toplevel' ) )? otherlv_1= 'mapping' ( ( ruleQualifiedName ) ) otherlv_3= '(' ( (lv_parameters_4_0= ruleMappingParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleMappingParameter ) ) )* otherlv_7= ')' ( (lv_componentInstance_8_0= ruleComponentInstance ) )? (otherlv_9= '{' ( ( ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) | ( (lv_assignments_11_0= ruleAssignment ) ) ) otherlv_12= ';' )* otherlv_13= '}' )? ) ) + // InternalCftLanguage.g:754:2: ( ( (lv_topLevel_0_0= 'toplevel' ) )? otherlv_1= 'mapping' ( ( ruleQualifiedName ) ) otherlv_3= '(' ( (lv_parameters_4_0= ruleMappingParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleMappingParameter ) ) )* otherlv_7= ')' ( (lv_componentInstance_8_0= ruleComponentInstance ) )? (otherlv_9= '{' ( ( ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) | ( (lv_assignments_11_0= ruleAssignment ) ) ) otherlv_12= ';' )* otherlv_13= '}' )? ) + { + // InternalCftLanguage.g:754:2: ( ( (lv_topLevel_0_0= 'toplevel' ) )? otherlv_1= 'mapping' ( ( ruleQualifiedName ) ) otherlv_3= '(' ( (lv_parameters_4_0= ruleMappingParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleMappingParameter ) ) )* otherlv_7= ')' ( (lv_componentInstance_8_0= ruleComponentInstance ) )? (otherlv_9= '{' ( ( ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) | ( (lv_assignments_11_0= ruleAssignment ) ) ) otherlv_12= ';' )* otherlv_13= '}' )? ) + // InternalCftLanguage.g:755:3: ( (lv_topLevel_0_0= 'toplevel' ) )? otherlv_1= 'mapping' ( ( ruleQualifiedName ) ) otherlv_3= '(' ( (lv_parameters_4_0= ruleMappingParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleMappingParameter ) ) )* otherlv_7= ')' ( (lv_componentInstance_8_0= ruleComponentInstance ) )? (otherlv_9= '{' ( ( ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) | ( (lv_assignments_11_0= ruleAssignment ) ) ) otherlv_12= ';' )* otherlv_13= '}' )? + { + // InternalCftLanguage.g:755:3: ( (lv_topLevel_0_0= 'toplevel' ) )? + int alt15=2; + int LA15_0 = input.LA(1); + + if ( (LA15_0==26) ) { + alt15=1; + } + switch (alt15) { + case 1 : + // InternalCftLanguage.g:756:4: (lv_topLevel_0_0= 'toplevel' ) + { + // InternalCftLanguage.g:756:4: (lv_topLevel_0_0= 'toplevel' ) + // InternalCftLanguage.g:757:5: lv_topLevel_0_0= 'toplevel' + { + lv_topLevel_0_0=(Token)match(input,26,FOLLOW_21); + + newLeafNode(lv_topLevel_0_0, grammarAccess.getMappingDefinitionAccess().getTopLevelToplevelKeyword_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getMappingDefinitionRule()); + } + setWithLastConsumed(current, "topLevel", true, "toplevel"); + + + } + + + } + break; + + } + + otherlv_1=(Token)match(input,27,FOLLOW_3); + + newLeafNode(otherlv_1, grammarAccess.getMappingDefinitionAccess().getMappingKeyword_1()); + + // InternalCftLanguage.g:773:3: ( ( ruleQualifiedName ) ) + // InternalCftLanguage.g:774:4: ( ruleQualifiedName ) + { + // InternalCftLanguage.g:774:4: ( ruleQualifiedName ) + // InternalCftLanguage.g:775:5: ruleQualifiedName + { + + if (current==null) { + current = createModelElement(grammarAccess.getMappingDefinitionRule()); + } + + + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getPatternPatternCrossReference_2_0()); + + pushFollow(FOLLOW_22); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_3=(Token)match(input,28,FOLLOW_3); + + newLeafNode(otherlv_3, grammarAccess.getMappingDefinitionAccess().getLeftParenthesisKeyword_3()); + + // InternalCftLanguage.g:793:3: ( (lv_parameters_4_0= ruleMappingParameter ) ) + // InternalCftLanguage.g:794:4: (lv_parameters_4_0= ruleMappingParameter ) + { + // InternalCftLanguage.g:794:4: (lv_parameters_4_0= ruleMappingParameter ) + // InternalCftLanguage.g:795:5: lv_parameters_4_0= ruleMappingParameter + { + + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_4_0()); + + pushFollow(FOLLOW_23); + lv_parameters_4_0=ruleMappingParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); + } + add( + current, + "parameters", + lv_parameters_4_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingParameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalCftLanguage.g:812:3: (otherlv_5= ',' ( (lv_parameters_6_0= ruleMappingParameter ) ) )* + loop16: + do { + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0==29) ) { + alt16=1; + } + + + switch (alt16) { + case 1 : + // InternalCftLanguage.g:813:4: otherlv_5= ',' ( (lv_parameters_6_0= ruleMappingParameter ) ) + { + otherlv_5=(Token)match(input,29,FOLLOW_3); + + newLeafNode(otherlv_5, grammarAccess.getMappingDefinitionAccess().getCommaKeyword_5_0()); + + // InternalCftLanguage.g:817:4: ( (lv_parameters_6_0= ruleMappingParameter ) ) + // InternalCftLanguage.g:818:5: (lv_parameters_6_0= ruleMappingParameter ) + { + // InternalCftLanguage.g:818:5: (lv_parameters_6_0= ruleMappingParameter ) + // InternalCftLanguage.g:819:6: lv_parameters_6_0= ruleMappingParameter + { + + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getParametersMappingParameterParserRuleCall_5_1_0()); + + pushFollow(FOLLOW_23); + lv_parameters_6_0=ruleMappingParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); + } + add( + current, + "parameters", + lv_parameters_6_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingParameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop16; + } + } while (true); + + otherlv_7=(Token)match(input,30,FOLLOW_24); + + newLeafNode(otherlv_7, grammarAccess.getMappingDefinitionAccess().getRightParenthesisKeyword_6()); + + // InternalCftLanguage.g:841:3: ( (lv_componentInstance_8_0= ruleComponentInstance ) )? + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==36) ) { + alt17=1; + } + switch (alt17) { + case 1 : + // InternalCftLanguage.g:842:4: (lv_componentInstance_8_0= ruleComponentInstance ) + { + // InternalCftLanguage.g:842:4: (lv_componentInstance_8_0= ruleComponentInstance ) + // InternalCftLanguage.g:843:5: lv_componentInstance_8_0= ruleComponentInstance + { + + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getComponentInstanceComponentInstanceParserRuleCall_7_0()); + + pushFollow(FOLLOW_25); + lv_componentInstance_8_0=ruleComponentInstance(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); + } + set( + current, + "componentInstance", + lv_componentInstance_8_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ComponentInstance"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + } + + // InternalCftLanguage.g:860:3: (otherlv_9= '{' ( ( ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) | ( (lv_assignments_11_0= ruleAssignment ) ) ) otherlv_12= ';' )* otherlv_13= '}' )? + int alt20=2; + int LA20_0 = input.LA(1); + + if ( (LA20_0==16) ) { + alt20=1; + } + switch (alt20) { + case 1 : + // InternalCftLanguage.g:861:4: otherlv_9= '{' ( ( ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) | ( (lv_assignments_11_0= ruleAssignment ) ) ) otherlv_12= ';' )* otherlv_13= '}' + { + otherlv_9=(Token)match(input,16,FOLLOW_26); + + newLeafNode(otherlv_9, grammarAccess.getMappingDefinitionAccess().getLeftCurlyBracketKeyword_8_0()); + + // InternalCftLanguage.g:865:4: ( ( ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) | ( (lv_assignments_11_0= ruleAssignment ) ) ) otherlv_12= ';' )* + loop19: + do { + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==RULE_ID||LA19_0==31) ) { + alt19=1; + } + + + switch (alt19) { + case 1 : + // InternalCftLanguage.g:866:5: ( ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) | ( (lv_assignments_11_0= ruleAssignment ) ) ) otherlv_12= ';' + { + // InternalCftLanguage.g:866:5: ( ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) | ( (lv_assignments_11_0= ruleAssignment ) ) ) + int alt18=2; + int LA18_0 = input.LA(1); + + if ( (LA18_0==31) ) { + alt18=1; + } + else if ( (LA18_0==RULE_ID) ) { + alt18=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 18, 0, input); + + throw nvae; + } + switch (alt18) { + case 1 : + // InternalCftLanguage.g:867:6: ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) + { + // InternalCftLanguage.g:867:6: ( (lv_lookupDefinitions_10_0= ruleLookupDefinition ) ) + // InternalCftLanguage.g:868:7: (lv_lookupDefinitions_10_0= ruleLookupDefinition ) + { + // InternalCftLanguage.g:868:7: (lv_lookupDefinitions_10_0= ruleLookupDefinition ) + // InternalCftLanguage.g:869:8: lv_lookupDefinitions_10_0= ruleLookupDefinition + { + + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getLookupDefinitionsLookupDefinitionParserRuleCall_8_1_0_0_0()); + + pushFollow(FOLLOW_11); + lv_lookupDefinitions_10_0=ruleLookupDefinition(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); + } + add( + current, + "lookupDefinitions", + lv_lookupDefinitions_10_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.LookupDefinition"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + case 2 : + // InternalCftLanguage.g:887:6: ( (lv_assignments_11_0= ruleAssignment ) ) + { + // InternalCftLanguage.g:887:6: ( (lv_assignments_11_0= ruleAssignment ) ) + // InternalCftLanguage.g:888:7: (lv_assignments_11_0= ruleAssignment ) + { + // InternalCftLanguage.g:888:7: (lv_assignments_11_0= ruleAssignment ) + // InternalCftLanguage.g:889:8: lv_assignments_11_0= ruleAssignment + { + + newCompositeNode(grammarAccess.getMappingDefinitionAccess().getAssignmentsAssignmentParserRuleCall_8_1_0_1_0()); + + pushFollow(FOLLOW_11); + lv_assignments_11_0=ruleAssignment(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMappingDefinitionRule()); + } + add( + current, + "assignments", + lv_assignments_11_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.Assignment"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_12=(Token)match(input,13,FOLLOW_26); + + newLeafNode(otherlv_12, grammarAccess.getMappingDefinitionAccess().getSemicolonKeyword_8_1_1()); + + + } + break; + + default : + break loop19; + } + } while (true); + + otherlv_13=(Token)match(input,19,FOLLOW_2); + + newLeafNode(otherlv_13, grammarAccess.getMappingDefinitionAccess().getRightCurlyBracketKeyword_8_2()); + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleMappingDefinition" + + + // $ANTLR start "entryRuleMappingParameter" + // InternalCftLanguage.g:921:1: entryRuleMappingParameter returns [EObject current=null] : iv_ruleMappingParameter= ruleMappingParameter EOF ; + public final EObject entryRuleMappingParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleMappingParameter = null; + + + try { + // InternalCftLanguage.g:921:57: (iv_ruleMappingParameter= ruleMappingParameter EOF ) + // InternalCftLanguage.g:922:2: iv_ruleMappingParameter= ruleMappingParameter EOF + { + newCompositeNode(grammarAccess.getMappingParameterRule()); + pushFollow(FOLLOW_1); + iv_ruleMappingParameter=ruleMappingParameter(); + + state._fsp--; + + current =iv_ruleMappingParameter; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleMappingParameter" + + + // $ANTLR start "ruleMappingParameter" + // InternalCftLanguage.g:928:1: ruleMappingParameter returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; + public final EObject ruleMappingParameter() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + + + enterRule(); + + try { + // InternalCftLanguage.g:934:2: ( ( (lv_name_0_0= RULE_ID ) ) ) + // InternalCftLanguage.g:935:2: ( (lv_name_0_0= RULE_ID ) ) + { + // InternalCftLanguage.g:935:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalCftLanguage.g:936:3: (lv_name_0_0= RULE_ID ) + { + // InternalCftLanguage.g:936:3: (lv_name_0_0= RULE_ID ) + // InternalCftLanguage.g:937:4: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_2); + + newLeafNode(lv_name_0_0, grammarAccess.getMappingParameterAccess().getNameIDTerminalRuleCall_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getMappingParameterRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleMappingParameter" + + + // $ANTLR start "entryRuleLookupDefinition" + // InternalCftLanguage.g:956:1: entryRuleLookupDefinition returns [EObject current=null] : iv_ruleLookupDefinition= ruleLookupDefinition EOF ; + public final EObject entryRuleLookupDefinition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLookupDefinition = null; + + + try { + // InternalCftLanguage.g:956:57: (iv_ruleLookupDefinition= ruleLookupDefinition EOF ) + // InternalCftLanguage.g:957:2: iv_ruleLookupDefinition= ruleLookupDefinition EOF + { + newCompositeNode(grammarAccess.getLookupDefinitionRule()); + pushFollow(FOLLOW_1); + iv_ruleLookupDefinition=ruleLookupDefinition(); + + state._fsp--; + + current =iv_ruleLookupDefinition; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLookupDefinition" + + + // $ANTLR start "ruleLookupDefinition" + // InternalCftLanguage.g:963:1: ruleLookupDefinition returns [EObject current=null] : (otherlv_0= 'lookup' ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* otherlv_6= ')' otherlv_7= 'as' ( (lv_name_8_0= RULE_ID ) ) ) ; + public final EObject ruleLookupDefinition() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token lv_name_8_0=null; + + + enterRule(); + + try { + // InternalCftLanguage.g:969:2: ( (otherlv_0= 'lookup' ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* otherlv_6= ')' otherlv_7= 'as' ( (lv_name_8_0= RULE_ID ) ) ) ) + // InternalCftLanguage.g:970:2: (otherlv_0= 'lookup' ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* otherlv_6= ')' otherlv_7= 'as' ( (lv_name_8_0= RULE_ID ) ) ) + { + // InternalCftLanguage.g:970:2: (otherlv_0= 'lookup' ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* otherlv_6= ')' otherlv_7= 'as' ( (lv_name_8_0= RULE_ID ) ) ) + // InternalCftLanguage.g:971:3: otherlv_0= 'lookup' ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* otherlv_6= ')' otherlv_7= 'as' ( (lv_name_8_0= RULE_ID ) ) + { + otherlv_0=(Token)match(input,31,FOLLOW_3); + + newLeafNode(otherlv_0, grammarAccess.getLookupDefinitionAccess().getLookupKeyword_0()); + + // InternalCftLanguage.g:975:3: ( (otherlv_1= RULE_ID ) ) + // InternalCftLanguage.g:976:4: (otherlv_1= RULE_ID ) + { + // InternalCftLanguage.g:976:4: (otherlv_1= RULE_ID ) + // InternalCftLanguage.g:977:5: otherlv_1= RULE_ID + { + + if (current==null) { + current = createModelElement(grammarAccess.getLookupDefinitionRule()); + } + + otherlv_1=(Token)match(input,RULE_ID,FOLLOW_22); + + newLeafNode(otherlv_1, grammarAccess.getLookupDefinitionAccess().getMappingMappingDefinitionCrossReference_1_0()); + + + } + + + } + + otherlv_2=(Token)match(input,28,FOLLOW_3); + + newLeafNode(otherlv_2, grammarAccess.getLookupDefinitionAccess().getLeftParenthesisKeyword_2()); + + // InternalCftLanguage.g:992:3: ( (otherlv_3= RULE_ID ) ) + // InternalCftLanguage.g:993:4: (otherlv_3= RULE_ID ) + { + // InternalCftLanguage.g:993:4: (otherlv_3= RULE_ID ) + // InternalCftLanguage.g:994:5: otherlv_3= RULE_ID + { + + if (current==null) { + current = createModelElement(grammarAccess.getLookupDefinitionRule()); + } + + otherlv_3=(Token)match(input,RULE_ID,FOLLOW_23); + + newLeafNode(otherlv_3, grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_3_0()); + + + } + + + } + + // InternalCftLanguage.g:1005:3: (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* + loop21: + do { + int alt21=2; + int LA21_0 = input.LA(1); + + if ( (LA21_0==29) ) { + alt21=1; + } + + + switch (alt21) { + case 1 : + // InternalCftLanguage.g:1006:4: otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) + { + otherlv_4=(Token)match(input,29,FOLLOW_3); + + newLeafNode(otherlv_4, grammarAccess.getLookupDefinitionAccess().getCommaKeyword_4_0()); + + // InternalCftLanguage.g:1010:4: ( (otherlv_5= RULE_ID ) ) + // InternalCftLanguage.g:1011:5: (otherlv_5= RULE_ID ) + { + // InternalCftLanguage.g:1011:5: (otherlv_5= RULE_ID ) + // InternalCftLanguage.g:1012:6: otherlv_5= RULE_ID + { + + if (current==null) { + current = createModelElement(grammarAccess.getLookupDefinitionRule()); + } + + otherlv_5=(Token)match(input,RULE_ID,FOLLOW_23); + + newLeafNode(otherlv_5, grammarAccess.getLookupDefinitionAccess().getArgumentsMappingParameterCrossReference_4_1_0()); + + + } + + + } + + + } + break; + + default : + break loop21; + } + } while (true); + + otherlv_6=(Token)match(input,30,FOLLOW_27); + + newLeafNode(otherlv_6, grammarAccess.getLookupDefinitionAccess().getRightParenthesisKeyword_5()); + + otherlv_7=(Token)match(input,32,FOLLOW_3); + + newLeafNode(otherlv_7, grammarAccess.getLookupDefinitionAccess().getAsKeyword_6()); + + // InternalCftLanguage.g:1032:3: ( (lv_name_8_0= RULE_ID ) ) + // InternalCftLanguage.g:1033:4: (lv_name_8_0= RULE_ID ) + { + // InternalCftLanguage.g:1033:4: (lv_name_8_0= RULE_ID ) + // InternalCftLanguage.g:1034:5: lv_name_8_0= RULE_ID + { + lv_name_8_0=(Token)match(input,RULE_ID,FOLLOW_2); + + newLeafNode(lv_name_8_0, grammarAccess.getLookupDefinitionAccess().getNameIDTerminalRuleCall_7_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getLookupDefinitionRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_8_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLookupDefinition" + + + // $ANTLR start "entryRuleAssignment" + // InternalCftLanguage.g:1054:1: entryRuleAssignment returns [EObject current=null] : iv_ruleAssignment= ruleAssignment EOF ; + public final EObject entryRuleAssignment() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAssignment = null; + + + try { + // InternalCftLanguage.g:1054:51: (iv_ruleAssignment= ruleAssignment EOF ) + // InternalCftLanguage.g:1055:2: iv_ruleAssignment= ruleAssignment EOF + { + newCompositeNode(grammarAccess.getAssignmentRule()); + pushFollow(FOLLOW_1); + iv_ruleAssignment=ruleAssignment(); + + state._fsp--; + + current =iv_ruleAssignment; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAssignment" + + + // $ANTLR start "ruleAssignment" + // InternalCftLanguage.g:1061:1: ruleAssignment returns [EObject current=null] : ( ( (lv_input_0_0= ruleEventReference ) ) ( ( (lv_multiple_1_0= '+=' ) ) | otherlv_2= ':=' ) ( (lv_output_3_0= ruleEventReference ) ) ) ; + public final EObject ruleAssignment() throws RecognitionException { + EObject current = null; + + Token lv_multiple_1_0=null; + Token otherlv_2=null; + EObject lv_input_0_0 = null; + + EObject lv_output_3_0 = null; + + + + enterRule(); + + try { + // InternalCftLanguage.g:1067:2: ( ( ( (lv_input_0_0= ruleEventReference ) ) ( ( (lv_multiple_1_0= '+=' ) ) | otherlv_2= ':=' ) ( (lv_output_3_0= ruleEventReference ) ) ) ) + // InternalCftLanguage.g:1068:2: ( ( (lv_input_0_0= ruleEventReference ) ) ( ( (lv_multiple_1_0= '+=' ) ) | otherlv_2= ':=' ) ( (lv_output_3_0= ruleEventReference ) ) ) + { + // InternalCftLanguage.g:1068:2: ( ( (lv_input_0_0= ruleEventReference ) ) ( ( (lv_multiple_1_0= '+=' ) ) | otherlv_2= ':=' ) ( (lv_output_3_0= ruleEventReference ) ) ) + // InternalCftLanguage.g:1069:3: ( (lv_input_0_0= ruleEventReference ) ) ( ( (lv_multiple_1_0= '+=' ) ) | otherlv_2= ':=' ) ( (lv_output_3_0= ruleEventReference ) ) + { + // InternalCftLanguage.g:1069:3: ( (lv_input_0_0= ruleEventReference ) ) + // InternalCftLanguage.g:1070:4: (lv_input_0_0= ruleEventReference ) + { + // InternalCftLanguage.g:1070:4: (lv_input_0_0= ruleEventReference ) + // InternalCftLanguage.g:1071:5: lv_input_0_0= ruleEventReference + { + + newCompositeNode(grammarAccess.getAssignmentAccess().getInputEventReferenceParserRuleCall_0_0()); + + pushFollow(FOLLOW_28); + lv_input_0_0=ruleEventReference(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssignmentRule()); + } + set( + current, + "input", + lv_input_0_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventReference"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalCftLanguage.g:1088:3: ( ( (lv_multiple_1_0= '+=' ) ) | otherlv_2= ':=' ) + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==33) ) { + alt22=1; + } + else if ( (LA22_0==34) ) { + alt22=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 22, 0, input); + + throw nvae; + } + switch (alt22) { + case 1 : + // InternalCftLanguage.g:1089:4: ( (lv_multiple_1_0= '+=' ) ) + { + // InternalCftLanguage.g:1089:4: ( (lv_multiple_1_0= '+=' ) ) + // InternalCftLanguage.g:1090:5: (lv_multiple_1_0= '+=' ) + { + // InternalCftLanguage.g:1090:5: (lv_multiple_1_0= '+=' ) + // InternalCftLanguage.g:1091:6: lv_multiple_1_0= '+=' + { + lv_multiple_1_0=(Token)match(input,33,FOLLOW_29); + + newLeafNode(lv_multiple_1_0, grammarAccess.getAssignmentAccess().getMultiplePlusSignEqualsSignKeyword_1_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getAssignmentRule()); + } + setWithLastConsumed(current, "multiple", true, "+="); + + + } + + + } + + + } + break; + case 2 : + // InternalCftLanguage.g:1104:4: otherlv_2= ':=' + { + otherlv_2=(Token)match(input,34,FOLLOW_29); + + newLeafNode(otherlv_2, grammarAccess.getAssignmentAccess().getColonEqualsSignKeyword_1_1()); + + + } + break; + + } + + // InternalCftLanguage.g:1109:3: ( (lv_output_3_0= ruleEventReference ) ) + // InternalCftLanguage.g:1110:4: (lv_output_3_0= ruleEventReference ) + { + // InternalCftLanguage.g:1110:4: (lv_output_3_0= ruleEventReference ) + // InternalCftLanguage.g:1111:5: lv_output_3_0= ruleEventReference + { + + newCompositeNode(grammarAccess.getAssignmentAccess().getOutputEventReferenceParserRuleCall_2_0()); + + pushFollow(FOLLOW_2); + lv_output_3_0=ruleEventReference(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssignmentRule()); + } + set( + current, + "output", + lv_output_3_0, + "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventReference"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAssignment" + + + // $ANTLR start "entryRuleEventReference" + // InternalCftLanguage.g:1132:1: entryRuleEventReference returns [EObject current=null] : iv_ruleEventReference= ruleEventReference EOF ; + public final EObject entryRuleEventReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleEventReference = null; + + + try { + // InternalCftLanguage.g:1132:55: (iv_ruleEventReference= ruleEventReference EOF ) + // InternalCftLanguage.g:1133:2: iv_ruleEventReference= ruleEventReference EOF + { + newCompositeNode(grammarAccess.getEventReferenceRule()); + pushFollow(FOLLOW_1); + iv_ruleEventReference=ruleEventReference(); + + state._fsp--; + + current =iv_ruleEventReference; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEventReference" + + + // $ANTLR start "ruleEventReference" + // InternalCftLanguage.g:1139:1: ruleEventReference returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '.' ( (otherlv_2= RULE_ID ) ) ) ; + public final EObject ruleEventReference() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + + + enterRule(); + + try { + // InternalCftLanguage.g:1145:2: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '.' ( (otherlv_2= RULE_ID ) ) ) ) + // InternalCftLanguage.g:1146:2: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '.' ( (otherlv_2= RULE_ID ) ) ) + { + // InternalCftLanguage.g:1146:2: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '.' ( (otherlv_2= RULE_ID ) ) ) + // InternalCftLanguage.g:1147:3: ( (otherlv_0= RULE_ID ) ) otherlv_1= '.' ( (otherlv_2= RULE_ID ) ) + { + // InternalCftLanguage.g:1147:3: ( (otherlv_0= RULE_ID ) ) + // InternalCftLanguage.g:1148:4: (otherlv_0= RULE_ID ) + { + // InternalCftLanguage.g:1148:4: (otherlv_0= RULE_ID ) + // InternalCftLanguage.g:1149:5: otherlv_0= RULE_ID + { + + if (current==null) { + current = createModelElement(grammarAccess.getEventReferenceRule()); + } + + otherlv_0=(Token)match(input,RULE_ID,FOLLOW_30); + + newLeafNode(otherlv_0, grammarAccess.getEventReferenceAccess().getComponentVariableCrossReference_0_0()); + + + } + + + } + + otherlv_1=(Token)match(input,35,FOLLOW_3); + + newLeafNode(otherlv_1, grammarAccess.getEventReferenceAccess().getFullStopKeyword_1()); + + // InternalCftLanguage.g:1164:3: ( (otherlv_2= RULE_ID ) ) + // InternalCftLanguage.g:1165:4: (otherlv_2= RULE_ID ) + { + // InternalCftLanguage.g:1165:4: (otherlv_2= RULE_ID ) + // InternalCftLanguage.g:1166:5: otherlv_2= RULE_ID + { + + if (current==null) { + current = createModelElement(grammarAccess.getEventReferenceRule()); + } + + otherlv_2=(Token)match(input,RULE_ID,FOLLOW_2); + + newLeafNode(otherlv_2, grammarAccess.getEventReferenceAccess().getEventEventDeclarationCrossReference_2_0()); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEventReference" + + + // $ANTLR start "entryRuleComponentInstance" + // InternalCftLanguage.g:1181:1: entryRuleComponentInstance returns [EObject current=null] : iv_ruleComponentInstance= ruleComponentInstance EOF ; + public final EObject entryRuleComponentInstance() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComponentInstance = null; + + + try { + // InternalCftLanguage.g:1181:58: (iv_ruleComponentInstance= ruleComponentInstance EOF ) + // InternalCftLanguage.g:1182:2: iv_ruleComponentInstance= ruleComponentInstance EOF + { + newCompositeNode(grammarAccess.getComponentInstanceRule()); + pushFollow(FOLLOW_1); + iv_ruleComponentInstance=ruleComponentInstance(); + + state._fsp--; + + current =iv_ruleComponentInstance; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComponentInstance" + + + // $ANTLR start "ruleComponentInstance" + // InternalCftLanguage.g:1188:1: ruleComponentInstance returns [EObject current=null] : (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) )? ) ; + public final EObject ruleComponentInstance() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_name_2_0=null; + + + enterRule(); + + try { + // InternalCftLanguage.g:1194:2: ( (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) )? ) ) + // InternalCftLanguage.g:1195:2: (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) )? ) + { + // InternalCftLanguage.g:1195:2: (otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) )? ) + // InternalCftLanguage.g:1196:3: otherlv_0= '=>' ( ( ruleQualifiedName ) ) ( (lv_name_2_0= RULE_ID ) )? + { + otherlv_0=(Token)match(input,36,FOLLOW_3); + + newLeafNode(otherlv_0, grammarAccess.getComponentInstanceAccess().getEqualsSignGreaterThanSignKeyword_0()); + + // InternalCftLanguage.g:1200:3: ( ( ruleQualifiedName ) ) + // InternalCftLanguage.g:1201:4: ( ruleQualifiedName ) + { + // InternalCftLanguage.g:1201:4: ( ruleQualifiedName ) + // InternalCftLanguage.g:1202:5: ruleQualifiedName + { + + if (current==null) { + current = createModelElement(grammarAccess.getComponentInstanceRule()); + } + + + newCompositeNode(grammarAccess.getComponentInstanceAccess().getComponentTypeComponentDefinitionCrossReference_1_0()); + + pushFollow(FOLLOW_18); + ruleQualifiedName(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalCftLanguage.g:1216:3: ( (lv_name_2_0= RULE_ID ) )? + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==RULE_ID) ) { + alt23=1; + } + switch (alt23) { + case 1 : + // InternalCftLanguage.g:1217:4: (lv_name_2_0= RULE_ID ) + { + // InternalCftLanguage.g:1217:4: (lv_name_2_0= RULE_ID ) + // InternalCftLanguage.g:1218:5: lv_name_2_0= RULE_ID + { + lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_2); + + newLeafNode(lv_name_2_0, grammarAccess.getComponentInstanceAccess().getNameIDTerminalRuleCall_2_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getComponentInstanceRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_2_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComponentInstance" + + + // $ANTLR start "entryRuleQualifiedName" + // InternalCftLanguage.g:1238:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; + public final String entryRuleQualifiedName() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedName = null; + + + try { + // InternalCftLanguage.g:1238:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) + // InternalCftLanguage.g:1239:2: iv_ruleQualifiedName= ruleQualifiedName EOF + { + newCompositeNode(grammarAccess.getQualifiedNameRule()); + pushFollow(FOLLOW_1); + iv_ruleQualifiedName=ruleQualifiedName(); + + state._fsp--; + + current =iv_ruleQualifiedName.getText(); + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedName" + + + // $ANTLR start "ruleQualifiedName" + // InternalCftLanguage.g:1245:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ; + public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_ID_0=null; + Token kw=null; + Token this_ID_2=null; + + + enterRule(); + + try { + // InternalCftLanguage.g:1251:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ) + // InternalCftLanguage.g:1252:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) + { + // InternalCftLanguage.g:1252:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) + // InternalCftLanguage.g:1253:3: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* + { + this_ID_0=(Token)match(input,RULE_ID,FOLLOW_31); + + current.merge(this_ID_0); + + + newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); + + // InternalCftLanguage.g:1260:3: (kw= '.' this_ID_2= RULE_ID )* + loop24: + do { + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==35) ) { + int LA24_2 = input.LA(2); + + if ( (LA24_2==RULE_ID) ) { + alt24=1; + } + + + } + + + switch (alt24) { + case 1 : + // InternalCftLanguage.g:1261:4: kw= '.' this_ID_2= RULE_ID + { + kw=(Token)match(input,35,FOLLOW_3); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); + + this_ID_2=(Token)match(input,RULE_ID,FOLLOW_31); + + current.merge(this_ID_2); + + + newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); + + + } + break; + + default : + break loop24; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedName" + + + // $ANTLR start "entryRuleQualifiedNameWithWildcard" + // InternalCftLanguage.g:1278:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; + public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null; + + + try { + // InternalCftLanguage.g:1278:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) + // InternalCftLanguage.g:1279:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF + { + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); + pushFollow(FOLLOW_1); + iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard(); + + state._fsp--; + + current =iv_ruleQualifiedNameWithWildcard.getText(); + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQualifiedNameWithWildcard" + + + // $ANTLR start "ruleQualifiedNameWithWildcard" + // InternalCftLanguage.g:1285:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) ; + public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + AntlrDatatypeRuleToken this_QualifiedName_0 = null; + + + + enterRule(); + + try { + // InternalCftLanguage.g:1291:2: ( (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) ) + // InternalCftLanguage.g:1292:2: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) + { + // InternalCftLanguage.g:1292:2: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) + // InternalCftLanguage.g:1293:3: this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? + { + + newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); + + pushFollow(FOLLOW_31); + this_QualifiedName_0=ruleQualifiedName(); + + state._fsp--; + + + current.merge(this_QualifiedName_0); + + + afterParserOrEnumRuleCall(); + + // InternalCftLanguage.g:1303:3: (kw= '.' kw= '*' )? + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==35) ) { + alt25=1; + } + switch (alt25) { + case 1 : + // InternalCftLanguage.g:1304:4: kw= '.' kw= '*' + { + kw=(Token)match(input,35,FOLLOW_32); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1_0()); + + kw=(Token)match(input,37,FOLLOW_2); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_1_1()); + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQualifiedNameWithWildcard" + + // Delegated rules + + + + + public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x000000000200E002L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x000000000200C002L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000002008002L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000002002L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x00000000000E0010L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000002010L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000080010L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000100002L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000000012L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x000000000C080000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000060000000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000001000010002L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000000010002L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000080080010L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000600000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000080000010L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000800000002L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000002000000000L}); + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/AbstractCftLanguageScopeProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/AbstractCftLanguageScopeProvider.java new file mode 100644 index 00000000..def0ebe9 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/AbstractCftLanguageScopeProvider.java @@ -0,0 +1,9 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.scoping; + +import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider; + +public abstract class AbstractCftLanguageScopeProvider extends DelegatingScopeProvider { +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSemanticSequencer.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSemanticSequencer.java new file mode 100644 index 00000000..18682f69 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSemanticSequencer.java @@ -0,0 +1,315 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.serializer; + +import com.google.inject.Inject; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.AndGate; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Assignment; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.BasicEventDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ImportDeclaration; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.InputEvent; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.OrGate; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.services.CftLanguageGrammarAccess; +import java.util.Set; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.xtext.Action; +import org.eclipse.xtext.Parameter; +import org.eclipse.xtext.ParserRule; +import org.eclipse.xtext.serializer.ISerializationContext; +import org.eclipse.xtext.serializer.acceptor.SequenceFeeder; +import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer; +import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; + +@SuppressWarnings("all") +public class CftLanguageSemanticSequencer extends AbstractDelegatingSemanticSequencer { + + @Inject + private CftLanguageGrammarAccess grammarAccess; + + @Override + public void sequence(ISerializationContext context, EObject semanticObject) { + EPackage epackage = semanticObject.eClass().getEPackage(); + ParserRule rule = context.getParserRule(); + Action action = context.getAssignedAction(); + Set parameters = context.getEnabledBooleanParameters(); + if (epackage == CftLanguagePackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case CftLanguagePackage.AND_GATE: + sequence_AndGate(context, (AndGate) semanticObject); + return; + case CftLanguagePackage.ASSIGNMENT: + sequence_Assignment(context, (Assignment) semanticObject); + return; + case CftLanguagePackage.BASIC_EVENT_DEFINITION: + sequence_BasicEventDefinition(context, (BasicEventDefinition) semanticObject); + return; + case CftLanguagePackage.CFT_MODEL: + sequence_CftModel(context, (CftModel) semanticObject); + return; + case CftLanguagePackage.COMPONENT_DEFINITION: + sequence_ComponentDefinition(context, (ComponentDefinition) semanticObject); + return; + case CftLanguagePackage.COMPONENT_INSTANCE: + sequence_ComponentInstance(context, (ComponentInstance) semanticObject); + return; + case CftLanguagePackage.EVENT_REFERENCE: + sequence_EventReference(context, (EventReference) semanticObject); + return; + case CftLanguagePackage.IMPORT_DECLARATION: + sequence_ImportDeclaration(context, (ImportDeclaration) semanticObject); + return; + case CftLanguagePackage.INPUT_EVENT: + sequence_InputEvent(context, (InputEvent) semanticObject); + return; + case CftLanguagePackage.LOOKUP_DEFINITION: + sequence_LookupDefinition(context, (LookupDefinition) semanticObject); + return; + case CftLanguagePackage.MAPPING_DEFINITION: + sequence_MappingDefinition(context, (MappingDefinition) semanticObject); + return; + case CftLanguagePackage.MAPPING_PARAMETER: + sequence_MappingParameter(context, (MappingParameter) semanticObject); + return; + case CftLanguagePackage.OR_GATE: + sequence_OrGate(context, (OrGate) semanticObject); + return; + case CftLanguagePackage.TRANSFORMATION_DEFINITION: + sequence_TransformationDefinition(context, (TransformationDefinition) semanticObject); + return; + } + if (errorAcceptor != null) + errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); + } + + /** + * Contexts: + * EventDeclaration returns AndGate + * EventDefinition returns AndGate + * GateDefinition returns AndGate + * AndGate returns AndGate + * + * Constraint: + * (name=ID inputEvents+=[EventDeclaration|ID]*) + */ + protected void sequence_AndGate(ISerializationContext context, AndGate semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Assignment returns Assignment + * + * Constraint: + * (input=EventReference multiple?='+='? output=EventReference) + */ + protected void sequence_Assignment(ISerializationContext context, Assignment semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * EventDeclaration returns BasicEventDefinition + * EventDefinition returns BasicEventDefinition + * BasicEventDefinition returns BasicEventDefinition + * + * Constraint: + * (name=ID rate=DOULBE) + */ + protected void sequence_BasicEventDefinition(ISerializationContext context, BasicEventDefinition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, CftLanguagePackage.Literals.EVENT_DECLARATION__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CftLanguagePackage.Literals.EVENT_DECLARATION__NAME)); + if (transientValues.isValueTransient(semanticObject, CftLanguagePackage.Literals.BASIC_EVENT_DEFINITION__RATE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CftLanguagePackage.Literals.BASIC_EVENT_DEFINITION__RATE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getBasicEventDefinitionAccess().getNameIDTerminalRuleCall_0_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getBasicEventDefinitionAccess().getRateDOULBETerminalRuleCall_3_0(), semanticObject.getRate()); + feeder.finish(); + } + + + /** + * Contexts: + * CftModel returns CftModel + * + * Constraint: + * ( + * packageName=QualifiedName + * imports+=ImportDeclaration* + * (componentDefinitions+=ComponentDefinition | transformationDefinitions+=TransformationDefinition)* + * ) + */ + protected void sequence_CftModel(ISerializationContext context, CftModel semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * ComponentDefinition returns ComponentDefinition + * + * Constraint: + * (name=ID (inputEvents+=InputEvent | outputEvents+=[EventDeclaration|ID])* eventDefinitions+=EventDefinition*) + */ + protected void sequence_ComponentDefinition(ISerializationContext context, ComponentDefinition semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Variable returns ComponentInstance + * ComponentInstance returns ComponentInstance + * + * Constraint: + * (componentType=[ComponentDefinition|QualifiedName] name=ID?) + */ + protected void sequence_ComponentInstance(ISerializationContext context, ComponentInstance semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * EventReference returns EventReference + * + * Constraint: + * (component=[Variable|ID] event=[EventDeclaration|ID]) + */ + protected void sequence_EventReference(ISerializationContext context, EventReference semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, CftLanguagePackage.Literals.EVENT_REFERENCE__COMPONENT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CftLanguagePackage.Literals.EVENT_REFERENCE__COMPONENT)); + if (transientValues.isValueTransient(semanticObject, CftLanguagePackage.Literals.EVENT_REFERENCE__EVENT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CftLanguagePackage.Literals.EVENT_REFERENCE__EVENT)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getEventReferenceAccess().getComponentVariableIDTerminalRuleCall_0_0_1(), semanticObject.eGet(CftLanguagePackage.Literals.EVENT_REFERENCE__COMPONENT, false)); + feeder.accept(grammarAccess.getEventReferenceAccess().getEventEventDeclarationIDTerminalRuleCall_2_0_1(), semanticObject.eGet(CftLanguagePackage.Literals.EVENT_REFERENCE__EVENT, false)); + feeder.finish(); + } + + + /** + * Contexts: + * ImportDeclaration returns ImportDeclaration + * + * Constraint: + * importedNamespace=QualifiedNameWithWildcard + */ + protected void sequence_ImportDeclaration(ISerializationContext context, ImportDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, CftLanguagePackage.Literals.IMPORT_DECLARATION__IMPORTED_NAMESPACE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CftLanguagePackage.Literals.IMPORT_DECLARATION__IMPORTED_NAMESPACE)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0(), semanticObject.getImportedNamespace()); + feeder.finish(); + } + + + /** + * Contexts: + * EventDeclaration returns InputEvent + * InputEvent returns InputEvent + * + * Constraint: + * (name=ID multiple?='[]'?) + */ + protected void sequence_InputEvent(ISerializationContext context, InputEvent semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * LookupDefinition returns LookupDefinition + * Variable returns LookupDefinition + * + * Constraint: + * (mapping=[MappingDefinition|ID] arguments+=[MappingParameter|ID] arguments+=[MappingParameter|ID]* name=ID) + */ + protected void sequence_LookupDefinition(ISerializationContext context, LookupDefinition semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * MappingDefinition returns MappingDefinition + * + * Constraint: + * ( + * topLevel?='toplevel'? + * pattern=[Pattern|QualifiedName] + * parameters+=MappingParameter + * parameters+=MappingParameter* + * componentInstance=ComponentInstance? + * (lookupDefinitions+=LookupDefinition | assignments+=Assignment)* + * ) + */ + protected void sequence_MappingDefinition(ISerializationContext context, MappingDefinition semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * MappingParameter returns MappingParameter + * + * Constraint: + * name=ID + */ + protected void sequence_MappingParameter(ISerializationContext context, MappingParameter semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, CftLanguagePackage.Literals.MAPPING_PARAMETER__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CftLanguagePackage.Literals.MAPPING_PARAMETER__NAME)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getMappingParameterAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); + feeder.finish(); + } + + + /** + * Contexts: + * EventDeclaration returns OrGate + * EventDefinition returns OrGate + * GateDefinition returns OrGate + * OrGate returns OrGate + * + * Constraint: + * (name=ID inputEvents+=[EventDeclaration|ID]*) + */ + protected void sequence_OrGate(ISerializationContext context, OrGate semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * TransformationDefinition returns TransformationDefinition + * + * Constraint: + * (name=ID mappingDefinitions+=MappingDefinition*) + */ + protected void sequence_TransformationDefinition(ISerializationContext context, TransformationDefinition semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSyntacticSequencer.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSyntacticSequencer.java new file mode 100644 index 00000000..65b39fb2 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/serializer/CftLanguageSyntacticSequencer.java @@ -0,0 +1,242 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.serializer; + +import com.google.inject.Inject; +import hu.bme.mit.inf.dslreasoner.faulttree.components.services.CftLanguageGrammarAccess; +import java.util.List; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.IGrammarAccess; +import org.eclipse.xtext.RuleCall; +import org.eclipse.xtext.nodemodel.INode; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.AlternativeAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias; +import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable; +import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; +import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer; + +@SuppressWarnings("all") +public class CftLanguageSyntacticSequencer extends AbstractSyntacticSequencer { + + protected CftLanguageGrammarAccess grammarAccess; + protected AbstractElementAlias match_CftModel_SemicolonKeyword_2_q; + protected AbstractElementAlias match_ComponentDefinition___InKeyword_3_0_0_SemicolonKeyword_3_0_2___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a__a; + protected AbstractElementAlias match_ComponentDefinition___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a; + protected AbstractElementAlias match_ComponentDefinition___OutKeyword_3_1_0_SemicolonKeyword_3_1_2___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a__a; + protected AbstractElementAlias match_ComponentDefinition___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a; + protected AbstractElementAlias match_ComponentDefinition___SemicolonKeyword_3_0_2___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a_InKeyword_3_0_0__a; + protected AbstractElementAlias match_ComponentDefinition___SemicolonKeyword_3_1_2___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a_OutKeyword_3_1_0__a; + protected AbstractElementAlias match_ComponentDefinition_____InKeyword_3_0_0_SemicolonKeyword_3_0_2___or___OutKeyword_3_1_0_SemicolonKeyword_3_1_2____a; + protected AbstractElementAlias match_ComponentDefinition_____InKeyword_3_0_0_SemicolonKeyword_3_0_2__q___InKeyword_3_0_0_SemicolonKeyword_3_0_2_OutKeyword_3_1_0_SemicolonKeyword_3_1_2__q__p; + protected AbstractElementAlias match_ComponentDefinition_____OutKeyword_3_1_0_SemicolonKeyword_3_1_2__q___OutKeyword_3_1_0_SemicolonKeyword_3_1_2_InKeyword_3_0_0_SemicolonKeyword_3_0_2__q__p; + protected AbstractElementAlias match_ImportDeclaration_SemicolonKeyword_2_q; + protected AbstractElementAlias match_MappingDefinition___LeftCurlyBracketKeyword_8_0_RightCurlyBracketKeyword_8_2__q; + + @Inject + protected void init(IGrammarAccess access) { + grammarAccess = (CftLanguageGrammarAccess) access; + match_CftModel_SemicolonKeyword_2_q = new TokenAlias(false, true, grammarAccess.getCftModelAccess().getSemicolonKeyword_2()); + match_ComponentDefinition___InKeyword_3_0_0_SemicolonKeyword_3_0_2___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()))); + match_ComponentDefinition___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2())); + match_ComponentDefinition___OutKeyword_3_1_0_SemicolonKeyword_3_1_2___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()))); + match_ComponentDefinition___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2())); + match_ComponentDefinition___SemicolonKeyword_3_0_2___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a_InKeyword_3_0_0__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2())), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0())); + match_ComponentDefinition___SemicolonKeyword_3_1_2___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a_OutKeyword_3_1_0__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()), new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2())), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0())); + match_ComponentDefinition_____InKeyword_3_0_0_SemicolonKeyword_3_0_2___or___OutKeyword_3_1_0_SemicolonKeyword_3_1_2____a = new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()))); + match_ComponentDefinition_____InKeyword_3_0_0_SemicolonKeyword_3_0_2__q___InKeyword_3_0_0_SemicolonKeyword_3_0_2_OutKeyword_3_1_0_SemicolonKeyword_3_1_2__q__p = new GroupAlias(true, false, new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()))); + match_ComponentDefinition_____OutKeyword_3_1_0_SemicolonKeyword_3_1_2__q___OutKeyword_3_1_0_SemicolonKeyword_3_1_2_InKeyword_3_0_0_SemicolonKeyword_3_0_2__q__p = new GroupAlias(true, false, new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2())), new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getOutKeyword_3_1_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_1_2()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getInKeyword_3_0_0()), new TokenAlias(false, false, grammarAccess.getComponentDefinitionAccess().getSemicolonKeyword_3_0_2()))); + match_ImportDeclaration_SemicolonKeyword_2_q = new TokenAlias(false, true, grammarAccess.getImportDeclarationAccess().getSemicolonKeyword_2()); + match_MappingDefinition___LeftCurlyBracketKeyword_8_0_RightCurlyBracketKeyword_8_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getMappingDefinitionAccess().getLeftCurlyBracketKeyword_8_0()), new TokenAlias(false, false, grammarAccess.getMappingDefinitionAccess().getRightCurlyBracketKeyword_8_2())); + } + + @Override + protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { + return ""; + } + + + @Override + protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) { + if (transition.getAmbiguousSyntaxes().isEmpty()) return; + List transitionNodes = collectNodes(fromNode, toNode); + for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { + List syntaxNodes = getNodesFor(transitionNodes, syntax); + if (match_CftModel_SemicolonKeyword_2_q.equals(syntax)) + emit_CftModel_SemicolonKeyword_2_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ComponentDefinition___InKeyword_3_0_0_SemicolonKeyword_3_0_2___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a__a.equals(syntax)) + emit_ComponentDefinition___InKeyword_3_0_0_SemicolonKeyword_3_0_2___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a__a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ComponentDefinition___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a.equals(syntax)) + emit_ComponentDefinition___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ComponentDefinition___OutKeyword_3_1_0_SemicolonKeyword_3_1_2___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a__a.equals(syntax)) + emit_ComponentDefinition___OutKeyword_3_1_0_SemicolonKeyword_3_1_2___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a__a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ComponentDefinition___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a.equals(syntax)) + emit_ComponentDefinition___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ComponentDefinition___SemicolonKeyword_3_0_2___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a_InKeyword_3_0_0__a.equals(syntax)) + emit_ComponentDefinition___SemicolonKeyword_3_0_2___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a_InKeyword_3_0_0__a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ComponentDefinition___SemicolonKeyword_3_1_2___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a_OutKeyword_3_1_0__a.equals(syntax)) + emit_ComponentDefinition___SemicolonKeyword_3_1_2___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a_OutKeyword_3_1_0__a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ComponentDefinition_____InKeyword_3_0_0_SemicolonKeyword_3_0_2___or___OutKeyword_3_1_0_SemicolonKeyword_3_1_2____a.equals(syntax)) + emit_ComponentDefinition_____InKeyword_3_0_0_SemicolonKeyword_3_0_2___or___OutKeyword_3_1_0_SemicolonKeyword_3_1_2____a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ComponentDefinition_____InKeyword_3_0_0_SemicolonKeyword_3_0_2__q___InKeyword_3_0_0_SemicolonKeyword_3_0_2_OutKeyword_3_1_0_SemicolonKeyword_3_1_2__q__p.equals(syntax)) + emit_ComponentDefinition_____InKeyword_3_0_0_SemicolonKeyword_3_0_2__q___InKeyword_3_0_0_SemicolonKeyword_3_0_2_OutKeyword_3_1_0_SemicolonKeyword_3_1_2__q__p(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ComponentDefinition_____OutKeyword_3_1_0_SemicolonKeyword_3_1_2__q___OutKeyword_3_1_0_SemicolonKeyword_3_1_2_InKeyword_3_0_0_SemicolonKeyword_3_0_2__q__p.equals(syntax)) + emit_ComponentDefinition_____OutKeyword_3_1_0_SemicolonKeyword_3_1_2__q___OutKeyword_3_1_0_SemicolonKeyword_3_1_2_InKeyword_3_0_0_SemicolonKeyword_3_0_2__q__p(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ImportDeclaration_SemicolonKeyword_2_q.equals(syntax)) + emit_ImportDeclaration_SemicolonKeyword_2_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_MappingDefinition___LeftCurlyBracketKeyword_8_0_RightCurlyBracketKeyword_8_2__q.equals(syntax)) + emit_MappingDefinition___LeftCurlyBracketKeyword_8_0_RightCurlyBracketKeyword_8_2__q(semanticObject, getLastNavigableState(), syntaxNodes); + else acceptNodes(getLastNavigableState(), syntaxNodes); + } + } + + /** + * Ambiguous syntax: + * ';'? + * + * This ambiguous syntax occurs at: + * packageName=QualifiedName (ambiguity) (rule end) + * packageName=QualifiedName (ambiguity) componentDefinitions+=ComponentDefinition + * packageName=QualifiedName (ambiguity) imports+=ImportDeclaration + * packageName=QualifiedName (ambiguity) transformationDefinitions+=TransformationDefinition + */ + protected void emit_CftModel_SemicolonKeyword_2_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ('in' ';' ('out' ';')*)* + * + * This ambiguous syntax occurs at: + * inputEvents+=InputEvent ';' ('out' ';')* (ambiguity) '}' (rule end) + * inputEvents+=InputEvent ';' ('out' ';')* (ambiguity) eventDefinitions+=EventDefinition + */ + protected void emit_ComponentDefinition___InKeyword_3_0_0_SemicolonKeyword_3_0_2___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a__a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ('in' ';')* + * + * This ambiguous syntax occurs at: + * inputEvents+=InputEvent ';' (ambiguity) (('out' ';')? ('out' ';' 'in' ';')?)+ 'out' outputEvents+=[EventDeclaration|ID] + * name=ID '{' (ambiguity) 'out' (';' (ambiguity) 'out')* outputEvents+=[EventDeclaration|ID] + * outputEvents+=[EventDeclaration|ID] ';' (ambiguity) ('out' ';' (ambiguity))* '}' (rule end) + * outputEvents+=[EventDeclaration|ID] ';' (ambiguity) ('out' ';' (ambiguity))* eventDefinitions+=EventDefinition + */ + protected void emit_ComponentDefinition___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ('out' ';' ('in' ';')*)* + * + * This ambiguous syntax occurs at: + * outputEvents+=[EventDeclaration|ID] ';' ('in' ';')* (ambiguity) '}' (rule end) + * outputEvents+=[EventDeclaration|ID] ';' ('in' ';')* (ambiguity) eventDefinitions+=EventDefinition + */ + protected void emit_ComponentDefinition___OutKeyword_3_1_0_SemicolonKeyword_3_1_2___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a__a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ('out' ';')* + * + * This ambiguous syntax occurs at: + * inputEvents+=InputEvent ';' (ambiguity) ('in' ';' (ambiguity))* '}' (rule end) + * inputEvents+=InputEvent ';' (ambiguity) ('in' ';' (ambiguity))* eventDefinitions+=EventDefinition + * name=ID '{' (ambiguity) 'in' (';' (ambiguity) 'in')* inputEvents+=InputEvent + * outputEvents+=[EventDeclaration|ID] ';' (ambiguity) (('in' ';')? ('in' ';' 'out' ';')?)+ 'in' inputEvents+=InputEvent + */ + protected void emit_ComponentDefinition___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * (';' ('out' ';')* 'in')* + * + * This ambiguous syntax occurs at: + * inputEvents+=InputEvent (ambiguity) inputEvents+=InputEvent + * name=ID '{' ('out' ';')* 'in' (ambiguity) inputEvents+=InputEvent + */ + protected void emit_ComponentDefinition___SemicolonKeyword_3_0_2___OutKeyword_3_1_0_SemicolonKeyword_3_1_2__a_InKeyword_3_0_0__a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * (';' ('in' ';')* 'out')* + * + * This ambiguous syntax occurs at: + * name=ID '{' ('in' ';')* 'out' (ambiguity) outputEvents+=[EventDeclaration|ID] + * outputEvents+=[EventDeclaration|ID] (ambiguity) outputEvents+=[EventDeclaration|ID] + */ + protected void emit_ComponentDefinition___SemicolonKeyword_3_1_2___InKeyword_3_0_0_SemicolonKeyword_3_0_2__a_OutKeyword_3_1_0__a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * (('in' ';') | ('out' ';'))* + * + * This ambiguous syntax occurs at: + * name=ID '{' (ambiguity) '}' (rule end) + * name=ID '{' (ambiguity) eventDefinitions+=EventDefinition + */ + protected void emit_ComponentDefinition_____InKeyword_3_0_0_SemicolonKeyword_3_0_2___or___OutKeyword_3_1_0_SemicolonKeyword_3_1_2____a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * (('in' ';')? ('in' ';' 'out' ';')?)+ + * + * This ambiguous syntax occurs at: + * outputEvents+=[EventDeclaration|ID] ';' ('out' ';')* (ambiguity) 'in' inputEvents+=InputEvent + */ + protected void emit_ComponentDefinition_____InKeyword_3_0_0_SemicolonKeyword_3_0_2__q___InKeyword_3_0_0_SemicolonKeyword_3_0_2_OutKeyword_3_1_0_SemicolonKeyword_3_1_2__q__p(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * (('out' ';')? ('out' ';' 'in' ';')?)+ + * + * This ambiguous syntax occurs at: + * inputEvents+=InputEvent ';' ('in' ';')* (ambiguity) 'out' outputEvents+=[EventDeclaration|ID] + */ + protected void emit_ComponentDefinition_____OutKeyword_3_1_0_SemicolonKeyword_3_1_2__q___OutKeyword_3_1_0_SemicolonKeyword_3_1_2_InKeyword_3_0_0_SemicolonKeyword_3_0_2__q__p(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ';'? + * + * This ambiguous syntax occurs at: + * importedNamespace=QualifiedNameWithWildcard (ambiguity) (rule end) + */ + protected void emit_ImportDeclaration_SemicolonKeyword_2_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * ('{' '}')? + * + * This ambiguous syntax occurs at: + * componentInstance=ComponentInstance (ambiguity) (rule end) + * parameters+=MappingParameter ')' (ambiguity) (rule end) + */ + protected void emit_MappingDefinition___LeftCurlyBracketKeyword_8_0_RightCurlyBracketKeyword_8_2__q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/services/CftLanguageGrammarAccess.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/services/CftLanguageGrammarAccess.java new file mode 100644 index 00000000..1ca0cf8e --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/services/CftLanguageGrammarAccess.java @@ -0,0 +1,1189 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.services; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +import java.util.List; +import org.eclipse.xtext.Alternatives; +import org.eclipse.xtext.Assignment; +import org.eclipse.xtext.CrossReference; +import org.eclipse.xtext.Grammar; +import org.eclipse.xtext.GrammarUtil; +import org.eclipse.xtext.Group; +import org.eclipse.xtext.Keyword; +import org.eclipse.xtext.ParserRule; +import org.eclipse.xtext.RuleCall; +import org.eclipse.xtext.TerminalRule; +import org.eclipse.xtext.UnorderedGroup; +import org.eclipse.xtext.common.services.TerminalsGrammarAccess; +import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder; +import org.eclipse.xtext.service.GrammarProvider; + +@Singleton +public class CftLanguageGrammarAccess extends AbstractGrammarElementFinder { + + public class CftModelElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.CftModel"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cPackageKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cPackageNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cPackageNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cPackageNameAssignment_1.eContents().get(0); + private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cImportsAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cImportsImportDeclarationParserRuleCall_3_0 = (RuleCall)cImportsAssignment_3.eContents().get(0); + private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); + private final Assignment cComponentDefinitionsAssignment_4_0 = (Assignment)cAlternatives_4.eContents().get(0); + private final RuleCall cComponentDefinitionsComponentDefinitionParserRuleCall_4_0_0 = (RuleCall)cComponentDefinitionsAssignment_4_0.eContents().get(0); + private final Assignment cTransformationDefinitionsAssignment_4_1 = (Assignment)cAlternatives_4.eContents().get(1); + private final RuleCall cTransformationDefinitionsTransformationDefinitionParserRuleCall_4_1_0 = (RuleCall)cTransformationDefinitionsAssignment_4_1.eContents().get(0); + + //CftModel: + // "package" packageName=QualifiedName ";"? + // imports+=ImportDeclaration* (componentDefinitions+=ComponentDefinition | + // transformationDefinitions+=TransformationDefinition)*; + @Override public ParserRule getRule() { return rule; } + + //"package" packageName=QualifiedName ";"? imports+=ImportDeclaration* (componentDefinitions+=ComponentDefinition | + //transformationDefinitions+=TransformationDefinition)* + public Group getGroup() { return cGroup; } + + //"package" + public Keyword getPackageKeyword_0() { return cPackageKeyword_0; } + + //packageName=QualifiedName + public Assignment getPackageNameAssignment_1() { return cPackageNameAssignment_1; } + + //QualifiedName + public RuleCall getPackageNameQualifiedNameParserRuleCall_1_0() { return cPackageNameQualifiedNameParserRuleCall_1_0; } + + //";"? + public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; } + + //imports+=ImportDeclaration* + public Assignment getImportsAssignment_3() { return cImportsAssignment_3; } + + //ImportDeclaration + public RuleCall getImportsImportDeclarationParserRuleCall_3_0() { return cImportsImportDeclarationParserRuleCall_3_0; } + + //(componentDefinitions+=ComponentDefinition | transformationDefinitions+=TransformationDefinition)* + public Alternatives getAlternatives_4() { return cAlternatives_4; } + + //componentDefinitions+=ComponentDefinition + public Assignment getComponentDefinitionsAssignment_4_0() { return cComponentDefinitionsAssignment_4_0; } + + //ComponentDefinition + public RuleCall getComponentDefinitionsComponentDefinitionParserRuleCall_4_0_0() { return cComponentDefinitionsComponentDefinitionParserRuleCall_4_0_0; } + + //transformationDefinitions+=TransformationDefinition + public Assignment getTransformationDefinitionsAssignment_4_1() { return cTransformationDefinitionsAssignment_4_1; } + + //TransformationDefinition + public RuleCall getTransformationDefinitionsTransformationDefinitionParserRuleCall_4_1_0() { return cTransformationDefinitionsTransformationDefinitionParserRuleCall_4_1_0; } + } + public class ImportDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ImportDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cImportedNamespaceAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0 = (RuleCall)cImportedNamespaceAssignment_1.eContents().get(0); + private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2); + + //ImportDeclaration: + // "import" importedNamespace=QualifiedNameWithWildcard ";"?; + @Override public ParserRule getRule() { return rule; } + + //"import" importedNamespace=QualifiedNameWithWildcard ";"? + public Group getGroup() { return cGroup; } + + //"import" + public Keyword getImportKeyword_0() { return cImportKeyword_0; } + + //importedNamespace=QualifiedNameWithWildcard + public Assignment getImportedNamespaceAssignment_1() { return cImportedNamespaceAssignment_1; } + + //QualifiedNameWithWildcard + public RuleCall getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0() { return cImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_0; } + + //";"? + public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; } + } + public class ComponentDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ComponentDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cCftKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final UnorderedGroup cUnorderedGroup_3 = (UnorderedGroup)cGroup.eContents().get(3); + private final Group cGroup_3_0 = (Group)cUnorderedGroup_3.eContents().get(0); + private final Keyword cInKeyword_3_0_0 = (Keyword)cGroup_3_0.eContents().get(0); + private final Assignment cInputEventsAssignment_3_0_1 = (Assignment)cGroup_3_0.eContents().get(1); + private final RuleCall cInputEventsInputEventParserRuleCall_3_0_1_0 = (RuleCall)cInputEventsAssignment_3_0_1.eContents().get(0); + private final Keyword cSemicolonKeyword_3_0_2 = (Keyword)cGroup_3_0.eContents().get(2); + private final Group cGroup_3_1 = (Group)cUnorderedGroup_3.eContents().get(1); + private final Keyword cOutKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); + private final Assignment cOutputEventsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); + private final CrossReference cOutputEventsEventDeclarationCrossReference_3_1_1_0 = (CrossReference)cOutputEventsAssignment_3_1_1.eContents().get(0); + private final RuleCall cOutputEventsEventDeclarationIDTerminalRuleCall_3_1_1_0_1 = (RuleCall)cOutputEventsEventDeclarationCrossReference_3_1_1_0.eContents().get(1); + private final Keyword cSemicolonKeyword_3_1_2 = (Keyword)cGroup_3_1.eContents().get(2); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Assignment cEventDefinitionsAssignment_4_0 = (Assignment)cGroup_4.eContents().get(0); + private final RuleCall cEventDefinitionsEventDefinitionParserRuleCall_4_0_0 = (RuleCall)cEventDefinitionsAssignment_4_0.eContents().get(0); + private final Keyword cSemicolonKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //ComponentDefinition: + // "cft" name=ID "{" (("in" inputEvents+=InputEvent* ";")? & ("out" outputEvents+=[EventDeclaration]* ";")?) + // (eventDefinitions+=EventDefinition ";")* + // "}"; + @Override public ParserRule getRule() { return rule; } + + //"cft" name=ID "{" (("in" inputEvents+=InputEvent* ";")? & ("out" outputEvents+=[EventDeclaration]* ";")?) + //(eventDefinitions+=EventDefinition ";")* "}" + public Group getGroup() { return cGroup; } + + //"cft" + public Keyword getCftKeyword_0() { return cCftKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("in" inputEvents+=InputEvent* ";")? & ("out" outputEvents+=[EventDeclaration]* ";")? + public UnorderedGroup getUnorderedGroup_3() { return cUnorderedGroup_3; } + + //("in" inputEvents+=InputEvent* ";")? + public Group getGroup_3_0() { return cGroup_3_0; } + + //"in" + public Keyword getInKeyword_3_0_0() { return cInKeyword_3_0_0; } + + //inputEvents+=InputEvent* + public Assignment getInputEventsAssignment_3_0_1() { return cInputEventsAssignment_3_0_1; } + + //InputEvent + public RuleCall getInputEventsInputEventParserRuleCall_3_0_1_0() { return cInputEventsInputEventParserRuleCall_3_0_1_0; } + + //";" + public Keyword getSemicolonKeyword_3_0_2() { return cSemicolonKeyword_3_0_2; } + + //("out" outputEvents+=[EventDeclaration]* ";")? + public Group getGroup_3_1() { return cGroup_3_1; } + + //"out" + public Keyword getOutKeyword_3_1_0() { return cOutKeyword_3_1_0; } + + //outputEvents+=[EventDeclaration]* + public Assignment getOutputEventsAssignment_3_1_1() { return cOutputEventsAssignment_3_1_1; } + + //[EventDeclaration] + public CrossReference getOutputEventsEventDeclarationCrossReference_3_1_1_0() { return cOutputEventsEventDeclarationCrossReference_3_1_1_0; } + + //ID + public RuleCall getOutputEventsEventDeclarationIDTerminalRuleCall_3_1_1_0_1() { return cOutputEventsEventDeclarationIDTerminalRuleCall_3_1_1_0_1; } + + //";" + public Keyword getSemicolonKeyword_3_1_2() { return cSemicolonKeyword_3_1_2; } + + //(eventDefinitions+=EventDefinition ";")* + public Group getGroup_4() { return cGroup_4; } + + //eventDefinitions+=EventDefinition + public Assignment getEventDefinitionsAssignment_4_0() { return cEventDefinitionsAssignment_4_0; } + + //EventDefinition + public RuleCall getEventDefinitionsEventDefinitionParserRuleCall_4_0_0() { return cEventDefinitionsEventDefinitionParserRuleCall_4_0_0; } + + //";" + public Keyword getSemicolonKeyword_4_1() { return cSemicolonKeyword_4_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } + } + public class EventDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventDeclaration"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cInputEventParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cEventDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //EventDeclaration: + // InputEvent | EventDefinition; + @Override public ParserRule getRule() { return rule; } + + //InputEvent | EventDefinition + public Alternatives getAlternatives() { return cAlternatives; } + + //InputEvent + public RuleCall getInputEventParserRuleCall_0() { return cInputEventParserRuleCall_0; } + + //EventDefinition + public RuleCall getEventDefinitionParserRuleCall_1() { return cEventDefinitionParserRuleCall_1; } + } + public class InputEventElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.InputEvent"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); + private final Assignment cMultipleAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final Keyword cMultipleLeftSquareBracketRightSquareBracketKeyword_1_0 = (Keyword)cMultipleAssignment_1.eContents().get(0); + + //InputEvent: + // name=ID multiple?="[]"?; + @Override public ParserRule getRule() { return rule; } + + //name=ID multiple?="[]"? + public Group getGroup() { return cGroup; } + + //name=ID + public Assignment getNameAssignment_0() { return cNameAssignment_0; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } + + //multiple?="[]"? + public Assignment getMultipleAssignment_1() { return cMultipleAssignment_1; } + + //"[]" + public Keyword getMultipleLeftSquareBracketRightSquareBracketKeyword_1_0() { return cMultipleLeftSquareBracketRightSquareBracketKeyword_1_0; } + } + public class EventDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventDefinition"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cBasicEventDefinitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cGateDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //EventDefinition: + // BasicEventDefinition | GateDefinition; + @Override public ParserRule getRule() { return rule; } + + //BasicEventDefinition | GateDefinition + public Alternatives getAlternatives() { return cAlternatives; } + + //BasicEventDefinition + public RuleCall getBasicEventDefinitionParserRuleCall_0() { return cBasicEventDefinitionParserRuleCall_0; } + + //GateDefinition + public RuleCall getGateDefinitionParserRuleCall_1() { return cGateDefinitionParserRuleCall_1; } + } + public class BasicEventDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.BasicEventDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); + private final Keyword cLambdaKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cEqualsSignKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cRateAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cRateDOULBETerminalRuleCall_3_0 = (RuleCall)cRateAssignment_3.eContents().get(0); + + //BasicEventDefinition: + // name=ID "lambda" "=" rate=DOULBE; + @Override public ParserRule getRule() { return rule; } + + //name=ID "lambda" "=" rate=DOULBE + public Group getGroup() { return cGroup; } + + //name=ID + public Assignment getNameAssignment_0() { return cNameAssignment_0; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } + + //"lambda" + public Keyword getLambdaKeyword_1() { return cLambdaKeyword_1; } + + //"=" + public Keyword getEqualsSignKeyword_2() { return cEqualsSignKeyword_2; } + + //rate=DOULBE + public Assignment getRateAssignment_3() { return cRateAssignment_3; } + + //DOULBE + public RuleCall getRateDOULBETerminalRuleCall_3_0() { return cRateDOULBETerminalRuleCall_3_0; } + } + public class GateDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.GateDefinition"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cAndGateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cOrGateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //GateDefinition: + // AndGate | OrGate; + @Override public ParserRule getRule() { return rule; } + + //AndGate | OrGate + public Alternatives getAlternatives() { return cAlternatives; } + + //AndGate + public RuleCall getAndGateParserRuleCall_0() { return cAndGateParserRuleCall_0; } + + //OrGate + public RuleCall getOrGateParserRuleCall_1() { return cOrGateParserRuleCall_1; } + } + public class AndGateElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.AndGate"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); + private final Keyword cAndKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cInputEventsAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final CrossReference cInputEventsEventDeclarationCrossReference_2_0 = (CrossReference)cInputEventsAssignment_2.eContents().get(0); + private final RuleCall cInputEventsEventDeclarationIDTerminalRuleCall_2_0_1 = (RuleCall)cInputEventsEventDeclarationCrossReference_2_0.eContents().get(1); + + //AndGate: + // name=ID "and" inputEvents+=[EventDeclaration]*; + @Override public ParserRule getRule() { return rule; } + + //name=ID "and" inputEvents+=[EventDeclaration]* + public Group getGroup() { return cGroup; } + + //name=ID + public Assignment getNameAssignment_0() { return cNameAssignment_0; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } + + //"and" + public Keyword getAndKeyword_1() { return cAndKeyword_1; } + + //inputEvents+=[EventDeclaration]* + public Assignment getInputEventsAssignment_2() { return cInputEventsAssignment_2; } + + //[EventDeclaration] + public CrossReference getInputEventsEventDeclarationCrossReference_2_0() { return cInputEventsEventDeclarationCrossReference_2_0; } + + //ID + public RuleCall getInputEventsEventDeclarationIDTerminalRuleCall_2_0_1() { return cInputEventsEventDeclarationIDTerminalRuleCall_2_0_1; } + } + public class OrGateElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.OrGate"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); + private final Keyword cOrKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cInputEventsAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final CrossReference cInputEventsEventDeclarationCrossReference_2_0 = (CrossReference)cInputEventsAssignment_2.eContents().get(0); + private final RuleCall cInputEventsEventDeclarationIDTerminalRuleCall_2_0_1 = (RuleCall)cInputEventsEventDeclarationCrossReference_2_0.eContents().get(1); + + //OrGate: + // name=ID "or" inputEvents+=[EventDeclaration]*; + @Override public ParserRule getRule() { return rule; } + + //name=ID "or" inputEvents+=[EventDeclaration]* + public Group getGroup() { return cGroup; } + + //name=ID + public Assignment getNameAssignment_0() { return cNameAssignment_0; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } + + //"or" + public Keyword getOrKeyword_1() { return cOrKeyword_1; } + + //inputEvents+=[EventDeclaration]* + public Assignment getInputEventsAssignment_2() { return cInputEventsAssignment_2; } + + //[EventDeclaration] + public CrossReference getInputEventsEventDeclarationCrossReference_2_0() { return cInputEventsEventDeclarationCrossReference_2_0; } + + //ID + public RuleCall getInputEventsEventDeclarationIDTerminalRuleCall_2_0_1() { return cInputEventsEventDeclarationIDTerminalRuleCall_2_0_1; } + } + public class TransformationDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.TransformationDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cTransformationKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cMappingDefinitionsAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cMappingDefinitionsMappingDefinitionParserRuleCall_3_0 = (RuleCall)cMappingDefinitionsAssignment_3.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //TransformationDefinition: + // "transformation" name=ID "{" + // mappingDefinitions+=MappingDefinition* + // "}"; + @Override public ParserRule getRule() { return rule; } + + //"transformation" name=ID "{" mappingDefinitions+=MappingDefinition* "}" + public Group getGroup() { return cGroup; } + + //"transformation" + public Keyword getTransformationKeyword_0() { return cTransformationKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //mappingDefinitions+=MappingDefinition* + public Assignment getMappingDefinitionsAssignment_3() { return cMappingDefinitionsAssignment_3; } + + //MappingDefinition + public RuleCall getMappingDefinitionsMappingDefinitionParserRuleCall_3_0() { return cMappingDefinitionsMappingDefinitionParserRuleCall_3_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + public class MappingDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cTopLevelAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final Keyword cTopLevelToplevelKeyword_0_0 = (Keyword)cTopLevelAssignment_0.eContents().get(0); + private final Keyword cMappingKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cPatternAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final CrossReference cPatternPatternCrossReference_2_0 = (CrossReference)cPatternAssignment_2.eContents().get(0); + private final RuleCall cPatternPatternQualifiedNameParserRuleCall_2_0_1 = (RuleCall)cPatternPatternCrossReference_2_0.eContents().get(1); + private final Keyword cLeftParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cParametersAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cParametersMappingParameterParserRuleCall_4_0 = (RuleCall)cParametersAssignment_4.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cCommaKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Assignment cParametersAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); + private final RuleCall cParametersMappingParameterParserRuleCall_5_1_0 = (RuleCall)cParametersAssignment_5_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final Assignment cComponentInstanceAssignment_7 = (Assignment)cGroup.eContents().get(7); + private final RuleCall cComponentInstanceComponentInstanceParserRuleCall_7_0 = (RuleCall)cComponentInstanceAssignment_7.eContents().get(0); + private final Group cGroup_8 = (Group)cGroup.eContents().get(8); + private final Keyword cLeftCurlyBracketKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); + private final Group cGroup_8_1 = (Group)cGroup_8.eContents().get(1); + private final Alternatives cAlternatives_8_1_0 = (Alternatives)cGroup_8_1.eContents().get(0); + private final Assignment cLookupDefinitionsAssignment_8_1_0_0 = (Assignment)cAlternatives_8_1_0.eContents().get(0); + private final RuleCall cLookupDefinitionsLookupDefinitionParserRuleCall_8_1_0_0_0 = (RuleCall)cLookupDefinitionsAssignment_8_1_0_0.eContents().get(0); + private final Assignment cAssignmentsAssignment_8_1_0_1 = (Assignment)cAlternatives_8_1_0.eContents().get(1); + private final RuleCall cAssignmentsAssignmentParserRuleCall_8_1_0_1_0 = (RuleCall)cAssignmentsAssignment_8_1_0_1.eContents().get(0); + private final Keyword cSemicolonKeyword_8_1_1 = (Keyword)cGroup_8_1.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_8_2 = (Keyword)cGroup_8.eContents().get(2); + + //MappingDefinition: + // topLevel?="toplevel"? "mapping" pattern=[vql::Pattern|QualifiedName] + // "(" parameters+=MappingParameter ("," parameters+=MappingParameter)* ")" + // componentInstance=ComponentInstance? ("{" ((lookupDefinitions+=LookupDefinition | assignments+=Assignment) ";")* + // "}")?; + @Override public ParserRule getRule() { return rule; } + + //topLevel?="toplevel"? "mapping" pattern=[vql::Pattern|QualifiedName] "(" parameters+=MappingParameter ("," + //parameters+=MappingParameter)* ")" componentInstance=ComponentInstance? ("{" ((lookupDefinitions+=LookupDefinition | + //assignments+=Assignment) ";")* "}")? + public Group getGroup() { return cGroup; } + + //topLevel?="toplevel"? + public Assignment getTopLevelAssignment_0() { return cTopLevelAssignment_0; } + + //"toplevel" + public Keyword getTopLevelToplevelKeyword_0_0() { return cTopLevelToplevelKeyword_0_0; } + + //"mapping" + public Keyword getMappingKeyword_1() { return cMappingKeyword_1; } + + //pattern=[vql::Pattern|QualifiedName] + public Assignment getPatternAssignment_2() { return cPatternAssignment_2; } + + //[vql::Pattern|QualifiedName] + public CrossReference getPatternPatternCrossReference_2_0() { return cPatternPatternCrossReference_2_0; } + + //QualifiedName + public RuleCall getPatternPatternQualifiedNameParserRuleCall_2_0_1() { return cPatternPatternQualifiedNameParserRuleCall_2_0_1; } + + //"(" + public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; } + + //parameters+=MappingParameter + public Assignment getParametersAssignment_4() { return cParametersAssignment_4; } + + //MappingParameter + public RuleCall getParametersMappingParameterParserRuleCall_4_0() { return cParametersMappingParameterParserRuleCall_4_0; } + + //("," parameters+=MappingParameter)* + public Group getGroup_5() { return cGroup_5; } + + //"," + public Keyword getCommaKeyword_5_0() { return cCommaKeyword_5_0; } + + //parameters+=MappingParameter + public Assignment getParametersAssignment_5_1() { return cParametersAssignment_5_1; } + + //MappingParameter + public RuleCall getParametersMappingParameterParserRuleCall_5_1_0() { return cParametersMappingParameterParserRuleCall_5_1_0; } + + //")" + public Keyword getRightParenthesisKeyword_6() { return cRightParenthesisKeyword_6; } + + //componentInstance=ComponentInstance? + public Assignment getComponentInstanceAssignment_7() { return cComponentInstanceAssignment_7; } + + //ComponentInstance + public RuleCall getComponentInstanceComponentInstanceParserRuleCall_7_0() { return cComponentInstanceComponentInstanceParserRuleCall_7_0; } + + //("{" ((lookupDefinitions+=LookupDefinition | assignments+=Assignment) ";")* "}")? + public Group getGroup_8() { return cGroup_8; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_8_0() { return cLeftCurlyBracketKeyword_8_0; } + + //((lookupDefinitions+=LookupDefinition | assignments+=Assignment) ";")* + public Group getGroup_8_1() { return cGroup_8_1; } + + //lookupDefinitions+=LookupDefinition | assignments+=Assignment + public Alternatives getAlternatives_8_1_0() { return cAlternatives_8_1_0; } + + //lookupDefinitions+=LookupDefinition + public Assignment getLookupDefinitionsAssignment_8_1_0_0() { return cLookupDefinitionsAssignment_8_1_0_0; } + + //LookupDefinition + public RuleCall getLookupDefinitionsLookupDefinitionParserRuleCall_8_1_0_0_0() { return cLookupDefinitionsLookupDefinitionParserRuleCall_8_1_0_0_0; } + + //assignments+=Assignment + public Assignment getAssignmentsAssignment_8_1_0_1() { return cAssignmentsAssignment_8_1_0_1; } + + //Assignment + public RuleCall getAssignmentsAssignmentParserRuleCall_8_1_0_1_0() { return cAssignmentsAssignmentParserRuleCall_8_1_0_1_0; } + + //";" + public Keyword getSemicolonKeyword_8_1_1() { return cSemicolonKeyword_8_1_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8_2() { return cRightCurlyBracketKeyword_8_2; } + } + public class MappingParameterElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.MappingParameter"); + private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); + + //MappingParameter: + // name=ID; + @Override public ParserRule getRule() { return rule; } + + //name=ID + public Assignment getNameAssignment() { return cNameAssignment; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } + } + public class LookupDefinitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.LookupDefinition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLookupKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cMappingAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cMappingMappingDefinitionCrossReference_1_0 = (CrossReference)cMappingAssignment_1.eContents().get(0); + private final RuleCall cMappingMappingDefinitionIDTerminalRuleCall_1_0_1 = (RuleCall)cMappingMappingDefinitionCrossReference_1_0.eContents().get(1); + private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cArgumentsAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final CrossReference cArgumentsMappingParameterCrossReference_3_0 = (CrossReference)cArgumentsAssignment_3.eContents().get(0); + private final RuleCall cArgumentsMappingParameterIDTerminalRuleCall_3_0_1 = (RuleCall)cArgumentsMappingParameterCrossReference_3_0.eContents().get(1); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cCommaKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cArgumentsAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final CrossReference cArgumentsMappingParameterCrossReference_4_1_0 = (CrossReference)cArgumentsAssignment_4_1.eContents().get(0); + private final RuleCall cArgumentsMappingParameterIDTerminalRuleCall_4_1_0_1 = (RuleCall)cArgumentsMappingParameterCrossReference_4_1_0.eContents().get(1); + private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Keyword cAsKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final Assignment cNameAssignment_7 = (Assignment)cGroup.eContents().get(7); + private final RuleCall cNameIDTerminalRuleCall_7_0 = (RuleCall)cNameAssignment_7.eContents().get(0); + + //LookupDefinition: + // "lookup" mapping=[MappingDefinition] + // "(" arguments+=[MappingParameter] ("," arguments+=[MappingParameter])* ")" + // "as" name=ID; + @Override public ParserRule getRule() { return rule; } + + //"lookup" mapping=[MappingDefinition] "(" arguments+=[MappingParameter] ("," arguments+=[MappingParameter])* ")" "as" + //name=ID + public Group getGroup() { return cGroup; } + + //"lookup" + public Keyword getLookupKeyword_0() { return cLookupKeyword_0; } + + //mapping=[MappingDefinition] + public Assignment getMappingAssignment_1() { return cMappingAssignment_1; } + + //[MappingDefinition] + public CrossReference getMappingMappingDefinitionCrossReference_1_0() { return cMappingMappingDefinitionCrossReference_1_0; } + + //ID + public RuleCall getMappingMappingDefinitionIDTerminalRuleCall_1_0_1() { return cMappingMappingDefinitionIDTerminalRuleCall_1_0_1; } + + //"(" + public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } + + //arguments+=[MappingParameter] + public Assignment getArgumentsAssignment_3() { return cArgumentsAssignment_3; } + + //[MappingParameter] + public CrossReference getArgumentsMappingParameterCrossReference_3_0() { return cArgumentsMappingParameterCrossReference_3_0; } + + //ID + public RuleCall getArgumentsMappingParameterIDTerminalRuleCall_3_0_1() { return cArgumentsMappingParameterIDTerminalRuleCall_3_0_1; } + + //("," arguments+=[MappingParameter])* + public Group getGroup_4() { return cGroup_4; } + + //"," + public Keyword getCommaKeyword_4_0() { return cCommaKeyword_4_0; } + + //arguments+=[MappingParameter] + public Assignment getArgumentsAssignment_4_1() { return cArgumentsAssignment_4_1; } + + //[MappingParameter] + public CrossReference getArgumentsMappingParameterCrossReference_4_1_0() { return cArgumentsMappingParameterCrossReference_4_1_0; } + + //ID + public RuleCall getArgumentsMappingParameterIDTerminalRuleCall_4_1_0_1() { return cArgumentsMappingParameterIDTerminalRuleCall_4_1_0_1; } + + //")" + public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } + + //"as" + public Keyword getAsKeyword_6() { return cAsKeyword_6; } + + //name=ID + public Assignment getNameAssignment_7() { return cNameAssignment_7; } + + //ID + public RuleCall getNameIDTerminalRuleCall_7_0() { return cNameIDTerminalRuleCall_7_0; } + } + public class VariableElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.Variable"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cComponentInstanceParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cLookupDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //Variable: + // ComponentInstance | LookupDefinition; + @Override public ParserRule getRule() { return rule; } + + //ComponentInstance | LookupDefinition + public Alternatives getAlternatives() { return cAlternatives; } + + //ComponentInstance + public RuleCall getComponentInstanceParserRuleCall_0() { return cComponentInstanceParserRuleCall_0; } + + //LookupDefinition + public RuleCall getLookupDefinitionParserRuleCall_1() { return cLookupDefinitionParserRuleCall_1; } + } + public class AssignmentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.Assignment"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cInputAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cInputEventReferenceParserRuleCall_0_0 = (RuleCall)cInputAssignment_0.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Assignment cMultipleAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); + private final Keyword cMultiplePlusSignEqualsSignKeyword_1_0_0 = (Keyword)cMultipleAssignment_1_0.eContents().get(0); + private final Keyword cColonEqualsSignKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1); + private final Assignment cOutputAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cOutputEventReferenceParserRuleCall_2_0 = (RuleCall)cOutputAssignment_2.eContents().get(0); + + //Assignment: + // input=EventReference (multiple?="+=" | ":=") output=EventReference; + @Override public ParserRule getRule() { return rule; } + + //input=EventReference (multiple?="+=" | ":=") output=EventReference + public Group getGroup() { return cGroup; } + + //input=EventReference + public Assignment getInputAssignment_0() { return cInputAssignment_0; } + + //EventReference + public RuleCall getInputEventReferenceParserRuleCall_0_0() { return cInputEventReferenceParserRuleCall_0_0; } + + //multiple?="+=" | ":=" + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //multiple?="+=" + public Assignment getMultipleAssignment_1_0() { return cMultipleAssignment_1_0; } + + //"+=" + public Keyword getMultiplePlusSignEqualsSignKeyword_1_0_0() { return cMultiplePlusSignEqualsSignKeyword_1_0_0; } + + //":=" + public Keyword getColonEqualsSignKeyword_1_1() { return cColonEqualsSignKeyword_1_1; } + + //output=EventReference + public Assignment getOutputAssignment_2() { return cOutputAssignment_2; } + + //EventReference + public RuleCall getOutputEventReferenceParserRuleCall_2_0() { return cOutputEventReferenceParserRuleCall_2_0; } + } + public class EventReferenceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.EventReference"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cComponentAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cComponentVariableCrossReference_0_0 = (CrossReference)cComponentAssignment_0.eContents().get(0); + private final RuleCall cComponentVariableIDTerminalRuleCall_0_0_1 = (RuleCall)cComponentVariableCrossReference_0_0.eContents().get(1); + private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cEventAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final CrossReference cEventEventDeclarationCrossReference_2_0 = (CrossReference)cEventAssignment_2.eContents().get(0); + private final RuleCall cEventEventDeclarationIDTerminalRuleCall_2_0_1 = (RuleCall)cEventEventDeclarationCrossReference_2_0.eContents().get(1); + + //EventReference: + // component=[Variable] "." event=[EventDeclaration]; + @Override public ParserRule getRule() { return rule; } + + //component=[Variable] "." event=[EventDeclaration] + public Group getGroup() { return cGroup; } + + //component=[Variable] + public Assignment getComponentAssignment_0() { return cComponentAssignment_0; } + + //[Variable] + public CrossReference getComponentVariableCrossReference_0_0() { return cComponentVariableCrossReference_0_0; } + + //ID + public RuleCall getComponentVariableIDTerminalRuleCall_0_0_1() { return cComponentVariableIDTerminalRuleCall_0_0_1; } + + //"." + public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; } + + //event=[EventDeclaration] + public Assignment getEventAssignment_2() { return cEventAssignment_2; } + + //[EventDeclaration] + public CrossReference getEventEventDeclarationCrossReference_2_0() { return cEventEventDeclarationCrossReference_2_0; } + + //ID + public RuleCall getEventEventDeclarationIDTerminalRuleCall_2_0_1() { return cEventEventDeclarationIDTerminalRuleCall_2_0_1; } + } + public class ComponentInstanceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.ComponentInstance"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cEqualsSignGreaterThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cComponentTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cComponentTypeComponentDefinitionCrossReference_1_0 = (CrossReference)cComponentTypeAssignment_1.eContents().get(0); + private final RuleCall cComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1 = (RuleCall)cComponentTypeComponentDefinitionCrossReference_1_0.eContents().get(1); + private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); + + //ComponentInstance: + // "=>" componentType=[ComponentDefinition|QualifiedName] name=ID?; + @Override public ParserRule getRule() { return rule; } + + //"=>" componentType=[ComponentDefinition|QualifiedName] name=ID? + public Group getGroup() { return cGroup; } + + //"=>" + public Keyword getEqualsSignGreaterThanSignKeyword_0() { return cEqualsSignGreaterThanSignKeyword_0; } + + //componentType=[ComponentDefinition|QualifiedName] + public Assignment getComponentTypeAssignment_1() { return cComponentTypeAssignment_1; } + + //[ComponentDefinition|QualifiedName] + public CrossReference getComponentTypeComponentDefinitionCrossReference_1_0() { return cComponentTypeComponentDefinitionCrossReference_1_0; } + + //QualifiedName + public RuleCall getComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1() { return cComponentTypeComponentDefinitionQualifiedNameParserRuleCall_1_0_1; } + + //name=ID? + public Assignment getNameAssignment_2() { return cNameAssignment_2; } + + //ID + public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } + } + public class QualifiedNameElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.QualifiedName"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); + + //QualifiedName: + // ID ("." ID)*; + @Override public ParserRule getRule() { return rule; } + + //ID ("." ID)* + public Group getGroup() { return cGroup; } + + //ID + public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; } + + //("." ID)* + public Group getGroup_1() { return cGroup_1; } + + //"." + public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } + + //ID + public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; } + } + public class QualifiedNameWithWildcardElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.QualifiedNameWithWildcard"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cQualifiedNameParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Keyword cAsteriskKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + + //QualifiedNameWithWildcard: + // QualifiedName ("." "*")?; + @Override public ParserRule getRule() { return rule; } + + //QualifiedName ("." "*")? + public Group getGroup() { return cGroup; } + + //QualifiedName + public RuleCall getQualifiedNameParserRuleCall_0() { return cQualifiedNameParserRuleCall_0; } + + //("." "*")? + public Group getGroup_1() { return cGroup_1; } + + //"." + public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } + + //"*" + public Keyword getAsteriskKeyword_1_1() { return cAsteriskKeyword_1_1; } + } + + + private final CftModelElements pCftModel; + private final ImportDeclarationElements pImportDeclaration; + private final ComponentDefinitionElements pComponentDefinition; + private final EventDeclarationElements pEventDeclaration; + private final InputEventElements pInputEvent; + private final EventDefinitionElements pEventDefinition; + private final BasicEventDefinitionElements pBasicEventDefinition; + private final GateDefinitionElements pGateDefinition; + private final AndGateElements pAndGate; + private final OrGateElements pOrGate; + private final TransformationDefinitionElements pTransformationDefinition; + private final MappingDefinitionElements pMappingDefinition; + private final MappingParameterElements pMappingParameter; + private final LookupDefinitionElements pLookupDefinition; + private final VariableElements pVariable; + private final AssignmentElements pAssignment; + private final EventReferenceElements pEventReference; + private final ComponentInstanceElements pComponentInstance; + private final QualifiedNameElements pQualifiedName; + private final QualifiedNameWithWildcardElements pQualifiedNameWithWildcard; + private final TerminalRule tDOULBE; + + private final Grammar grammar; + + private final TerminalsGrammarAccess gaTerminals; + + @Inject + public CftLanguageGrammarAccess(GrammarProvider grammarProvider, + TerminalsGrammarAccess gaTerminals) { + this.grammar = internalFindGrammar(grammarProvider); + this.gaTerminals = gaTerminals; + this.pCftModel = new CftModelElements(); + this.pImportDeclaration = new ImportDeclarationElements(); + this.pComponentDefinition = new ComponentDefinitionElements(); + this.pEventDeclaration = new EventDeclarationElements(); + this.pInputEvent = new InputEventElements(); + this.pEventDefinition = new EventDefinitionElements(); + this.pBasicEventDefinition = new BasicEventDefinitionElements(); + this.pGateDefinition = new GateDefinitionElements(); + this.pAndGate = new AndGateElements(); + this.pOrGate = new OrGateElements(); + this.pTransformationDefinition = new TransformationDefinitionElements(); + this.pMappingDefinition = new MappingDefinitionElements(); + this.pMappingParameter = new MappingParameterElements(); + this.pLookupDefinition = new LookupDefinitionElements(); + this.pVariable = new VariableElements(); + this.pAssignment = new AssignmentElements(); + this.pEventReference = new EventReferenceElements(); + this.pComponentInstance = new ComponentInstanceElements(); + this.pQualifiedName = new QualifiedNameElements(); + this.pQualifiedNameWithWildcard = new QualifiedNameWithWildcardElements(); + this.tDOULBE = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage.DOULBE"); + } + + protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { + Grammar grammar = grammarProvider.getGrammar(this); + while (grammar != null) { + if ("hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage".equals(grammar.getName())) { + return grammar; + } + List grammars = grammar.getUsedGrammars(); + if (!grammars.isEmpty()) { + grammar = grammars.iterator().next(); + } else { + return null; + } + } + return grammar; + } + + @Override + public Grammar getGrammar() { + return grammar; + } + + + public TerminalsGrammarAccess getTerminalsGrammarAccess() { + return gaTerminals; + } + + + //CftModel: + // "package" packageName=QualifiedName ";"? + // imports+=ImportDeclaration* (componentDefinitions+=ComponentDefinition | + // transformationDefinitions+=TransformationDefinition)*; + public CftModelElements getCftModelAccess() { + return pCftModel; + } + + public ParserRule getCftModelRule() { + return getCftModelAccess().getRule(); + } + + //ImportDeclaration: + // "import" importedNamespace=QualifiedNameWithWildcard ";"?; + public ImportDeclarationElements getImportDeclarationAccess() { + return pImportDeclaration; + } + + public ParserRule getImportDeclarationRule() { + return getImportDeclarationAccess().getRule(); + } + + //ComponentDefinition: + // "cft" name=ID "{" (("in" inputEvents+=InputEvent* ";")? & ("out" outputEvents+=[EventDeclaration]* ";")?) + // (eventDefinitions+=EventDefinition ";")* + // "}"; + public ComponentDefinitionElements getComponentDefinitionAccess() { + return pComponentDefinition; + } + + public ParserRule getComponentDefinitionRule() { + return getComponentDefinitionAccess().getRule(); + } + + //EventDeclaration: + // InputEvent | EventDefinition; + public EventDeclarationElements getEventDeclarationAccess() { + return pEventDeclaration; + } + + public ParserRule getEventDeclarationRule() { + return getEventDeclarationAccess().getRule(); + } + + //InputEvent: + // name=ID multiple?="[]"?; + public InputEventElements getInputEventAccess() { + return pInputEvent; + } + + public ParserRule getInputEventRule() { + return getInputEventAccess().getRule(); + } + + //EventDefinition: + // BasicEventDefinition | GateDefinition; + public EventDefinitionElements getEventDefinitionAccess() { + return pEventDefinition; + } + + public ParserRule getEventDefinitionRule() { + return getEventDefinitionAccess().getRule(); + } + + //BasicEventDefinition: + // name=ID "lambda" "=" rate=DOULBE; + public BasicEventDefinitionElements getBasicEventDefinitionAccess() { + return pBasicEventDefinition; + } + + public ParserRule getBasicEventDefinitionRule() { + return getBasicEventDefinitionAccess().getRule(); + } + + //GateDefinition: + // AndGate | OrGate; + public GateDefinitionElements getGateDefinitionAccess() { + return pGateDefinition; + } + + public ParserRule getGateDefinitionRule() { + return getGateDefinitionAccess().getRule(); + } + + //AndGate: + // name=ID "and" inputEvents+=[EventDeclaration]*; + public AndGateElements getAndGateAccess() { + return pAndGate; + } + + public ParserRule getAndGateRule() { + return getAndGateAccess().getRule(); + } + + //OrGate: + // name=ID "or" inputEvents+=[EventDeclaration]*; + public OrGateElements getOrGateAccess() { + return pOrGate; + } + + public ParserRule getOrGateRule() { + return getOrGateAccess().getRule(); + } + + //TransformationDefinition: + // "transformation" name=ID "{" + // mappingDefinitions+=MappingDefinition* + // "}"; + public TransformationDefinitionElements getTransformationDefinitionAccess() { + return pTransformationDefinition; + } + + public ParserRule getTransformationDefinitionRule() { + return getTransformationDefinitionAccess().getRule(); + } + + //MappingDefinition: + // topLevel?="toplevel"? "mapping" pattern=[vql::Pattern|QualifiedName] + // "(" parameters+=MappingParameter ("," parameters+=MappingParameter)* ")" + // componentInstance=ComponentInstance? ("{" ((lookupDefinitions+=LookupDefinition | assignments+=Assignment) ";")* + // "}")?; + public MappingDefinitionElements getMappingDefinitionAccess() { + return pMappingDefinition; + } + + public ParserRule getMappingDefinitionRule() { + return getMappingDefinitionAccess().getRule(); + } + + //MappingParameter: + // name=ID; + public MappingParameterElements getMappingParameterAccess() { + return pMappingParameter; + } + + public ParserRule getMappingParameterRule() { + return getMappingParameterAccess().getRule(); + } + + //LookupDefinition: + // "lookup" mapping=[MappingDefinition] + // "(" arguments+=[MappingParameter] ("," arguments+=[MappingParameter])* ")" + // "as" name=ID; + public LookupDefinitionElements getLookupDefinitionAccess() { + return pLookupDefinition; + } + + public ParserRule getLookupDefinitionRule() { + return getLookupDefinitionAccess().getRule(); + } + + //Variable: + // ComponentInstance | LookupDefinition; + public VariableElements getVariableAccess() { + return pVariable; + } + + public ParserRule getVariableRule() { + return getVariableAccess().getRule(); + } + + //Assignment: + // input=EventReference (multiple?="+=" | ":=") output=EventReference; + public AssignmentElements getAssignmentAccess() { + return pAssignment; + } + + public ParserRule getAssignmentRule() { + return getAssignmentAccess().getRule(); + } + + //EventReference: + // component=[Variable] "." event=[EventDeclaration]; + public EventReferenceElements getEventReferenceAccess() { + return pEventReference; + } + + public ParserRule getEventReferenceRule() { + return getEventReferenceAccess().getRule(); + } + + //ComponentInstance: + // "=>" componentType=[ComponentDefinition|QualifiedName] name=ID?; + public ComponentInstanceElements getComponentInstanceAccess() { + return pComponentInstance; + } + + public ParserRule getComponentInstanceRule() { + return getComponentInstanceAccess().getRule(); + } + + //QualifiedName: + // ID ("." ID)*; + public QualifiedNameElements getQualifiedNameAccess() { + return pQualifiedName; + } + + public ParserRule getQualifiedNameRule() { + return getQualifiedNameAccess().getRule(); + } + + //QualifiedNameWithWildcard: + // QualifiedName ("." "*")?; + public QualifiedNameWithWildcardElements getQualifiedNameWithWildcardAccess() { + return pQualifiedNameWithWildcard; + } + + public ParserRule getQualifiedNameWithWildcardRule() { + return getQualifiedNameWithWildcardAccess().getRule(); + } + + //terminal DOULBE returns ecore::EDouble: + // '0'..'9'+ ("." '0'..'9'+ | ("." '0'..'9'+)? ("e" | "E") ("+" | "-")? '0'..'9'+); + public TerminalRule getDOULBERule() { + return tDOULBE; + } + + //terminal ID: + // '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*; + public TerminalRule getIDRule() { + return gaTerminals.getIDRule(); + } + + //terminal INT returns ecore::EInt: + // '0'..'9'+; + public TerminalRule getINTRule() { + return gaTerminals.getINTRule(); + } + + //terminal STRING: + // '"' ('\\' . | !('\\' | '"'))* '"' | + // "'" ('\\' . | !('\\' | "'"))* "'"; + public TerminalRule getSTRINGRule() { + return gaTerminals.getSTRINGRule(); + } + + //terminal ML_COMMENT: + // '/*'->'*/'; + public TerminalRule getML_COMMENTRule() { + return gaTerminals.getML_COMMENTRule(); + } + + //terminal SL_COMMENT: + // '//' !('\n' | '\r')* ('\r'? '\n')?; + public TerminalRule getSL_COMMENTRule() { + return gaTerminals.getSL_COMMENTRule(); + } + + //terminal WS: + // ' ' | '\t' | '\r' | '\n'+; + public TerminalRule getWSRule() { + return gaTerminals.getWSRule(); + } + + //terminal ANY_OTHER: + // .; + public TerminalRule getANY_OTHERRule() { + return gaTerminals.getANY_OTHERRule(); + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/AbstractCftLanguageValidator.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/AbstractCftLanguageValidator.java new file mode 100644 index 00000000..a0c1efe7 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/AbstractCftLanguageValidator.java @@ -0,0 +1,19 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.validation; + +import java.util.ArrayList; +import java.util.List; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.xtext.validation.AbstractDeclarativeValidator; + +public abstract class AbstractCftLanguageValidator extends AbstractDeclarativeValidator { + + @Override + protected List getEPackages() { + List result = new ArrayList(); + result.add(hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage.eINSTANCE); + return result; + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageConfigurableIssueCodesProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageConfigurableIssueCodesProvider.java new file mode 100644 index 00000000..642dcb1d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageConfigurableIssueCodesProvider.java @@ -0,0 +1,22 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.validation; + +import org.eclipse.xtext.preferences.PreferenceKey; +import org.eclipse.xtext.util.IAcceptor; +import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider; +import org.eclipse.xtext.validation.SeverityConverter; + +@SuppressWarnings("restriction") +public class CftLanguageConfigurableIssueCodesProvider extends ConfigurableIssueCodesProvider { + protected static final String ISSUE_CODE_PREFIX = "hu.bme.mit.inf.dslreasoner.faulttree.components."; + + public static final String DEPRECATED_MODEL_PART = ISSUE_CODE_PREFIX + "deprecatedModelPart"; + + @Override + protected void initialize(IAcceptor acceptor) { + super.initialize(acceptor); + acceptor.accept(create(DEPRECATED_MODEL_PART, SeverityConverter.SEVERITY_WARNING)); + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtext b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtext new file mode 100644 index 00000000..3d82413f --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguage.xtext @@ -0,0 +1,82 @@ +grammar hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage with org.eclipse.xtext.common.Terminals + +import "http://www.eclipse.org/emf/2002/Ecore" as ecore +import "http://www.eclipse.org/viatra/query/patternlanguage/emf/PatternLanguage" as vql + +generate cftLanguage "http://www.bme.hu/mit/inf/dslreasoner/faulttree/components/CftLanguage" + +CftModel: + "package" packageName=QualifiedName ";"? + imports+=ImportDeclaration* + (componentDefinitions+=ComponentDefinition | transformationDefinitions+=TransformationDefinition)*; + +ImportDeclaration: + "import" importedNamespace=QualifiedNameWithWildcard ";"?; + +ComponentDefinition: + "cft" name=ID "{" + (("in" inputEvents+=InputEvent* ";")? & ("out" outputEvents+=[EventDeclaration]* ";")?) + (eventDefinitions+=EventDefinition ";")* + "}"; + +EventDeclaration: + InputEvent | EventDefinition; + +InputEvent: + name=ID multiple?="[]"?; + +EventDefinition: + BasicEventDefinition | GateDefinition; + +BasicEventDefinition: + name=ID "lambda" "=" rate=DOULBE; + +GateDefinition: + AndGate | OrGate; + +AndGate: + name=ID "and" inputEvents+=[EventDeclaration]*; + +OrGate: + name=ID "or" inputEvents+=[EventDeclaration]*; + +TransformationDefinition: + "transformation" name=ID "{" + mappingDefinitions+=MappingDefinition* + "}"; + +MappingDefinition: + topLevel?="toplevel"? "mapping" pattern=[vql::Pattern|QualifiedName] + "(" parameters+=MappingParameter ("," parameters+=MappingParameter)* ")" + (componentInstance=ComponentInstance)? ("{" + ((lookupDefinitions+=LookupDefinition | assignments+=Assignment) ";")* + "}")?; + +MappingParameter: + name=ID; + +LookupDefinition: + "lookup" mapping=[MappingDefinition] + "(" arguments+=[MappingParameter] ("," arguments+=[MappingParameter])* ")" + "as" name=ID; + +Variable: + ComponentInstance | LookupDefinition; + +Assignment: + input=EventReference (multiple?="+=" | ":=") output=EventReference; + +EventReference: + component=[Variable] "." event=[EventDeclaration]; + +ComponentInstance: + "=>" componentType=[ComponentDefinition|QualifiedName] name=ID?; + +QualifiedName returns ecore::EString: + ID ("." ID)*; + +QualifiedNameWithWildcard returns ecore::EString: + QualifiedName ("." "*")?; + +terminal DOULBE returns ecore::EDouble: + ('0'..'9')+ ("." ('0'..'9')+ | ("." ('0'..'9')+)? ("e" | "E") ("+" | "-")? ('0'..'9')+); diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageRuntimeModule.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageRuntimeModule.xtend new file mode 100644 index 00000000..f780591d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageRuntimeModule.xtend @@ -0,0 +1,33 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components + +import com.google.inject.Binder +import com.google.inject.name.Names +import hu.bme.mit.inf.dslreasoner.faulttree.components.naming.CftLanguageQualifiedNameProvider +import hu.bme.mit.inf.dslreasoner.faulttree.components.scoping.CftLanguageImportedNamespaceAwareLocalScopeProvider +import org.eclipse.xtext.scoping.IScopeProvider +import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider +import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider + +/** + * Use this class to register components to be used at runtime / without the Equinox extension registry. + */ +class CftLanguageRuntimeModule extends AbstractCftLanguageRuntimeModule { + + override bindIGlobalScopeProvider() { + DefaultGlobalScopeProvider + } + + override configureIScopeProviderDelegate(Binder binder) { + binder.bind(IScopeProvider).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to( + CftLanguageImportedNamespaceAwareLocalScopeProvider) + } + + + override bindIQualifiedNameProvider() { + CftLanguageQualifiedNameProvider + } + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetup.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetup.xtend new file mode 100644 index 00000000..7ec57980 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetup.xtend @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components + + +/** + * Initialization support for running Xtext languages without Equinox extension registry. + */ +class CftLanguageStandaloneSetup extends CftLanguageStandaloneSetupGenerated { + + def static void doSetup() { + new CftLanguageStandaloneSetup().createInjectorAndDoEMFRegistration() + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/GenerateCftLanguage.mwe2 b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/GenerateCftLanguage.mwe2 new file mode 100644 index 00000000..fa383404 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/GenerateCftLanguage.mwe2 @@ -0,0 +1,46 @@ +module hu.bme.mit.inf.dslreasoner.faulttree.components.GenerateCftLanguage + +import org.eclipse.xtext.xtext.generator.* +import org.eclipse.xtext.xtext.generator.model.project.* + +var rootPath = ".." + +Workflow { + + component = XtextGenerator { + configuration = { + project = StandardProjectConfig { + baseName = "hu.bme.mit.inf.dslreasoner.faulttree.components" + rootPath = rootPath + eclipsePlugin = { + enabled = true + } + createEclipseMetaData = true + } + code = { + encoding = "UTF-8" + lineDelimiter = "\n" + fileHeader = "/*\n * generated by Xtext \${version}\n */" + } + } + language = StandardLanguage { + name = "hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguage" + fileExtensions = "cft" + + referencedResource = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel" + referencedResource = "platform:/resource/org.eclipse.viatra.query.patternlanguage.emf/model/PatternLanguage.genmodel" + + serializer = { + generateStub = false + } + validator = { + // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" + // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage + generateDeprecationValidation = true + } + junitSupport = { + junitVersion = "5" + } + } + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/CftLanguageGenerator.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/CftLanguageGenerator.xtend new file mode 100644 index 00000000..d7ebace4 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/CftLanguageGenerator.xtend @@ -0,0 +1,25 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.generator + +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.xtext.generator.AbstractGenerator +import org.eclipse.xtext.generator.IFileSystemAccess2 +import org.eclipse.xtext.generator.IGeneratorContext + +/** + * Generates code from your model files on save. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation + */ +class CftLanguageGenerator extends AbstractGenerator { + + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { +// fsa.generateFile('greetings.txt', 'People to greet: ' + +// resource.allContents +// .filter(Greeting) +// .map[name] +// .join(', ')) + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend new file mode 100644 index 00000000..eb96901c --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.xtend @@ -0,0 +1,27 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.naming + +import com.google.inject.Inject +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider + +class CftLanguageQualifiedNameProvider extends DefaultDeclarativeQualifiedNameProvider { + @Inject PackageNameProvider packageNameProvider + + def qualifiedName(ComponentDefinition componentDefinition) { + computePackageQualifiedName(componentDefinition, componentDefinition.name) + } + + def qualifiedName(TransformationDefinition transformationDefinition) { + computePackageQualifiedName(transformationDefinition, transformationDefinition.name) + } + + private def computePackageQualifiedName(EObject eObj, String name) { + if (name === null) { + return null + } + val packageQualifier = packageNameProvider.getPackageName(eObj) + packageQualifier.append(name) + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.xtend new file mode 100644 index 00000000..a05c8138 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.xtend @@ -0,0 +1,30 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.naming + +import com.google.inject.Inject +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor +import org.eclipse.xtext.EcoreUtil2 +import org.eclipse.xtext.naming.IQualifiedNameConverter +import org.eclipse.xtext.naming.QualifiedName + +class PackageNameProvider { + val IQualifiedNameConverter qualifiedNameConverter + + @FinalFieldsConstructor + @Inject + new() { + } + + def getPackageName(EObject eObj) { + if (eObj === null) { + return QualifiedName.EMPTY + } + val pacakgeName = EcoreUtil2.getContainerOfType(eObj, CftModel)?.packageName + if (pacakgeName.isNullOrEmpty) { + QualifiedName.EMPTY + } else { + qualifiedNameConverter.toQualifiedName(pacakgeName) + } + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.xtend new file mode 100644 index 00000000..39a6e5a5 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.xtend @@ -0,0 +1,45 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.scoping + +import com.google.inject.Inject +import com.google.inject.Singleton +import hu.bme.mit.inf.dslreasoner.faulttree.components.naming.PackageNameProvider +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.EReference +import org.eclipse.xtext.naming.IQualifiedNameConverter +import org.eclipse.xtext.naming.IQualifiedNameProvider +import org.eclipse.xtext.scoping.ICaseInsensitivityHelper +import org.eclipse.xtext.scoping.IGlobalScopeProvider +import org.eclipse.xtext.scoping.IScope +import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider + +@Singleton +class CftLanguageImportedNamespaceAwareLocalScopeProvider extends ImportedNamespaceAwareLocalScopeProvider { + @Inject PackageNameProvider packageNameProvider + + @Inject + new() { + } + + new(IGlobalScopeProvider globalScopeProvider, IQualifiedNameProvider qualifiedNameProvider, + IQualifiedNameConverter qualifiedNameConverter, ICaseInsensitivityHelper caseInsensitivityHelper) { + super(globalScopeProvider, qualifiedNameProvider, qualifiedNameConverter, caseInsensitivityHelper) + packageNameProvider = new PackageNameProvider(qualifiedNameConverter) + } + + override protected internalGetImportedNamespaceResolvers(EObject context, boolean ignoreCase) { + val resolvers = super.internalGetImportedNamespaceResolvers(context, ignoreCase) + val packageName = packageNameProvider.getPackageName(context) + if (!packageName.empty) { + val packageNormalizer = doCreateImportNormalizer(packageName, true, ignoreCase) + resolvers.add(0, packageNormalizer) + } + resolvers + } + + def createImportNormalizedScope(IScope elements, EObject context, EReference reference) { + val ignoreCase = isIgnoreCase(reference) + val type = reference.EReferenceType + val namespaceResolvers = getImportedNamespaceResolvers(context, ignoreCase) + createImportScope(elements, namespaceResolvers, null, type, ignoreCase) + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend new file mode 100644 index 00000000..ab708087 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend @@ -0,0 +1,138 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.scoping + +import com.google.common.collect.Lists +import com.google.inject.Inject +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable +import org.eclipse.emf.common.notify.Notifier +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.EReference +import org.eclipse.xtext.EcoreUtil2 +import org.eclipse.xtext.resource.EObjectDescription +import org.eclipse.xtext.resource.IResourceDescriptions +import org.eclipse.xtext.resource.IResourceDescriptionsProvider +import org.eclipse.xtext.scoping.IScope +import org.eclipse.xtext.scoping.Scopes +import org.eclipse.xtext.scoping.impl.SimpleScope + +import static hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage.Literals.* + +/** + * This class contains custom scoping description. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping + * on how and when to use it. + */ +class CftLanguageScopeProvider extends AbstractCftLanguageScopeProvider { + public static val SINGLETON_VARIABLE_PREFIX = "_" + + @Inject IResourceDescriptionsProvider resourceDescriptionsProvider + @Inject CftLanguageImportedNamespaceAwareLocalScopeProvider importedNamespaceProvider + + override getScope(EObject context, EReference reference) { + switch (reference) { + case LOOKUP_DEFINITION__MAPPING: + getRuleDefinitionsScope(context, reference) + case LOOKUP_DEFINITION__ARGUMENTS: + getMappingParametersScope(context) + case EVENT_REFERENCE__COMPONENT: + getComponentInstancesScope(context) + case EVENT_REFERENCE__EVENT: + getEventDeclarationsScope(context) + default: + super.getScope(context, reference) + } + } + + protected def getRuleDefinitionsScope(EObject context, EReference referece) { + val transformationDefinition = EcoreUtil2.getContainerOfType(context, TransformationDefinition) + if (transformationDefinition === null) { + return IScope.NULLSCOPE + } + val resourceDescriptions = getResourceDescriptions(transformationDefinition) + val mappingDefinitionDescriptions = toMappingDefinitionDescriptions(resourceDescriptions, + transformationDefinition.mappingDefinitions) + val ruleDefinitionsScope = new SimpleScope(IScope.NULLSCOPE, mappingDefinitionDescriptions) + importedNamespaceProvider.createImportNormalizedScope(ruleDefinitionsScope, context, referece) + } + + protected def toMappingDefinitionDescriptions(IResourceDescriptions resourceDescriptions, + Iterable ruleDefinitions) { + val mappingDefinitionDescriptions = Lists.newArrayListWithExpectedSize(ruleDefinitions.size) + for (ruleDefinition : ruleDefinitions) { + val pattern = ruleDefinition?.pattern + if (pattern !== null) { + val patternName = resourceDescriptions.getExportedObjectsByObject(pattern).head?.qualifiedName + if (patternName !== null) { + mappingDefinitionDescriptions += EObjectDescription.create(patternName, ruleDefinition) + } + } + + } + mappingDefinitionDescriptions + } + + private def getResourceDescriptions(Notifier notifier) { + val resourceSet = EcoreUtil2.getResourceSet(notifier) + if (resourceSet === null) { + new IResourceDescriptions.NullImpl + } else { + resourceDescriptionsProvider.getResourceDescriptions(resourceSet) + } + } + + protected def getMappingParametersScope(EObject context) { + val mappingDefinition = EcoreUtil2.getContainerOfType(context, MappingDefinition) + if (mappingDefinition === null) { + return IScope.NULLSCOPE + } + val variables = mappingDefinition.parameters.filter [ + !name.startsWith(SINGLETON_VARIABLE_PREFIX) + ] + Scopes.scopeFor(variables) + } + + protected def getComponentInstancesScope(EObject context) { + val mappingDefinition = EcoreUtil2.getContainerOfType(context, MappingDefinition) + if (mappingDefinition === null) { + return IScope.NULLSCOPE + } + val componentInstances = newArrayList + componentInstances.addAll(mappingDefinition.lookupDefinitions) + if (mappingDefinition.componentInstance !== null) { + componentInstances += mappingDefinition.componentInstance + } + Scopes.scopeFor(componentInstances) + } + + protected def getEventDeclarationsScope(EObject context) { + val variable = EcoreUtil2.getContainerOfType(context, EventReference)?.component + val events = switch (variable) { + ComponentInstance: + variable.componentType?.allEventDeclarations + LookupDefinition: + variable.mapping?.componentInstance?.componentType?.allEventDeclarations + default: + null + } + if (events === null) { + return IScope.NULLSCOPE + } + Scopes.scopeFor(events) + } + + private def getAllEventDeclarations(ComponentDefinition componentDefinition) { + val eventDeclarations = newArrayList + eventDeclarations.addAll(componentDefinition.inputEvents) + eventDeclarations.addAll(componentDefinition.eventDefinitions) + eventDeclarations + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidator.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidator.xtend new file mode 100644 index 00000000..f1da10bb --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidator.xtend @@ -0,0 +1,25 @@ +/* + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.validation + + +/** + * This class contains custom validation rules. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation + */ +class CftLanguageValidator extends AbstractCftLanguageValidator { + +// public static val INVALID_NAME = 'invalidName' +// +// @Check +// def checkGreetingStartsWithCapital(Greeting greeting) { +// if (!Character.isUpperCase(greeting.name.charAt(0))) { +// warning('Name should start with a capital', +// CftLanguagePackage.Literals.GREETING__NAME, +// INVALID_NAME) +// } +// } + +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin new file mode 100644 index 00000000..5f61bd34 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin new file mode 100644 index 00000000..deb1eee6 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.gitignore new file mode 100644 index 00000000..b3125e3f --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.gitignore @@ -0,0 +1,2 @@ +/.CftLanguageRuntimeModule.java._trace +/.CftLanguageStandaloneSetup.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageRuntimeModule.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageRuntimeModule.java new file mode 100644 index 00000000..c63cd33c --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageRuntimeModule.java @@ -0,0 +1,37 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components; + +import com.google.inject.Binder; +import com.google.inject.name.Names; +import hu.bme.mit.inf.dslreasoner.faulttree.components.AbstractCftLanguageRuntimeModule; +import hu.bme.mit.inf.dslreasoner.faulttree.components.naming.CftLanguageQualifiedNameProvider; +import hu.bme.mit.inf.dslreasoner.faulttree.components.scoping.CftLanguageImportedNamespaceAwareLocalScopeProvider; +import org.eclipse.xtext.naming.IQualifiedNameProvider; +import org.eclipse.xtext.scoping.IGlobalScopeProvider; +import org.eclipse.xtext.scoping.IScopeProvider; +import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; +import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; + +/** + * Use this class to register components to be used at runtime / without the Equinox extension registry. + */ +@SuppressWarnings("all") +public class CftLanguageRuntimeModule extends AbstractCftLanguageRuntimeModule { + @Override + public Class bindIGlobalScopeProvider() { + return DefaultGlobalScopeProvider.class; + } + + @Override + public void configureIScopeProviderDelegate(final Binder binder) { + binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to( + CftLanguageImportedNamespaceAwareLocalScopeProvider.class); + } + + @Override + public Class bindIQualifiedNameProvider() { + return CftLanguageQualifiedNameProvider.class; + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetup.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetup.java new file mode 100644 index 00000000..3eed418e --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/CftLanguageStandaloneSetup.java @@ -0,0 +1,16 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.CftLanguageStandaloneSetupGenerated; + +/** + * Initialization support for running Xtext languages without Equinox extension registry. + */ +@SuppressWarnings("all") +public class CftLanguageStandaloneSetup extends CftLanguageStandaloneSetupGenerated { + public static void doSetup() { + new CftLanguageStandaloneSetup().createInjectorAndDoEMFRegistration(); + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin new file mode 100644 index 00000000..a974921d Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.gitignore new file mode 100644 index 00000000..c1d8820b --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.gitignore @@ -0,0 +1 @@ +/.CftLanguageGenerator.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/CftLanguageGenerator.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/CftLanguageGenerator.java new file mode 100644 index 00000000..8dddfb2e --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/CftLanguageGenerator.java @@ -0,0 +1,21 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.generator; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.xtext.generator.AbstractGenerator; +import org.eclipse.xtext.generator.IFileSystemAccess2; +import org.eclipse.xtext.generator.IGeneratorContext; + +/** + * Generates code from your model files on save. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation + */ +@SuppressWarnings("all") +public class CftLanguageGenerator extends AbstractGenerator { + @Override + public void doGenerate(final Resource resource, final IFileSystemAccess2 fsa, final IGeneratorContext context) { + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin new file mode 100644 index 00000000..73ada4f1 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin new file mode 100644 index 00000000..6f4eaae7 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.gitignore new file mode 100644 index 00000000..b982f16c --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.gitignore @@ -0,0 +1,2 @@ +/.CftLanguageQualifiedNameProvider.java._trace +/.PackageNameProvider.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.java new file mode 100644 index 00000000..4e0607dd --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/CftLanguageQualifiedNameProvider.java @@ -0,0 +1,35 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.naming; + +import com.google.inject.Inject; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.naming.PackageNameProvider; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider; +import org.eclipse.xtext.naming.QualifiedName; + +@SuppressWarnings("all") +public class CftLanguageQualifiedNameProvider extends DefaultDeclarativeQualifiedNameProvider { + @Inject + private PackageNameProvider packageNameProvider; + + public QualifiedName qualifiedName(final ComponentDefinition componentDefinition) { + return this.computePackageQualifiedName(componentDefinition, componentDefinition.getName()); + } + + public QualifiedName qualifiedName(final TransformationDefinition transformationDefinition) { + return this.computePackageQualifiedName(transformationDefinition, transformationDefinition.getName()); + } + + private QualifiedName computePackageQualifiedName(final EObject eObj, final String name) { + QualifiedName _xblockexpression = null; + { + if ((name == null)) { + return null; + } + final QualifiedName packageQualifier = this.packageNameProvider.getPackageName(eObj); + _xblockexpression = packageQualifier.append(name); + } + return _xblockexpression; + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.java new file mode 100644 index 00000000..5841dc75 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/PackageNameProvider.java @@ -0,0 +1,46 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.naming; + +import com.google.inject.Inject; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor; +import org.eclipse.xtext.EcoreUtil2; +import org.eclipse.xtext.naming.IQualifiedNameConverter; +import org.eclipse.xtext.naming.QualifiedName; +import org.eclipse.xtext.xbase.lib.StringExtensions; + +@SuppressWarnings("all") +public class PackageNameProvider { + private final IQualifiedNameConverter qualifiedNameConverter; + + @FinalFieldsConstructor + @Inject + public PackageNameProvider(final IQualifiedNameConverter qualifiedNameConverter) { + super(); + this.qualifiedNameConverter = qualifiedNameConverter; + } + + public QualifiedName getPackageName(final EObject eObj) { + QualifiedName _xblockexpression = null; + { + if ((eObj == null)) { + return QualifiedName.EMPTY; + } + CftModel _containerOfType = EcoreUtil2.getContainerOfType(eObj, CftModel.class); + String _packageName = null; + if (_containerOfType!=null) { + _packageName=_containerOfType.getPackageName(); + } + final String pacakgeName = _packageName; + QualifiedName _xifexpression = null; + boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(pacakgeName); + if (_isNullOrEmpty) { + _xifexpression = QualifiedName.EMPTY; + } else { + _xifexpression = this.qualifiedNameConverter.toQualifiedName(pacakgeName); + } + _xblockexpression = _xifexpression; + } + return _xblockexpression; + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin new file mode 100644 index 00000000..4a0036bd Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin new file mode 100644 index 00000000..722c0e58 Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.gitignore new file mode 100644 index 00000000..75285868 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.gitignore @@ -0,0 +1,4 @@ +/.CftLanguageScopeProvider.java._trace +/.CftLanguageImportedNamespaceAwareScopeProvider.java._trace +/.CftLanguageImportedNamespaceAwareScopeLocalProvider.java._trace +/.CftLanguageImportedNamespaceAwareLocalScopeProvider.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.java new file mode 100644 index 00000000..d90fe787 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.java @@ -0,0 +1,63 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.components.scoping; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +import hu.bme.mit.inf.dslreasoner.faulttree.components.naming.PackageNameProvider; +import java.util.List; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.xtext.naming.IQualifiedNameConverter; +import org.eclipse.xtext.naming.IQualifiedNameProvider; +import org.eclipse.xtext.naming.QualifiedName; +import org.eclipse.xtext.scoping.ICaseInsensitivityHelper; +import org.eclipse.xtext.scoping.IGlobalScopeProvider; +import org.eclipse.xtext.scoping.IScope; +import org.eclipse.xtext.scoping.impl.ImportNormalizer; +import org.eclipse.xtext.scoping.impl.ImportScope; +import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider; + +@Singleton +@SuppressWarnings("all") +public class CftLanguageImportedNamespaceAwareLocalScopeProvider extends ImportedNamespaceAwareLocalScopeProvider { + @Inject + private PackageNameProvider packageNameProvider; + + @Inject + public CftLanguageImportedNamespaceAwareLocalScopeProvider() { + } + + public CftLanguageImportedNamespaceAwareLocalScopeProvider(final IGlobalScopeProvider globalScopeProvider, final IQualifiedNameProvider qualifiedNameProvider, final IQualifiedNameConverter qualifiedNameConverter, final ICaseInsensitivityHelper caseInsensitivityHelper) { + super(globalScopeProvider, qualifiedNameProvider, qualifiedNameConverter, caseInsensitivityHelper); + PackageNameProvider _packageNameProvider = new PackageNameProvider(qualifiedNameConverter); + this.packageNameProvider = _packageNameProvider; + } + + @Override + protected List internalGetImportedNamespaceResolvers(final EObject context, final boolean ignoreCase) { + List _xblockexpression = null; + { + final List resolvers = super.internalGetImportedNamespaceResolvers(context, ignoreCase); + final QualifiedName packageName = this.packageNameProvider.getPackageName(context); + boolean _isEmpty = packageName.isEmpty(); + boolean _not = (!_isEmpty); + if (_not) { + final ImportNormalizer packageNormalizer = this.doCreateImportNormalizer(packageName, true, ignoreCase); + resolvers.add(0, packageNormalizer); + } + _xblockexpression = resolvers; + } + return _xblockexpression; + } + + public ImportScope createImportNormalizedScope(final IScope elements, final EObject context, final EReference reference) { + ImportScope _xblockexpression = null; + { + final boolean ignoreCase = this.isIgnoreCase(reference); + final EClass type = reference.getEReferenceType(); + final List namespaceResolvers = this.getImportedNamespaceResolvers(context, ignoreCase); + _xblockexpression = this.createImportScope(elements, namespaceResolvers, null, type, ignoreCase); + } + return _xblockexpression; + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.java new file mode 100644 index 00000000..0149c8d1 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.java @@ -0,0 +1,248 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.scoping; + +import com.google.common.base.Objects; +import com.google.common.collect.Lists; +import com.google.inject.Inject; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition; +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable; +import hu.bme.mit.inf.dslreasoner.faulttree.components.scoping.AbstractCftLanguageScopeProvider; +import hu.bme.mit.inf.dslreasoner.faulttree.components.scoping.CftLanguageImportedNamespaceAwareLocalScopeProvider; +import java.util.ArrayList; +import org.eclipse.emf.common.notify.Notifier; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.viatra.query.patternlanguage.emf.vql.Pattern; +import org.eclipse.xtext.EcoreUtil2; +import org.eclipse.xtext.naming.QualifiedName; +import org.eclipse.xtext.resource.EObjectDescription; +import org.eclipse.xtext.resource.IEObjectDescription; +import org.eclipse.xtext.resource.IResourceDescriptions; +import org.eclipse.xtext.resource.IResourceDescriptionsProvider; +import org.eclipse.xtext.scoping.IScope; +import org.eclipse.xtext.scoping.Scopes; +import org.eclipse.xtext.scoping.impl.ImportScope; +import org.eclipse.xtext.scoping.impl.SimpleScope; +import org.eclipse.xtext.xbase.lib.CollectionLiterals; +import org.eclipse.xtext.xbase.lib.Functions.Function1; +import org.eclipse.xtext.xbase.lib.IterableExtensions; + +/** + * This class contains custom scoping description. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping + * on how and when to use it. + */ +@SuppressWarnings("all") +public class CftLanguageScopeProvider extends AbstractCftLanguageScopeProvider { + public static final String SINGLETON_VARIABLE_PREFIX = "_"; + + @Inject + private IResourceDescriptionsProvider resourceDescriptionsProvider; + + @Inject + private CftLanguageImportedNamespaceAwareLocalScopeProvider importedNamespaceProvider; + + @Override + public IScope getScope(final EObject context, final EReference reference) { + IScope _switchResult = null; + boolean _matched = false; + if (Objects.equal(reference, CftLanguagePackage.Literals.LOOKUP_DEFINITION__MAPPING)) { + _matched=true; + _switchResult = this.getRuleDefinitionsScope(context, reference); + } + if (!_matched) { + if (Objects.equal(reference, CftLanguagePackage.Literals.LOOKUP_DEFINITION__ARGUMENTS)) { + _matched=true; + _switchResult = this.getMappingParametersScope(context); + } + } + if (!_matched) { + if (Objects.equal(reference, CftLanguagePackage.Literals.EVENT_REFERENCE__COMPONENT)) { + _matched=true; + _switchResult = this.getComponentInstancesScope(context); + } + } + if (!_matched) { + if (Objects.equal(reference, CftLanguagePackage.Literals.EVENT_REFERENCE__EVENT)) { + _matched=true; + _switchResult = this.getEventDeclarationsScope(context); + } + } + if (!_matched) { + _switchResult = super.getScope(context, reference); + } + return _switchResult; + } + + protected IScope getRuleDefinitionsScope(final EObject context, final EReference referece) { + ImportScope _xblockexpression = null; + { + final TransformationDefinition transformationDefinition = EcoreUtil2.getContainerOfType(context, TransformationDefinition.class); + if ((transformationDefinition == null)) { + return IScope.NULLSCOPE; + } + final IResourceDescriptions resourceDescriptions = this.getResourceDescriptions(transformationDefinition); + final ArrayList mappingDefinitionDescriptions = this.toMappingDefinitionDescriptions(resourceDescriptions, + transformationDefinition.getMappingDefinitions()); + final SimpleScope ruleDefinitionsScope = new SimpleScope(IScope.NULLSCOPE, mappingDefinitionDescriptions); + _xblockexpression = this.importedNamespaceProvider.createImportNormalizedScope(ruleDefinitionsScope, context, referece); + } + return _xblockexpression; + } + + protected ArrayList toMappingDefinitionDescriptions(final IResourceDescriptions resourceDescriptions, final Iterable ruleDefinitions) { + ArrayList _xblockexpression = null; + { + final ArrayList mappingDefinitionDescriptions = Lists.newArrayListWithExpectedSize(IterableExtensions.size(ruleDefinitions)); + for (final MappingDefinition ruleDefinition : ruleDefinitions) { + { + Pattern _pattern = null; + if (ruleDefinition!=null) { + _pattern=ruleDefinition.getPattern(); + } + final Pattern pattern = _pattern; + if ((pattern != null)) { + IEObjectDescription _head = IterableExtensions.head(resourceDescriptions.getExportedObjectsByObject(pattern)); + QualifiedName _qualifiedName = null; + if (_head!=null) { + _qualifiedName=_head.getQualifiedName(); + } + final QualifiedName patternName = _qualifiedName; + if ((patternName != null)) { + IEObjectDescription _create = EObjectDescription.create(patternName, ruleDefinition); + mappingDefinitionDescriptions.add(_create); + } + } + } + } + _xblockexpression = mappingDefinitionDescriptions; + } + return _xblockexpression; + } + + private IResourceDescriptions getResourceDescriptions(final Notifier notifier) { + IResourceDescriptions _xblockexpression = null; + { + final ResourceSet resourceSet = EcoreUtil2.getResourceSet(notifier); + IResourceDescriptions _xifexpression = null; + if ((resourceSet == null)) { + _xifexpression = new IResourceDescriptions.NullImpl(); + } else { + _xifexpression = this.resourceDescriptionsProvider.getResourceDescriptions(resourceSet); + } + _xblockexpression = _xifexpression; + } + return _xblockexpression; + } + + protected IScope getMappingParametersScope(final EObject context) { + IScope _xblockexpression = null; + { + final MappingDefinition mappingDefinition = EcoreUtil2.getContainerOfType(context, MappingDefinition.class); + if ((mappingDefinition == null)) { + return IScope.NULLSCOPE; + } + final Function1 _function = (MappingParameter it) -> { + boolean _startsWith = it.getName().startsWith(CftLanguageScopeProvider.SINGLETON_VARIABLE_PREFIX); + return Boolean.valueOf((!_startsWith)); + }; + final Iterable variables = IterableExtensions.filter(mappingDefinition.getParameters(), _function); + _xblockexpression = Scopes.scopeFor(variables); + } + return _xblockexpression; + } + + protected IScope getComponentInstancesScope(final EObject context) { + IScope _xblockexpression = null; + { + final MappingDefinition mappingDefinition = EcoreUtil2.getContainerOfType(context, MappingDefinition.class); + if ((mappingDefinition == null)) { + return IScope.NULLSCOPE; + } + final ArrayList componentInstances = CollectionLiterals.newArrayList(); + componentInstances.addAll(mappingDefinition.getLookupDefinitions()); + ComponentInstance _componentInstance = mappingDefinition.getComponentInstance(); + boolean _tripleNotEquals = (_componentInstance != null); + if (_tripleNotEquals) { + ComponentInstance _componentInstance_1 = mappingDefinition.getComponentInstance(); + componentInstances.add(_componentInstance_1); + } + _xblockexpression = Scopes.scopeFor(componentInstances); + } + return _xblockexpression; + } + + protected IScope getEventDeclarationsScope(final EObject context) { + IScope _xblockexpression = null; + { + EventReference _containerOfType = EcoreUtil2.getContainerOfType(context, EventReference.class); + Variable _component = null; + if (_containerOfType!=null) { + _component=_containerOfType.getComponent(); + } + final Variable variable = _component; + ArrayList _switchResult = null; + boolean _matched = false; + if (variable instanceof ComponentInstance) { + _matched=true; + ComponentDefinition _componentType = ((ComponentInstance)variable).getComponentType(); + ArrayList _allEventDeclarations = null; + if (_componentType!=null) { + _allEventDeclarations=this.getAllEventDeclarations(_componentType); + } + _switchResult = _allEventDeclarations; + } + if (!_matched) { + if (variable instanceof LookupDefinition) { + _matched=true; + MappingDefinition _mapping = ((LookupDefinition)variable).getMapping(); + ComponentInstance _componentInstance = null; + if (_mapping!=null) { + _componentInstance=_mapping.getComponentInstance(); + } + ComponentDefinition _componentType = null; + if (_componentInstance!=null) { + _componentType=_componentInstance.getComponentType(); + } + ArrayList _allEventDeclarations = null; + if (_componentType!=null) { + _allEventDeclarations=this.getAllEventDeclarations(_componentType); + } + _switchResult = _allEventDeclarations; + } + } + if (!_matched) { + _switchResult = null; + } + final ArrayList events = _switchResult; + if ((events == null)) { + return IScope.NULLSCOPE; + } + _xblockexpression = Scopes.scopeFor(events); + } + return _xblockexpression; + } + + private ArrayList getAllEventDeclarations(final ComponentDefinition componentDefinition) { + ArrayList _xblockexpression = null; + { + final ArrayList eventDeclarations = CollectionLiterals.newArrayList(); + eventDeclarations.addAll(componentDefinition.getInputEvents()); + eventDeclarations.addAll(componentDefinition.getEventDefinitions()); + _xblockexpression = eventDeclarations; + } + return _xblockexpression; + } +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin new file mode 100644 index 00000000..c978854b Binary files /dev/null and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.gitignore new file mode 100644 index 00000000..9065804d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.gitignore @@ -0,0 +1 @@ +/.CftLanguageValidator.java._trace diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidator.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidator.java new file mode 100644 index 00000000..758d29f4 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/CftLanguageValidator.java @@ -0,0 +1,15 @@ +/** + * generated by Xtext 2.16.0 + */ +package hu.bme.mit.inf.dslreasoner.faulttree.components.validation; + +import hu.bme.mit.inf.dslreasoner.faulttree.components.validation.AbstractCftLanguageValidator; + +/** + * This class contains custom validation rules. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation + */ +@SuppressWarnings("all") +public class CftLanguageValidator extends AbstractCftLanguageValidator { +} -- cgit v1.2.3-54-g00ecf From 3f9b1c92cc35fa4ed9672a2b8601f4c22af24921 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sun, 7 Apr 2019 13:46:36 +0200 Subject: Infrastructure for objective functions --- .../.ApplicationConfigurationIdeModule.xtendbin | Bin 1701 -> 1701 bytes .../ide/.ApplicationConfigurationIdeSetup.xtendbin | Bin 2526 -> 2526 bytes .../execution/GenerationTaskExecutor.xtend | 2 +- .../application/execution/SolverLoader.xtend | 2 +- .../ApplicationConfigurationScopeProvider.xtend | 2 +- .../logic/model/builder/LogicSolver.xtend | 2 +- .../dlsreasoner/alloy/reasoner/AlloySolver.xtend | 2 +- .../alloy/reasoner/builder/AlloyHandler.xtend | 6 +- .../MultiplicityGoalConstraintCalculator.xtend | 10 +- .../viatrasolver/reasoner/ViatraReasoner.xtend | 188 +++++++++++---------- .../reasoner/ViatraReasonerConfiguration.xtend | 12 +- .../dse/BestFirstStrategyForModelGeneration.java | 57 +++---- .../viatrasolver/reasoner/dse/DseUtils.xtend | 65 +++++++ .../reasoner/dse/IThreeValuedObjective.xtend | 10 ++ .../reasoner/dse/LoggerSolutionFoundHandler.xtend | 24 +++ .../dse/ModelGenerationCompositeObjective.xtend | 77 +++++---- .../viatrasolver/reasoner/dse/SolutionCopier.xtend | 74 ++++++++ .../reasoner/dse/SolutionStoreWithCopy.xtend | 52 ------ .../SurelyViolatedObjectiveGlobalConstraint.xtend | 29 ++++ .../dse/UnfinishedMultiplicityObjective.xtend | 2 +- .../reasoner/dse/UnfinishedWFObjective.xtend | 56 ------ .../reasoner/dse/ViatraReasonerSolutionSaver.xtend | 99 +++++++++++ .../reasoner/dse/WF2ObjectiveConverter.xtend | 44 +++-- .../components/ide/.CftLanguageIdeModule.xtendbin | Bin 1712 -> 1712 bytes .../components/ide/.CftLanguageIdeSetup.xtendbin | Bin 2549 -> 2549 bytes .../components/ui/.CftLanguageUiModule.xtendbin | Bin 3606 -> 3606 bytes .../.CftLanguageProposalProvider.xtendbin | Bin 1820 -> 1820 bytes .../.CftLanguageDescriptionLabelProvider.xtendbin | Bin 1993 -> 1993 bytes .../ui/labeling/.CftLanguageLabelProvider.xtendbin | Bin 2885 -> 2885 bytes .../.CftLanguageOutlineTreeProvider.xtendbin | Bin 2451 -> 2451 bytes .../quickfix/.CftLanguageQuickfixProvider.xtendbin | Bin 1819 -> 1819 bytes ...LanguageSemanticHighlightingCalculator.xtendbin | Bin 3773 -> 3773 bytes .../.CftLanguageTokenToAttributeIdMapper.xtendbin | Bin 2740 -> 2740 bytes .../components/.CftLanguageRuntimeModule.xtendbin | Bin 3436 -> 3436 bytes .../.CftLanguageStandaloneSetup.xtendbin | Bin 2015 -> 2015 bytes .../.CftLanguageValueConverterService.xtendbin | Bin 3002 -> 3002 bytes .../conversion/.OF_INTValueConverter.xtendbin | Bin 4411 -> 4411 bytes .../generator/.CftLanguageGenerator.xtendbin | Bin 2365 -> 2365 bytes .../.CftLanguageQualifiedNameProvider.xtendbin | Bin 3630 -> 3630 bytes .../naming/.PackageNameProvider.xtendbin | Bin 3283 -> 3283 bytes ...portedNamespaceAwareLocalScopeProvider.xtendbin | Bin 4651 -> 4651 bytes .../scoping/.CftLanguageScopeProvider.xtendbin | Bin 9417 -> 9417 bytes .../validation/.CftLanguageValidator.xtendbin | Bin 1760 -> 1760 bytes .../faulttree/model/util/.CftExtensions.xtendbin | Bin 4295 -> 4295 bytes .../cft2ft/.Cft2FtTransformation.xtendbin | Bin 2825 -> 2825 bytes .../cft2ft/.EventCollection.xtendbin | Bin 7022 -> 7022 bytes .../cft2ft/.EventMaterializer.xtendbin | Bin 12110 -> 12110 bytes .../cft2ft/.FaultTreeBuilder.xtendbin | Bin 4029 -> 4029 bytes .../ecore2cft/.ComponentFaultTreeTrace.xtendbin | Bin 5530 -> 5530 bytes .../ecore2cft/.ComponentInstanceTrace.xtendbin | Bin 5932 -> 5932 bytes .../ecore2cft/.ComponentNameGenerator.xtendbin | Bin 3472 -> 3472 bytes .../ecore2cft/.Ecore2CftTransformation.xtendbin | Bin 3431 -> 3431 bytes .../transformation/ecore2cft/.InputTrace.xtendbin | Bin 4202 -> 4202 bytes .../ecore2cft/.LookupHandler.xtendbin | Bin 5169 -> 5169 bytes .../ecore2cft/.MappingHandler.xtendbin | Bin 6876 -> 6876 bytes .../ecore2cft/.MappingQueries.xtendbin | Bin 4833 -> 4833 bytes .../ft2galileo/.Ft2GalileoTransformation.xtendbin | Bin 4794 -> 4794 bytes .../solver/.ReliabilityResult.xtendbin | Bin 5435 -> 5435 bytes .../solver/.StormDftConfiguration.xtendbin | Bin 4311 -> 4311 bytes .../solver/.StormDftHandler.xtendbin | Bin 13570 -> 13570 bytes .../transformation/solver/.StormDftSolver.xtendbin | Bin 4801 -> 4801 bytes .../bin/.gitignore | 1 + .../configs/generation.vsconfig | 2 +- 63 files changed, 514 insertions(+), 304 deletions(-) create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/DseUtils.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/IThreeValuedObjective.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/LoggerSolutionFoundHandler.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionCopier.xtend delete mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SurelyViolatedObjectiveGlobalConstraint.xtend delete mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedWFObjective.xtend create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.ui/bin/.gitignore (limited to 'Solvers/Alloy-Solver') diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin index 213b9134..ba53fa44 100644 Binary files a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin and b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin differ diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin index 21d26265..81608794 100644 Binary files a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin and b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin differ diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend index 3e879539..35ffaf65 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend @@ -138,7 +138,7 @@ class GenerationTaskExecutor { // 5.2 set values that defined directly solverConfig.solutionScope = new SolutionScope => [ - it.numberOfRequiredSolution = if(task.numberSpecified) { + it.numberOfRequiredSolutions = if(task.numberSpecified) { task.number } else { 1 diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend index a9573fbf..9eceef5f 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend @@ -75,7 +75,7 @@ class SolverLoader { ] } else if(solver === Solver::VIATRA_SOLVER) { return new ViatraReasonerConfiguration => [c| - c.debugCongiguration.partialInterpretatioVisualiser = new GraphvizVisualiser + c.debugConfiguration.partialInterpretatioVisualiser = new GraphvizVisualiser if(config.containsKey("diversity-range")) { val stringValue = config.get("diversity-range") try{ diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend index 9d7e8aec..4daf9831 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend @@ -10,6 +10,7 @@ import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageI import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternEntry +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ReliabilityObjectiveFunction import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftModel import org.eclipse.emf.ecore.EClass @@ -22,7 +23,6 @@ import org.eclipse.xtext.naming.IQualifiedNameConverter import org.eclipse.xtext.scoping.Scopes import static hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage.Literals.* -import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ReliabilityObjectiveFunction /** * This class contains custom scoping description. diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend index d88e2a52..e62a3cb7 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend @@ -159,7 +159,7 @@ public class TypeScopes { */ public class SolutionScope { public static val All = Integer.MAX_VALUE; - public var numberOfRequiredSolution = 1 + public var numberOfRequiredSolutions = 1 } /** Progress monitor class for a solver to *
  • (optionally) report progress via {@link worked}
  • diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloySolver.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloySolver.xtend index 432651af..ceb78e99 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloySolver.xtend +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/AlloySolver.xtend @@ -57,7 +57,7 @@ class AlloySolver extends LogicReasoner{ val result2 = handler.callSolver(alloyProblem,workspace,alloyConfig,alloyCode) alloyConfig.progressMonitor.workedSearchFinished - val logicResult = backwardMapper.transformOutput(problem,configuration.solutionScope.numberOfRequiredSolution,result2,forwardTrace,transformationTime) + val logicResult = backwardMapper.transformOutput(problem,configuration.solutionScope.numberOfRequiredSolutions,result2,forwardTrace,transformationTime) alloyConfig.progressMonitor.workedBackwardTransformationFinished //val solverFinish = System.currentTimeMillis-solverStart // Finish: Solving Alloy problem diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend index ebbca624..033ced04 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend @@ -184,7 +184,7 @@ class AlloyCallerWithTimeout implements Callable>>{ } else { lastAnswer = lastAnswer.next } - configuration.progressMonitor.workedBackwardTransformation(configuration.solutionScope.numberOfRequiredSolution) + configuration.progressMonitor.workedBackwardTransformation(configuration.solutionScope.numberOfRequiredSolutions) val runtime = System.currentTimeMillis -startTime synchronized(this) { @@ -201,8 +201,8 @@ class AlloyCallerWithTimeout implements Callable>>{ } def hasEnoughSolution(List answers) { - if(configuration.solutionScope.numberOfRequiredSolution < 0) return false - else return answers.size() == configuration.solutionScope.numberOfRequiredSolution + if(configuration.solutionScope.numberOfRequiredSolutions < 0) return false + else return answers.size() == configuration.solutionScope.numberOfRequiredSolutions } public def getPartialAnswers() { diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/MultiplicityGoalConstraintCalculator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/MultiplicityGoalConstraintCalculator.xtend index e05160d0..4b9629df 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/MultiplicityGoalConstraintCalculator.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/MultiplicityGoalConstraintCalculator.xtend @@ -11,28 +11,28 @@ class MultiplicityGoalConstraintCalculator { val IQuerySpecification querySpecification; var ViatraQueryMatcher matcher; - public new(String targetRelationName, IQuerySpecification querySpecification) { + new(String targetRelationName, IQuerySpecification querySpecification) { this.targetRelationName = targetRelationName this.querySpecification = querySpecification this.matcher = null } - public new(MultiplicityGoalConstraintCalculator other) { + new(MultiplicityGoalConstraintCalculator other) { this.targetRelationName = other.targetRelationName this.querySpecification = other.querySpecification this.matcher = null } - def public getName() { + def getName() { targetRelationName } - def public init(Notifier notifier) { + def init(Notifier notifier) { val engine = ViatraQueryEngine.on(new EMFScope(notifier)) matcher = querySpecification.getMatcher(engine) } - def public calculateValue() { + def calculateValue() { var res = 0 val allMatches = this.matcher.allMatches for(match : allMatches) { diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend index 6639e5f3..8831b0ff 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend @@ -17,11 +17,13 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.par import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder.IdentifierBasedStateCoderFactory import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.statecoder.NeighbourhoodBasedStateCoderFactory import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.BestFirstStrategyForModelGeneration +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.LoggerSolutionFoundHandler import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ModelGenerationCompositeObjective import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.PartialModelAsLogicInterpretation import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ScopeObjective +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.SurelyViolatedObjectiveGlobalConstraint import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.UnfinishedMultiplicityObjective -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.UnfinishedWFObjective +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.ViatraReasonerSolutionSaver import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.WF2ObjectiveConverter import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace import java.util.List @@ -31,44 +33,41 @@ import org.eclipse.viatra.dse.api.DesignSpaceExplorer import org.eclipse.viatra.dse.api.DesignSpaceExplorer.DseLoggingLevel import org.eclipse.viatra.dse.solutionstore.SolutionStore import org.eclipse.viatra.dse.statecode.IStateCoderFactory -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.SolutionStoreWithDiversityDescriptor -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.DiversityGranularity -class ViatraReasoner extends LogicReasoner{ +class ViatraReasoner extends LogicReasoner { val PartialInterpretationInitialiser initialiser = new PartialInterpretationInitialiser() val ModelGenerationMethodProvider modelGenerationMethodProvider = new ModelGenerationMethodProvider - val extension LogicresultFactory factory = LogicresultFactory.eINSTANCE + val extension LogicresultFactory factory = LogicresultFactory.eINSTANCE val WF2ObjectiveConverter wf2ObjectiveConverter = new WF2ObjectiveConverter - - - override solve(LogicProblem problem, LogicSolverConfiguration configuration, ReasonerWorkspace workspace) throws LogicReasonerException { + + override solve(LogicProblem problem, LogicSolverConfiguration configuration, + ReasonerWorkspace workspace) throws LogicReasonerException { val viatraConfig = configuration.asConfig - - if(viatraConfig.debugCongiguration.logging) { + + if (viatraConfig.debugConfiguration.logging) { DesignSpaceExplorer.turnOnLogging(DseLoggingLevel.VERBOSE_FULL) } else { DesignSpaceExplorer.turnOnLogging(DseLoggingLevel.WARN) } - + val DesignSpaceExplorer dse = new DesignSpaceExplorer(); - + dse.addMetaModelPackage(LogiclanguagePackage.eINSTANCE) dse.addMetaModelPackage(LogicproblemPackage.eINSTANCE) dse.addMetaModelPackage(PartialinterpretationPackage.eINSTANCE) - + val transformationStartTime = System.nanoTime - - - - val emptySolution = initialiser.initialisePartialInterpretation(problem,viatraConfig.typeScopes).output - if((viatraConfig.documentationLevel == DocumentationLevel::FULL || viatraConfig.documentationLevel == DocumentationLevel::NORMAL) && workspace !== null) { - workspace.writeModel(emptySolution,"init.partialmodel") - } + + val emptySolution = initialiser.initialisePartialInterpretation(problem, viatraConfig.typeScopes).output + if ((viatraConfig.documentationLevel == DocumentationLevel::FULL || + viatraConfig.documentationLevel == DocumentationLevel::NORMAL) && workspace !== null) { + workspace.writeModel(emptySolution, "init.partialmodel") + } emptySolution.problemConainer = problem - + val ScopePropagator scopePropagator = new ScopePropagator(emptySolution) - scopePropagator.propagateAllScopeConstraints - + scopePropagator.propagateAllScopeConstraints + val method = modelGenerationMethodProvider.createModelGenerationMethod( problem, emptySolution, @@ -78,138 +77,151 @@ class ViatraReasoner extends LogicReasoner{ scopePropagator, viatraConfig.documentationLevel ) - + dse.addObjective(new ModelGenerationCompositeObjective( new ScopeObjective, method.unfinishedMultiplicities.map[new UnfinishedMultiplicityObjective(it)], - new UnfinishedWFObjective(method.unfinishedWF) + wf2ObjectiveConverter.createCompletenessObjective(method.unfinishedWF) )) - dse.addGlobalConstraint(wf2ObjectiveConverter.createInvalidationObjective(method.invalidWF)) - for(additionalConstraint : viatraConfig.searchSpaceConstraints.additionalGlobalConstraints) { + val solutionStore = new SolutionStore(configuration.solutionScope.numberOfRequiredSolutions) + solutionStore.registerSolutionFoundHandler(new LoggerSolutionFoundHandler(viatraConfig)) + val solutionSaver = new ViatraReasonerSolutionSaver(newArrayOfSize(0, 0)) + val solutionCopier = solutionSaver.solutionCopier + solutionStore.withSolutionSaver(solutionSaver) + dse.solutionStore = solutionStore + + dse.addGlobalConstraint(wf2ObjectiveConverter.createInvalidationGlobalConstraint(method.invalidWF)) + dse.addGlobalConstraint(new SurelyViolatedObjectiveGlobalConstraint(solutionSaver)) + for (additionalConstraint : viatraConfig.searchSpaceConstraints.additionalGlobalConstraints) { dse.addGlobalConstraint(additionalConstraint.apply(method)) } - - dse.setInitialModel(emptySolution,false) - - val IStateCoderFactory statecoder = if(viatraConfig.stateCoderStrategy == StateCoderStrategy.Neighbourhood) { - new NeighbourhoodBasedStateCoderFactory - } else { - new IdentifierBasedStateCoderFactory - } + + dse.setInitialModel(emptySolution, false) + + val IStateCoderFactory statecoder = if (viatraConfig.stateCoderStrategy == StateCoderStrategy.Neighbourhood) { + new NeighbourhoodBasedStateCoderFactory + } else { + new IdentifierBasedStateCoderFactory + } dse.stateCoderFactory = statecoder - + dse.maxNumberOfThreads = 1 - - val solutionStore = new SolutionStore(configuration.solutionScope.numberOfRequiredSolution) - dse.solutionStore = solutionStore - - for(rule : method.relationRefinementRules) { + + for (rule : method.relationRefinementRules) { dse.addTransformationRule(rule) } - for(rule : method.objectRefinementRules) { + for (rule : method.objectRefinementRules) { dse.addTransformationRule(rule) } - - val strategy = new BestFirstStrategyForModelGeneration(workspace,viatraConfig,method) + + val strategy = new BestFirstStrategyForModelGeneration(workspace, viatraConfig, method) viatraConfig.progressMonitor.workedForwardTransformation - + val transformationTime = System.nanoTime - transformationStartTime val solverStartTime = System.nanoTime - + var boolean stoppedByTimeout - var boolean stoppedByException - try{ - stoppedByTimeout = dse.startExplorationWithTimeout(strategy,configuration.runtimeLimit*1000); - stoppedByException = false + try { + stoppedByTimeout = dse.startExplorationWithTimeout(strategy, configuration.runtimeLimit * 1000); } catch (NullPointerException npe) { stoppedByTimeout = false - stoppedByException = true } val solverTime = System.nanoTime - solverStartTime viatraConfig.progressMonitor.workedSearchFinished - - //additionalMatches = strategy.solutionStoreWithCopy.additionalMatches + + // additionalMatches = strategy.solutionStoreWithCopy.additionalMatches val statistics = createStatistics => [ - //it.solverTime = viatraConfig.runtimeLimit - it.solverTime = (solverTime/1000000) as int - it.transformationTime = (transformationTime/1000000) as int - for(x : 0.. [ - it.name = '''_Solution«x»FoundAt''' - it.value = (strategy.solutionStoreWithCopy.allRuntimes.get(x)/1000000) as int + it.name = '''_Solution«pair.key»FoundAt''' + it.value = (pair.value / 1000000) as int ] } it.entries += createIntStatisticEntry => [ - it.name = "TransformationExecutionTime" it.value = (method.statistics.transformationExecutionTime/1000000) as int + it.name = "TransformationExecutionTime" + it.value = (method.statistics.transformationExecutionTime / 1000000) as int ] it.entries += createIntStatisticEntry => [ - it.name = "TypeAnalysisTime" it.value = (method.statistics.PreliminaryTypeAnalisisTime/1000000) as int + it.name = "TypeAnalysisTime" + it.value = (method.statistics.PreliminaryTypeAnalisisTime / 1000000) as int ] it.entries += createIntStatisticEntry => [ - it.name = "StateCoderTime" it.value = (statecoder.runtime/1000000) as int + it.name = "StateCoderTime" + it.value = (statecoder.runtime / 1000000) as int ] it.entries += createIntStatisticEntry => [ - it.name = "StateCoderFailCount" it.value = strategy.numberOfStatecoderFail + it.name = "StateCoderFailCount" + it.value = strategy.numberOfStatecoderFail ] it.entries += createIntStatisticEntry => [ - it.name = "SolutionCopyTime" it.value = (strategy.solutionStoreWithCopy.sumRuntime/1000000) as int + it.name = "SolutionCopyTime" + it.value = (solutionCopier.getTotalCopierRuntime / 1000000) as int ] - if(strategy.solutionStoreWithDiversityDescriptor.isActive) { + if (strategy.solutionStoreWithDiversityDescriptor.isActive) { it.entries += createIntStatisticEntry => [ - it.name = "SolutionDiversityCheckTime" it.value = (strategy.solutionStoreWithDiversityDescriptor.sumRuntime/1000000) as int + it.name = "SolutionDiversityCheckTime" + it.value = (strategy.solutionStoreWithDiversityDescriptor.sumRuntime / 1000000) as int ] it.entries += createRealStatisticEntry => [ - it.name = "SolutionDiversitySuccessRate" it.value = strategy.solutionStoreWithDiversityDescriptor.successRate + it.name = "SolutionDiversitySuccessRate" + it.value = strategy.solutionStoreWithDiversityDescriptor.successRate ] } ] - + viatraConfig.progressMonitor.workedBackwardTransformationFinished - - if(stoppedByTimeout) { - return createInsuficientResourcesResult=>[ + + if (stoppedByTimeout) { + return createInsuficientResourcesResult => [ it.problem = problem - it.resourceName="time" - it.representation += strategy.solutionStoreWithCopy.solutions + it.resourceName = "time" + it.representation += solutionCopier.getPartialInterpretations(true) it.statistics = statistics ] } else { - if(solutionStore.solutions.empty) { + if (solutionStore.solutions.empty) { return createInconsistencyResult => [ it.problem = problem - it.representation += strategy.solutionStoreWithCopy.solutions + it.representation += solutionCopier.getPartialInterpretations(true) it.statistics = statistics ] } else { return createModelResult => [ it.problem = problem - it.trace = strategy.solutionStoreWithCopy.copyTraces - it.representation += strategy.solutionStoreWithCopy.solutions + it.trace = solutionCopier.getTraces(true) + it.representation += solutionCopier.getPartialInterpretations(true) it.statistics = statistics ] } } } - private def dispatch long runtime(NeighbourhoodBasedStateCoderFactory sc) { - sc.sumStatecoderRuntime - } + private def dispatch long runtime(NeighbourhoodBasedStateCoderFactory sc) { + sc.sumStatecoderRuntime + } - private def dispatch long runtime(IdentifierBasedStateCoderFactory sc) { - sc.sumStatecoderRuntime - } + private def dispatch long runtime(IdentifierBasedStateCoderFactory sc) { + sc.sumStatecoderRuntime + } override getInterpretations(ModelResult modelResult) { - val indexes = 0..>; - val res = indexes.map[i | new PartialModelAsLogicInterpretation(modelResult.representation.get(i) as PartialInterpretation,traces.get(i))].toList + val res = indexes.map [ i | + new PartialModelAsLogicInterpretation(modelResult.representation.get(i) as PartialInterpretation, + traces.get(i)) + ].toList return res } - + private def ViatraReasonerConfiguration asConfig(LogicSolverConfiguration configuration) { - if(configuration instanceof ViatraReasonerConfiguration) { + if (configuration instanceof ViatraReasonerConfiguration) { return configuration - } else throw new IllegalArgumentException('''Wrong configuration. Expected: «ViatraReasonerConfiguration.name», but got: «configuration.class.name»"''') + } else + throw new IllegalArgumentException('''Wrong configuration. Expected: «ViatraReasonerConfiguration.name», but got: «configuration.class.name»"''') } } diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend index c4d7e231..9ef23c59 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend @@ -12,7 +12,7 @@ import java.util.List import java.util.Set import org.eclipse.xtext.xbase.lib.Functions.Function1 -public enum StateCoderStrategy { +enum StateCoderStrategy { Neighbourhood, NeighbourhoodWithEquivalence, IDBased, DefinedByDiversity } @@ -40,14 +40,14 @@ class ViatraReasonerConfiguration extends LogicSolverConfiguration{ /** * Configuration for debugging support. */ - public var DebugConfiguration debugCongiguration = new DebugConfiguration + public var DebugConfiguration debugConfiguration = new DebugConfiguration /** * Configuration for cutting search space. */ public var SearchSpaceConstraint searchSpaceConstraints = new SearchSpaceConstraint } -public class DiversityDescriptor { +class DiversityDescriptor { public var ensureDiversity = false public static val FixPointRange = -1 public var int range = FixPointRange @@ -57,19 +57,19 @@ public class DiversityDescriptor { public var Set relevantRelations = null } -public class DebugConfiguration { +class DebugConfiguration { public var logging = false public var PartialInterpretationVisualiser partialInterpretatioVisualiser = null; public var partalInterpretationVisualisationFrequency = 1 } -public class InternalConsistencyCheckerConfiguration { +class InternalConsistencyCheckerConfiguration { public var LogicReasoner internalIncosnsitencyDetector = null public var LogicSolverConfiguration internalInconsistencDetectorConfiguration = null public var incternalConsistencyCheckingFrequency = 1 } -public class SearchSpaceConstraint { +class SearchSpaceConstraint { public static val UNLIMITED_MAXDEPTH = Integer.MAX_VALUE public var int maxDepth = UNLIMITED_MAXDEPTH public var List> additionalGlobalConstraints = new LinkedList diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java index 60f46033..1234d54b 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java @@ -75,7 +75,6 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { // Running private PriorityQueue trajectoiresToExplore; private SolutionStore solutionStore; - private SolutionStoreWithCopy solutionStoreWithCopy; private SolutionStoreWithDiversityDescriptor solutionStoreWithDiversityDescriptor; private volatile boolean isInterrupted = false; private ModelResult modelResultByInternalSolver = null; @@ -97,9 +96,6 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { this.method = method; } - public SolutionStoreWithCopy getSolutionStoreWithCopy() { - return solutionStoreWithCopy; - } public SolutionStoreWithDiversityDescriptor getSolutionStoreWithDiversityDescriptor() { return solutionStoreWithDiversityDescriptor; } @@ -121,7 +117,6 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { matchers.add(matcher); } - this.solutionStoreWithCopy = new SolutionStoreWithCopy(); this.solutionStoreWithDiversityDescriptor = new SolutionStoreWithDiversityDescriptor(configuration.diversityRequirement); final ObjectiveComparatorHelper objectiveComparatorHelper = context.getObjectiveComparatorHelper(); @@ -146,13 +141,13 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { return; } - final Fitness firstFittness = context.calculateFitness(); - checkForSolution(firstFittness); + final Fitness firstfitness = context.calculateFitness(); + checkForSolution(firstfitness); final ObjectiveComparatorHelper objectiveComparatorHelper = context.getObjectiveComparatorHelper(); final Object[] firstTrajectory = context.getTrajectory().toArray(new Object[0]); - TrajectoryWithFitness currentTrajectoryWithFittness = new TrajectoryWithFitness(firstTrajectory, firstFittness); - trajectoiresToExplore.add(currentTrajectoryWithFittness); + TrajectoryWithFitness currentTrajectoryWithfitness = new TrajectoryWithFitness(firstTrajectory, firstfitness); + trajectoiresToExplore.add(currentTrajectoryWithfitness); //if(configuration) visualiseCurrentState(); @@ -167,22 +162,22 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { mainLoop: while (!isInterrupted && !configuration.progressMonitor.isCancelled()) { - if (currentTrajectoryWithFittness == null) { + if (currentTrajectoryWithfitness == null) { if (trajectoiresToExplore.isEmpty()) { logger.debug("State space is fully traversed."); return; } else { - currentTrajectoryWithFittness = selectState(); + currentTrajectoryWithfitness = selectState(); if (logger.isDebugEnabled()) { logger.debug("Current trajectory: " + Arrays.toString(context.getTrajectory().toArray())); - logger.debug("New trajectory is chosen: " + currentTrajectoryWithFittness); + logger.debug("New trajectory is chosen: " + currentTrajectoryWithfitness); } - context.getDesignSpaceManager().executeTrajectoryWithMinimalBacktrackWithoutStateCoding(currentTrajectoryWithFittness.trajectory); + context.getDesignSpaceManager().executeTrajectoryWithMinimalBacktrackWithoutStateCoding(currentTrajectoryWithfitness.trajectory); } } // visualiseCurrentState(); -// boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithFittness); +// boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithfitness); // if(consistencyCheckResult == true) { // continue mainLoop; // } @@ -194,7 +189,7 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { final Object nextActivation = iterator.next(); // if (!iterator.hasNext()) { // logger.debug("Last untraversed activation of the state."); -// trajectoiresToExplore.remove(currentTrajectoryWithFittness); +// trajectoiresToExplore.remove(currentTrajectoryWithfitness); // } logger.debug("Executing new activation: " + nextActivation); context.executeAcitvationId(nextActivation); @@ -209,7 +204,7 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { // System.out.println("---------"); // } - boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithFittness); + boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithfitness); if(consistencyCheckResult == true) { continue mainLoop; } if (context.isCurrentStateAlreadyTraversed()) { @@ -227,31 +222,31 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { continue; } - TrajectoryWithFitness nextTrajectoryWithFittness = new TrajectoryWithFitness( + TrajectoryWithFitness nextTrajectoryWithfitness = new TrajectoryWithFitness( context.getTrajectory().toArray(), nextFitness); - trajectoiresToExplore.add(nextTrajectoryWithFittness); + trajectoiresToExplore.add(nextTrajectoryWithfitness); - int compare = objectiveComparatorHelper.compare(currentTrajectoryWithFittness.fitness, - nextTrajectoryWithFittness.fitness); + int compare = objectiveComparatorHelper.compare(currentTrajectoryWithfitness.fitness, + nextTrajectoryWithfitness.fitness); if (compare < 0) { logger.debug("Better fitness, moving on: " + nextFitness); - currentTrajectoryWithFittness = nextTrajectoryWithFittness; + currentTrajectoryWithfitness = nextTrajectoryWithfitness; continue mainLoop; } else if (compare == 0) { logger.debug("Equally good fitness, moving on: " + nextFitness); - currentTrajectoryWithFittness = nextTrajectoryWithFittness; + currentTrajectoryWithfitness = nextTrajectoryWithfitness; continue mainLoop; } else { logger.debug("Worse fitness."); - currentTrajectoryWithFittness = null; + currentTrajectoryWithfitness = null; continue mainLoop; } } } logger.debug("State is fully traversed."); - trajectoiresToExplore.remove(currentTrajectoryWithFittness); - currentTrajectoryWithFittness = null; + trajectoiresToExplore.remove(currentTrajectoryWithfitness); + currentTrajectoryWithfitness = null; } logger.info("Interrupted."); @@ -269,15 +264,11 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { return activationIds; } - private void checkForSolution(final Fitness fittness) { - if (fittness.isSatisifiesHardObjectives()) { + private void checkForSolution(final Fitness fitness) { + if (fitness.isSatisifiesHardObjectives()) { if (solutionStoreWithDiversityDescriptor.isDifferent(context)) { - solutionStoreWithCopy.newSolution(context); solutionStoreWithDiversityDescriptor.newSolution(context); solutionStore.newSolution(context); - configuration.progressMonitor.workedModelFound(configuration.solutionScope.numberOfRequiredSolution); - - logger.debug("Found a solution."); } } } @@ -311,11 +302,11 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { } public void visualiseCurrentState() { - PartialInterpretationVisualiser partialInterpretatioVisualiser = configuration.debugCongiguration.partialInterpretatioVisualiser; + PartialInterpretationVisualiser partialInterpretatioVisualiser = configuration.debugConfiguration.partialInterpretatioVisualiser; if(partialInterpretatioVisualiser != null && this.configuration.documentationLevel == DocumentationLevel.FULL && workspace != null) { PartialInterpretation p = (PartialInterpretation) (context.getModel()); int id = ++numberOfPrintedModel; - if (id % configuration.debugCongiguration.partalInterpretationVisualisationFrequency == 0) { + if (id % configuration.debugConfiguration.partalInterpretationVisualisationFrequency == 0) { PartialInterpretationVisualisation visualisation = partialInterpretatioVisualiser.visualiseConcretization(p); visualisation.writeToFile(workspace, String.format("state%09d.png", id)); } diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/DseUtils.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/DseUtils.xtend new file mode 100644 index 00000000..3a897aa3 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/DseUtils.xtend @@ -0,0 +1,65 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse + +import org.eclipse.viatra.dse.base.ThreadContext +import org.eclipse.viatra.dse.objectives.Comparators +import org.eclipse.viatra.dse.objectives.Fitness +import org.eclipse.viatra.dse.objectives.IObjective + +final class DseUtils { + private new() { + throw new IllegalStateException("This is a static utility class and should not be instantiated directly.") + } + + static def calculateFitness(ThreadContext it, (IObjective)=>Double getFitness) { + val result = new Fitness + var boolean satisifiesHardObjectives = true + for (objective : objectives) { + val fitness = getFitness.apply(objective) + result.put(objective.name, fitness) + if (objective.isHardObjective() && !objective.satisifiesHardObjective(fitness)) { + satisifiesHardObjectives = false + } + } + result.satisifiesHardObjectives = satisifiesHardObjectives + result + } + + static def caclulateBestPossibleFitness(ThreadContext threadContext) { + threadContext.calculateFitness [ objective | + if (objective instanceof IThreeValuedObjective) { + objective.getBestPossibleFitness(threadContext) + } else { + switch (objective.comparator) { + case Comparators.LOWER_IS_BETTER: + Double.NEGATIVE_INFINITY + case Comparators.HIGHER_IS_BETTER: + Double.POSITIVE_INFINITY + case Comparators.DIFFERENCE_TO_ZERO_IS_BETTER: + 0.0 + default: + throw new IllegalArgumentException("Unknown comparator for non-three-valued objective: " + + objective.name) + } + } + ] + } + + static def caclulateWorstPossibleFitness(ThreadContext threadContext) { + threadContext.calculateFitness [ objective | + if (objective instanceof IThreeValuedObjective) { + objective.getWorstPossibleFitness(threadContext) + } else { + switch (objective.comparator) { + case Comparators.LOWER_IS_BETTER, + case Comparators.DIFFERENCE_TO_ZERO_IS_BETTER: + Double.POSITIVE_INFINITY + case Comparators.HIGHER_IS_BETTER: + Double.NEGATIVE_INFINITY + default: + throw new IllegalArgumentException("Unknown comparator for non-three-valued objective: " + + objective.name) + } + } + ] + } +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/IThreeValuedObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/IThreeValuedObjective.xtend new file mode 100644 index 00000000..8c93d4ec --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/IThreeValuedObjective.xtend @@ -0,0 +1,10 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse + +import org.eclipse.viatra.dse.base.ThreadContext +import org.eclipse.viatra.dse.objectives.IObjective + +interface IThreeValuedObjective extends IObjective { + def Double getWorstPossibleFitness(ThreadContext threadContext) + + def Double getBestPossibleFitness(ThreadContext threadContext) +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/LoggerSolutionFoundHandler.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/LoggerSolutionFoundHandler.xtend new file mode 100644 index 00000000..39ef5f9a --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/LoggerSolutionFoundHandler.xtend @@ -0,0 +1,24 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse + +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration +import org.apache.log4j.Logger +import org.eclipse.viatra.dse.api.SolutionTrajectory +import org.eclipse.viatra.dse.base.ThreadContext +import org.eclipse.viatra.dse.solutionstore.ISolutionFoundHandler +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor + +@FinalFieldsConstructor +class LoggerSolutionFoundHandler implements ISolutionFoundHandler { + val ViatraReasonerConfiguration configuration + + val logger = Logger.getLogger(SolutionCopier) + + override solutionFound(ThreadContext context, SolutionTrajectory trajectory) { + configuration.progressMonitor.workedModelFound(configuration.solutionScope.numberOfRequiredSolutions) + logger.debug("Found a solution.") + } + + override solutionTriedToSave(ThreadContext context, SolutionTrajectory trajectory) { + // We are not interested in invalid solutions, ignore. + } +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend index 2489c751..af6d1bbd 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ModelGenerationCompositeObjective.xtend @@ -1,11 +1,12 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse +import com.google.common.collect.ImmutableList import java.util.Comparator import java.util.List import org.eclipse.viatra.dse.base.ThreadContext import org.eclipse.viatra.dse.objectives.Comparators import org.eclipse.viatra.dse.objectives.IObjective -import org.eclipse.viatra.dse.objectives.impl.BaseObjective +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor //class ViatraReasonerNumbers { // public static val scopePriority = 2 @@ -22,64 +23,66 @@ import org.eclipse.viatra.dse.objectives.impl.BaseObjective // public static val compositePriority = 2 //} -class ModelGenerationCompositeObjective implements IObjective{ - val ScopeObjective scopeObjective - val List unfinishedMultiplicityObjectives - val UnfinishedWFObjective unfinishedWFObjective - - public new( - ScopeObjective scopeObjective, - List unfinishedMultiplicityObjectives, - UnfinishedWFObjective unfinishedWFObjective) - { - this.scopeObjective = scopeObjective - this.unfinishedMultiplicityObjectives = unfinishedMultiplicityObjectives - this.unfinishedWFObjective = unfinishedWFObjective - } - +@FinalFieldsConstructor +class ModelGenerationCompositeObjective implements IThreeValuedObjective { + val IObjective scopeObjective + val List unfinishedMultiplicityObjectives + val IObjective unfinishedWFObjective + override init(ThreadContext context) { this.scopeObjective.init(context) this.unfinishedMultiplicityObjectives.forEach[it.init(context)] this.unfinishedWFObjective.init(context) } - + override createNew() { return new ModelGenerationCompositeObjective( - this.scopeObjective, this.unfinishedMultiplicityObjectives, this.unfinishedWFObjective) + scopeObjective.createNew, + ImmutableList.copyOf(unfinishedMultiplicityObjectives.map[createNew]), + unfinishedWFObjective.createNew + ) } - + override getComparator() { Comparators.LOWER_IS_BETTER } + override getFitness(ThreadContext context) { var sum = 0.0 val scopeFitnes = scopeObjective.getFitness(context) - //val unfinishedMultiplicitiesFitneses = unfinishedMultiplicityObjectives.map[x|x.getFitness(context)] + // val unfinishedMultiplicitiesFitneses = unfinishedMultiplicityObjectives.map[x|x.getFitness(context)] val unfinishedWFsFitness = unfinishedWFObjective.getFitness(context) - - sum+=scopeFitnes + + sum += scopeFitnes var multiplicity = 0.0 - for(multiplicityObjective : unfinishedMultiplicityObjectives) { - multiplicity+=multiplicityObjective.getFitness(context)//*0.5 + for (multiplicityObjective : unfinishedMultiplicityObjectives) { + multiplicity += multiplicityObjective.getFitness(context) // *0.5 } - sum+=multiplicity - sum += unfinishedWFsFitness//*0.5 - - //println('''Sum=«sum»|Scope=«scopeFitnes»|Multiplicity=«multiplicity»|WFs=«unfinishedWFsFitness»''') - + sum += multiplicity + sum += unfinishedWFsFitness // *0.5 + // println('''Sum=«sum»|Scope=«scopeFitnes»|Multiplicity=«multiplicity»|WFs=«unfinishedWFsFitness»''') return sum } - override getLevel() { 2 } - override getName() { "CompositeUnfinishednessObjective"} + override getWorstPossibleFitness(ThreadContext threadContext) { + Double.POSITIVE_INFINITY + } + override getBestPossibleFitness(ThreadContext threadContext) { + 0.0 + } + + override getLevel() { 2 } + + override getName() { "CompositeUnfinishednessObjective" } + override isHardObjective() { true } + override satisifiesHardObjective(Double fitness) { fitness <= 0.001 } - - + override setComparator(Comparator comparator) { - throw new UnsupportedOperationException("TODO: auto-generated method stub") + throw new UnsupportedOperationException("Model generation objective comparator cannot be set.") } + override setLevel(int level) { - throw new UnsupportedOperationException("TODO: auto-generated method stub") + throw new UnsupportedOperationException("Model generation objective level cannot be set.") } - -} \ No newline at end of file +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionCopier.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionCopier.xtend new file mode 100644 index 00000000..d036257d --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionCopier.xtend @@ -0,0 +1,74 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse + +import com.google.common.collect.ImmutableList +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import java.util.LinkedHashMap +import java.util.List +import java.util.Map +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.util.EcoreUtil +import org.eclipse.viatra.dse.base.ThreadContext +import org.eclipse.xtend.lib.annotations.Accessors +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor + +@FinalFieldsConstructor +class CopiedSolution { + @Accessors val PartialInterpretation partialInterpretations + @Accessors val Map trace + @Accessors val long copierRuntime + @Accessors var boolean current = true +} + +class SolutionCopier { + val copiedSolutions = new LinkedHashMap + + long startTime = System.nanoTime + @Accessors(PUBLIC_GETTER) long totalCopierRuntime = 0 + + def void copySolution(ThreadContext context, Object solutionId) { + val existingCopy = copiedSolutions.get(solutionId) + if (existingCopy === null) { + val copyStart = System.nanoTime + val solution = context.model as PartialInterpretation + val copier = new EcoreUtil.Copier + val copiedPartialInterpretation = copier.copy(solution) as PartialInterpretation + copier.copyReferences + totalCopierRuntime += System.nanoTime - copyStart + val copierRuntime = System.nanoTime - startTime + val copiedSolution = new CopiedSolution(copiedPartialInterpretation, copier, copierRuntime) + copiedSolutions.put(solutionId, copiedSolution) + } else { + existingCopy.current = true + } + } + + def void markAsObsolete(Object solutionId) { + val copiedSolution = copiedSolutions.get(solutionId) + if (copiedSolution === null) { + throw new IllegalStateException("No solution to mark as obsolete for state code: " + solutionId) + } + copiedSolution.current = false + } + + def List getPartialInterpretations(boolean currentOnly) { + getListOfCopiedSolutions(currentOnly).map[partialInterpretations] + } + + def List> getTraces(boolean currentOnly) { + getListOfCopiedSolutions(currentOnly).map[trace] + } + + def List getAllCopierRuntimes(boolean currentOnly) { + getListOfCopiedSolutions(currentOnly).map[copierRuntime] + } + + def List getListOfCopiedSolutions(boolean currentOnly) { + val values = copiedSolutions.values + val filteredSolutions = if (currentOnly) { + values.filter[current] + } else { + values + } + ImmutableList.copyOf(filteredSolutions) + } +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend deleted file mode 100644 index a8b7301e..00000000 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend +++ /dev/null @@ -1,52 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse - -import java.util.List -import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation -import java.util.LinkedList -import org.eclipse.emf.ecore.EObject -import java.util.Map -import org.eclipse.emf.ecore.util.EcoreUtil -import org.eclipse.viatra.dse.base.ThreadContext -import java.util.TreeMap -import java.util.SortedMap - -class SolutionStoreWithCopy { - - long runtime = 0 - List solutions = new LinkedList - //public List> additionalMatches = new LinkedList - List> copyTraces = new LinkedList - - long sartTime = System.nanoTime - List solutionTimes = new LinkedList - - /*def newSolution(ThreadContext context, SortedMap additonalMatch) { - additionalMatches+= additonalMatch - newSolution(context) - }*/ - - def newSolution(ThreadContext context) { - //print(System.nanoTime-initTime + ";") - val copyStart = System.nanoTime - val solution = context.model as PartialInterpretation - val copier = new EcoreUtil.Copier - val solutionCopy = copier.copy(solution) as PartialInterpretation - copier.copyReferences - solutions.add(solutionCopy) - copyTraces.add(copier) - runtime += System.nanoTime - copyStart - solutionTimes.add(System.nanoTime-sartTime) - } - def getSumRuntime() { - return runtime - } - def getAllRuntimes() { - return solutionTimes - } - def getSolutions() { - solutions - } - def getCopyTraces() { - return copyTraces - } -} \ No newline at end of file diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SurelyViolatedObjectiveGlobalConstraint.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SurelyViolatedObjectiveGlobalConstraint.xtend new file mode 100644 index 00000000..7fd494a0 --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SurelyViolatedObjectiveGlobalConstraint.xtend @@ -0,0 +1,29 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse + +import org.eclipse.viatra.dse.base.ThreadContext +import org.eclipse.viatra.dse.objectives.IGlobalConstraint +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor + +@FinalFieldsConstructor +class SurelyViolatedObjectiveGlobalConstraint implements IGlobalConstraint { + val ViatraReasonerSolutionSaver solutionSaver + + override init(ThreadContext context) { + if (solutionSaver !== null) { + return + } + } + + override createNew() { + this + } + + override getName() { + class.name + } + + override checkGlobalConstraint(ThreadContext context) { + val bestFitness = DseUtils.caclulateBestPossibleFitness(context) + bestFitness.satisifiesHardObjectives && !solutionSaver.isFitnessDominated(bestFitness) + } +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend index aad9a448..7d0a7884 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedMultiplicityObjective.xtend @@ -9,7 +9,7 @@ import org.eclipse.viatra.dse.objectives.Comparators class UnfinishedMultiplicityObjective implements IObjective { val MultiplicityGoalConstraintCalculator unfinishedMultiplicity; - public new(MultiplicityGoalConstraintCalculator unfinishedMultiplicity) { + new(MultiplicityGoalConstraintCalculator unfinishedMultiplicity) { this.unfinishedMultiplicity = unfinishedMultiplicity } diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedWFObjective.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedWFObjective.xtend deleted file mode 100644 index e0111cf6..00000000 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/UnfinishedWFObjective.xtend +++ /dev/null @@ -1,56 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse - -import org.eclipse.viatra.dse.objectives.IObjective -import org.eclipse.viatra.query.runtime.api.IPatternMatch -import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher -import org.eclipse.viatra.query.runtime.api.IQuerySpecification -import java.util.Collection -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine -import org.eclipse.viatra.query.runtime.emf.EMFScope -import org.eclipse.viatra.dse.base.ThreadContext -import java.util.List -import org.eclipse.viatra.dse.objectives.Comparators -import java.util.ArrayList -import java.util.Comparator - -class UnfinishedWFObjective implements IObjective { - Collection>> unfinishedWFs - val List> matchers - - public new(Collection>> unfinishedWFs) { - this.unfinishedWFs = unfinishedWFs - matchers = new ArrayList(unfinishedWFs.size) - } - override getName() '''unfinishedWFs''' - override createNew() { - return new UnfinishedWFObjective(unfinishedWFs) - } - override init(ThreadContext context) { - val engine = context.queryEngine//ViatraQueryEngine.on(new EMFScope(context.model)) - for(unfinishedWF : unfinishedWFs) { - matchers += unfinishedWF.getMatcher(engine) - } - } - - override getComparator() { Comparators.LOWER_IS_BETTER } - override getFitness(ThreadContext context) { - var sumOfMatches = 0 - for(matcher : matchers) { - val number = matcher.countMatches - //println('''«matcher.patternName» = «number»''') - sumOfMatches+=number - } - return sumOfMatches.doubleValue - } - - override getLevel() { 2 } - override isHardObjective() { true } - override satisifiesHardObjective(Double fitness) { return fitness <=0.01 } - - override setComparator(Comparator comparator) { - throw new UnsupportedOperationException("TODO: auto-generated method stub") - } - override setLevel(int level) { - throw new UnsupportedOperationException("TODO: auto-generated method stub") - } -} \ No newline at end of file diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend new file mode 100644 index 00000000..5877778e --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/ViatraReasonerSolutionSaver.xtend @@ -0,0 +1,99 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse + +import java.util.HashMap +import java.util.Map +import org.eclipse.viatra.dse.api.DSEException +import org.eclipse.viatra.dse.api.Solution +import org.eclipse.viatra.dse.api.SolutionTrajectory +import org.eclipse.viatra.dse.base.ThreadContext +import org.eclipse.viatra.dse.objectives.Fitness +import org.eclipse.viatra.dse.objectives.IObjective +import org.eclipse.viatra.dse.objectives.ObjectiveComparatorHelper +import org.eclipse.viatra.dse.solutionstore.SolutionStore.ISolutionSaver +import org.eclipse.xtend.lib.annotations.Accessors + +/** + * Based on {@link org.eclipse.viatra.dse.solutionstore.SolutionStore.BestSolutionSaver}. + */ +class ViatraReasonerSolutionSaver implements ISolutionSaver { + @Accessors val solutionCopier = new SolutionCopier + val boolean hasExtremalObjectives + val ObjectiveComparatorHelper comparatorHelper + val Map trajectories = new HashMap + + @Accessors(PUBLIC_SETTER) var Map solutionsCollection + + new(IObjective[][] leveledExtremalObjectives) { + comparatorHelper = new ObjectiveComparatorHelper(leveledExtremalObjectives) + hasExtremalObjectives = leveledExtremalObjectives.exists[!empty] + } + + override saveSolution(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory) { + if (hasExtremalObjectives) { + saveBestSolutionOnly(context, id, solutionTrajectory) + } else { + basicSaveSolution(context, id, solutionTrajectory) + } + } + + private def saveBestSolutionOnly(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory) { + val fitness = context.lastFitness + val dominatedTrajectories = newArrayList + for (entry : trajectories.entrySet) { + val isLastFitnessBetter = comparatorHelper.compare(fitness, entry.value) + if (isLastFitnessBetter < 0) { + // Found a trajectory that dominates the current one, no need to save + return false + } + if (isLastFitnessBetter > 0) { + dominatedTrajectories += entry.key + } + } + // We must save the new trajectory before removing dominated trajectories + // to avoid removing the current solution when it is reachable only via dominated trajectories. + val solutionSaved = basicSaveSolution(context, id, solutionTrajectory) + for (dominatedTrajectory : dominatedTrajectories) { + trajectories -= dominatedTrajectory + val dominatedSolution = dominatedTrajectory.solution + if (!dominatedSolution.trajectories.remove(dominatedTrajectory)) { + throw new DSEException( + "Dominated solution is not reachable from dominated trajectory. This should never happen!") + } + if (dominatedSolution.trajectories.empty) { + val dominatedSolutionId = dominatedSolution.stateCode + solutionCopier.markAsObsolete(dominatedSolutionId) + solutionsCollection -= dominatedSolutionId + } + } + solutionSaved + } + + private def basicSaveSolution(ThreadContext context, Object id, SolutionTrajectory solutionTrajectory) { + val fitness = context.lastFitness + var boolean solutionSaved = false + var dseSolution = solutionsCollection.get(id) + if (dseSolution === null) { + solutionCopier.copySolution(context, id) + dseSolution = new Solution(id, solutionTrajectory) + solutionsCollection.put(id, dseSolution) + solutionSaved = true + } else { + solutionSaved = dseSolution.trajectories.add(solutionTrajectory) + } + if (solutionSaved) { + solutionTrajectory.solution = dseSolution + trajectories.put(solutionTrajectory, fitness) + } + solutionSaved + } + + def isFitnessDominated(Fitness fitness) { + for (existingFitness : trajectories.values) { + val isNewFitnessBetter = comparatorHelper.compare(fitness, existingFitness) + if (isNewFitnessBetter < 0) { + return true + } + } + false + } +} diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend index 5a528a9e..c601de40 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend @@ -1,5 +1,6 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse +import com.google.common.collect.ImmutableList import java.util.ArrayList import java.util.Collection import org.eclipse.viatra.dse.objectives.Comparators @@ -12,25 +13,34 @@ import org.eclipse.viatra.query.runtime.api.IQuerySpecification import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher class WF2ObjectiveConverter { - + static val UNFINISHED_WFS_NAME = "unfinishedWFs" + static val INVALIDATED_WFS_NAME = "invalidatedWFs" + def createCompletenessObjective( - Collection>> unfinishedWF) - { - val res = new ConstraintsObjective('''unfinishedWFs''', - unfinishedWF.map[ - new QueryConstraint(it.fullyQualifiedName,it,2.0) - ].toList + Collection>> unfinishedWF) { + createConstraintObjective(UNFINISHED_WFS_NAME, unfinishedWF) + } + + def createInvalidationObjective( + Collection>> invalidatedByWF) { + createConstraintObjective(INVALIDATED_WFS_NAME, invalidatedByWF) + } + + def IGlobalConstraint createInvalidationGlobalConstraint( + Collection>> invalidatedByWF) { + new ModelQueriesGlobalConstraint(INVALIDATED_WFS_NAME, new ArrayList(invalidatedByWF)) + } + + private def createConstraintObjective(String name, + Collection>> queries) { + val res = new ConstraintsObjective( + name, + ImmutableList.copyOf(queries.map [ + new QueryConstraint(it.fullyQualifiedName, it, 1.0) + ]) ) res.withComparator(Comparators.LOWER_IS_BETTER) res.level = 2 - return res - } - - def IGlobalConstraint createInvalidationObjective( - Collection>> invalidatedByWF) - { - return new ModelQueriesGlobalConstraint('''invalidatedWFs''', - new ArrayList(invalidatedByWF) - ) + res } -} \ No newline at end of file +} diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin index b05b37d4..2c3fb067 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeModule.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin index 7a01ace8..dd1a46c1 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ide/.CftLanguageIdeSetup.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin index 0e56af1c..1694059d 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/.CftLanguageUiModule.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin index e3b08949..e89abd97 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/contentassist/.CftLanguageProposalProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin index a9a231c9..c2485146 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageDescriptionLabelProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin index c96ad697..cdef3946 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/labeling/.CftLanguageLabelProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin index 7c4945f3..04b65373 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/outline/.CftLanguageOutlineTreeProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin index 6f9ed2db..13419ed3 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/quickfix/.CftLanguageQuickfixProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageSemanticHighlightingCalculator.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageSemanticHighlightingCalculator.xtendbin index 319b1a7b..42bf1c75 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageSemanticHighlightingCalculator.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageSemanticHighlightingCalculator.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageTokenToAttributeIdMapper.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageTokenToAttributeIdMapper.xtendbin index 64980787..09c27dfe 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageTokenToAttributeIdMapper.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components.ui/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/ui/syntaxcoloring/.CftLanguageTokenToAttributeIdMapper.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin index e3eb300d..25c11260 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageRuntimeModule.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin index cf472a5c..7a10919f 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/.CftLanguageStandaloneSetup.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.CftLanguageValueConverterService.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.CftLanguageValueConverterService.xtendbin index 9e436c25..f4a74d7b 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.CftLanguageValueConverterService.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.CftLanguageValueConverterService.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.OF_INTValueConverter.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.OF_INTValueConverter.xtendbin index 8dcb67ce..8d4c818e 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.OF_INTValueConverter.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/conversion/.OF_INTValueConverter.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin index f55b7c31..79e0e382 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/generator/.CftLanguageGenerator.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin index 1f55e190..51f5e2fe 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.CftLanguageQualifiedNameProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin index d7439d22..cf8f603b 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/naming/.PackageNameProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin index 4fbc7cd3..116d5bc1 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin index 5b585e60..7a6eb47e 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin index 481a23f6..fbb89193 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/validation/.CftLanguageValidator.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/util/.CftExtensions.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/util/.CftExtensions.xtendbin index 390ee219..0e63880f 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/util/.CftExtensions.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.model/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/model/util/.CftExtensions.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.Cft2FtTransformation.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.Cft2FtTransformation.xtendbin index 594bfecb..dfae40e9 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.Cft2FtTransformation.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.Cft2FtTransformation.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventCollection.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventCollection.xtendbin index a868ae36..0aaf712d 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventCollection.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventCollection.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventMaterializer.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventMaterializer.xtendbin index f7ca5531..e51f73a6 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventMaterializer.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.EventMaterializer.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.FaultTreeBuilder.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.FaultTreeBuilder.xtendbin index 1d15efbb..89e003dc 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.FaultTreeBuilder.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/.FaultTreeBuilder.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentFaultTreeTrace.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentFaultTreeTrace.xtendbin index 3fce519e..028440a8 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentFaultTreeTrace.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentFaultTreeTrace.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentInstanceTrace.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentInstanceTrace.xtendbin index 564e58c4..d542ba2d 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentInstanceTrace.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentInstanceTrace.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentNameGenerator.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentNameGenerator.xtendbin index ebcfced8..949da0cd 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentNameGenerator.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.ComponentNameGenerator.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.Ecore2CftTransformation.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.Ecore2CftTransformation.xtendbin index d4b5ecdb..82c045e2 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.Ecore2CftTransformation.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.Ecore2CftTransformation.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.InputTrace.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.InputTrace.xtendbin index 1faa21b3..ffd70c04 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.InputTrace.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.InputTrace.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.LookupHandler.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.LookupHandler.xtendbin index afc40951..418c71d4 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.LookupHandler.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.LookupHandler.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingHandler.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingHandler.xtendbin index 419b9490..86c0d704 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingHandler.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingHandler.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingQueries.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingQueries.xtendbin index 0e703f40..c9dda5c4 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingQueries.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/.MappingQueries.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/.Ft2GalileoTransformation.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/.Ft2GalileoTransformation.xtendbin index 41e6e441..0956e6e0 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/.Ft2GalileoTransformation.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ft2galileo/.Ft2GalileoTransformation.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.ReliabilityResult.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.ReliabilityResult.xtendbin index ef8c3b88..cdaacb58 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.ReliabilityResult.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.ReliabilityResult.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftConfiguration.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftConfiguration.xtendbin index 4aff77d3..6e1908aa 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftConfiguration.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftConfiguration.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftHandler.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftHandler.xtendbin index a2c634bc..5772b0e7 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftHandler.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftHandler.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftSolver.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftSolver.xtendbin index 45f12291..e1c1a8c7 100644 Binary files a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftSolver.xtendbin and b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/solver/.StormDftSolver.xtendbin differ diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.ui/bin/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.ui/bin/.gitignore new file mode 100644 index 00000000..1c0a02cd --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.ui/bin/.gitignore @@ -0,0 +1 @@ +/hu/ diff --git a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/configs/generation.vsconfig b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/configs/generation.vsconfig index 9a073728..490d6942 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/configs/generation.vsconfig +++ b/Tests/hu.bme.mit.inf.dslreasoner.application.FAMTest/configs/generation.vsconfig @@ -7,7 +7,7 @@ generate { partial-model = { "inputs/FamInstance.xmi"} solver = ViatraSolver scope = { - #node = 5 + #node = 500 } config = { -- cgit v1.2.3-54-g00ecf From b15b3d49ead78c9124a98ab982a4488e4d7bc3d4 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 29 Oct 2019 17:32:38 +0100 Subject: Alloy cardinality fixes --- .../alloy/reasoner/queries/typeQueries.vql | 2 +- .../alloy/reasoner/builder/Alloy2LogicMapper.xtend | 2 +- .../reasoner/builder/AlloyModelInterpretation.xtend | 2 +- ...AlloyLanguageMapper_TypeMapper_FilteredTypes.xtend | 2 +- .../alloy/reasoner/builder/RunCommandMapper.xtend | 19 +++++++++++++++---- 5 files changed, 19 insertions(+), 8 deletions(-) (limited to 'Solvers/Alloy-Solver') diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/typeQueries.vql b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/typeQueries.vql index 8d93cafb..14cf3594 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/typeQueries.vql +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/queries/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/queries/typeQueries.vql @@ -81,5 +81,5 @@ private pattern typeDoesNotCoverElementOccurance(element: DefinedElement, type: find supertype(containerType,type); TypeDefinition.elements(containerType,element); TypeDefinition.elements(uncoveredOccurance,element); - neg find supertype(uncoveredOccurance,type); + neg find supertype(type,uncoveredOccurance); } \ No newline at end of file diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Alloy2LogicMapper.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Alloy2LogicMapper.xtend index 2efd6b29..328ca176 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Alloy2LogicMapper.xtend +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Alloy2LogicMapper.xtend @@ -9,7 +9,7 @@ class Alloy2LogicMapper { public def transformOutput(LogicProblem problem, int requiredNumberOfSolution, MonitoredAlloySolution monitoredAlloySolution, Logic2AlloyLanguageMapperTrace trace, long transformationTime) { val models = monitoredAlloySolution.aswers.map[it.key].toList - if(!monitoredAlloySolution.finishedBeforeTimeout) { + if(models.empty || !monitoredAlloySolution.finishedBeforeTimeout) { return createInsuficientResourcesResult => [ it.problem = problem it.representation += models diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend index 107aa001..29eabe2c 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyModelInterpretation.xtend @@ -117,7 +117,7 @@ class AlloyModelInterpretation implements LogicModelInterpretation{ for(atom: allAtoms) { val typeName = getName(atom.type) val atomName = atom.name - println(atom.toString + " < - " + typeName) +// println(atom.toString + " < - " + typeName) if(typeName == forwardTrace.logicLanguage.name) { this.logicLanguage = atom } else if(typeName == "Int" || typeName == "seq/Int") { diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes.xtend index 397fb84b..ae7a1e6b 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes.xtend +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes.xtend @@ -124,7 +124,7 @@ class Logic2AlloyLanguageMapper_TypeMapper_FilteredTypes implements Logic2AlloyL for(type : types.filter[it.supertypes.size>=2]) { trace.specification.factDeclarations += createALSFactDeclaration => [ it.name = support.toIDMultiple("abstract",type.name) - it.term = createALSEquals => [ + it.term = createALSSubset => [ it.leftOperand = createALSReference => [ it.referred = type.lookup(typeTrace.type2ALSType) ] it.rightOperand = support.unfoldIntersection(type.supertypes.map[e| createALSReference => [it.referred = e.lookup(typeTrace.type2ALSType)]]) diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/RunCommandMapper.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/RunCommandMapper.xtend index 494197bc..b74017d8 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/RunCommandMapper.xtend +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/RunCommandMapper.xtend @@ -9,8 +9,12 @@ import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSString import hu.bme.mit.inf.dslreasoner.alloyLanguage.ALSTerm import hu.bme.mit.inf.dslreasoner.alloyLanguage.AlloyLanguageFactory import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition import java.util.List +import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* + class RunCommandMapper { val extension AlloyLanguageFactory factory = AlloyLanguageFactory.eINSTANCE val Logic2AlloyLanguageMapper_Support support = new Logic2AlloyLanguageMapper_Support; @@ -89,16 +93,18 @@ class RunCommandMapper { ] for(upperLimit : config.typeScopes.maxNewElementsByType.entrySet) { - val limit = upperLimit.value + val type = upperLimit.key + val limit = upperLimit.value + getExistingCount(type) if(limit != LogicSolverConfiguration::Unlimited) { - this.typeScopeMapping.addUpperMultiplicity(specification,upperLimit.key,limit,mapper,trace) + this.typeScopeMapping.addUpperMultiplicity(specification,type,limit,mapper,trace) } } for(lowerLimit : config.typeScopes.minNewElementsByType.entrySet) { - val limit = lowerLimit.value + val type = lowerLimit.key + val limit = lowerLimit.value + getExistingCount(type) if(limit != 0) { - this.typeScopeMapping.addLowerMultiplicity(specification,lowerLimit.key,limit,mapper,trace) + this.typeScopeMapping.addLowerMultiplicity(specification,type,limit,mapper,trace) } } @@ -106,6 +112,11 @@ class RunCommandMapper { setStringScope(specification,config,specification.runCommand) } + private def getExistingCount(Type type) { + val existing = type.transitiveClosureStar[it.subtypes].filter(TypeDefinition).map[elements].flatten.toSet + existing.size + } + protected def Boolean setStringScope(ALSDocument specification, AlloySolverConfiguration config, ALSRunCommand it) { if(config.typeScopes.maxNewStrings === LogicSolverConfiguration::Unlimited) { throw new UnsupportedOperationException('''A string scope have to be specified for Alloy!''') -- cgit v1.2.3-54-g00ecf From b84e5c63aaded9d15d38b43ea9fbfb09a976e12a Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Wed, 12 Feb 2020 20:40:38 +0100 Subject: Fix concurrency bug in AlloyHandler --- .../inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'Solvers/Alloy-Solver') diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend index ed2ef6b7..451aad6e 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/AlloyHandler.xtend @@ -101,15 +101,8 @@ class AlloyHandler { try{ answers = future.get(configuration.runtimeLimit,TimeUnit.SECONDS) finished = true - } catch (TimeoutException ex) { - // handle the timeout - } catch (InterruptedException e) { - // handle the interrupts - } catch (ExecutionException e) { - // handle other exceptions - } finally { - future.cancel(true); - + } catch (TimeoutException | InterruptedException | ExecutionException e) { + future.cancel(true) answers = callable.partialAnswers finished = false } -- cgit v1.2.3-54-g00ecf From 6a3ff9bb588bf47242a56b91e35479dbba38eb19 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 7 May 2020 17:26:07 +0200 Subject: Scope unsat benchmarks --- .../.ApplicationConfigurationIdeModule.xtendbin | Bin 1701 -> 1701 bytes .../ide/.ApplicationConfigurationIdeSetup.xtendbin | Bin 2570 -> 2526 bytes .../Examples/ModelGenExampleFAM_plugin/.project | 6 + .../Examples/ModelGenExampleFAM_plugin/plugin.xml | 18 +- .../dslreasoner/domains/alloyexamples/Ecore.vql | 10 + .../plugin.xml | 2 + .../dslreasoner/domains/alloyexamples/.gitignore | 5 + .../alloyexamples/Unsat_loopInInheritance.java | 566 +++++++++++++++++ .../domains/alloyexamples/Unsat_subpackage.java | 704 +++++++++++++++++++++ .../domains/alloyexamples/internal/.gitignore | 4 + .../plugin.xml | 12 +- .../domains/satellite/queries/SatelliteQueries.vql | 13 + .../plugin.xml | 1 + .../partialsnapshot_mavo/yakindu/patterns.vql | 11 + .../.classpath | 26 +- .../META-INF/MANIFEST.MF | 7 +- .../NeighbourhoodBasedStateCoderFactory.xtend | 9 +- .../reasoner/ViatraReasonerConfiguration.xtend | 2 +- ..._ViatraSolver_polyhedral_typeHierarchy_Clp.json | 16 - .../configs/Yakindu.json | 13 + ..._ViatraSolver_polyhedral_typeHierarchy_Clp.json | 17 - .../configs/ecore.json | 17 + ..._ViatraSolver_polyhedral_typeHierarchy_Clp.json | 16 - ..._ViatraSolver_polyhedral_typeHierarchy_Clp.json | 16 - .../configs/satellite.json | 17 + ..._ViatraSolver_polyhedral_typeHierarchy_Clp.json | 17 - .../mit/inf/dslreasoner/run/MetamodelLoader.xtend | 63 +- .../dslreasoner/run/script/MeasurementScript.xtend | 13 +- .../run/script/MeasurementScriptRunner.xtend | 46 +- 29 files changed, 1511 insertions(+), 136 deletions(-) create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Unsat_loopInInheritance.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Unsat_subpackage.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/internal/.gitignore delete mode 100644 Tests/hu.bme.mit.inf.dslreasoner.run/configs/FAM_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json create mode 100644 Tests/hu.bme.mit.inf.dslreasoner.run/configs/Yakindu.json delete mode 100644 Tests/hu.bme.mit.inf.dslreasoner.run/configs/Yakindu_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json create mode 100644 Tests/hu.bme.mit.inf.dslreasoner.run/configs/ecore.json delete mode 100644 Tests/hu.bme.mit.inf.dslreasoner.run/configs/ecore_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json delete mode 100644 Tests/hu.bme.mit.inf.dslreasoner.run/configs/fs_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json create mode 100644 Tests/hu.bme.mit.inf.dslreasoner.run/configs/satellite.json delete mode 100644 Tests/hu.bme.mit.inf.dslreasoner.run/configs/satellite_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json (limited to 'Solvers/Alloy-Solver') diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin index 83195553..c8086733 100644 Binary files a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin and b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeModule.xtendbin differ diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin index f5085470..1a907776 100644 Binary files a/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin and b/Application/hu.bme.mit.inf.dslreasoner.application.ide/xtend-gen/hu/bme/mit/inf/dslreasoner/application/ide/.ApplicationConfigurationIdeSetup.xtendbin differ diff --git a/Domains/Examples/ModelGenExampleFAM_plugin/.project b/Domains/Examples/ModelGenExampleFAM_plugin/.project index 6e1b3a06..570f8a60 100644 --- a/Domains/Examples/ModelGenExampleFAM_plugin/.project +++ b/Domains/Examples/ModelGenExampleFAM_plugin/.project @@ -5,6 +5,11 @@ + + org.eclipse.xtext.ui.shared.xtextBuilder + + + org.eclipse.viatra.query.tooling.ui.projectbuilder @@ -30,5 +35,6 @@ org.eclipse.jdt.core.javanature org.eclipse.viatra.query.projectnature org.eclipse.pde.PluginNature + org.eclipse.xtext.ui.shared.xtextNature diff --git a/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml b/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml index c117a28e..8d99d401 100644 --- a/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml +++ b/Domains/Examples/ModelGenExampleFAM_plugin/plugin.xml @@ -5,23 +5,13 @@ - - - - + + + + - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql index 78525a35..16c24d05 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql @@ -11,6 +11,16 @@ pattern loopInInheritence(a: EClass) { find directSupertype+(a,a); } +pattern unsat_subpackage(a: EPackage, b: EPackage) { + EPackage.eSubpackages(a, b); +} + +@Constraint(key={p}, severity="error", message="error") +pattern unsat_loopInInheritance(p: EPackage) { + neg find unsat_subpackage(_, p); + neg find loopInInheritence(_); +} + pattern opposite(a:EReference, b: EReference) { EReference.eOpposite(a,b); } diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml index 6eae8535..eddd482c 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml @@ -11,6 +11,8 @@ + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore index 0f8c77a1..70eab455 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore @@ -54,3 +54,8 @@ /.RootIsNotDir.java._trace /Dir.java /RootIsNotDir.java +/.Unsat_loopInInheritance.java._trace +/.Subpackage.java._trace +/.Unsat_subpackage.java._trace +/.Unsat_subpackageOrSelf.java._trace +/.Unsat_topLevelPackageWithLoop.java._trace diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Unsat_loopInInheritance.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Unsat_loopInInheritance.java new file mode 100644 index 00000000..83bd0f66 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Unsat_loopInInheritance.java @@ -0,0 +1,566 @@ +/** + * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql + */ +package hu.bme.mit.inf.dslreasoner.domains.alloyexamples; + +import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.LoopInInheritence; +import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Unsat_subpackage; +import java.util.Arrays; +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.function.Consumer; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import org.apache.log4j.Logger; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.viatra.query.runtime.api.IPatternMatch; +import org.eclipse.viatra.query.runtime.api.IQuerySpecification; +import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; +import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; +import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; +import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; +import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; +import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; +import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; +import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; +import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; +import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; +import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; +import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; +import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; +import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; +import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; +import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; +import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; + +/** + * A pattern-specific query specification that can instantiate Matcher in a type-safe way. + * + *

    Original source: + *

    + *         {@literal @}Constraint(key={p}, severity="error", message="error")
    + *         pattern unsat_loopInInheritance(p: EPackage) {
    + *         	neg find unsat_subpackage(_, p);
    + *         	neg find loopInInheritence(_);
    + *         }
    + * 
    + * + * @see Matcher + * @see Match + * + */ +@SuppressWarnings("all") +public final class Unsat_loopInInheritance extends BaseGeneratedEMFQuerySpecification { + /** + * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.alloyexamples.unsat_loopInInheritance pattern, + * to be used in conjunction with {@link Matcher}. + * + *

    Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. + * Each instance is a (possibly partial) substitution of pattern parameters, + * usable to represent a match of the pattern in the result of a query, + * or to specify the bound (fixed) input parameters when issuing a query. + * + * @see Matcher + * + */ + public static abstract class Match extends BasePatternMatch { + private EPackage fP; + + private static List parameterNames = makeImmutableList("p"); + + private Match(final EPackage pP) { + this.fP = pP; + } + + @Override + public Object get(final String parameterName) { + switch(parameterName) { + case "p": return this.fP; + default: return null; + } + } + + @Override + public Object get(final int index) { + switch(index) { + case 0: return this.fP; + default: return null; + } + } + + public EPackage getP() { + return this.fP; + } + + @Override + public boolean set(final String parameterName, final Object newValue) { + if (!isMutable()) throw new java.lang.UnsupportedOperationException(); + if ("p".equals(parameterName) ) { + this.fP = (EPackage) newValue; + return true; + } + return false; + } + + public void setP(final EPackage pP) { + if (!isMutable()) throw new java.lang.UnsupportedOperationException(); + this.fP = pP; + } + + @Override + public String patternName() { + return "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.unsat_loopInInheritance"; + } + + @Override + public List parameterNames() { + return Unsat_loopInInheritance.Match.parameterNames; + } + + @Override + public Object[] toArray() { + return new Object[]{fP}; + } + + @Override + public Unsat_loopInInheritance.Match toImmutable() { + return isMutable() ? newMatch(fP) : this; + } + + @Override + public String prettyPrint() { + StringBuilder result = new StringBuilder(); + result.append("\"p\"=" + prettyPrintValue(fP)); + return result.toString(); + } + + @Override + public int hashCode() { + return Objects.hash(fP); + } + + @Override + public boolean equals(final Object obj) { + if (this == obj) + return true; + if (obj == null) { + return false; + } + if ((obj instanceof Unsat_loopInInheritance.Match)) { + Unsat_loopInInheritance.Match other = (Unsat_loopInInheritance.Match) obj; + return Objects.equals(fP, other.fP); + } else { + // this should be infrequent + if (!(obj instanceof IPatternMatch)) { + return false; + } + IPatternMatch otherSig = (IPatternMatch) obj; + return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); + } + } + + @Override + public Unsat_loopInInheritance specification() { + return Unsat_loopInInheritance.instance(); + } + + /** + * Returns an empty, mutable match. + * Fields of the mutable match can be filled to create a partial match, usable as matcher input. + * + * @return the empty match. + * + */ + public static Unsat_loopInInheritance.Match newEmptyMatch() { + return new Mutable(null); + } + + /** + * Returns a mutable (partial) match. + * Fields of the mutable match can be filled to create a partial match, usable as matcher input. + * + * @param pP the fixed value of pattern parameter p, or null if not bound. + * @return the new, mutable (partial) match object. + * + */ + public static Unsat_loopInInheritance.Match newMutableMatch(final EPackage pP) { + return new Mutable(pP); + } + + /** + * Returns a new (partial) match. + * This can be used e.g. to call the matcher with a partial match. + *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. + * @param pP the fixed value of pattern parameter p, or null if not bound. + * @return the (partial) match object. + * + */ + public static Unsat_loopInInheritance.Match newMatch(final EPackage pP) { + return new Immutable(pP); + } + + private static final class Mutable extends Unsat_loopInInheritance.Match { + Mutable(final EPackage pP) { + super(pP); + } + + @Override + public boolean isMutable() { + return true; + } + } + + private static final class Immutable extends Unsat_loopInInheritance.Match { + Immutable(final EPackage pP) { + super(pP); + } + + @Override + public boolean isMutable() { + return false; + } + } + } + + /** + * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.alloyexamples.unsat_loopInInheritance pattern, + * providing pattern-specific query methods. + * + *

    Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, + * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. + * + *

    Matches of the pattern will be represented as {@link Match}. + * + *

    Original source: + *

    +   * {@literal @}Constraint(key={p}, severity="error", message="error")
    +   * pattern unsat_loopInInheritance(p: EPackage) {
    +   * 	neg find unsat_subpackage(_, p);
    +   * 	neg find loopInInheritence(_);
    +   * }
    +   * 
    + * + * @see Match + * @see Unsat_loopInInheritance + * + */ + public static class Matcher extends BaseMatcher { + /** + * Initializes the pattern matcher within an existing VIATRA Query engine. + * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. + * + * @param engine the existing VIATRA Query engine in which this matcher will be created. + * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation + * + */ + public static Unsat_loopInInheritance.Matcher on(final ViatraQueryEngine engine) { + // check if matcher already exists + Matcher matcher = engine.getExistingMatcher(querySpecification()); + if (matcher == null) { + matcher = (Matcher)engine.getMatcher(querySpecification()); + } + return matcher; + } + + /** + * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation + * @return an initialized matcher + * @noreference This method is for internal matcher initialization by the framework, do not call it manually. + * + */ + public static Unsat_loopInInheritance.Matcher create() { + return new Matcher(); + } + + private static final int POSITION_P = 0; + + private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(Unsat_loopInInheritance.Matcher.class); + + /** + * Initializes the pattern matcher within an existing VIATRA Query engine. + * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. + * + * @param engine the existing VIATRA Query engine in which this matcher will be created. + * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation + * + */ + private Matcher() { + super(querySpecification()); + } + + /** + * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. + * @param pP the fixed value of pattern parameter p, or null if not bound. + * @return matches represented as a Match object. + * + */ + public Collection getAllMatches(final EPackage pP) { + return rawStreamAllMatches(new Object[]{pP}).collect(Collectors.toSet()); + } + + /** + * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. + *

    + * NOTE: It is important not to modify the source model while the stream is being processed. + * If the match set of the pattern changes during processing, the contents of the stream is undefined. + * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. + * @param pP the fixed value of pattern parameter p, or null if not bound. + * @return a stream of matches represented as a Match object. + * + */ + public Stream streamAllMatches(final EPackage pP) { + return rawStreamAllMatches(new Object[]{pP}); + } + + /** + * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. + * Neither determinism nor randomness of selection is guaranteed. + * @param pP the fixed value of pattern parameter p, or null if not bound. + * @return a match represented as a Match object, or null if no match is found. + * + */ + public Optional getOneArbitraryMatch(final EPackage pP) { + return rawGetOneArbitraryMatch(new Object[]{pP}); + } + + /** + * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, + * under any possible substitution of the unspecified parameters (if any). + * @param pP the fixed value of pattern parameter p, or null if not bound. + * @return true if the input is a valid (partial) match of the pattern. + * + */ + public boolean hasMatch(final EPackage pP) { + return rawHasMatch(new Object[]{pP}); + } + + /** + * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. + * @param pP the fixed value of pattern parameter p, or null if not bound. + * @return the number of pattern matches found. + * + */ + public int countMatches(final EPackage pP) { + return rawCountMatches(new Object[]{pP}); + } + + /** + * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. + * Neither determinism nor randomness of selection is guaranteed. + * @param pP the fixed value of pattern parameter p, or null if not bound. + * @param processor the action that will process the selected match. + * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked + * + */ + public boolean forOneArbitraryMatch(final EPackage pP, final Consumer processor) { + return rawForOneArbitraryMatch(new Object[]{pP}, processor); + } + + /** + * Returns a new (partial) match. + * This can be used e.g. to call the matcher with a partial match. + *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. + * @param pP the fixed value of pattern parameter p, or null if not bound. + * @return the (partial) match object. + * + */ + public Unsat_loopInInheritance.Match newMatch(final EPackage pP) { + return Unsat_loopInInheritance.Match.newMatch(pP); + } + + /** + * Retrieve the set of values that occur in matches for p. + * @return the Set of all values or empty set if there are no matches + * + */ + protected Stream rawStreamAllValuesOfp(final Object[] parameters) { + return rawStreamAllValues(POSITION_P, parameters).map(EPackage.class::cast); + } + + /** + * Retrieve the set of values that occur in matches for p. + * @return the Set of all values or empty set if there are no matches + * + */ + public Set getAllValuesOfp() { + return rawStreamAllValuesOfp(emptyArray()).collect(Collectors.toSet()); + } + + /** + * Retrieve the set of values that occur in matches for p. + * @return the Set of all values or empty set if there are no matches + * + */ + public Stream streamAllValuesOfp() { + return rawStreamAllValuesOfp(emptyArray()); + } + + @Override + protected Unsat_loopInInheritance.Match tupleToMatch(final Tuple t) { + try { + return Unsat_loopInInheritance.Match.newMatch((EPackage) t.get(POSITION_P)); + } catch(ClassCastException e) { + LOGGER.error("Element(s) in tuple not properly typed!",e); + return null; + } + } + + @Override + protected Unsat_loopInInheritance.Match arrayToMatch(final Object[] match) { + try { + return Unsat_loopInInheritance.Match.newMatch((EPackage) match[POSITION_P]); + } catch(ClassCastException e) { + LOGGER.error("Element(s) in array not properly typed!",e); + return null; + } + } + + @Override + protected Unsat_loopInInheritance.Match arrayToMatchMutable(final Object[] match) { + try { + return Unsat_loopInInheritance.Match.newMutableMatch((EPackage) match[POSITION_P]); + } catch(ClassCastException e) { + LOGGER.error("Element(s) in array not properly typed!",e); + return null; + } + } + + /** + * @return the singleton instance of the query specification of this pattern + * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded + * + */ + public static IQuerySpecification querySpecification() { + return Unsat_loopInInheritance.instance(); + } + } + + private Unsat_loopInInheritance() { + super(GeneratedPQuery.INSTANCE); + } + + /** + * @return the singleton instance of the query specification + * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded + * + */ + public static Unsat_loopInInheritance instance() { + try{ + return LazyHolder.INSTANCE; + } catch (ExceptionInInitializerError err) { + throw processInitializerError(err); + } + } + + @Override + protected Unsat_loopInInheritance.Matcher instantiate(final ViatraQueryEngine engine) { + return Unsat_loopInInheritance.Matcher.on(engine); + } + + @Override + public Unsat_loopInInheritance.Matcher instantiate() { + return Unsat_loopInInheritance.Matcher.create(); + } + + @Override + public Unsat_loopInInheritance.Match newEmptyMatch() { + return Unsat_loopInInheritance.Match.newEmptyMatch(); + } + + @Override + public Unsat_loopInInheritance.Match newMatch(final Object... parameters) { + return Unsat_loopInInheritance.Match.newMatch((org.eclipse.emf.ecore.EPackage) parameters[0]); + } + + /** + * Inner class allowing the singleton instance of {@link Unsat_loopInInheritance} to be created + * not at the class load time of the outer class, + * but rather at the first call to {@link Unsat_loopInInheritance#instance()}. + * + *

    This workaround is required e.g. to support recursion. + * + */ + private static class LazyHolder { + private static final Unsat_loopInInheritance INSTANCE = new Unsat_loopInInheritance(); + + /** + * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. + * This initialization order is required to support indirect recursion. + * + *

    The static initializer is defined using a helper field to work around limitations of the code generator. + * + */ + private static final Object STATIC_INITIALIZER = ensureInitialized(); + + public static Object ensureInitialized() { + INSTANCE.ensureInitializedInternal(); + return null; + } + } + + private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { + private static final Unsat_loopInInheritance.GeneratedPQuery INSTANCE = new GeneratedPQuery(); + + private final PParameter parameter_p = new PParameter("p", "org.eclipse.emf.ecore.EPackage", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.eclipse.org/emf/2002/Ecore", "EPackage")), PParameterDirection.INOUT); + + private final List parameters = Arrays.asList(parameter_p); + + private GeneratedPQuery() { + super(PVisibility.PUBLIC); + } + + @Override + public String getFullyQualifiedName() { + return "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.unsat_loopInInheritance"; + } + + @Override + public List getParameterNames() { + return Arrays.asList("p"); + } + + @Override + public List getParameters() { + return parameters; + } + + @Override + public Set doGetContainedBodies() { + setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); + Set bodies = new LinkedHashSet<>(); + { + PBody body = new PBody(this); + PVariable var_p = body.getOrCreateVariableByName("p"); + PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); + PVariable var___1_ = body.getOrCreateVariableByName("_<1>"); + new TypeConstraint(body, Tuples.flatTupleOf(var_p), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EPackage"))); + body.setSymbolicParameters(Arrays.asList( + new ExportedParameter(body, var_p, parameter_p) + )); + // neg find unsat_subpackage(_, p) + new NegativePatternCall(body, Tuples.flatTupleOf(var___0_, var_p), Unsat_subpackage.instance().getInternalQueryRepresentation()); + // neg find loopInInheritence(_) + new NegativePatternCall(body, Tuples.flatTupleOf(var___1_), LoopInInheritence.instance().getInternalQueryRepresentation()); + bodies.add(body); + } + { + PAnnotation annotation = new PAnnotation("Constraint"); + annotation.addAttribute("key", Arrays.asList(new Object[] { + new ParameterReference("p") + })); + annotation.addAttribute("severity", "error"); + annotation.addAttribute("message", "error"); + addAnnotation(annotation); + } + return bodies; + } + } +} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Unsat_subpackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Unsat_subpackage.java new file mode 100644 index 00000000..a9c8aed8 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Unsat_subpackage.java @@ -0,0 +1,704 @@ +/** + * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql + */ +package hu.bme.mit.inf.dslreasoner.domains.alloyexamples; + +import java.util.Arrays; +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.function.Consumer; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import org.apache.log4j.Logger; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.viatra.query.runtime.api.IPatternMatch; +import org.eclipse.viatra.query.runtime.api.IQuerySpecification; +import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; +import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; +import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; +import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; +import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; +import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; +import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; +import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; +import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; +import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; +import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; +import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; +import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; +import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; +import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; +import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; + +/** + * A pattern-specific query specification that can instantiate Matcher in a type-safe way. + * + *

    Original source: + *

    + *         pattern unsat_subpackage(a: EPackage, b: EPackage) {
    + *         	EPackage.eSubpackages(a, b);
    + *         }
    + * 
    + * + * @see Matcher + * @see Match + * + */ +@SuppressWarnings("all") +public final class Unsat_subpackage extends BaseGeneratedEMFQuerySpecification { + /** + * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.alloyexamples.unsat_subpackage pattern, + * to be used in conjunction with {@link Matcher}. + * + *

    Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. + * Each instance is a (possibly partial) substitution of pattern parameters, + * usable to represent a match of the pattern in the result of a query, + * or to specify the bound (fixed) input parameters when issuing a query. + * + * @see Matcher + * + */ + public static abstract class Match extends BasePatternMatch { + private EPackage fA; + + private EPackage fB; + + private static List parameterNames = makeImmutableList("a", "b"); + + private Match(final EPackage pA, final EPackage pB) { + this.fA = pA; + this.fB = pB; + } + + @Override + public Object get(final String parameterName) { + switch(parameterName) { + case "a": return this.fA; + case "b": return this.fB; + default: return null; + } + } + + @Override + public Object get(final int index) { + switch(index) { + case 0: return this.fA; + case 1: return this.fB; + default: return null; + } + } + + public EPackage getA() { + return this.fA; + } + + public EPackage getB() { + return this.fB; + } + + @Override + public boolean set(final String parameterName, final Object newValue) { + if (!isMutable()) throw new java.lang.UnsupportedOperationException(); + if ("a".equals(parameterName) ) { + this.fA = (EPackage) newValue; + return true; + } + if ("b".equals(parameterName) ) { + this.fB = (EPackage) newValue; + return true; + } + return false; + } + + public void setA(final EPackage pA) { + if (!isMutable()) throw new java.lang.UnsupportedOperationException(); + this.fA = pA; + } + + public void setB(final EPackage pB) { + if (!isMutable()) throw new java.lang.UnsupportedOperationException(); + this.fB = pB; + } + + @Override + public String patternName() { + return "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.unsat_subpackage"; + } + + @Override + public List parameterNames() { + return Unsat_subpackage.Match.parameterNames; + } + + @Override + public Object[] toArray() { + return new Object[]{fA, fB}; + } + + @Override + public Unsat_subpackage.Match toImmutable() { + return isMutable() ? newMatch(fA, fB) : this; + } + + @Override + public String prettyPrint() { + StringBuilder result = new StringBuilder(); + result.append("\"a\"=" + prettyPrintValue(fA) + ", "); + result.append("\"b\"=" + prettyPrintValue(fB)); + return result.toString(); + } + + @Override + public int hashCode() { + return Objects.hash(fA, fB); + } + + @Override + public boolean equals(final Object obj) { + if (this == obj) + return true; + if (obj == null) { + return false; + } + if ((obj instanceof Unsat_subpackage.Match)) { + Unsat_subpackage.Match other = (Unsat_subpackage.Match) obj; + return Objects.equals(fA, other.fA) && Objects.equals(fB, other.fB); + } else { + // this should be infrequent + if (!(obj instanceof IPatternMatch)) { + return false; + } + IPatternMatch otherSig = (IPatternMatch) obj; + return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); + } + } + + @Override + public Unsat_subpackage specification() { + return Unsat_subpackage.instance(); + } + + /** + * Returns an empty, mutable match. + * Fields of the mutable match can be filled to create a partial match, usable as matcher input. + * + * @return the empty match. + * + */ + public static Unsat_subpackage.Match newEmptyMatch() { + return new Mutable(null, null); + } + + /** + * Returns a mutable (partial) match. + * Fields of the mutable match can be filled to create a partial match, usable as matcher input. + * + * @param pA the fixed value of pattern parameter a, or null if not bound. + * @param pB the fixed value of pattern parameter b, or null if not bound. + * @return the new, mutable (partial) match object. + * + */ + public static Unsat_subpackage.Match newMutableMatch(final EPackage pA, final EPackage pB) { + return new Mutable(pA, pB); + } + + /** + * Returns a new (partial) match. + * This can be used e.g. to call the matcher with a partial match. + *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. + * @param pA the fixed value of pattern parameter a, or null if not bound. + * @param pB the fixed value of pattern parameter b, or null if not bound. + * @return the (partial) match object. + * + */ + public static Unsat_subpackage.Match newMatch(final EPackage pA, final EPackage pB) { + return new Immutable(pA, pB); + } + + private static final class Mutable extends Unsat_subpackage.Match { + Mutable(final EPackage pA, final EPackage pB) { + super(pA, pB); + } + + @Override + public boolean isMutable() { + return true; + } + } + + private static final class Immutable extends Unsat_subpackage.Match { + Immutable(final EPackage pA, final EPackage pB) { + super(pA, pB); + } + + @Override + public boolean isMutable() { + return false; + } + } + } + + /** + * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.alloyexamples.unsat_subpackage pattern, + * providing pattern-specific query methods. + * + *

    Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, + * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. + * + *

    Matches of the pattern will be represented as {@link Match}. + * + *

    Original source: + *

    +   * pattern unsat_subpackage(a: EPackage, b: EPackage) {
    +   * 	EPackage.eSubpackages(a, b);
    +   * }
    +   * 
    + * + * @see Match + * @see Unsat_subpackage + * + */ + public static class Matcher extends BaseMatcher { + /** + * Initializes the pattern matcher within an existing VIATRA Query engine. + * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. + * + * @param engine the existing VIATRA Query engine in which this matcher will be created. + * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation + * + */ + public static Unsat_subpackage.Matcher on(final ViatraQueryEngine engine) { + // check if matcher already exists + Matcher matcher = engine.getExistingMatcher(querySpecification()); + if (matcher == null) { + matcher = (Matcher)engine.getMatcher(querySpecification()); + } + return matcher; + } + + /** + * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation + * @return an initialized matcher + * @noreference This method is for internal matcher initialization by the framework, do not call it manually. + * + */ + public static Unsat_subpackage.Matcher create() { + return new Matcher(); + } + + private static final int POSITION_A = 0; + + private static final int POSITION_B = 1; + + private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(Unsat_subpackage.Matcher.class); + + /** + * Initializes the pattern matcher within an existing VIATRA Query engine. + * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. + * + * @param engine the existing VIATRA Query engine in which this matcher will be created. + * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation + * + */ + private Matcher() { + super(querySpecification()); + } + + /** + * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. + * @param pA the fixed value of pattern parameter a, or null if not bound. + * @param pB the fixed value of pattern parameter b, or null if not bound. + * @return matches represented as a Match object. + * + */ + public Collection getAllMatches(final EPackage pA, final EPackage pB) { + return rawStreamAllMatches(new Object[]{pA, pB}).collect(Collectors.toSet()); + } + + /** + * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. + *

    + * NOTE: It is important not to modify the source model while the stream is being processed. + * If the match set of the pattern changes during processing, the contents of the stream is undefined. + * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. + * @param pA the fixed value of pattern parameter a, or null if not bound. + * @param pB the fixed value of pattern parameter b, or null if not bound. + * @return a stream of matches represented as a Match object. + * + */ + public Stream streamAllMatches(final EPackage pA, final EPackage pB) { + return rawStreamAllMatches(new Object[]{pA, pB}); + } + + /** + * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. + * Neither determinism nor randomness of selection is guaranteed. + * @param pA the fixed value of pattern parameter a, or null if not bound. + * @param pB the fixed value of pattern parameter b, or null if not bound. + * @return a match represented as a Match object, or null if no match is found. + * + */ + public Optional getOneArbitraryMatch(final EPackage pA, final EPackage pB) { + return rawGetOneArbitraryMatch(new Object[]{pA, pB}); + } + + /** + * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, + * under any possible substitution of the unspecified parameters (if any). + * @param pA the fixed value of pattern parameter a, or null if not bound. + * @param pB the fixed value of pattern parameter b, or null if not bound. + * @return true if the input is a valid (partial) match of the pattern. + * + */ + public boolean hasMatch(final EPackage pA, final EPackage pB) { + return rawHasMatch(new Object[]{pA, pB}); + } + + /** + * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. + * @param pA the fixed value of pattern parameter a, or null if not bound. + * @param pB the fixed value of pattern parameter b, or null if not bound. + * @return the number of pattern matches found. + * + */ + public int countMatches(final EPackage pA, final EPackage pB) { + return rawCountMatches(new Object[]{pA, pB}); + } + + /** + * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. + * Neither determinism nor randomness of selection is guaranteed. + * @param pA the fixed value of pattern parameter a, or null if not bound. + * @param pB the fixed value of pattern parameter b, or null if not bound. + * @param processor the action that will process the selected match. + * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked + * + */ + public boolean forOneArbitraryMatch(final EPackage pA, final EPackage pB, final Consumer processor) { + return rawForOneArbitraryMatch(new Object[]{pA, pB}, processor); + } + + /** + * Returns a new (partial) match. + * This can be used e.g. to call the matcher with a partial match. + *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. + * @param pA the fixed value of pattern parameter a, or null if not bound. + * @param pB the fixed value of pattern parameter b, or null if not bound. + * @return the (partial) match object. + * + */ + public Unsat_subpackage.Match newMatch(final EPackage pA, final EPackage pB) { + return Unsat_subpackage.Match.newMatch(pA, pB); + } + + /** + * Retrieve the set of values that occur in matches for a. + * @return the Set of all values or empty set if there are no matches + * + */ + protected Stream rawStreamAllValuesOfa(final Object[] parameters) { + return rawStreamAllValues(POSITION_A, parameters).map(EPackage.class::cast); + } + + /** + * Retrieve the set of values that occur in matches for a. + * @return the Set of all values or empty set if there are no matches + * + */ + public Set getAllValuesOfa() { + return rawStreamAllValuesOfa(emptyArray()).collect(Collectors.toSet()); + } + + /** + * Retrieve the set of values that occur in matches for a. + * @return the Set of all values or empty set if there are no matches + * + */ + public Stream streamAllValuesOfa() { + return rawStreamAllValuesOfa(emptyArray()); + } + + /** + * Retrieve the set of values that occur in matches for a. + *

    + * NOTE: It is important not to modify the source model while the stream is being processed. + * If the match set of the pattern changes during processing, the contents of the stream is undefined. + * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. + * + * @return the Stream of all values or empty set if there are no matches + * + */ + public Stream streamAllValuesOfa(final Unsat_subpackage.Match partialMatch) { + return rawStreamAllValuesOfa(partialMatch.toArray()); + } + + /** + * Retrieve the set of values that occur in matches for a. + *

    + * NOTE: It is important not to modify the source model while the stream is being processed. + * If the match set of the pattern changes during processing, the contents of the stream is undefined. + * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. + * + * @return the Stream of all values or empty set if there are no matches + * + */ + public Stream streamAllValuesOfa(final EPackage pB) { + return rawStreamAllValuesOfa(new Object[]{null, pB}); + } + + /** + * Retrieve the set of values that occur in matches for a. + * @return the Set of all values or empty set if there are no matches + * + */ + public Set getAllValuesOfa(final Unsat_subpackage.Match partialMatch) { + return rawStreamAllValuesOfa(partialMatch.toArray()).collect(Collectors.toSet()); + } + + /** + * Retrieve the set of values that occur in matches for a. + * @return the Set of all values or empty set if there are no matches + * + */ + public Set getAllValuesOfa(final EPackage pB) { + return rawStreamAllValuesOfa(new Object[]{null, pB}).collect(Collectors.toSet()); + } + + /** + * Retrieve the set of values that occur in matches for b. + * @return the Set of all values or empty set if there are no matches + * + */ + protected Stream rawStreamAllValuesOfb(final Object[] parameters) { + return rawStreamAllValues(POSITION_B, parameters).map(EPackage.class::cast); + } + + /** + * Retrieve the set of values that occur in matches for b. + * @return the Set of all values or empty set if there are no matches + * + */ + public Set getAllValuesOfb() { + return rawStreamAllValuesOfb(emptyArray()).collect(Collectors.toSet()); + } + + /** + * Retrieve the set of values that occur in matches for b. + * @return the Set of all values or empty set if there are no matches + * + */ + public Stream streamAllValuesOfb() { + return rawStreamAllValuesOfb(emptyArray()); + } + + /** + * Retrieve the set of values that occur in matches for b. + *

    + * NOTE: It is important not to modify the source model while the stream is being processed. + * If the match set of the pattern changes during processing, the contents of the stream is undefined. + * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. + * + * @return the Stream of all values or empty set if there are no matches + * + */ + public Stream streamAllValuesOfb(final Unsat_subpackage.Match partialMatch) { + return rawStreamAllValuesOfb(partialMatch.toArray()); + } + + /** + * Retrieve the set of values that occur in matches for b. + *

    + * NOTE: It is important not to modify the source model while the stream is being processed. + * If the match set of the pattern changes during processing, the contents of the stream is undefined. + * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. + * + * @return the Stream of all values or empty set if there are no matches + * + */ + public Stream streamAllValuesOfb(final EPackage pA) { + return rawStreamAllValuesOfb(new Object[]{pA, null}); + } + + /** + * Retrieve the set of values that occur in matches for b. + * @return the Set of all values or empty set if there are no matches + * + */ + public Set getAllValuesOfb(final Unsat_subpackage.Match partialMatch) { + return rawStreamAllValuesOfb(partialMatch.toArray()).collect(Collectors.toSet()); + } + + /** + * Retrieve the set of values that occur in matches for b. + * @return the Set of all values or empty set if there are no matches + * + */ + public Set getAllValuesOfb(final EPackage pA) { + return rawStreamAllValuesOfb(new Object[]{pA, null}).collect(Collectors.toSet()); + } + + @Override + protected Unsat_subpackage.Match tupleToMatch(final Tuple t) { + try { + return Unsat_subpackage.Match.newMatch((EPackage) t.get(POSITION_A), (EPackage) t.get(POSITION_B)); + } catch(ClassCastException e) { + LOGGER.error("Element(s) in tuple not properly typed!",e); + return null; + } + } + + @Override + protected Unsat_subpackage.Match arrayToMatch(final Object[] match) { + try { + return Unsat_subpackage.Match.newMatch((EPackage) match[POSITION_A], (EPackage) match[POSITION_B]); + } catch(ClassCastException e) { + LOGGER.error("Element(s) in array not properly typed!",e); + return null; + } + } + + @Override + protected Unsat_subpackage.Match arrayToMatchMutable(final Object[] match) { + try { + return Unsat_subpackage.Match.newMutableMatch((EPackage) match[POSITION_A], (EPackage) match[POSITION_B]); + } catch(ClassCastException e) { + LOGGER.error("Element(s) in array not properly typed!",e); + return null; + } + } + + /** + * @return the singleton instance of the query specification of this pattern + * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded + * + */ + public static IQuerySpecification querySpecification() { + return Unsat_subpackage.instance(); + } + } + + private Unsat_subpackage() { + super(GeneratedPQuery.INSTANCE); + } + + /** + * @return the singleton instance of the query specification + * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded + * + */ + public static Unsat_subpackage instance() { + try{ + return LazyHolder.INSTANCE; + } catch (ExceptionInInitializerError err) { + throw processInitializerError(err); + } + } + + @Override + protected Unsat_subpackage.Matcher instantiate(final ViatraQueryEngine engine) { + return Unsat_subpackage.Matcher.on(engine); + } + + @Override + public Unsat_subpackage.Matcher instantiate() { + return Unsat_subpackage.Matcher.create(); + } + + @Override + public Unsat_subpackage.Match newEmptyMatch() { + return Unsat_subpackage.Match.newEmptyMatch(); + } + + @Override + public Unsat_subpackage.Match newMatch(final Object... parameters) { + return Unsat_subpackage.Match.newMatch((org.eclipse.emf.ecore.EPackage) parameters[0], (org.eclipse.emf.ecore.EPackage) parameters[1]); + } + + /** + * Inner class allowing the singleton instance of {@link Unsat_subpackage} to be created + * not at the class load time of the outer class, + * but rather at the first call to {@link Unsat_subpackage#instance()}. + * + *

    This workaround is required e.g. to support recursion. + * + */ + private static class LazyHolder { + private static final Unsat_subpackage INSTANCE = new Unsat_subpackage(); + + /** + * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. + * This initialization order is required to support indirect recursion. + * + *

    The static initializer is defined using a helper field to work around limitations of the code generator. + * + */ + private static final Object STATIC_INITIALIZER = ensureInitialized(); + + public static Object ensureInitialized() { + INSTANCE.ensureInitializedInternal(); + return null; + } + } + + private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { + private static final Unsat_subpackage.GeneratedPQuery INSTANCE = new GeneratedPQuery(); + + private final PParameter parameter_a = new PParameter("a", "org.eclipse.emf.ecore.EPackage", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.eclipse.org/emf/2002/Ecore", "EPackage")), PParameterDirection.INOUT); + + private final PParameter parameter_b = new PParameter("b", "org.eclipse.emf.ecore.EPackage", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.eclipse.org/emf/2002/Ecore", "EPackage")), PParameterDirection.INOUT); + + private final List parameters = Arrays.asList(parameter_a, parameter_b); + + private GeneratedPQuery() { + super(PVisibility.PUBLIC); + } + + @Override + public String getFullyQualifiedName() { + return "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.unsat_subpackage"; + } + + @Override + public List getParameterNames() { + return Arrays.asList("a","b"); + } + + @Override + public List getParameters() { + return parameters; + } + + @Override + public Set doGetContainedBodies() { + setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); + Set bodies = new LinkedHashSet<>(); + { + PBody body = new PBody(this); + PVariable var_a = body.getOrCreateVariableByName("a"); + PVariable var_b = body.getOrCreateVariableByName("b"); + new TypeConstraint(body, Tuples.flatTupleOf(var_a), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EPackage"))); + new TypeConstraint(body, Tuples.flatTupleOf(var_b), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EPackage"))); + body.setSymbolicParameters(Arrays.asList( + new ExportedParameter(body, var_a, parameter_a), + new ExportedParameter(body, var_b, parameter_b) + )); + // EPackage.eSubpackages(a, b) + new TypeConstraint(body, Tuples.flatTupleOf(var_a), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EPackage"))); + PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); + new TypeConstraint(body, Tuples.flatTupleOf(var_a, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.eclipse.org/emf/2002/Ecore", "EPackage", "eSubpackages"))); + new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EPackage"))); + new Equality(body, var__virtual_0_, var_b); + bodies.add(body); + } + return bodies; + } + } +} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/internal/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/internal/.gitignore new file mode 100644 index 00000000..995169ff --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/internal/.gitignore @@ -0,0 +1,4 @@ +/.EcoreAll.java._trace +/.SubpackageOrSelf.java._trace +/.Subpackage.java._trace +/.TopLevelPackageWithLoop.java._trace diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml index b0b77996..fe1af62e 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml @@ -1,9 +1,12 @@ - - - - + + + + @@ -11,6 +14,7 @@ + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql index 1f83a3b0..ba12bbda 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql @@ -59,6 +59,19 @@ pattern noLinkToGroundStation(Spacecraft : Spacecraft) { neg find indirectCommunicationLink(Spacecraft, GroundStation); } +//@Constraint(severity = "error", key = {Spacecraft}, message = "UNSAT") +//pattern unsat_linkToGroundStation(Spacecraft : Spacecraft) { +// ConstellationMission.groundStationNetwork(Mission, GroundStation); +// ConstellationMission.spacecraft(Mission, Spacecraft); +// find indirectCommunicationLink(Spacecraft, GroundStation); +//} + +@Constraint(severity = "error", key = {Mission}, message = "UNSAT") +pattern unsat_linkToGroundStation(Mission : InterferometryMission) { + InterferometryMission(Mission); + neg find noLinkToGroundStation(_); +} + @Constraint(severity = "error", key = {Spacecraft}, message = "Spacecraft has no potential communication path to the ground station.") pattern noPotentialLinkToGroundStation(Spacecraft : Spacecraft) { diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml index 7bf4a20b..d4ab204e 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml @@ -8,6 +8,7 @@ + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql index 98a10cde..49fb5b2f 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql @@ -22,6 +22,12 @@ pattern multipleEntryInRegion(r : Region) { e1 != e2; } +@Constraint(severity="error", message="error", key = {sct}) +pattern unsat_multipleEntryInRegion(sct : Statechart) { + Statechart(sct); + neg find multipleEntryInRegion(_); +} + pattern transition(t : Transition, src : Vertex, trg : Vertex) { Transition.source(t, src); Transition.target(t, trg); @@ -197,6 +203,11 @@ pattern SynchronizedRegionDoesNotHaveMultipleRegions(s : Synchronization, v : Ve neg find hasMultipleRegions(c); } +//@Constraint(severity="error", message="error", key = {sct}) +//pattern unsat_SynchronizedRegionDoesNotHaveMultipleRegions(sct : Statechart) { +// Statechart(sct); +// neg find SynchronizedRegionDoesNotHaveMultipleRegions(_, _); +//} pattern hasMultipleRegions(composite: CompositeElement) { CompositeElement.regions(composite,region1); diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.classpath b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.classpath index de68b5f7..25b7f16f 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.classpath +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/.classpath @@ -1,11 +1,15 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF index b944302b..75581def 100644 --- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF +++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/META-INF/MANIFEST.MF @@ -20,7 +20,8 @@ Require-Bundle: com.google.guava, org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.3.0", hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0", org.eclipse.viatra.query.runtime;bundle-version="2.0.0" -Import-Package: org.apache.log4j;version="1.2.15" -Automatic-Module-Name: hu.bme.mit.inf.dlsreasoner.alloy.reasoner -Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-ActivationPolicy: lazy +Bundle-NativeCode: libminisat.so;osname=Linux;processor=x86_64 +Automatic-Module-Name: hu.bme.mit.inf.dlsreasoner.alloy.reasoner +Import-Package: org.apache.log4j;version="1.2.15" diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend index 5e442ca7..f19ac30f 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend @@ -59,15 +59,14 @@ class NeighbourhoodBasedPartialInterpretationStateCoder exten override doCreateActivationCode(IPatternMatch match) { val size = match.specification.parameters.size val res = new ArrayList(size) - var int index = 0 var int equivalenceHash = 0 val prime = 31 - while (index < size) { - res.add(getCode(match.get(index))) - index++ + for (var int index = 0; index < size; index++) { + val matchArgument = match.get(index) + res.add(getCode(matchArgument)) for (var i = 0; i < index; i++) { - val number = if (match.get(index) === match.get(i)) { + val number = if (matchArgument === match.get(i)) { 1 } else { 0 diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend index 6f38d261..c0a71c85 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend @@ -55,7 +55,7 @@ class ViatraReasonerConfiguration extends LogicSolverConfiguration { */ public var SearchSpaceConstraint searchSpaceConstraints = new SearchSpaceConstraint - public var ScopePropagatorStrategy scopePropagatorStrategy = new ScopePropagatorStrategy.Polyhedral( + public var ScopePropagatorStrategy scopePropagatorStrategy = ScopePropagatorStrategy.Polyhedral( PolyhedralScopePropagatorConstraints.Relational, PolyhedralScopePropagatorSolver.Clp) public var List hints = newArrayList diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/FAM_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/FAM_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json deleted file mode 100644 index 1e2d4dd4..00000000 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/FAM_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "inputPath": "initialModels", - "outputPath": "outputModels", - "timeout": 1200, - "saveModels": true, - "warmupIterations": 0, - "iterations": 5, - "domain": "FAM", - "scope": "none", - "sizes": [500], - "solver": "ViatraSolver", - "scopePropagator": "polyhedral", - "propagatedConstraints": "hints", - "polyhedronSolver": "Clp", - "scopeHeuristics": "polyhedral" -} diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/Yakindu.json b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/Yakindu.json new file mode 100644 index 00000000..b602f2fe --- /dev/null +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/Yakindu.json @@ -0,0 +1,13 @@ +{ + "inputPath": "initialModels", + "outputPath": "outputModels", + "timeout": 300, + "saveModels": true, + "saveTemporaryFiles": false, + "warmupIterations": 0, + "iterations": 30, + "domain": "Yakindu", + "scope": "unsat", + "sizes": [20], + "solver": "AlloySolver" +} diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/Yakindu_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/Yakindu_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json deleted file mode 100644 index b4d51684..00000000 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/Yakindu_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "inputPath": "initialModels", - "outputPath": "outputModels", - "timeout": 1200, - "saveModels": false, - "saveTemporaryFiles": true, - "warmupIterations": 0, - "iterations": 5, - "domain": "Yakindu", - "scope": "none", - "sizes": [100], - "solver": "ViatraSolver", - "scopePropagator": "polyhedral", - "propagatedConstraints": "hints", - "polyhedronSolver": "Clp", - "scopeHeuristic": "polyhedral" -} diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/ecore.json b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/ecore.json new file mode 100644 index 00000000..36fb0ea2 --- /dev/null +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/ecore.json @@ -0,0 +1,17 @@ +{ + "inputPath": "initialModels", + "outputPath": "outputModels", + "timeout": 300, + "saveModels": true, + "saveTemporaryFiles": false, + "warmupIterations": 0, + "iterations": 1, + "domain": "ecoreUnsat", + "scope": "none", + "sizes": [5, 10, 20, 30, 40, 50], + "solver": "ViatraSolver", + "scopePropagator": "polyhedral", + "propagatedConstraints": "hints", + "polyhedronSolver": "Clp", + "scopeHeuristic": "polyhedral" +} diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/ecore_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/ecore_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json deleted file mode 100644 index 72e97957..00000000 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/ecore_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "inputPath": "initialModels", - "outputPath": "outputModels", - "timeout": 1200, - "saveModels": true, - "warmupIterations": 0, - "iterations": 5, - "domain": "ecore", - "scope": "quantiles", - "sizes": [50], - "solver": "ViatraSolver", - "scopePropagator": "polyhedral", - "propagatedConstraints": "hints", - "polyhedronSolver": "Clp", - "scopeHeuristic": "polyhedral" -} diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/fs_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/fs_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json deleted file mode 100644 index a7e29a22..00000000 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/fs_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "inputPath": "initialModels", - "outputPath": "outputModels", - "timeout": 1200, - "saveModels": true, - "warmupIterations": 1, - "iterations": 1, - "domain": "fs", - "scope": "none", - "sizes": [50, 100, 150, 200, 250, 300, 350, 400, 450, 500], - "solver": "ViatraSolver", - "scopePropagator": "polyhedral", - "propagatedConstraints": "hints", - "polyhedronSolver": "Clp", - "scopeHeuristic": "polyhedral" -} diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/satellite.json b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/satellite.json new file mode 100644 index 00000000..16abb5d0 --- /dev/null +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/satellite.json @@ -0,0 +1,17 @@ +{ + "inputPath": "initialModels", + "outputPath": "outputModels", + "timeout": 300, + "saveModels": true, + "saveTemporaryFiles": false, + "warmupIterations": 0, + "iterations": 30, + "domain": "satelliteUnsat", + "scope": "none", + "sizes": [10], + "solver": "ViatraSolver", + "scopePropagator": "polyhedral", + "propagatedConstraints": "hints", + "polyhedronSolver": "Clp", + "scopeHeuristic": "polyhedral" +} diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/satellite_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json b/Tests/hu.bme.mit.inf.dslreasoner.run/configs/satellite_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json deleted file mode 100644 index d5469948..00000000 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/configs/satellite_useful_ViatraSolver_polyhedral_typeHierarchy_Clp.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "inputPath": "initialModels", - "outputPath": "outputModels", - "timeout": 120, - "saveModels": true, - "saveTemporaryFiles": true, - "warmupIterations": 0, - "iterations": 1, - "domain": "Yakindu", - "scope": "quantiles", - "sizes": [10, 20, 30, 40, 50, 60, 70, 80, 90, 100], - "solver": "ViatraSolver", - "scopePropagator": "polyhedral", - "propagatedConstraints": "hints", - "polyhedronSolver": "Clp", - "scopeHeuristic": "polyhedral" -} diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend index 1be03eed..bf9ca274 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend @@ -40,6 +40,8 @@ class TypeQuantiles { } abstract class MetamodelLoader { + public static val UNSAT_PREFIX = "unsat_" + protected val ReasonerWorkspace workspace new(ReasonerWorkspace workspace) { @@ -61,6 +63,10 @@ abstract class MetamodelLoader { def Map getTypeQuantiles() { emptyMap } + + def Map getUnsatTypeQuantiles() { + throw new UnsupportedOperationException("This domain has no type quantiles for unsatisfiable problems") + } def List getHints(Ecore2Logic ecore2Logic, Ecore2Logic_Trace trace) { emptyList @@ -136,9 +142,15 @@ class YakinduLoader extends MetamodelLoader { public static val patternsWithComplexStates = #["outgoingFromExit", "outgoingFromFinal", "choiceHasNoOutgoing", "choiceHasNoIncoming"] + val boolean satisfiable + new(ReasonerWorkspace workspace) { + this(workspace, true) + } + + new(ReasonerWorkspace workspace, boolean satisfiable) { super(workspace) - YakindummPackage.eINSTANCE.eClass + this.satisfiable = satisfiable } def setUseSynchronization(boolean useSynchronization) { @@ -173,6 +185,8 @@ class YakinduLoader extends MetamodelLoader { useSynchInThisLoad || !patternsWithSynchronization.exists[spec.fullyQualifiedName.endsWith(it)] ].filter [ spec | useComplexStates || !patternsWithComplexStates.exists[spec.fullyQualifiedName.endsWith(it)] + ].filter [ + !satisfiable || !it.simpleName.startsWith(UNSAT_PREFIX) ].toList val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name == "Constraint"]].toSet val derivedFeatures = new LinkedHashMap @@ -213,6 +227,19 @@ class YakinduLoader extends MetamodelLoader { "Transition" -> new TypeQuantiles(0.581632653061224, 0.645161290322581) } } + + override getUnsatTypeQuantiles() { + #{ + "Choice" -> new TypeQuantiles(0.118279569892473, 0.154020979020979), + "Entry" -> new TypeQuantiles(0.2, 0.4), + "Exit" -> new TypeQuantiles(0, 0), + "FinalState" -> new TypeQuantiles(0, 0), + "Region" -> new TypeQuantiles(0.0294117647058824, 0.0633258678611422), + "State" -> new TypeQuantiles(0.132023636740618, 0.175925925925926), +// "Statechart" -> new TypeQuantiles(0.00961538461538462, 0.010752688172043), + "Transition" -> new TypeQuantiles(0.581632653061224, 0.645161290322581) + } + } override getHints(Ecore2Logic ecore2Logic, Ecore2Logic_Trace trace) { #[new SGraphHint(ecore2Logic, trace)] @@ -276,9 +303,15 @@ class FileSystemLoader extends MetamodelLoader { } class EcoreLoader extends MetamodelLoader { + val boolean satisfiable new(ReasonerWorkspace workspace) { + this(workspace, true) + } + + new(ReasonerWorkspace workspace, boolean satisfiable) { super(workspace) + this.satisfiable = satisfiable } override loadMetamodel() { @@ -307,7 +340,12 @@ class EcoreLoader extends MetamodelLoader { override loadQueries(EcoreMetamodelDescriptor metamodel) { val patternGroup = Ecore.instance val patterns = patternGroup.specifications.toList - val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name == "Constraint"]].toSet + val allWfPatterns = patterns.filter[it.allAnnotations.exists[it.name == "Constraint"]].toSet + val wfPatterns = if (satisfiable) { + allWfPatterns.filter[!it.simpleName.startsWith(UNSAT_PREFIX)].toSet + } else { + allWfPatterns + } val derivedFeatures = new HashMap return new ViatraQuerySetDescriptor( patterns, @@ -346,9 +384,15 @@ class EcoreLoader extends MetamodelLoader { } class SatelliteLoader extends MetamodelLoader { + val boolean satisfiable new(ReasonerWorkspace workspace) { + this(workspace, true) + } + + new(ReasonerWorkspace workspace, boolean satisfiable) { super(workspace) + this.satisfiable = satisfiable } override loadMetamodel() { @@ -371,7 +415,9 @@ class SatelliteLoader extends MetamodelLoader { override loadQueries(EcoreMetamodelDescriptor metamodel) { val i = SatelliteQueriesAll.instance - val patterns = i.specifications.toList + val patterns = i.specifications.filter [ + !satisfiable || !it.simpleName.startsWith(UNSAT_PREFIX) + ].toList val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name == "Constraint"]].toSet val derivedFeatures = new LinkedHashMap val res = new ViatraQuerySetDescriptor( @@ -404,4 +450,15 @@ class SatelliteLoader extends MetamodelLoader { } } + override getUnsatTypeQuantiles() { + #{ + "CubeSat3U" -> new TypeQuantiles(0.1, 0.25), + "CubeSat6U" -> new TypeQuantiles(0.1, 0.25), + "SmallSat" -> new TypeQuantiles(0.1, 0.25), + "UHFCommSubsystem" -> new TypeQuantiles(0.08, 0.1), + "XCommSubsystem" -> new TypeQuantiles(0, 0.1), + "KaCommSubsystem" -> new TypeQuantiles(0, 0.05), + "InterferometryPayload" -> new TypeQuantiles(0.15, 0.25) + } + } } diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/script/MeasurementScript.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/script/MeasurementScript.xtend index 56a65091..f842afb5 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/script/MeasurementScript.xtend +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/script/MeasurementScript.xtend @@ -29,19 +29,26 @@ class MeasurementScript { enum Domain { fs, ecore, + ecoreUnsat, Yakindu, + YakinduUnsat, FAM, - satellite + satellite, + satelliteUnsat } enum Scope { none, - quantiles + quantiles, + upperOnly, + unsat, + exactly } enum Solver { ViatraSolver, - AlloySolver + AlloySolver, + AlloyMiniSat } enum ScopePropagator { diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/script/MeasurementScriptRunner.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/script/MeasurementScriptRunner.xtend index 1127f01a..973c3d13 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/script/MeasurementScriptRunner.xtend +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/script/MeasurementScriptRunner.xtend @@ -54,6 +54,7 @@ import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandalone import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions import org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory import org.eclipse.xtend.lib.annotations.Data +import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloyBackendSolver class MeasurementScriptRunner { static val MODEL_SIZE_GAP = 0 @@ -75,9 +76,12 @@ class MeasurementScriptRunner { metamodelLoader = switch (script.domain) { case fs: new FileSystemLoader(inputWorkspace) case ecore: new EcoreLoader(inputWorkspace) + case ecoreUnsat: new EcoreLoader(inputWorkspace, false) case Yakindu: new YakinduLoader(inputWorkspace) => [useSynchronization = false; useComplexStates = true] + case YakinduUnsat: new YakinduLoader(inputWorkspace, false) => [useSynchronization = false; useComplexStates = true] case FAM: new FAMLoader(inputWorkspace) case satellite: new SatelliteLoader(inputWorkspace) + case satelliteUnsat: new SatelliteLoader(inputWorkspace, false) default: throw new IllegalArgumentException("Unsupported domain: " + script.domain) } } @@ -191,15 +195,17 @@ class MeasurementScriptRunner { config } - private def createAlloyConfig() { + private def createAlloyConfig(AlloyBackendSolver backendSolver) { val config = new AlloySolverConfiguration + config.solver = backendSolver config } private def createConfig(int modelSize) { val config = switch (solver : script.solver) { case ViatraSolver: createViatraConfig() - case AlloySolver: createAlloyConfig() + case AlloySolver: createAlloyConfig(AlloyBackendSolver.SAT4J) + case AlloyMiniSat: createAlloyConfig(AlloyBackendSolver.MiniSatJNI) default: throw new IllegalArgumentException("Unknown solver: " + solver) } config.solutionScope.numberOfRequiredSolutions = 1 @@ -243,7 +249,8 @@ class MeasurementScriptRunner { val solver = switch (solver : script.solver) { case ViatraSolver: new ViatraReasoner - case AlloySolver: new AlloySolver + case AlloySolver, + case AlloyMiniSat: new AlloySolver default: throw new IllegalArgumentException("Unknown solver: " + solver) } val result = solver.solve(problem, config, outputWorkspace) @@ -284,14 +291,31 @@ class MeasurementScriptRunner { } else { val numberOfKnownElements = knownElements.values.flatten.toSet.size val newElementCount = modelSize - numberOfKnownElements - config.typeScopes.minNewElements = newElementCount - config.typeScopes.maxNewElements = newElementCount + MODEL_SIZE_GAP + switch (script.scope) { + case upperOnly: + config.typeScopes.maxNewElements = newElementCount + MODEL_SIZE_GAP + case exactly: { + config.typeScopes.minNewElements = newElementCount + config.typeScopes.maxNewElements = newElementCount + } + default: { + config.typeScopes.minNewElements = newElementCount + config.typeScopes.maxNewElements = newElementCount + MODEL_SIZE_GAP + } + } } - switch (script.scope) { - case none: + switch (scope : script.scope) { + case none, + case exactly: return - case quantiles: { - val quantiles = metamodelLoader.typeQuantiles + case quantiles, + case unsat, + case upperOnly: { + val quantiles = if (scope == Scope.unsat) { + metamodelLoader.unsatTypeQuantiles + } else { + metamodelLoader.typeQuantiles + } for (eClassInScope : eClassMapper.allClassesInScope(trace)) { val quantile = quantiles.get(eClassInScope.name) if (quantile !== null) { @@ -301,7 +325,9 @@ class MeasurementScriptRunner { val lowCount = Math.floor(modelSize * quantile.low) as int val highCount = Math.ceil((modelSize + MODEL_SIZE_GAP) * quantile.high) as int // println('''«type.name» «lowCount» «highCount»''') - config.typeScopes.minNewElementsByType.put(type, Math.max(lowCount - currentCount, 0)) + if (script.scope != Scope.upperOnly) { + config.typeScopes.minNewElementsByType.put(type, Math.max(lowCount - currentCount, 0)) + } config.typeScopes.maxNewElementsByType.put(type, highCount - currentCount) } } -- cgit v1.2.3-54-g00ecf